diff options
author | Dyami Caliri <dyami@dragonframe.com> | 2014-11-04 13:51:53 -0800 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@digia.com> | 2014-11-05 09:54:39 +0100 |
commit | 8a9addf42ef1577d5ae337a9a45ef2f2c585afc0 (patch) | |
tree | 10b90744caf32fa98c2e6a8490f6882d360f1b67 | |
parent | 063a54461677c0dbf75282bc367f204af792dac2 (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.cpp | 6 |
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); |