Commit 19c03da5 authored by Martin Flöser's avatar Martin Flöser
Browse files

[server] Don't discard callbacks on surface commit

Old callbacks need to be kept around, otherwise mesa might freeze.
parent 75915984
......@@ -174,9 +174,6 @@ void SurfaceInterface::Private::destroy()
void SurfaceInterface::Private::commit()
{
Q_Q(SurfaceInterface);
for (wl_resource *c : current.callbacks) {
wl_resource_destroy(c);
}
const bool bufferChanged = pending.bufferIsSet;
const bool opaqueRegionChanged = pending.opaqueIsSet;
const bool inputRegionChanged = pending.inputIsSet;
......@@ -199,9 +196,12 @@ void SurfaceInterface::Private::commit()
}
buffer = pending.buffer;
}
QList<wl_resource*> callbacks = current.callbacks;
callbacks.append(pending.callbacks);
// copy values
current = pending;
current.buffer = buffer;
current.callbacks = callbacks;
pending = State{};
pending.children = current.children;
pending.input = current.input;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment