Changeset View
Changeset View
Standalone View
Standalone View
internal_client.cpp
Show All 31 Lines | |||||
32 | namespace KWin | 32 | namespace KWin | ||
33 | { | 33 | { | ||
34 | 34 | | |||
35 | InternalClient::InternalClient(KWayland::Server::ShellSurfaceInterface *surface) | 35 | InternalClient::InternalClient(KWayland::Server::ShellSurfaceInterface *surface) | ||
36 | : ShellClient(surface) | 36 | : ShellClient(surface) | ||
37 | { | 37 | { | ||
38 | findInternalWindow(); | 38 | findInternalWindow(); | ||
39 | updateInternalWindowGeometry(); | 39 | updateInternalWindowGeometry(); | ||
40 | | ||||
41 | // Qt asks our QPA to create a platform window for each QOffscreenSurface. | ||||
42 | // Given that those windows aren't toplevels, findInternalWindow may not be | ||||
43 | // able to find corresponding QWindow object for this client, which means | ||||
44 | // no-border and pretty much every other property that depends on QWindow | ||||
45 | // flags will have undefined value. Unfortunately the Aurorae decoration | ||||
46 | // engine creates three internal clients per each decoration. One of those | ||||
47 | // clients represents QOffscreenSurface. Thus we have to ensure that the | ||||
48 | // QOffscreenSurface client is not decorated, otherwise kwin will fall | ||||
49 | // into an infinite "recursion." | ||||
50 | if (m_internalWindow) { | ||||
40 | updateDecoration(true); | 51 | updateDecoration(true); | ||
41 | } | 52 | } | ||
53 | } | ||||
42 | 54 | | |||
43 | InternalClient::InternalClient(KWayland::Server::XdgShellSurfaceInterface *surface) | 55 | InternalClient::InternalClient(KWayland::Server::XdgShellSurfaceInterface *surface) | ||
44 | : ShellClient(surface) | 56 | : ShellClient(surface) | ||
45 | { | 57 | { | ||
46 | } | 58 | } | ||
47 | 59 | | |||
48 | InternalClient::InternalClient(KWayland::Server::XdgShellPopupInterface *surface) | 60 | InternalClient::InternalClient(KWayland::Server::XdgShellPopupInterface *surface) | ||
49 | : ShellClient(surface) | 61 | : ShellClient(surface) | ||
▲ Show 20 Lines • Show All 280 Lines • Show Last 20 Lines |