summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob De Reycke <rob_dereycke@hotmail.com>2022-10-27 00:37:20 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-10-27 08:57:43 +0000
commitacee56691f1f6f367ffee42ab8ea709a6cf4d6be (patch)
tree6899b4d718946af72b44734f7a762c1530426a64
parent1ddfee7ae8c1ce2830d3b64674d5a3fa86e16998 (diff)
xcb: Fix segmentation fault on destruction of QXcbConnection
The same screen was detected twice. Fixes: QTBUG-104319 Change-Id: Id1f93d68de0306604f2e6a9104962a1d3b0db366 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jonas Kvinge <jonas@jkvinge.net> (cherry picked from commit e39ca06dbc3051c8e82c458ccd7314a2adbff27e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_screens.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection_screens.cpp b/src/plugins/platforms/xcb/qxcbconnection_screens.cpp
index aa0f2fef65..dc7b5fc632 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_screens.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_screens.cpp
@@ -517,7 +517,8 @@ void QXcbConnection::initializeScreensFromMonitor(xcb_screen_iterator_t *it, int
old.removeAll(screen);
}
}
- m_screens << screen;
+ if (!m_screens.contains(screen))
+ m_screens << screen;
siblings << screen;
// similar logic with QXcbConnection::initializeScreensFromOutput()