summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Hautakangas <jani.hautakangas@nokia.com>2011-05-12 10:54:46 (GMT)
committerJani Hautakangas <jani.hautakangas@nokia.com>2011-05-12 12:12:16 (GMT)
commit708fcbe457304ac8035c20302e6dc6628a0f6aa4 (patch)
treefb45e219cddadca8e196c402c60bc748ef87930a
parent877bb2132bdd94a62526a5fea6a7e5f6f813395e (diff)
downloadQt-708fcbe457304ac8035c20302e6dc6628a0f6aa4.zip
Qt-708fcbe457304ac8035c20302e6dc6628a0f6aa4.tar.gz
Qt-708fcbe457304ac8035c20302e6dc6628a0f6aa4.tar.bz2
Fix for rounded corners bug in QMenu
Currently QMenus have opaque black corners in cases where theme supports rounded corners. This patch fixes it by setting WA_TranslucentBackground flag to QMenu widget. Task-number: QTBUG-16857 Reviewed-by: Sami Merila
-rw-r--r--src/gui/widgets/qmenu.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index 2f4bb4b..d573ebf 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -82,6 +82,10 @@
# include <private/qt_cocoa_helpers_mac_p.h>
#endif
+#ifdef Q_WS_S60
+# include "private/qt_s60_p.h"
+#endif
+
QT_BEGIN_NAMESPACE
@@ -172,6 +176,14 @@ void QMenuPrivate::init()
q->addAction(selectAction);
q->addAction(cancelAction);
#endif
+
+#ifdef Q_WS_S60
+ if (S60->avkonComponentsSupportTransparency) {
+ bool noSystemBackground = q->testAttribute(Qt::WA_NoSystemBackground);
+ q->setAttribute(Qt::WA_TranslucentBackground); // also sets WA_NoSystemBackground
+ q->setAttribute(Qt::WA_NoSystemBackground, noSystemBackground); // restore system background attribute
+ }
+#endif
}
int QMenuPrivate::scrollerHeight() const