mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-27 09:30:13 +03:00
Fix White Window issue on Windows after Qt 5.12.4 upgrade
Qt 5.12.4 seems to introduce a new bug on Windows, causing the settings window to not be redrawn when re-opening it, for example by clicking at the tray icon. As a workaround this fix starts a 100 ms timer to be fired once upon QDialog::showEvent is called. Signed-off-by: Michael Schuster <michael@schuster.ms>
This commit is contained in:
parent
cb60e8aa90
commit
8f616969ab
2 changed files with 29 additions and 0 deletions
|
@ -168,6 +168,23 @@ void SettingsDialog::changeEvent(QEvent *e)
|
|||
QDialog::changeEvent(e);
|
||||
}
|
||||
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
#if (defined(Q_OS_WIN) && (QT_VERSION >= QT_VERSION_CHECK(5, 12, 4)))
|
||||
void SettingsDialog::showEvent(QShowEvent *e)
|
||||
{
|
||||
QDialog::showEvent(e);
|
||||
|
||||
QTimer::singleShot(100, this, &SettingsDialog::timerShowEvent);
|
||||
}
|
||||
|
||||
void SettingsDialog::timerShowEvent()
|
||||
{
|
||||
update();
|
||||
repaint();
|
||||
}
|
||||
#endif
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
|
||||
void SettingsDialog::slotSwitchPage(QAction *action)
|
||||
{
|
||||
_ui->stack->setCurrentWidget(_actionGroupWidgets.value(action));
|
||||
|
|
|
@ -68,10 +68,22 @@ protected:
|
|||
void accept() override;
|
||||
void changeEvent(QEvent *) override;
|
||||
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
#if (defined(Q_OS_WIN) && (QT_VERSION >= QT_VERSION_CHECK(5, 12, 4)))
|
||||
void showEvent(QShowEvent *) override;
|
||||
#endif
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
|
||||
private slots:
|
||||
void accountAdded(AccountState *);
|
||||
void accountRemoved(AccountState *);
|
||||
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
#if (defined(Q_OS_WIN) && (QT_VERSION >= QT_VERSION_CHECK(5, 12, 4)))
|
||||
void timerShowEvent();
|
||||
#endif
|
||||
// FIX - White Window issue on Windows after Qt 5.12.4 upgrade ///////////////////////////////
|
||||
|
||||
private:
|
||||
void customizeStyle();
|
||||
void activityAdded(AccountState *);
|
||||
|
|
Loading…
Reference in a new issue