export clientpopup mapping state and use it to skip mouse driven focus changes
BUG: 81743 FIXED-IN: 4.9 REVIEW: 104620
This commit is contained in:
parent
603eaca9d4
commit
7bdf96c2f3
2 changed files with 7 additions and 1 deletions
|
@ -879,7 +879,7 @@ void Client::enterNotifyEvent(XCrossingEvent* e)
|
|||
}
|
||||
#undef MOUSE_DRIVEN_FOCUS
|
||||
|
||||
if (options->focusPolicy() == Options::ClickToFocus)
|
||||
if (options->focusPolicy() == Options::ClickToFocus || workspace()->windowMenuShown())
|
||||
return;
|
||||
|
||||
if (options->isAutoRaise() && !isDesktop() &&
|
||||
|
|
|
@ -415,6 +415,7 @@ public:
|
|||
*/
|
||||
void showWindowMenu(int x, int y, Client* cl);
|
||||
void showWindowMenu(QPoint pos, Client* cl);
|
||||
bool windowMenuShown();
|
||||
|
||||
void updateMinimizedOfTransients(Client*);
|
||||
void updateOnAllDesktopsOfTransients(Client*);
|
||||
|
@ -1039,6 +1040,11 @@ inline void Workspace::showWindowMenu(int x, int y, Client* cl)
|
|||
showWindowMenu(QRect(QPoint(x, y), QPoint(x, y)), cl);
|
||||
}
|
||||
|
||||
inline bool Workspace::windowMenuShown()
|
||||
{
|
||||
return popup && ((QWidget*)popup)->isVisible();
|
||||
}
|
||||
|
||||
inline void Workspace::setWasUserInteraction()
|
||||
{
|
||||
was_user_interaction = true;
|
||||
|
|
Loading…
Reference in a new issue