From 0a1d4bd0b8807c9a22a2e607508d251599b4c61a Mon Sep 17 00:00:00 2001 From: audoban Date: Mon, 3 Apr 2017 23:51:16 -0500 Subject: [PATCH] fix #358, [Crash] - recreating dock for AlwaysVisible mode If I overrride the method event I should call to implementation parent, however VisibilityManagerPrivate is triggered from view and VisibilityManagerPriavte is not owner of QEvent --- app/visibilitymanager.cpp | 7 ++----- app/visibilitymanager_p.h | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/visibilitymanager.cpp b/app/visibilitymanager.cpp index 17b108b0c..95192b3ff 100644 --- a/app/visibilitymanager.cpp +++ b/app/visibilitymanager.cpp @@ -36,7 +36,7 @@ VisibilityManagerPrivate::VisibilityManagerPrivate(PlasmaQuick::ContainmentView DockView *dockView = qobject_cast(view); if (dockView) { - connect(dockView, &DockView::eventTriggered, this, &VisibilityManagerPrivate::event); + connect(dockView, &DockView::eventTriggered, this, &VisibilityManagerPrivate::viewEventManager); connect(dockView, &DockView::absGeometryChanged, this, &VisibilityManagerPrivate::setDockGeometry); } @@ -480,7 +480,7 @@ inline void VisibilityManagerPrivate::restoreConfig() }); } -bool VisibilityManagerPrivate::event(QEvent *ev) +void VisibilityManagerPrivate::viewEventManager(QEvent *ev) { switch (ev->type()) { case QEvent::Enter: @@ -522,9 +522,6 @@ bool VisibilityManagerPrivate::event(QEvent *ev) wm->setDockExtraFlags(*view); break; } - - // Make sure the rest of events are handled - return QObject::event(ev); } //! END: VisibilityManagerPrivate implementation diff --git a/app/visibilitymanager_p.h b/app/visibilitymanager_p.h index 892a8821b..8b0a56cc8 100644 --- a/app/visibilitymanager_p.h +++ b/app/visibilitymanager_p.h @@ -54,7 +54,7 @@ public: void saveConfig(); void restoreConfig(); - bool event(QEvent *ev) override; + void viewEventManager(QEvent *ev); VisibilityManager *q; PlasmaQuick::ContainmentView *view;