diff --git a/effects.cpp b/effects.cpp index 5ccf94f6c8..46409e3652 100644 --- a/effects.cpp +++ b/effects.cpp @@ -599,10 +599,12 @@ void EffectsHandlerImpl::slotUnmanagedShown(KWin::Toplevel *t) emit windowAdded(u->effectWindow()); } -void EffectsHandlerImpl::slotWindowClosed(KWin::Toplevel *c) +void EffectsHandlerImpl::slotWindowClosed(KWin::Toplevel *c, KWin::Deleted *d) { c->disconnect(this); - emit windowClosed(c->effectWindow()); + if (d) { + emit windowClosed(c->effectWindow()); + } } void EffectsHandlerImpl::slotClientModalityChanged() diff --git a/effects.h b/effects.h index e607c11116..c2e0221429 100644 --- a/effects.h +++ b/effects.h @@ -245,7 +245,7 @@ protected Q_SLOTS: void slotClientShown(KWin::Toplevel*); void slotShellClientShown(KWin::Toplevel*); void slotUnmanagedShown(KWin::Toplevel*); - void slotWindowClosed(KWin::Toplevel *c); + void slotWindowClosed(KWin::Toplevel *c, KWin::Deleted *d); void slotClientMaximized(KWin::AbstractClient *c, MaximizeMode maxMode); void slotOpacityChanged(KWin::Toplevel *t, qreal oldOpacity); void slotClientModalityChanged();