wayland: Add more inert Output checks

This commit is contained in:
Vlad Zahorodnii 2022-11-21 18:51:53 +02:00
parent 5cfab52bb6
commit bb53b21c4c

View file

@ -274,6 +274,11 @@ void OutputInterface::remove()
return; return;
} }
d->doneTimer.stop();
if (d->handle) {
disconnect(d->handle, nullptr, this, nullptr);
}
if (d->display) { if (d->display) {
DisplayPrivate *displayPrivate = DisplayPrivate::get(d->display); DisplayPrivate *displayPrivate = DisplayPrivate::get(d->display);
displayPrivate->outputs.removeOne(this); displayPrivate->outputs.removeOne(this);
@ -298,13 +303,17 @@ QVector<wl_resource *> OutputInterface::clientResources(ClientConnection *client
void OutputInterface::scheduleDone() void OutputInterface::scheduleDone()
{ {
if (!d->isGlobalRemoved()) {
d->doneTimer.start(); d->doneTimer.start();
} }
}
void OutputInterface::done(wl_client *client) void OutputInterface::done(wl_client *client)
{ {
if (!d->isGlobalRemoved()) {
d->sendDone(d->resourceMap().value(client)); d->sendDone(d->resourceMap().value(client));
} }
}
OutputInterface *OutputInterface::get(wl_resource *native) OutputInterface *OutputInterface::get(wl_resource *native)
{ {