From http://www.jwz.org/xscreensaver/xscreensaver-5.39.tar.gz
[xscreensaver] / jwxyz / jwxyz-cocoa.m
index 079c4ff22a8a82181eb5d049dd58b94f6404720c..9476d2a0dcefe1c9e16bef123766e176cb17c8a2 100644 (file)
@@ -568,6 +568,7 @@ jwxyz_get_pos (Window w, XPoint *xvpos, XPoint *xp)
 # if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6)
   NSRect rr1 = [w->window.view convertRect: NSMakeRect(0,0,0,0) toView:nil];
   NSRect rr2 = [nsw convertRectToScreen: rr1];
+
   NSPoint wpos = NSMakePoint (rr2.origin.x - rr1.origin.x,
                               rr2.origin.y - rr1.origin.y);
 # else
@@ -586,7 +587,8 @@ jwxyz_get_pos (Window w, XPoint *xvpos, XPoint *xp)
   vpos.y += wpos.y;
 
   // get top left of view on screen, from bottom left
-  vpos.y += w->frame.height;
+  double s = [w->window.view hackedContentScaleFactor];
+  vpos.y += w->frame.height / s;
 
   // get top left of view on screen, from top left
   NSArray *screens = [NSScreen screens];