Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Commit

Permalink
win: adapt to latest qtbase changes
Browse files Browse the repository at this point in the history
  • Loading branch information
wangwenx190 committed Oct 21, 2023
1 parent 78fc505 commit 415fb55
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 4 deletions.
2 changes: 2 additions & 0 deletions src/core/framelesshelper_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,11 +245,13 @@ void FramelessHelperWin::addWindow(const QObject *window)
#if 0
data->callbacks->setWindowFlags(data->callbacks->getWindowFlags() | Qt::FramelessWindowHint);
#else
# if (QT_VERSION < QT_VERSION_CHECK(6, 5, 3))
// Qt maintains a frame margin internally, we need to update it accordingly
// otherwise we'll get lots of warning messages when we change the window
// geometry, it will also affect the final window geometry because QPA will
// always take it into account when setting window size and position.
std::ignore = Utils::updateInternalWindowFrameMargins(qWindow, true);
# endif
#endif
// Tell DWM our preferred frame margin.
std::ignore = Utils::updateWindowFrameMargins(data->windowId, false);
Expand Down
6 changes: 3 additions & 3 deletions src/quick/framelessquickhelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -416,12 +416,12 @@ void FramelessQuickHelperPrivate::doRepaintAllChildren()
if (!window) {
return;
}
#ifdef Q_OS_WINDOWS
#if (defined(Q_OS_WINDOWS) && (QT_VERSION < QT_VERSION_CHECK(6, 5, 3)))
// Sync the internal window frame margins with the latest DPI, otherwise
// we will get wrong window sizes after the DPI change.
std::ignore = Utils::updateInternalWindowFrameMargins(window, true);
#endif // Q_OS_WINDOWS \
// No need to repaint the window when it's hidden.
#endif // Q_OS_WINDOWS
// No need to repaint the window when it's hidden.
if (!window->isVisible()) {
return;
}
Expand Down
2 changes: 1 addition & 1 deletion src/widgets/framelesswidgetshelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static inline void forceWidgetRepaint(QWidget *widget)
if (!widget) {
return;
}
#ifdef Q_OS_WINDOWS
#if (defined(Q_OS_WINDOWS) && (QT_VERSION < QT_VERSION_CHECK(6, 5, 3)))
// There's some additional things to do for top level windows on Windows.
if (widget->isWindow()) {
// Don't crash if the QWindow instance has not been created yet.
Expand Down

0 comments on commit 415fb55

Please sign in to comment.