]> Pileus Git - ~andy/gtk/commitdiff
Fix memleak in get_nsscreen_for_point()
authorKristian Rietveld <kris@gtk.org>
Wed, 30 Dec 2009 13:12:42 +0000 (14:12 +0100)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:53:47 +0000 (20:53 -0400)
One codepath did not go through GDK_QUARTZ_RELEASE_POOL, refactored
the code to fix this.

gdk/quartz/gdkwindow-quartz.c

index f0bde1befa47b17186273115f348b23cbbccc1b2..be7ee011084f6fd7681950d223da2195aeadbbb3 100644 (file)
@@ -890,6 +890,7 @@ get_nsscreen_for_point (gint x, gint y)
 {
   int i;
   NSArray *screens;
+  NSScreen *screen = NULL;
 
   GDK_QUARTZ_ALLOC_POOL;
 
@@ -901,12 +902,15 @@ get_nsscreen_for_point (gint x, gint y)
 
       if (x >= rect.origin.x && x <= rect.origin.x + rect.size.width &&
           y >= rect.origin.y && y <= rect.origin.y + rect.size.height)
-        return [screens objectAtIndex:i];
+        {
+          screen = [screens objectAtIndex:i];
+          break;
+        }
     }
 
   GDK_QUARTZ_RELEASE_POOL;
 
-  return NULL;
+  return screen;
 }
 
 void