ui_window_win: use value_or for _frameMargins

This commit is contained in:
Ilya Fedin 2022-06-13 15:34:08 +04:00 committed by John Preston
parent ce35425670
commit 1679da738b

View file

@ -334,7 +334,7 @@ void WindowHelper::init() {
titleShown ? titleHeight : 0, titleShown ? titleHeight : 0,
0, 0,
0 0
)).marginsRemoved(frameMargins ? *frameMargins : QMargins())); )).marginsRemoved(frameMargins.value_or(QMargins())));
}, _body->lifetime()); }, _body->lifetime());
hitTestRequests( hitTestRequests(
@ -354,9 +354,8 @@ void WindowHelper::init() {
} else { } else {
AdjustWindowRectEx(&r, style, false, styleEx); AdjustWindowRectEx(&r, style, false, styleEx);
} }
const auto frameMargins = _frameMargins.current() const auto frameMargins = _frameMargins.current().value_or(
? *_frameMargins.current() QMargins());
: QMargins();
const auto maximized = window()->isMaximized() const auto maximized = window()->isMaximized()
|| window()->isFullScreen(); || window()->isFullScreen();
return (!maximized && (request->point.y() < -r.top)) return (!maximized && (request->point.y() < -r.top))
@ -374,9 +373,8 @@ void WindowHelper::init() {
_frameMargins.value( _frameMargins.value(
) | rpl::start_with_next([=](std::optional<QMargins> frameMargins) { ) | rpl::start_with_next([=](std::optional<QMargins> frameMargins) {
const auto deviceDependentMargins = frameMargins const auto deviceDependentMargins = frameMargins.value_or(QMargins())
? *frameMargins * window()->devicePixelRatioF() * window()->devicePixelRatioF();
: QMargins();
const MARGINS m{ const MARGINS m{
deviceDependentMargins.left(), deviceDependentMargins.left(),
deviceDependentMargins.right(), deviceDependentMargins.right(),
@ -833,7 +831,7 @@ void WindowHelper::updateWindowFrameColors(bool active) {
} }
bool WindowHelper::frameMarginsSet() const { bool WindowHelper::frameMarginsSet() const {
return _frameMargins.current() && !_frameMargins.current()->isNull(); return !_frameMargins.current().value_or(QMargins()).isNull();
} }
void WindowHelper::updateFrameMargins() { void WindowHelper::updateFrameMargins() {