diff --git a/kstyle/oxygenshadowhelper.cpp b/kstyle/oxygenshadowhelper.cpp --- a/kstyle/oxygenshadowhelper.cpp +++ b/kstyle/oxygenshadowhelper.cpp @@ -104,7 +104,16 @@ void ShadowHelper::unregisterWidget( QWidget* widget ) { if( _widgets.remove( widget ) ) - { uninstallShadows( widget ); } + { + // uninstall the event filter + widget->removeEventFilter( this ); + + // disconnect all signals + disconnect( widget, nullptr, this, nullptr ); + + // uninstall the shadow + uninstallShadows( widget ); + } } //_______________________________________________________