Changeset View
Changeset View
Standalone View
Standalone View
composite.cpp
Show First 20 Lines • Show All 313 Lines • ▼ Show 20 Line(s) | |||||
314 | { | 314 | { | ||
315 | auto *con = kwinApp()->x11Connection(); | 315 | auto *con = kwinApp()->x11Connection(); | ||
316 | if (!con) { | 316 | if (!con) { | ||
317 | delete m_selectionOwner; | 317 | delete m_selectionOwner; | ||
318 | m_selectionOwner = nullptr; | 318 | m_selectionOwner = nullptr; | ||
319 | return; | 319 | return; | ||
320 | } | 320 | } | ||
321 | claimCompositorSelection(); | 321 | claimCompositorSelection(); | ||
322 | xcb_composite_redirect_subwindows(con, kwinApp()->x11RootWindow(), | | |||
323 | XCB_COMPOSITE_REDIRECT_MANUAL); | | |||
324 | } | 322 | } | ||
325 | 323 | | |||
326 | void Compositor::startupWithWorkspace() | 324 | void Compositor::startupWithWorkspace() | ||
327 | { | 325 | { | ||
328 | connect(kwinApp(), &Application::x11ConnectionChanged, | 326 | connect(kwinApp(), &Application::x11ConnectionChanged, | ||
329 | this, &Compositor::setupX11Support, Qt::UniqueConnection); | 327 | this, &Compositor::setupX11Support, Qt::UniqueConnection); | ||
330 | Workspace::self()->markXStackingOrderAsDirty(); | 328 | Workspace::self()->markXStackingOrderAsDirty(); | ||
331 | Q_ASSERT(m_scene); | 329 | Q_ASSERT(m_scene); | ||
▲ Show 20 Lines • Show All 92 Lines • ▼ Show 20 Line(s) | 421 | for (X11Client *c : Workspace::self()->desktopList()) { | |||
424 | c->finishCompositing(); | 422 | c->finishCompositing(); | ||
425 | } | 423 | } | ||
426 | for (Unmanaged *c : Workspace::self()->unmanagedList()) { | 424 | for (Unmanaged *c : Workspace::self()->unmanagedList()) { | ||
427 | c->finishCompositing(); | 425 | c->finishCompositing(); | ||
428 | } | 426 | } | ||
429 | for (InternalClient *client : workspace()->internalClients()) { | 427 | for (InternalClient *client : workspace()->internalClients()) { | ||
430 | client->finishCompositing(); | 428 | client->finishCompositing(); | ||
431 | } | 429 | } | ||
432 | if (auto *con = kwinApp()->x11Connection()) { | | |||
433 | xcb_composite_unredirect_subwindows(con, kwinApp()->x11RootWindow(), | | |||
434 | XCB_COMPOSITE_REDIRECT_MANUAL); | | |||
435 | } | | |||
436 | while (!workspace()->deletedList().isEmpty()) { | 430 | while (!workspace()->deletedList().isEmpty()) { | ||
437 | workspace()->deletedList().first()->discard(); | 431 | workspace()->deletedList().first()->discard(); | ||
438 | } | 432 | } | ||
439 | } | 433 | } | ||
440 | 434 | | |||
441 | if (waylandServer()) { | 435 | if (waylandServer()) { | ||
442 | for (XdgShellClient *c : waylandServer()->clients()) { | 436 | for (XdgShellClient *c : waylandServer()->clients()) { | ||
443 | m_scene->removeToplevel(c); | 437 | m_scene->removeToplevel(c); | ||
▲ Show 20 Lines • Show All 552 Lines • Show Last 20 Lines |