summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
authorAndreas Holzammer <andreas.holzammer@kdab.com>2012-02-08 11:06:21 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-08 19:44:07 +0100
commit22e0948bc3698de98831b03da92214d00cf49006 (patch)
tree4aa65783ce724795e85e28b7ac3fc51460ce87e4 /src/widgets/widgets
parentc85eeaec7c27a8e1618537df8df31eb3f63982d8 (diff)
Fix compilation of Menubar for Windows CE.
Use QApplicationPrivate::getHWNDForWidget for getting the HWND for Widgets. The Menubar needs refactoring, but the API for native Menubars is not in place yet, so fix it temporarily. Change-Id: I090cca99d19aa881c2f41b54005a65f3ae67ae68 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qmenu_wince.cpp6
-rw-r--r--src/widgets/widgets/qmenubar.cpp4
-rw-r--r--src/widgets/widgets/qmenubar_p.h1
3 files changed, 7 insertions, 4 deletions
diff --git a/src/widgets/widgets/qmenu_wince.cpp b/src/widgets/widgets/qmenu_wince.cpp
index 11ae2844f8..9c748b2a53 100644
--- a/src/widgets/widgets/qmenu_wince.cpp
+++ b/src/widgets/widgets/qmenu_wince.cpp
@@ -377,7 +377,8 @@ void QMenuBarPrivate::wceCreateMenuBar(QWidget *parent)
Q_Q(QMenuBar);
wce_menubar = new QWceMenuBarPrivate(this);
- wce_menubar->parentWindowHandle = parent ? parent->winId() : q->winId();
+ wce_menubar->parentWindowHandle = parent ? QApplicationPrivate::getHWNDForWidget(parent) :
+ QApplicationPrivate::getHWNDForWidget(q);
wce_menubar->leftButtonAction = defaultAction;
wce_menubar->menubarHandle = qt_wce_create_menubar(wce_menubar->parentWindowHandle, (HINSTANCE)qWinAppInst(), 0, SHCMBF_EMPTYBAR);
@@ -547,7 +548,8 @@ void QMenuBarPrivate::_q_updateDefaultAction()
void QMenuBarPrivate::QWceMenuBarPrivate::rebuild()
{
d->q_func()->resize(0,0);
- parentWindowHandle = d->q_func()->parentWidget() ? d->q_func()->parentWidget()->winId() : d->q_func()->winId();
+ parentWindowHandle = d->q_func()->parentWidget() ? QApplicationPrivate::getHWNDForWidget(d->q_func()->parentWidget()) :
+ QApplicationPrivate::getHWNDForWidget(d->q_func());
if (d->wceClassicMenu) {
QList<QAction*> actions = d->actions;
int maxEntries;
diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp
index 7d6c1d8df9..7a8d39f462 100644
--- a/src/widgets/widgets/qmenubar.cpp
+++ b/src/widgets/widgets/qmenubar.cpp
@@ -784,7 +784,6 @@ QMenuBar::~QMenuBar()
d->platformMenuBar = 0;
#ifdef Q_OS_WINCE
- Q_D(QMenuBar);
if (qt_wince_is_mobile())
d->wceDestroyMenuBar();
#endif
@@ -1244,8 +1243,9 @@ void QMenuBar::actionEvent(QActionEvent *e)
d->itemsDirty = true;
if (d->platformMenuBar) {
+#if !defined(Q_OS_WINCE)
QPlatformMenuBar *nativeMenuBar = d->platformMenuBar;
-#if defined(Q_OS_WINCE)
+#else
QMenuBarPrivate::QWceMenuBarPrivate *nativeMenuBar = d->wce_menubar;
#endif
if (!nativeMenuBar)
diff --git a/src/widgets/widgets/qmenubar_p.h b/src/widgets/widgets/qmenubar_p.h
index 1af94bb236..d73fc26a38 100644
--- a/src/widgets/widgets/qmenubar_p.h
+++ b/src/widgets/widgets/qmenubar_p.h
@@ -168,6 +168,7 @@ public:
QWceMenuBarPrivate(QMenuBarPrivate *menubar);
~QWceMenuBarPrivate();
+ void addAction(QAction *, QAction *);
void addAction(QAction *, QWceMenuAction* =0);
void addAction(QWceMenuAction *, QWceMenuAction* =0);
void syncAction(QWceMenuAction *);