xcb: move QXcbXSettings initialization to QXcbVirtualDesktop constructor
This prevents e.g. gtk3 platformtheme from hanging. Change-Id: I68593ad54fa5530366d590309c10621e5a48bd22 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 297cdf16d06023ad626d798e3529a3cd98af0050) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
14ea2a3662
commit
3e5034794d
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user