diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2014-05-01 21:26:05 +0400 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-13 16:08:01 +0200 |
commit | 7db24dd86462fd34bc7af9879093ec48f70ebabe (patch) | |
tree | 582e755af32253074ef49783a2791d40fc81b993 /src/widgets/widgets | |
parent | 697cb338965ace28181923ebda624addf69b597b (diff) |
QMenu: Use Qt::QueuedConnection when connecting to native menu.
This fix allows to catch exeptions thrown in slots connected to
QAction::triggered() signal via QApplication::notify().
Task-number: QTBUG-15197
Change-Id: I6f3e51ec39139ffb0a5f3a31b79f839c18089b26
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 403ebe7f49..a3f776fe32 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -187,8 +187,8 @@ void QMenuPrivate::syncPlatformMenu() QPlatformMenuItem *menuItem = platformMenu->createMenuItem(); QAction *action = it.previous(); menuItem->setTag(reinterpret_cast<quintptr>(action)); - QObject::connect(menuItem, SIGNAL(activated()), action, SLOT(trigger())); - QObject::connect(menuItem, SIGNAL(hovered()), action, SIGNAL(hovered())); + QObject::connect(menuItem, SIGNAL(activated()), action, SLOT(trigger()), Qt::QueuedConnection); + QObject::connect(menuItem, SIGNAL(hovered()), action, SIGNAL(hovered()), Qt::QueuedConnection); copyActionToPlatformItem(action, menuItem); platformMenu->insertMenuItem(menuItem, beforeItem); beforeItem = menuItem; |