diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp index a8aee0f152..ed5942eff0 100644 --- a/clients/aurorae/src/aurorae.cpp +++ b/clients/aurorae/src/aurorae.cpp @@ -427,6 +427,16 @@ int AuroraeClient::doubleClickInterval() const return QApplication::doubleClickInterval(); } +void AuroraeClient::closeWindow() +{ + QMetaObject::invokeMethod(qobject_cast< KDecorationUnstable* >(this), "doCloseWindow", Qt::QueuedConnection); +} + +void AuroraeClient::doCloseWindow() +{ + KDecorationUnstable::closeWindow(); +} + } // namespace Aurorae extern "C" diff --git a/clients/aurorae/src/aurorae.h b/clients/aurorae/src/aurorae.h index 48211ee770..9c20787869 100644 --- a/clients/aurorae/src/aurorae.h +++ b/clients/aurorae/src/aurorae.h @@ -143,9 +143,11 @@ public slots: void titlePressed(Qt::MouseButton button, Qt::MouseButtons buttons); void titleReleased(Qt::MouseButton button, Qt::MouseButtons buttons); void titleMouseMoved(Qt::MouseButton button, Qt::MouseButtons buttons); + void closeWindow(); private slots: void themeChanged(); + void doCloseWindow(); private: QGraphicsView *m_view; diff --git a/useractions.cpp b/useractions.cpp index 817f4626e2..2aec51e4ce 100755 --- a/useractions.cpp +++ b/useractions.cpp @@ -701,7 +701,7 @@ void Workspace::performWindowOperation(Client* c, Options::WindowOperation op) c->performMouseCommand(Options::MouseUnrestrictedResize, cursorPos()); break; case Options::CloseOp: - c->closeWindow(); + QMetaObject::invokeMethod(c, "closeWindow", Qt::QueuedConnection); break; case Options::MaximizeOp: c->maximize(c->maximizeMode() == Client::MaximizeFull