diff options
author | Paul Olav Tvete <paul.tvete@digia.com> | 2013-10-22 17:57:46 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-23 10:18:45 +0200 |
commit | bd3f3f31bf15f966d9d1ae0974fbc4028e6ed17e (patch) | |
tree | 99abb6f93d334bba24a1c0a133337376a83ecdf4 /src/plugins/platforms/android/src | |
parent | a83983d8617cba0caaae2cb2d6caf82b8e4f50a2 (diff) |
Android: Make platform menu more robust
Don't crash and lock up the whole device when people try to
remove menu items that don't exist.
Task-number: QTBUG-34246
Change-Id: I4396d252c5af93e021c9e218dbab7c0e7f190d9d
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src/plugins/platforms/android/src')
-rw-r--r-- | src/plugins/platforms/android/src/qandroidplatformmenu.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/platforms/android/src/qandroidplatformmenu.cpp b/src/plugins/platforms/android/src/qandroidplatformmenu.cpp index 36247e86f9..253c22a12f 100644 --- a/src/plugins/platforms/android/src/qandroidplatformmenu.cpp +++ b/src/plugins/platforms/android/src/qandroidplatformmenu.cpp @@ -67,9 +67,11 @@ void QAndroidPlatformMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatform void QAndroidPlatformMenu::removeMenuItem(QPlatformMenuItem *menuItem) { QMutexLocker lock(&m_menuItemsMutex); - m_menuItems.erase(qFind(m_menuItems.begin(), - m_menuItems.end(), - static_cast<QAndroidPlatformMenuItem *>(menuItem))); + PlatformMenuItemsType::iterator it = qFind(m_menuItems.begin(), + m_menuItems.end(), + static_cast<QAndroidPlatformMenuItem *>(menuItem)); + if (it != m_menuItems.end()) + m_menuItems.erase(it); } void QAndroidPlatformMenu::syncMenuItem(QPlatformMenuItem *menuItem) |