[vlc-commits] macosx vout: fix pool leaks

David Fuhrmann git at videolan.org
Tue Aug 6 20:21:17 CEST 2013


vlc/vlc-2.1 | branch: master | David Fuhrmann <david.fuhrmann at googlemail.com> | Tue Aug  6 20:18:53 2013 +0200| [2d34540e51bc92229fa692eb71d5ad1b27a5b617] | committer: David Fuhrmann

macosx vout: fix pool leaks
(cherry picked from commit be37bd91d77b0ce64a12c5ed82ee70b1949c8b18)

Signed-off-by: David Fuhrmann <david.fuhrmann at googlemail.com>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.1.git/?a=commit;h=2d34540e51bc92229fa692eb71d5ad1b27a5b617
---

 modules/video_output/macosx.m |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m
index 8ec54b7..82b21a2 100644
--- a/modules/video_output/macosx.m
+++ b/modules/video_output/macosx.m
@@ -346,8 +346,10 @@ static int Control (vout_display_t *vd, int query, va_list ap)
             NSAutoreleasePool * o_pool = [[NSAutoreleasePool alloc] init];
 
             id o_window = [sys->glView window];
-            if (!o_window)
+            if (!o_window) {
+                [o_pool release];
                 return VLC_SUCCESS; // this is okay, since the event will occur again when we have a window
+            }
 
             NSSize windowMinSize = [o_window minSize];
 
@@ -368,10 +370,12 @@ static int Control (vout_display_t *vd, int query, va_list ap)
             if (query == VOUT_DISPLAY_CHANGE_DISPLAY_SIZE && is_forced
                 && (cfg->display.width != vd->cfg->display.width
                     || cfg->display.height != vd->cfg->display.height)
-                && vout_window_SetSize (sys->embed, cfg->display.width, cfg->display.height))
+                && vout_window_SetSize (sys->embed, cfg->display.width, cfg->display.height)) {
+                [o_pool release];
                 return VLC_EGENERIC;
+            }
  
-            /* we always use our current frame here, because we have some size constraints 
+            /* we always use our current frame here, because we have some size constraints
                in the ui vout provider */
             vout_display_cfg_t cfg_tmp = *cfg;
             NSRect bounds;



More information about the vlc-commits mailing list