From 912c5ce4f94820ad2dfdec11ad39cd23ba7a8c65 Mon Sep 17 00:00:00 2001 From: Felix Kratz Date: Thu, 21 Dec 2023 09:40:25 +0100 Subject: [PATCH] dont reuse cascade point on another display fix wording reset cascade point to zero point --- glfw/cocoa_window.m | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m index 28e6d755c..c8453a311 100644 --- a/glfw/cocoa_window.m +++ b/glfw/cocoa_window.m @@ -1821,9 +1821,15 @@ static bool createNativeWindow(_GLFWwindow* window, else { [(NSWindow*) window->ns.object center]; - _glfw.ns.cascadePoint = - NSPointToCGPoint([window->ns.object cascadeTopLeftFromPoint: - NSPointFromCGPoint(_glfw.ns.cascadePoint)]); + CGRect screen_frame = [[(NSWindow*) window->ns.object screen] frame]; + if (CGRectContainsPoint(screen_frame, _glfw.ns.cascadePoint) + || CGPointEqualToPoint(CGPointZero, _glfw.ns.cascadePoint)) { + _glfw.ns.cascadePoint = + NSPointToCGPoint([window->ns.object cascadeTopLeftFromPoint: + NSPointFromCGPoint(_glfw.ns.cascadePoint)]); + } else { + _glfw.ns.cascadePoint = CGPointZero; + } if (wndconfig->resizable) {