mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
fix(windows): wait for Qt before getting bounds (#5478)
This commit is contained in:
parent
bd8fcd65ec
commit
4421b6c90a
3 changed files with 9 additions and 4 deletions
|
@ -23,6 +23,7 @@
|
||||||
- Bugfix: Fixed a crash that could occur when logging was enabled in IRC servers that were removed. (#5419)
|
- Bugfix: Fixed a crash that could occur when logging was enabled in IRC servers that were removed. (#5419)
|
||||||
- Bugfix: Fixed message history occasionally not loading after a sleep. (#5457)
|
- Bugfix: Fixed message history occasionally not loading after a sleep. (#5457)
|
||||||
- Bugfix: Fixed a crash when tab completing while having an invalid plugin loaded. (#5401)
|
- Bugfix: Fixed a crash when tab completing while having an invalid plugin loaded. (#5401)
|
||||||
|
- Bugfix: Fixed windows on Windows not saving correctly when snapping them to the edges. (#5478)
|
||||||
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
|
- Dev: Update Windows build from Qt 6.5.0 to Qt 6.7.1. (#5420)
|
||||||
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
|
- Dev: Update vcpkg build Qt from 6.5.0 to 6.7.0, boost from 1.83.0 to 1.85.0, openssl from 3.1.3 to 3.3.0. (#5422)
|
||||||
- Dev: Unsingletonize `ISoundController`. (#5462)
|
- Dev: Unsingletonize `ISoundController`. (#5462)
|
||||||
|
|
|
@ -240,7 +240,7 @@ BaseWindow::BaseWindow(FlagsEnum<Flags> _flags, QWidget *parent)
|
||||||
#ifdef USEWINSDK
|
#ifdef USEWINSDK
|
||||||
this->useNextBounds_.setSingleShot(true);
|
this->useNextBounds_.setSingleShot(true);
|
||||||
QObject::connect(&this->useNextBounds_, &QTimer::timeout, this, [this]() {
|
QObject::connect(&this->useNextBounds_, &QTimer::timeout, this, [this]() {
|
||||||
this->currentBounds_ = this->nextBounds_;
|
this->currentBounds_ = this->geometry();
|
||||||
});
|
});
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1137,7 +1137,11 @@ bool BaseWindow::handleSIZE(MSG *msg)
|
||||||
|
|
||||||
if (this->isNotMinimizedOrMaximized_)
|
if (this->isNotMinimizedOrMaximized_)
|
||||||
{
|
{
|
||||||
this->currentBounds_ = this->geometry();
|
// Wait for WM_SIZE to be processed by Qt and update the current
|
||||||
|
// bounds afterwards.
|
||||||
|
postToThread([this] {
|
||||||
|
this->currentBounds_ = this->geometry();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
this->useNextBounds_.stop();
|
this->useNextBounds_.stop();
|
||||||
|
|
||||||
|
@ -1166,7 +1170,8 @@ bool BaseWindow::handleMOVE(MSG *msg)
|
||||||
#ifdef USEWINSDK
|
#ifdef USEWINSDK
|
||||||
if (this->isNotMinimizedOrMaximized_)
|
if (this->isNotMinimizedOrMaximized_)
|
||||||
{
|
{
|
||||||
this->nextBounds_ = this->geometry();
|
// Wait for WM_SIZE (in case the window was maximized, we don't want to
|
||||||
|
// save the bounds but keep the old ones)
|
||||||
this->useNextBounds_.start(10);
|
this->useNextBounds_.start(10);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -188,7 +188,6 @@ private:
|
||||||
|
|
||||||
QRect initalBounds_;
|
QRect initalBounds_;
|
||||||
QRect currentBounds_;
|
QRect currentBounds_;
|
||||||
QRect nextBounds_;
|
|
||||||
QTimer useNextBounds_;
|
QTimer useNextBounds_;
|
||||||
bool isNotMinimizedOrMaximized_{};
|
bool isNotMinimizedOrMaximized_{};
|
||||||
bool lastEventWasNcMouseMove_ = false;
|
bool lastEventWasNcMouseMove_ = false;
|
||||||
|
|
Loading…
Reference in a new issue