summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidget_qpa.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2012-06-27 17:15:42 +0300
committerQt by Nokia <qt-info@nokia.com>2012-06-28 10:18:15 +0200
commitbbb15b4612946851d7d81940a9cd6e3a3753c3f2 (patch)
treec6448a269139ac5632982cde8455bd2de9c70cb4 /src/widgets/kernel/qwidget_qpa.cpp
parent4dd2de9c7676220d2ac47f679ae05719078da0d0 (diff)
Further fixes to widget masking
If mask was set to a widget before the widget was shown, the mask was not applied. Also, if toplevel widgets were set a mask in Windows, the mask was applied to frame coordinates instead of client coordinates. Ported relevant code from Qt4 to fix these issues. Change-Id: Id6187cf4952b81b5b60c167e2fd284b7dc83ed9c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/widgets/kernel/qwidget_qpa.cpp')
-rw-r--r--src/widgets/kernel/qwidget_qpa.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget_qpa.cpp b/src/widgets/kernel/qwidget_qpa.cpp
index 25d79fadb5..c524491d22 100644
--- a/src/widgets/kernel/qwidget_qpa.cpp
+++ b/src/widgets/kernel/qwidget_qpa.cpp
@@ -151,6 +151,9 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
// Check children and create windows for them if necessary
q_createNativeChildrenAndSetParent(q);
+ if (extra && !extra->mask.isEmpty())
+ setMask_sys(extra->mask);
+
// If widget is already shown, set window visible, too
if (q->isVisible())
win->setVisible(true);