gl: Pass GdkWindow, not an XID, to gdk_window_get_scale_factor.
authorMatt Birkholz <matt@birchwood-abbey.net>
Thu, 7 Jun 2018 23:33:32 +0000 (16:33 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Thu, 7 Jun 2018 23:33:32 +0000 (16:33 -0700)
src/gl/gl-glx.scm
src/gl/gl.cdecl

index 11de2df1499f39915e40c5861261735edcdcfc7f..b486377ca6cd58c0de2d05f1f0923288673aa039 100644 (file)
@@ -231,10 +231,10 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 (define-method fix-widget-new-geometry-callback ((widget <glx-viewport>))
   (call-next-method widget)
-  (let ((xwindow (glx-widget-xwindow widget)))
-    (if xwindow
-       (let ((geometry (fix-widget-geometry widget))
-             (scale (C-call "gdk_window_get_scale_factor" xwindow)))
+  (if (glx-widget-xwindow widget)
+      (let ((geometry (fix-widget-geometry widget))
+           (scale (C-call "gdk_window_get_scale_factor"
+                          (fix-widget-window widget))))
        (let ((w (fix:* scale (fix-rect-width geometry)))
              (h (fix:* scale (fix-rect-height geometry))))
          (let ((aspect (->flonum (/ w h))))
@@ -246,7 +246,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
                (glu:perspective (glx-viewport-fovy widget)
                                 aspect
                                 (glx-viewport-near widget)
-                                (glx-viewport-far widget))))))))))
+                                (glx-viewport-far widget)))))))))
 
 (define (draw-callback widget cr)
   (declare (ignore cr))
index 5b5a3e9d0e847a94fdc818e6f4b8fab1c25f8a59..298cf278f84b869a46337a8338d7ba48735feeb9 100644 (file)
@@ -335,6 +335,9 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
         (widget (* GtkWidget))
        (window (* GdkWindow)))
 
+(extern gint gdk_window_get_scale_factor
+       (window (* GdkWindow)))
+
 (enum (GDK_ALL_EVENTS_MASK))
 
 #;(extern (* GdkPixbuf) gdk_pixbuf_xlib_get_from_drawable