diff options
author | Rob De Reycke <rob_dereycke@hotmail.com> | 2022-10-27 00:37:20 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-10-27 08:57:43 +0000 |
commit | acee56691f1f6f367ffee42ab8ea709a6cf4d6be (patch) | |
tree | 6899b4d718946af72b44734f7a762c1530426a64 /src/plugins | |
parent | 1ddfee7ae8c1ce2830d3b64674d5a3fa86e16998 (diff) | |
download | qtbase-acee56691f1f6f367ffee42ab8ea709a6cf4d6be.tar.gz |
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>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection_screens.cpp | 3 |
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() |