28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
|
index 06d1000993b..f98b2dfe3af 100644
|
|
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
|
|
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
|
@@ -132,7 +132,9 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
|
|
if (!m_startupId.isNull())
|
|
qunsetenv("DESKTOP_STARTUP_ID");
|
|
|
|
+ const int focusInDelay = 100;
|
|
m_focusInTimer.setSingleShot(true);
|
|
+ m_focusInTimer.setInterval(focusInDelay);
|
|
m_focusInTimer.callOnTimeout([]() {
|
|
// No FocusIn events for us, proceed with FocusOut normally.
|
|
QWindowSystemInterface::handleWindowActivated(nullptr, Qt::ActiveWindowFocusReason);
|
|
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
|
index 9382488b741..610eca06a55 100644
|
|
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
|
|
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
|
@@ -848,7 +848,7 @@ void QXcbWindow::doFocusOut()
|
|
connection()->setFocusWindow(nullptr);
|
|
relayFocusToModalWindow();
|
|
// Do not set the active window to nullptr if there is a FocusIn coming.
|
|
- connection()->focusInTimer().start(400);
|
|
+ connection()->focusInTimer().start();
|
|
}
|
|
|
|
struct QtMotifWmHints {
|