export clientpopup mapping state and use it to skip mouse driven focus changes

BUG: 81743
FIXED-IN: 4.9
REVIEW: 104620
icc-effect-5.14.5
Thomas Lübking 2012-04-16 18:16:38 +02:00
parent 603eaca9d4
commit 7bdf96c2f3
2 changed files with 7 additions and 1 deletions

View File

@ -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() &&

View File

@ -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;