xcb: move QXcbXSettings initialization to QXcbVirtualDesktop constructor

This prevents e.g. gtk3 platformtheme from hanging.

Pick-to: 6.7
Change-Id: I68593ad54fa5530366d590309c10621e5a48bd22
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
bb10
Ilya Fedin 2024-05-24 16:43:08 +04:00 committed by Axel Spoerl
parent e32009fc0d
commit 297cdf16d0
1 changed files with 1 additions and 4 deletions

View File

@ -23,6 +23,7 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t
: QXcbObject(connection)
, m_screen(screen)
, m_number(number)
, m_xSettings(new QXcbXSettings(this))
{
const QByteArray cmAtomName = "_NET_WM_CM_S" + QByteArray::number(m_number);
m_net_wm_cm_atom = connection->internAtom(cmAtomName.constData());
@ -129,10 +130,6 @@ void QXcbVirtualDesktop::setPrimaryScreen(QPlatformScreen *s)
QXcbXSettings *QXcbVirtualDesktop::xSettings() const
{
if (!m_xSettings) {
QXcbVirtualDesktop *self = const_cast<QXcbVirtualDesktop *>(this);
self->m_xSettings = new QXcbXSettings(self);
}
return m_xSettings;
}