fix crash

This commit is contained in:
Zhao Yuhang 2023-10-21 18:19:56 +08:00
parent 415fb55222
commit c4a7bc80d0
2 changed files with 10 additions and 4 deletions

View File

@ -145,7 +145,10 @@ FramelessQuickHelperPrivate::FramelessQuickHelperPrivate(FramelessQuickHelper *q
connect(q_ptr, &FramelessQuickHelper::windowChanged, q_ptr, &FramelessQuickHelper::windowChanged2); connect(q_ptr, &FramelessQuickHelper::windowChanged, q_ptr, &FramelessQuickHelper::windowChanged2);
} }
FramelessQuickHelperPrivate::~FramelessQuickHelperPrivate() = default; FramelessQuickHelperPrivate::~FramelessQuickHelperPrivate()
{
detach();
}
FramelessQuickHelperPrivate *FramelessQuickHelperPrivate::get(FramelessQuickHelper *pub) FramelessQuickHelperPrivate *FramelessQuickHelperPrivate::get(FramelessQuickHelper *pub)
{ {
@ -427,7 +430,7 @@ void FramelessQuickHelperPrivate::doRepaintAllChildren()
} }
if (!((window->windowState() & (Qt::WindowMinimized | Qt::WindowMaximized | Qt::WindowFullScreen)) || q->isWindowFixedSize())) { if (!((window->windowState() & (Qt::WindowMinimized | Qt::WindowMaximized | Qt::WindowFullScreen)) || q->isWindowFixedSize())) {
const QSize originalSize = window->size(); const QSize originalSize = window->size();
static constexpr const auto margins = QMargins{ 10, 10, 10, 10 }; static constexpr const auto margins = QMargins{ 1, 1, 1, 1 };
window->resize(originalSize.shrunkBy(margins)); window->resize(originalSize.shrunkBy(margins));
window->resize(originalSize.grownBy(margins)); window->resize(originalSize.grownBy(margins));
window->resize(originalSize); window->resize(originalSize);

View File

@ -186,7 +186,7 @@ static inline void forceWidgetRepaint(QWidget *widget)
// A widget will most likely repaint itself if it's size is changed. // A widget will most likely repaint itself if it's size is changed.
if (!isWidgetFixedSize(widget)) { if (!isWidgetFixedSize(widget)) {
const QSize originalSize = widget->size(); const QSize originalSize = widget->size();
static constexpr const auto margins = QMargins{10, 10, 10, 10}; static constexpr const auto margins = QMargins{ 1, 1, 1, 1 };
widget->resize(originalSize.shrunkBy(margins)); widget->resize(originalSize.shrunkBy(margins));
widget->resize(originalSize.grownBy(margins)); widget->resize(originalSize.grownBy(margins));
widget->resize(originalSize); widget->resize(originalSize);
@ -216,7 +216,10 @@ FramelessWidgetsHelperPrivate::FramelessWidgetsHelperPrivate(FramelessWidgetsHel
connect(&repaintTimer, &QTimer::timeout, this, &FramelessWidgetsHelperPrivate::doRepaintAllChildren); connect(&repaintTimer, &QTimer::timeout, this, &FramelessWidgetsHelperPrivate::doRepaintAllChildren);
} }
FramelessWidgetsHelperPrivate::~FramelessWidgetsHelperPrivate() = default; FramelessWidgetsHelperPrivate::~FramelessWidgetsHelperPrivate()
{
detach();
}
FramelessWidgetsHelperPrivate *FramelessWidgetsHelperPrivate::get(FramelessWidgetsHelper *pub) FramelessWidgetsHelperPrivate *FramelessWidgetsHelperPrivate::get(FramelessWidgetsHelper *pub)
{ {