Workaround palette not set on new windows

This commit is contained in:
Nicolas Werner 2023-06-05 00:18:17 +02:00
parent 838b091acd
commit 8485e7ae81
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
3 changed files with 30 additions and 0 deletions

View file

@ -376,6 +376,20 @@ MainWindow::showChatPage()
emit switchToChatPage();
}
bool
NhekoFixupPaletteEventFilter::eventFilter(QObject *obj, QEvent *event)
{
// Workaround for the QGuiApplication palette not being applied to toplevel windows for some
// reason?!?
if (event->type() == QEvent::ChildAdded &&
obj->metaObject()->className() == QStringLiteral("QQuickRootItem")) {
for (const auto window : QGuiApplication::topLevelWindows()) {
QGuiApplication::postEvent(window, new QEvent(QEvent::ApplicationPaletteChange));
}
}
return false;
}
void
MainWindow::closeEvent(QCloseEvent *event)
{