From kde-commits Sat Sep 30 11:31:39 2017 From: =?utf-8?q?Martin_Fl=C3=B6ser?= Date: Sat, 30 Sep 2017 11:31:39 +0000 To: kde-commits Subject: [kwin] /: Don't crash on tear-down of Workspace if run without X11 support Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=150677111121465 Git commit 0c8c047d788e8849d52cf3966d84ddd1a69492d2 by Martin Fl=C3=B6ser. Committed on 30/09/2017 at 11:31. Pushed by graesslin into branch 'master'. Don't crash on tear-down of Workspace if run without X11 support Much easier than expected. M +3 -1 netinfo.cpp M +4 -1 workspace.cpp https://commits.kde.org/kwin/0c8c047d788e8849d52cf3966d84ddd1a69492d2 diff --git a/netinfo.cpp b/netinfo.cpp index 8589a774d..8a594ed53 100644 --- a/netinfo.cpp +++ b/netinfo.cpp @@ -129,7 +129,9 @@ RootInfo *RootInfo::create() = void RootInfo::destroy() { - Q_ASSERT(s_self); + if (!s_self) { + return; + } xcb_window_t supportWindow =3D s_self->supportWindow(); delete s_self; s_self =3D NULL; diff --git a/workspace.cpp b/workspace.cpp index 2dc16a31f..a70f023ba 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -512,7 +512,10 @@ Workspace::~Workspace() Client::cleanupX11(); for (UnmanagedList::iterator it =3D unmanaged.begin(), end =3D unmanag= ed.end(); it !=3D end; ++it) (*it)->release(ReleaseReason::KWinShutsDown); - xcb_delete_property(connection(), rootWindow(), atoms->kwin_running); + + if (auto c =3D kwinApp()->x11Connection()) { + xcb_delete_property(c, kwinApp()->x11RootWindow(), atoms->kwin_run= ning); + } = for (auto it =3D deleted.begin(); it !=3D deleted.end();) { emit deletedRemoved(*it);