kdebase4-workspace/kde-workspace-4.11.4-screenlocker-handle-fake-focus.patch
2013-12-18 22:00:26 +11:00

34 lines
1.4 KiB
Diff

diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.cpp kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.cpp
--- kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.cpp 2013-06-29 04:10:44.307419346 +1100
+++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.cpp 2013-12-18 15:52:40.471486471 +1100
@@ -77,6 +77,7 @@
void LockWindow::initialize()
{
kapp->installX11EventFilter(this);
+ m_focused = false;
XWindowAttributes rootAttr;
QX11Info info;
@@ -379,7 +380,10 @@
setCursor(Qt::ArrowCursor);
}
m_lockWindows.prepend(event->xmap.window);
- fakeFocusIn(event->xmap.window);
+ if (!m_focused) {
+ m_focused = true;
+ fakeFocusIn(event->xmap.window);
+ }
}
}
stayOnTop();
diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.h kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.h
--- kde-workspace-4.11.4/ksmserver/screenlocker/lockwindow.h 2013-06-29 04:10:44.307419346 +1100
+++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/lockwindow.h 2013-12-18 15:50:13.111776760 +1100
@@ -67,6 +67,7 @@
QList<WindowInfo> m_windowInfo;
QList<WId> m_lockWindows;
QTimer *m_autoLogoutTimer;
+ bool m_focused;
};
}