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>
bb10
Rob De Reycke 2022-10-27 00:37:20 +02:00 committed by Liang Qi
parent 9968efb3cf
commit e39ca06dbc
1 changed files with 2 additions and 1 deletions

View File

@ -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()