From 8e631028552c4b474a317ebf589e31c13289c6fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Mon, 14 Apr 2014 09:19:43 +0200 Subject: [PATCH] Discard all deleted before constructing the Scene The Scene connects to the deletedRemoved signal and tries to remove the Deleted from it's list of Windows, which will fail because a SceneWindow doesn't get created for an existing Deleted in the Scene setup. It doesn't make sense to create a SceneWindow for a Deleted as there is no pixmap around anyway. Thus the best approach is to ensure that there are no Deleted by just discarding all prior to creating the Scene. BUG: 333275 REVIEW: 117557 --- composite.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/composite.cpp b/composite.cpp index d5a730a89d..bb65e06fbe 100644 --- a/composite.cpp +++ b/composite.cpp @@ -175,6 +175,12 @@ void Compositor::slotCompositingOptionsInitialized() cm_selection->claim(true); // force claiming cm_selection->owning = true; } + + // There might still be a deleted around, needs to be cleared before creating the scene (BUG 333275) + while (!Workspace::self()->deletedList().isEmpty()) { + Workspace::self()->deletedList().first()->discard(); + } + switch(options->compositingMode()) { case OpenGLCompositing: { qDebug() << "Initializing OpenGL compositing";