diff options
author | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-07-24 15:09:38 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-24 15:09:38 +0200 |
commit | 509ed01c85c926387f6573dd1b5fe6611fa08118 (patch) | |
tree | cdc2b8a7df4c9778176a1e3341d018971f769daa /src/plugins/platforms/xcb/qxcbwindow.cpp | |
parent | 288e50227dd5af7cdaba7e4b54a61c539021f1e0 (diff) | |
parent | 084c5b3db794af1ce86b2b17455d9be5e64baebe (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindow.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 3a19788316..0325338a13 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -379,6 +379,13 @@ void QXcbWindow::create() m_syncValue.hi = 0; m_syncValue.lo = 0; + const QByteArray wmClass = static_cast<QXcbIntegration *>(QGuiApplicationPrivate::platformIntegration())->wmClass(); + if (!wmClass.isEmpty()) { + Q_XCB_CALL(xcb_change_property(xcb_connection(), XCB_PROP_MODE_REPLACE, + m_window, atom(QXcbAtom::WM_CLASS), + XCB_ATOM_STRING, 8, wmClass.size(), wmClass.constData())); + } + if (m_usingSyncProtocol) { m_syncCounter = xcb_generate_id(xcb_connection()); Q_XCB_CALL(xcb_sync_create_counter(xcb_connection(), m_syncCounter, m_syncValue)); @@ -1636,7 +1643,8 @@ void QXcbWindow::handleButtonPressEvent(const xcb_button_press_event_t *event) { if (window() != QGuiApplication::focusWindow()) { QWindow *w = static_cast<QWindowPrivate *>(QObjectPrivate::get(window()))->eventReceiver(); - w->requestActivate(); + if (!(w->flags() & Qt::WindowDoesNotAcceptFocus)) + w->requestActivate(); } updateNetWmUserTime(event->time); |