Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
4.7.1
-
None
-
OS X 10.6.4
Description
When creating a QWidget with the Qt::FramelessWindowHint flag on OS X, the Qt painting engine doesn't invalidate OS X's shadows around the opaque areas within the widget's client area when the widget itself is invalidated.
I've found a workaround for this, which is to insert the following code at the end of the widget's ::paintEvent(...) override, but I would imagine Qt should be doing this itself where appropriate:
#if QT_MAC_USE_COCOA
NSView* view = reinterpret_cast<NSView*>(winId());
NSWindow* cocoaWin = [view window];
[cocoaWin invalidateShadow];
#endif