diff --git a/src/kcmoduleqml.cpp b/src/kcmoduleqml.cpp --- a/src/kcmoduleqml.cpp +++ b/src/kcmoduleqml.cpp @@ -256,6 +256,19 @@ return KCModule::eventFilter(watched, event); } +bool KCModuleQml::event(QEvent *event) +{ + // more QQuickWidget hacks + // if a mouse press is handled by the new input handlers it is not accepted + // this causes the breeze style to start a window drag + // mark all mouse events as accepted after being processed + bool rc = KCModule::event(event); + if (event->type () == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonRelease) { + event->accept(); + } + return rc; +} + void KCModuleQml::focusInEvent(QFocusEvent *event) { Q_UNUSED(event) diff --git a/src/kcmoduleqml_p.h b/src/kcmoduleqml_p.h --- a/src/kcmoduleqml_p.h +++ b/src/kcmoduleqml_p.h @@ -47,6 +47,7 @@ protected: void focusInEvent(QFocusEvent *event) override; QSize sizeHint() const override; + bool event(QEvent* event) override; bool eventFilter(QObject* watched, QEvent* event) override; private: