diff --git a/kstyle/breezemdiwindowshadow.cpp b/kstyle/breezemdiwindowshadow.cpp index 84c1514a..b1d5a81e 100644 --- a/kstyle/breezemdiwindowshadow.cpp +++ b/kstyle/breezemdiwindowshadow.cpp @@ -33,7 +33,6 @@ namespace Breeze //____________________________________________________________________ MdiWindowShadow::MdiWindowShadow( QWidget* parent, TileSet shadowTiles ): QWidget( parent ), - _widget( nullptr ), _shadowTiles( shadowTiles ) { setAttribute( Qt::WA_OpaquePaintEvent, false ); @@ -128,12 +127,14 @@ namespace Breeze // store in set _registeredWidgets.insert( widget ); + // create shadow immediatly if widget is already visible if( widget->isVisible() ) { installShadow( widget ); updateShadowGeometry( widget ); updateShadowZOrder( widget ); } + widget->installEventFilter( this ); // catch object destruction diff --git a/kstyle/breezemdiwindowshadow.h b/kstyle/breezemdiwindowshadow.h index 008d3559..51119a47 100644 --- a/kstyle/breezemdiwindowshadow.h +++ b/kstyle/breezemdiwindowshadow.h @@ -66,7 +66,7 @@ namespace Breeze private: //* associated widget - QWidget* _widget; + QWidget* _widget = nullptr; //* tileset rect, used for painting QRect _shadowTilesRect;