[vlc-commits] macosx vout: fix pool leaks

David Fuhrmann git at videolan.org
Thu Nov 28 17:39:50 CET 2013


vlc/vlc-2.0 | branch: master | David Fuhrmann <david.fuhrmann at googlemail.com> | Tue Aug  6 20:18:53 2013 +0200| [afe6f5113194de0221516683897f58a17518f3d8] | committer: Felix Paul Kühne

macosx vout: fix pool leaks

(cherry picked from commit be37bd91d77b0ce64a12c5ed82ee70b1949c8b18)
Signed-off-by: Felix Paul Kühne <fkuehne at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.0.git/?a=commit;h=afe6f5113194de0221516683897f58a17518f3d8
---

 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 d9c0871..ab47579 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];
 
@@ -371,10 +373,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