summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbclipboard.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2013-09-27 13:33:22 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-09 08:19:26 +0200
commit51c28cad67077500f63dbe8c0060ed19cf340c0d (patch)
tree6c4b32caf2bc7f9c916c7a26081a0c7f68651609 /src/plugins/platforms/xcb/qxcbclipboard.cpp
parentd3ba95f5c14a495789db23aa5bd84309cce5b55b (diff)
xcb: every window should have a title in debug mode
Qt creates various invisible windows for internal purposes. Giving them all titles makes the output of tools like xprop and xwininfo more readable, which makes solving certain bugs (like transient-window bugs) easier. Task-number: QTBUG-33644 Change-Id: I9d37b40d3339fb0f81ffeae64949b88ecb655474 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbclipboard.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbclipboard.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp
index dd292fd2a3..e7f8510706 100644
--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
@@ -298,6 +298,17 @@ QXcbClipboard::QXcbClipboard(QXcbConnection *c)
m_screen->screen()->root_visual, // visual
0, // value mask
0)); // value list
+#ifndef QT_NO_DEBUG
+ QByteArray ba("Qt clipboard window");
+ Q_XCB_CALL(xcb_change_property(xcb_connection(),
+ XCB_PROP_MODE_REPLACE,
+ m_owner,
+ atom(QXcbAtom::_NET_WM_NAME),
+ atom(QXcbAtom::UTF8_STRING),
+ 8,
+ ba.length(),
+ ba.constData()));
+#endif
if (connection()->hasXFixes()) {
const uint32_t mask = XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER |
@@ -475,6 +486,17 @@ xcb_window_t QXcbClipboard::requestor() const
m_screen->screen()->root_visual, // visual
0, // value mask
0)); // value list
+#ifndef QT_NO_DEBUG
+ QByteArray ba("Qt clipboard requestor window");
+ Q_XCB_CALL(xcb_change_property(xcb_connection(),
+ XCB_PROP_MODE_REPLACE,
+ window,
+ atom(QXcbAtom::_NET_WM_NAME),
+ atom(QXcbAtom::UTF8_STRING),
+ 8,
+ ba.length(),
+ ba.constData()));
+#endif
uint32_t mask = XCB_EVENT_MASK_PROPERTY_CHANGE;
xcb_change_window_attributes(xcb_connection(), window, XCB_CW_EVENT_MASK, &mask);