Fixed splits staying paused after unfocusing Chatterino in certain configurations (#5504)

This commit is contained in:
Mm2PL 2024-07-13 11:21:27 +02:00 committed by GitHub
parent e2c3823a14
commit 49de421bd8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 18 additions and 0 deletions

View file

@ -27,6 +27,7 @@
- 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) - Bugfix: Fixed windows on Windows not saving correctly when snapping them to the edges. (#5478)
- Bugfix: Fixed `/clearmessages` not working with more than one window. (#5489) - Bugfix: Fixed `/clearmessages` not working with more than one window. (#5489)
- Bugfix: Fixed splits staying paused after unfocusing Chatterino in certain configurations. (#5504)
- 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)

View file

@ -43,6 +43,7 @@
#include <QDesktopServices> #include <QDesktopServices>
#include <QHeaderView> #include <QHeaderView>
#include <QMenuBar> #include <QMenuBar>
#include <QObject>
#include <QPalette> #include <QPalette>
#include <QStandardItemModel> #include <QStandardItemModel>
#include <QVBoxLayout> #include <QVBoxLayout>
@ -112,6 +113,12 @@ bool Window::event(QEvent *event)
} }
case QEvent::WindowDeactivate: { case QEvent::WindowDeactivate: {
for (const auto &split :
this->notebook_->getSelectedPage()->getSplits())
{
split->unpause();
}
auto *page = this->notebook_->getSelectedPage(); auto *page = this->notebook_->getSelectedPage();
if (page != nullptr) if (page != nullptr)

View file

@ -1599,6 +1599,13 @@ void Split::setInputReply(const MessagePtr &reply)
this->input_->setReply(reply); this->input_->setReply(reply);
} }
void Split::unpause()
{
this->view_->unpause(PauseReason::KeyboardModifier);
this->view_->unpause(PauseReason::DoubleClick);
// Mouse intentionally left out, we may still have the mouse over the split
}
} // namespace chatterino } // namespace chatterino
QDebug operator<<(QDebug dbg, const chatterino::Split &split) QDebug operator<<(QDebug dbg, const chatterino::Split &split)

View file

@ -77,6 +77,9 @@ public:
void setInputReply(const MessagePtr &reply); void setInputReply(const MessagePtr &reply);
// This is called on window focus lost
void unpause();
static pajlada::Signals::Signal<Qt::KeyboardModifiers> static pajlada::Signals::Signal<Qt::KeyboardModifiers>
modifierStatusChanged; modifierStatusChanged;
static Qt::KeyboardModifiers modifierStatus; static Qt::KeyboardModifiers modifierStatus;