fix: only invalidate buffers for chat windows (#5666)
This commit is contained in:
@@ -877,10 +877,13 @@ bool BaseWindow::nativeEvent(const QByteArray &eventType, void *message,
|
||||
break;
|
||||
|
||||
case WM_DPICHANGED: {
|
||||
// wait for Qt to process this message
|
||||
postToThread([] {
|
||||
getApp()->getWindows()->invalidateChannelViewBuffers();
|
||||
});
|
||||
if (this->flags_.has(ClearBuffersOnDpiChange))
|
||||
{
|
||||
// wait for Qt to process this message
|
||||
postToThread([] {
|
||||
getApp()->getWindows()->invalidateChannelViewBuffers();
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
Dialog = 1 << 6,
|
||||
DisableLayoutSave = 1 << 7,
|
||||
BoundsCheckOnShow = 1 << 8,
|
||||
ClearBuffersOnDpiChange = 1 << 9,
|
||||
};
|
||||
|
||||
enum ActionOnFocusLoss { Nothing, Delete, Close, Hide };
|
||||
|
||||
@@ -36,9 +36,9 @@ namespace {
|
||||
|
||||
DraggablePopup::DraggablePopup(bool closeAutomatically, QWidget *parent)
|
||||
: BaseWindow(
|
||||
closeAutomatically
|
||||
? popupFlagsCloseAutomatically | BaseWindow::DisableLayoutSave
|
||||
: popupFlags | BaseWindow::DisableLayoutSave,
|
||||
(closeAutomatically ? popupFlagsCloseAutomatically : popupFlags) |
|
||||
BaseWindow::DisableLayoutSave |
|
||||
BaseWindow::ClearBuffersOnDpiChange,
|
||||
parent)
|
||||
, lifetimeHack_(std::make_shared<bool>(false))
|
||||
, dragTimer_(this)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "singletons/Emotes.hpp"
|
||||
#include "singletons/Settings.hpp"
|
||||
#include "singletons/WindowManager.hpp"
|
||||
#include "util/PostToThread.hpp"
|
||||
#include "widgets/BaseWidget.hpp"
|
||||
#include "widgets/helper/ChannelView.hpp"
|
||||
#include "widgets/helper/InvisibleSizeGrip.hpp"
|
||||
@@ -312,6 +313,13 @@ bool OverlayWindow::nativeEvent(const QByteArray &eventType, void *message,
|
||||
}
|
||||
break;
|
||||
# endif
|
||||
case WM_DPICHANGED: {
|
||||
// wait for Qt to process this message, same as in BaseWindow
|
||||
postToThread([] {
|
||||
getApp()->getWindows()->invalidateChannelViewBuffers();
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return QWidget::nativeEvent(eventType, message, result);
|
||||
|
||||
@@ -52,7 +52,9 @@
|
||||
namespace chatterino {
|
||||
|
||||
Window::Window(WindowType type, QWidget *parent)
|
||||
: BaseWindow(BaseWindow::EnableCustomFrame, parent)
|
||||
: BaseWindow(
|
||||
{BaseWindow::EnableCustomFrame, BaseWindow::ClearBuffersOnDpiChange},
|
||||
parent)
|
||||
, type_(type)
|
||||
, notebook_(new SplitNotebook(this))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user