diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 49ff8bc..41824e2 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -114,6 +114,7 @@ void QWindowSystemInterface::handleEnterLeaveEvent(QWindow *enter, QWindow *leav void QWindowSystemInterface::handleWindowActivated(QWindow *tlw, Qt::FocusReason r) { + qDebug() << __FUNCTION__ << tlw << r; QWindowSystemInterfacePrivate::ActivatedWindowEvent *e = new QWindowSystemInterfacePrivate::ActivatedWindowEvent(tlw, r); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); @@ -121,6 +122,7 @@ void QWindowSystemInterface::handleWindowActivated(QWindow *tlw, Qt::FocusReason void QWindowSystemInterface::handleWindowStateChanged(QWindow *tlw, Qt::WindowState newState) { + qDebug() << __FUNCTION__ << tlw << newState; QWindowSystemInterfacePrivate::WindowStateChangedEvent *e = new QWindowSystemInterfacePrivate::WindowStateChangedEvent(tlw, newState); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); @@ -135,6 +137,7 @@ void QWindowSystemInterface::handleWindowScreenChanged(QWindow *tlw, QScreen *sc void QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState) { + qDebug() << __FUNCTION__ << newState; Q_ASSERT(QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ApplicationState)); QWindowSystemInterfacePrivate::ApplicationStateChangedEvent *e = new QWindowSystemInterfacePrivate::ApplicationStateChangedEvent(newState); diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index 08f3ab4..f955196 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -1024,6 +1024,7 @@ void QWindowsContext::handleFocusEvent(QtWindows::WindowsEventType et, } if (nextActiveWindow != d->m_lastActiveWindow) { d->m_lastActiveWindow = nextActiveWindow; + qDebug() << __FUNCTION__ << nextActiveWindow; QWindowSystemInterface::handleWindowActivated(nextActiveWindow); } } diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index d010698..f2b3d41 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -1869,6 +1869,7 @@ void QXcbWindow::handleFocusInEvent(const xcb_focus_in_event_t *) QWindow *w = window(); w = static_cast(QObjectPrivate::get(w))->eventReceiver(); connection()->setFocusWindow(static_cast(w->handle())); + qDebug() << "XCB" << __FUNCTION__ << w; QWindowSystemInterface::handleWindowActivated(w, Qt::ActiveWindowFocusReason); } @@ -1876,6 +1877,7 @@ static bool focusInPeeker(QXcbConnection *connection, xcb_generic_event_t *event { if (!event) { // FocusIn event is not in the queue, proceed with FocusOut normally. + qDebug() << "XCB" << __FUNCTION__ ; QWindowSystemInterface::handleWindowActivated(0, Qt::ActiveWindowFocusReason); return true; } @@ -1900,6 +1902,7 @@ void QXcbWindow::handleFocusOutEvent(const xcb_focus_out_event_t *) // Do not set the active window to 0 if there is a FocusIn coming. // There is however no equivalent for XPutBackEvent so register a // callback for QXcbConnection instead. + qDebug() << "XCB" << __FUNCTION__ << window(); connection()->addPeekFunc(focusInPeeker); }