diff --git a/src/private/WidgetResizeHandler.cpp b/src/private/WidgetResizeHandler.cpp index ccb37a61..4254b8ae 100644 --- a/src/private/WidgetResizeHandler.cpp +++ b/src/private/WidgetResizeHandler.cpp @@ -532,15 +532,19 @@ CursorPosition WidgetResizeHandler::cursorPosition(QPoint globalPos) const const int margin = widgetResizeHandlerMargin(); QFlags::Int result = CursorPosition_Undefined; - if (qAbs(x) <= margin) - result |= CursorPosition_Left; - else if (qAbs(x - (mTarget->width() - margin)) <= margin) - result |= CursorPosition_Right; + if (y >= -margin && y <= mTarget->height() + margin) { + if (qAbs(x) <= margin) + result |= CursorPosition_Left; + else if (qAbs(x - (mTarget->width() - margin)) <= margin) + result |= CursorPosition_Right; + } - if (qAbs(y) <= margin) - result |= CursorPosition_Top; - else if (qAbs(y - (mTarget->height() - margin)) <= margin) - result |= CursorPosition_Bottom; + if (x >= -margin && x <= mTarget->width() + margin) { + if (qAbs(y) <= margin) + result |= CursorPosition_Top; + else if (qAbs(y - (mTarget->height() - margin)) <= margin) + result |= CursorPosition_Bottom; + } // Filter out sides we don't allow result = result & mAllowedResizeSides;