summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2010-08-25 06:08:15 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2010-08-25 08:03:44 (GMT)
commit19ebb3f5b2f599018594e9f0dd3b9de81f584262 (patch)
treea6964f788843957422b69d1851e9cb3530b9fb41
parent5f43bdbbf48a0b78b4d52a9015ad6e86d9ffb706 (diff)
downloadQt-19ebb3f5b2f599018594e9f0dd3b9de81f584262.zip
Qt-19ebb3f5b2f599018594e9f0dd3b9de81f584262.tar.gz
Qt-19ebb3f5b2f599018594e9f0dd3b9de81f584262.tar.bz2
Remove enums from bitfield, since all compilers do not support them.
Without this change, the softkey functionality is broken in Symbian emulator. What happens is that QAction::NegativeSoftkey enum turns out to negative value (-2) in QSoftKeyManagerPrivateS60::highestPrioritySoftkey comparision: if (action->softKeyRole() == role) In essence comparision gets executed as if (-2 == 2), which is false and negative softkey will never get displayed. There has been similar problems in XmlPatterns with MSVC in the past [1]. Apparently also Nokia X86 compiler does not support enums in bitfield, actually even C++ standard support is unclear - see [2]. In HW builds the problem does not occur since RVCT has extended support for enums in bitfield [3]. [1] http://qt.gitorious.org/qt/qt/blobs/4.7/src/xmlpatterns/acceltree/qacceltree_p.h#line212 [2] http://www.velocityreviews.com/forums/t317473-bitfield-and-enum-is-this-legal.html [3] http://www.keil.com/support/man/docs/armccref/armccref_ciaiabid.htm Reviewed-By: Thierry Bastian Reviewed-By: Janne Koskinen
-rw-r--r--src/gui/kernel/qaction_p.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gui/kernel/qaction_p.h b/src/gui/kernel/qaction_p.h
index 899b01b..5764318 100644
--- a/src/gui/kernel/qaction_p.h
+++ b/src/gui/kernel/qaction_p.h
@@ -112,12 +112,12 @@ public:
//for soft keys management
uint forceEnabledInSoftkeys : 1;
uint menuActionSoftkeys : 1;
-
- QAction::MenuRole menuRole : 3;
- QAction::SoftKeyRole softKeyRole : 2;
- QAction::Priority priority : 14;
int iconVisibleInMenu : 3; // Only has values -1, 0, and 1
+ QAction::MenuRole menuRole;
+ QAction::SoftKeyRole softKeyRole;
+ QAction::Priority priority;
+
QList<QWidget *> widgets;
#ifndef QT_NO_GRAPHICSVIEW
QList<QGraphicsWidget *> graphicsWidgets;