diff --git a/CHANGELOG.md b/CHANGELOG.md index 81d0f6857..aec3539dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Bugfix: Fixed the wrong right-click menu showing in the chat input box. (#4177) - Bugfix: Fixed popup windows not appearing/minimizing correctly on the Windows taskbar. (#4181) - Bugfix: Fixed white border appearing around maximized window on Windows. (#4190) +- Bugfix: Fixed window scaling being applied too many times on startup, causing windows like Settings to be slow. (#4193) ## 2.4.0-beta diff --git a/src/widgets/BaseWindow.cpp b/src/widgets/BaseWindow.cpp index 8527c6083..61e9c2c58 100644 --- a/src/widgets/BaseWindow.cpp +++ b/src/widgets/BaseWindow.cpp @@ -81,7 +81,7 @@ BaseWindow::BaseWindow(FlagsEnum _flags, QWidget *parent) this->updateScale(); }); }, - this->connections_); + this->connections_, false); this->updateScale(); @@ -786,8 +786,12 @@ bool BaseWindow::handleSHOWWINDOW(MSG *msg) #ifdef USEWINSDK if (auto dpi = getWindowDpi(msg->hwnd)) { - this->nativeScale_ = dpi.get() / 96.f; - this->updateScale(); + float currentScale = (float)dpi.get() / 96.F; + if (currentScale != this->nativeScale_) + { + this->nativeScale_ = currentScale; + this->updateScale(); + } } if (!this->shown_ && this->isVisible()) diff --git a/src/widgets/dialogs/SettingsDialog.cpp b/src/widgets/dialogs/SettingsDialog.cpp index d2af987e0..f0f0ece9b 100644 --- a/src/widgets/dialogs/SettingsDialog.cpp +++ b/src/widgets/dialogs/SettingsDialog.cpp @@ -32,6 +32,10 @@ SettingsDialog::SettingsDialog(QWidget *parent) { this->setObjectName("SettingsDialog"); this->setWindowTitle("Chatterino Settings"); + // Disable the ? button in the titlebar until we decide to use it + this->setWindowFlags(this->windowFlags() & + ~Qt::WindowContextHelpButtonHint); + this->resize(915, 600); this->themeChangedEvent(); this->scaleChangedEvent(this->scale()); @@ -41,9 +45,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) this->overrideBackgroundColor_ = QColor("#111111"); this->scaleChangedEvent(this->scale()); // execute twice to width of item - // Disable the ? button in the titlebar until we decide to use it - this->setWindowFlags(this->windowFlags() & - ~Qt::WindowContextHelpButtonHint); this->addShortcuts(); this->signalHolder_.managedConnect(getApp()->hotkeys->onItemsUpdated, [this]() {