From ec37fbe2e29a7a02502f9a9d499a707f208e01d6 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Fri, 10 Oct 2014 21:35:23 -0700 Subject: [PATCH] quartz: NSWindow NULL check in get_scale_factor Sending backingScaleFactor to a NULL NSWindow will silently give the value 0 for the scale factor, causing insidious divide-by-zero bugs down the line. This checks if the NSWindow is NULL first, as seems to happen throughout the rest of the file. Note that I don't have a hi-DPI OS X machine to test this on, though. https://bugzilla.gnome.org/show_bug.cgi?id=738338 --- gdk/quartz/gdkwindow-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 468bc8b60f..2a2444ef74 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2852,7 +2852,7 @@ gdk_quartz_window_get_scale_factor (GdkWindow *window) impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); - if (gdk_quartz_osx_version() >= GDK_OSX_LION) + if (impl->toplevel != NULL && gdk_quartz_osx_version() >= GDK_OSX_LION) return [(id ) impl->toplevel backingScaleFactor]; return 1;