diff options
Diffstat (limited to 'src/mcompositewindow.cpp')
-rw-r--r-- | src/mcompositewindow.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mcompositewindow.cpp b/src/mcompositewindow.cpp index 06f21ba..78bbab3 100644 --- a/src/mcompositewindow.cpp +++ b/src/mcompositewindow.cpp @@ -423,11 +423,14 @@ void MCompositeWindow::closeWindow() iconify(fadeRect, defer); } -void MCompositeWindow::deleteLater() +bool MCompositeWindow::event(QEvent *e) { - destroyed = true; - if (!is_transitioning) - QObject::deleteLater(); + if (e->type() == QEvent::DeferredDelete && is_transitioning) { + // Can't delete the object yet, try again in the next iteration. + deleteLater(); + return true; + } else + return QObject::event(e); } void MCompositeWindow::prettyDestroy() |