diff options
author | Rob De Reycke <rob_dereycke@hotmail.com> | 2022-10-27 00:37:20 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2022-10-27 08:27:42 +0200 |
commit | e39ca06dbc3051c8e82c458ccd7314a2adbff27e (patch) | |
tree | c8895852fc792d4a34a21f75f73d4157a69a7066 /src/plugins/platforms/xcb | |
parent | 9968efb3cf6124606ee412f0b9e64c98113ab668 (diff) |
xcb: Fix segmentation fault on destruction of QXcbConnection
The same screen was detected twice.
Fixes: QTBUG-104319
Pick-to: 6.4 6.3
Change-Id: Id1f93d68de0306604f2e6a9104962a1d3b0db366
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Jonas Kvinge <jonas@jkvinge.net>
Diffstat (limited to 'src/plugins/platforms/xcb')
-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 4c1b22e230..bfa22072ed 100644 --- a/src/plugins/platforms/xcb/qxcbconnection_screens.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection_screens.cpp @@ -516,7 +516,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() |