vlc | branch: master | Felix Paul Kühne <[email protected]> | Tue Jul 21 12:19:52 2015 +0200| [6916c8d1365204b7cbd78768c2c048e9781ec224] | committer: Felix Paul Kühne
minimal-macosx: switch to ARC > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6916c8d1365204b7cbd78768c2c048e9781ec224 --- modules/gui/Makefile.am | 2 +- modules/gui/minimal_macosx/intf.m | 93 +++++++++++++++++-------------------- 2 files changed, 43 insertions(+), 52 deletions(-) diff --git a/modules/gui/Makefile.am b/modules/gui/Makefile.am index 47bd638..a5f4f65 100644 --- a/modules/gui/Makefile.am +++ b/modules/gui/Makefile.am @@ -39,7 +39,7 @@ libminimal_macosx_plugin_la_SOURCES = \ gui/minimal_macosx/misc.h gui/minimal_macosx/misc.m \ gui/minimal_macosx/VLCMinimalVoutWindow.h gui/minimal_macosx/VLCMinimalVoutWindow.m \ gui/minimal_macosx/macosx.c -libminimal_macosx_plugin_la_OBJCFLAGS = $(AM_OBJCFLAGS) -fobjc-exceptions +libminimal_macosx_plugin_la_OBJCFLAGS = $(AM_OBJCFLAGS) -fobjc-arc -fobjc-exceptions libminimal_macosx_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(guidir)' -Wl,-framework,Cocoa EXTRA_LTLIBRARIES += libminimal_macosx_plugin.la gui_LTLIBRARIES += $(LTLIBminimal_macosx) diff --git a/modules/gui/minimal_macosx/intf.m b/modules/gui/minimal_macosx/intf.m index 7c69e4e..b803a9f 100644 --- a/modules/gui/minimal_macosx/intf.m +++ b/modules/gui/minimal_macosx/intf.m @@ -92,14 +92,13 @@ extern OSErr CPSSetFrontProcess(CPSProcessSerNum *psn); static void Run(intf_thread_t *p_intf) { CPSProcessSerNum PSN; - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - [NSApplication sharedApplication]; - if (!CPSGetCurrentProcess(&PSN)) - if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103)) - if (!CPSSetFrontProcess(&PSN)) - [NSApplication sharedApplication]; - - [pool release]; + @autoreleasepool { + [NSApplication sharedApplication]; + if (!CPSGetCurrentProcess(&PSN)) + if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103)) + if (!CPSSetFrontProcess(&PSN)) + [NSApplication sharedApplication]; + } } /***************************************************************************** @@ -113,32 +112,30 @@ int WindowOpen(vout_window_t *p_wnd, const vout_window_cfg_t *cfg) && cfg->type != VOUT_WINDOW_TYPE_NSOBJECT) return VLC_EGENERIC; - NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init]; - - NSRect proposedVideoViewPosition = NSMakeRect(cfg->x, cfg->y, cfg->width, cfg->height); + @autoreleasepool { + NSRect proposedVideoViewPosition = NSMakeRect(cfg->x, cfg->y, cfg->width, cfg->height); - VLCMinimalVoutWindow *o_window = [[VLCMinimalVoutWindow alloc] initWithContentRect:proposedVideoViewPosition]; - [o_window makeKeyAndOrderFront:nil]; + VLCMinimalVoutWindow *o_window = [[VLCMinimalVoutWindow alloc] initWithContentRect:proposedVideoViewPosition]; + [o_window makeKeyAndOrderFront:nil]; - if (!o_window) { - msg_Err(p_wnd, "window creation failed"); - [o_pool release]; - return VLC_EGENERIC; - } + if (!o_window) { + msg_Err(p_wnd, "window creation failed"); + return VLC_EGENERIC; + } - msg_Dbg(p_wnd, "returning video window with proposed position x=%i, y=%i, width=%i, height=%i", cfg->x, cfg->y, cfg->width, cfg->height); - p_wnd->handle.nsobject = [o_window contentView]; + msg_Dbg(p_wnd, "returning video window with proposed position x=%i, y=%i, width=%i, height=%i", cfg->x, cfg->y, cfg->width, cfg->height); + p_wnd->handle.nsobject = (void *)CFBridgingRetain([o_window contentView]); - p_wnd->type = VOUT_WINDOW_TYPE_NSOBJECT; - p_wnd->control = WindowControl; + p_wnd->type = VOUT_WINDOW_TYPE_NSOBJECT; + p_wnd->control = WindowControl; + } - [o_pool release]; return VLC_SUCCESS; } static int WindowControl(vout_window_t *p_wnd, int i_query, va_list args) { - NSWindow * o_window = [(id)p_wnd->handle.nsobject window]; + NSWindow * o_window = [(__bridge id)p_wnd->handle.nsobject window]; if (!o_window) { msg_Err(p_wnd, "failed to recover cocoa window"); return VLC_EGENERIC; @@ -155,29 +152,26 @@ static int WindowControl(vout_window_t *p_wnd, int i_query, va_list args) } case VOUT_WINDOW_SET_SIZE: { - NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init]; - - NSRect theFrame = [o_window frame]; - unsigned int i_width = va_arg(args, unsigned int); - unsigned int i_height = va_arg(args, unsigned int); - theFrame.size.width = i_width; - theFrame.size.height = i_height; - [o_window setFrame: theFrame display: YES animate: YES]; - - [o_pool release]; + @autoreleasepool { + NSRect theFrame = [o_window frame]; + unsigned int i_width = va_arg(args, unsigned int); + unsigned int i_height = va_arg(args, unsigned int); + theFrame.size.width = i_width; + theFrame.size.height = i_height; + [o_window setFrame: theFrame display: YES animate: YES]; + } return VLC_SUCCESS; } case VOUT_WINDOW_SET_FULLSCREEN: { - NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init]; - int i_full = va_arg(args, int); - - if (i_full) - [o_window performSelectorOnMainThread:@selector(enterFullscreen) withObject:nil waitUntilDone:NO]; - else - [o_window performSelectorOnMainThread:@selector(leaveFullscreen) withObject:nil waitUntilDone:NO]; - - [o_pool release]; + @autoreleasepool { + int i_full = va_arg(args, int); + + if (i_full) + [o_window performSelectorOnMainThread:@selector(enterFullscreen) withObject:nil waitUntilDone:NO]; + else + [o_window performSelectorOnMainThread:@selector(leaveFullscreen) withObject:nil waitUntilDone:NO]; + } return VLC_SUCCESS; } default: @@ -188,12 +182,9 @@ static int WindowControl(vout_window_t *p_wnd, int i_query, va_list args) void WindowClose(vout_window_t *p_wnd) { - NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init]; - - NSWindow * o_window = [(id)p_wnd->handle.nsobject window]; - if (o_window) - [o_window release]; - - [o_pool release]; + @autoreleasepool { + NSWindow * o_window = [(__bridge id)p_wnd->handle.nsobject window]; + if (o_window) + o_window = nil; + } } - _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
