Project Tree: Fix focus issue

Some godawful global focus state was set too late, resulting in weird
behavior after an action in the context menu was activated via the
keyboard. (Namely: If you did that *once*, the "Add New File..." entry
would *forever* be disabled in all subsequent context menus, regardless
of project, session etc.)

Fixes: QTCREATORBUG-22850
Change-Id: I0afed61b65ac5064cb6a229c9bfa45445a3a6c34
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-09-30 17:33:52 +02:00
parent 4ce705554a
commit ec15cf23f3

View File

@@ -352,8 +352,8 @@ void ProjectTree::showContextMenu(ProjectTreeWidget *focus, const QPoint &global
} }
if (contextMenu && contextMenu->actions().count() > 0) { if (contextMenu && contextMenu->actions().count() > 0) {
contextMenu->popup(globalPos);
s_instance->m_focusForContextMenu = focus; s_instance->m_focusForContextMenu = focus;
contextMenu->popup(globalPos);
connect(contextMenu, &QMenu::aboutToHide, connect(contextMenu, &QMenu::aboutToHide,
s_instance, &ProjectTree::hideContextMenu, s_instance, &ProjectTree::hideContextMenu,
Qt::ConnectionType(Qt::UniqueConnection | Qt::QueuedConnection)); Qt::ConnectionType(Qt::UniqueConnection | Qt::QueuedConnection));