summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDyami Caliri <dyami@dragonframe.com>2014-11-04 13:51:53 -0800
committerMorten Johan Sørvig <morten.sorvig@digia.com>2014-11-05 09:54:39 +0100
commit8a9addf42ef1577d5ae337a9a45ef2f2c585afc0 (patch)
tree10b90744caf32fa98c2e6a8490f6882d360f1b67
parent063a54461677c0dbf75282bc367f204af792dac2 (diff)
QMenu check for null result from QPlatformMenu::menuItemForTag
QMenu needs to check result of QPlatformMenu::menuItemForTag to avoid a crash dereferencing a null pointer. Task-number: QTBUG-42327 Change-Id: Ie54a94caec7a5d756c459741df182fbe4e38bec0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
-rw-r--r--src/widgets/widgets/qmenu.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 0fd645a4d3..acfccc8e19 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -3055,8 +3055,10 @@ void QMenu::actionEvent(QActionEvent *e)
delete menuItem;
} else if (e->type() == QEvent::ActionChanged) {
QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action()));
- copyActionToPlatformItem(e->action(), menuItem);
- d->platformMenu->syncMenuItem(menuItem);
+ if (menuItem) {
+ copyActionToPlatformItem(e->action(), menuItem);
+ d->platformMenu->syncMenuItem(menuItem);
+ }
}
d->platformMenu->syncSeparatorsCollapsible(d->collapsibleSeparators);