diff --git a/deleted.cpp b/deleted.cpp index c4ad95bcce..e10e8f5d7e 100644 --- a/deleted.cpp +++ b/deleted.cpp @@ -67,15 +67,6 @@ void Deleted::copyToDeleted(Toplevel* c) { assert(dynamic_cast< Deleted* >(c) == NULL); Toplevel::copyToDeleted(c); - // In some cases the window has been deleted before the sync request which marks - // the window ready for painting has finished. This is especially troublesome - // when effects reference the deleted window and the unreferencing is part of - // the rendering pass (e.g. Effect::postPaintScreen/postPaintWindow), which will - // never be executed because we remove it every time from the stacking list in - // Workspace::performCompositing. - if (!c->readyForPainting()) { - QTimer::singleShot(0, this, SLOT(discard())); - } desk = c->desktop(); activityList = c->activities(); contentsRect = QRect(c->clientPos(), c->clientSize()); diff --git a/deleted.h b/deleted.h index a8db7c3062..c67bfc12d7 100644 --- a/deleted.h +++ b/deleted.h @@ -35,6 +35,7 @@ public: // used by effects to keep the window around for e.g. fadeout effects when it's destroyed void refWindow(); void unrefWindow(bool delay = false); + void discard(allowed_t); virtual int desktop() const; virtual QStringList activities() const; virtual QPoint clientPos() const; @@ -61,8 +62,6 @@ public: virtual Layer layer() const { return m_layer; } -public slots: - void discard(allowed_t = Allowed); protected: virtual void debug(QDebug& stream) const; virtual bool shouldUnredirect() const;