Changeset View
Changeset View
Standalone View
Standalone View
workspace.cpp
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
51 | #include "platform.h" | 51 | #include "platform.h" | ||
52 | #include "scripting/scripting.h" | 52 | #include "scripting/scripting.h" | ||
53 | #ifdef KWIN_BUILD_TABBOX | 53 | #ifdef KWIN_BUILD_TABBOX | ||
54 | #include "tabbox.h" | 54 | #include "tabbox.h" | ||
55 | #endif | 55 | #endif | ||
56 | #include "unmanaged.h" | 56 | #include "unmanaged.h" | ||
57 | #include "useractions.h" | 57 | #include "useractions.h" | ||
58 | #include "virtualdesktops.h" | 58 | #include "virtualdesktops.h" | ||
59 | #include "xdgshellclient.h" | | |||
60 | #include "was_user_interaction_x11_filter.h" | 59 | #include "was_user_interaction_x11_filter.h" | ||
61 | #include "wayland_server.h" | 60 | #include "wayland_server.h" | ||
62 | #include "xcbutils.h" | 61 | #include "xcbutils.h" | ||
63 | #include "main.h" | 62 | #include "main.h" | ||
64 | #include "decorations/decorationbridge.h" | 63 | #include "decorations/decorationbridge.h" | ||
65 | // KDE | 64 | // KDE | ||
66 | #include <KConfig> | 65 | #include <KConfig> | ||
67 | #include <KConfigGroup> | 66 | #include <KConfigGroup> | ||
▲ Show 20 Lines • Show All 400 Lines • ▼ Show 20 Line(s) | 458 | for (auto it = stack.constBegin(), end = stack.constEnd(); it != end; ++it) { | |||
468 | // from crashing. | 467 | // from crashing. | ||
469 | clients.removeAll(c); | 468 | clients.removeAll(c); | ||
470 | m_allClients.removeAll(c); | 469 | m_allClients.removeAll(c); | ||
471 | desktops.removeAll(c); | 470 | desktops.removeAll(c); | ||
472 | } | 471 | } | ||
473 | X11Client::cleanupX11(); | 472 | X11Client::cleanupX11(); | ||
474 | 473 | | |||
475 | if (waylandServer()) { | 474 | if (waylandServer()) { | ||
476 | // TODO: Introduce AbstractClient::destroy(). | | |||
477 | const QList<AbstractClient *> shellClients = waylandServer()->clients(); | 475 | const QList<AbstractClient *> shellClients = waylandServer()->clients(); | ||
478 | for (AbstractClient *client : shellClients) { | 476 | for (AbstractClient *client : shellClients) { | ||
479 | if (XdgShellClient *shellClient = qobject_cast<XdgShellClient *>(client)) { | 477 | client->destroyClient(); | ||
480 | shellClient->destroyClient(); | | |||
481 | } | | |||
482 | } | 478 | } | ||
483 | } | 479 | } | ||
484 | 480 | | |||
485 | for (auto it = unmanaged.begin(), end = unmanaged.end(); it != end; ++it) | 481 | for (auto it = unmanaged.begin(), end = unmanaged.end(); it != end; ++it) | ||
486 | (*it)->release(ReleaseReason::KWinShutsDown); | 482 | (*it)->release(ReleaseReason::KWinShutsDown); | ||
487 | 483 | | |||
488 | for (InternalClient *client : m_internalClients) { | 484 | for (InternalClient *client : m_internalClients) { | ||
489 | client->destroyClient(); | 485 | client->destroyClient(); | ||
▲ Show 20 Lines • Show All 2295 Lines • Show Last 20 Lines |