[aurorae] Reparent main item to the QQuickWindow
This hopefully works around QTBUG-39336. BUG: 335253 REVIEW: 118416
This commit is contained in:
parent
c16472e535
commit
48c3519390
2 changed files with 7 additions and 4 deletions
|
@ -251,7 +251,7 @@ AuroraeClient::AuroraeClient(KDecorationBridge *bridge, KDecorationFactory *fact
|
||||||
connect(AuroraeFactory::instance(), SIGNAL(buttonsChanged()), SIGNAL(buttonsChanged()));
|
connect(AuroraeFactory::instance(), SIGNAL(buttonsChanged()), SIGNAL(buttonsChanged()));
|
||||||
connect(AuroraeFactory::instance(), SIGNAL(configChanged()), SIGNAL(configChanged()));
|
connect(AuroraeFactory::instance(), SIGNAL(configChanged()), SIGNAL(configChanged()));
|
||||||
connect(AuroraeFactory::instance(), SIGNAL(titleFontChanged()), SIGNAL(fontChanged()));
|
connect(AuroraeFactory::instance(), SIGNAL(titleFontChanged()), SIGNAL(fontChanged()));
|
||||||
connect(m_item.data(), SIGNAL(alphaChanged()), SLOT(slotAlphaChanged()));
|
connect(m_item, SIGNAL(alphaChanged()), SLOT(slotAlphaChanged()));
|
||||||
connect(this, SIGNAL(appMenuAvailable()), SIGNAL(appMenuAvailableChanged()));
|
connect(this, SIGNAL(appMenuAvailable()), SIGNAL(appMenuAvailableChanged()));
|
||||||
connect(this, SIGNAL(appMenuUnavailable()), SIGNAL(appMenuAvailableChanged()));
|
connect(this, SIGNAL(appMenuUnavailable()), SIGNAL(appMenuAvailableChanged()));
|
||||||
}
|
}
|
||||||
|
@ -291,6 +291,7 @@ void AuroraeClient::init()
|
||||||
}
|
}
|
||||||
if (m_item) {
|
if (m_item) {
|
||||||
m_item->setParentItem(m_view->contentItem());
|
m_item->setParentItem(m_view->contentItem());
|
||||||
|
m_item->setParent(m_view);
|
||||||
}
|
}
|
||||||
slotAlphaChanged();
|
slotAlphaChanged();
|
||||||
|
|
||||||
|
@ -454,13 +455,15 @@ void AuroraeClient::titlePressed(Qt::MouseButton button, Qt::MouseButtons button
|
||||||
|
|
||||||
void AuroraeClient::themeChanged()
|
void AuroraeClient::themeChanged()
|
||||||
{
|
{
|
||||||
m_item.reset(AuroraeFactory::instance()->createQmlDecoration(this));
|
m_item->deleteLater();
|
||||||
|
m_item = AuroraeFactory::instance()->createQmlDecoration(this);
|
||||||
if (!m_item) {
|
if (!m_item) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_item->setParentItem(m_view->contentItem());
|
m_item->setParentItem(m_view->contentItem());
|
||||||
connect(m_item.data(), SIGNAL(alphaChanged()), SLOT(slotAlphaChanged()));
|
m_item->setParent(m_view);
|
||||||
|
connect(m_item, SIGNAL(alphaChanged()), SLOT(slotAlphaChanged()));
|
||||||
slotAlphaChanged();
|
slotAlphaChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,7 +164,7 @@ private Q_SLOTS:
|
||||||
private:
|
private:
|
||||||
void sizesFromBorders(const QObject *borders, int &left, int &right, int &top, int &bottom) const;
|
void sizesFromBorders(const QObject *borders, int &left, int &right, int &top, int &bottom) const;
|
||||||
QQuickWindow *m_view;
|
QQuickWindow *m_view;
|
||||||
QScopedPointer<QQuickItem> m_item;
|
QQuickItem *m_item;
|
||||||
QScopedPointer<QOpenGLFramebufferObject> m_fbo;
|
QScopedPointer<QOpenGLFramebufferObject> m_fbo;
|
||||||
QImage m_buffer;
|
QImage m_buffer;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue