vlc | branch: master | Marvin Scholz <[email protected]> | Sun Nov 26 02:04:45 2017 +0100| [093bbee6917d6b396e96a43cadf4411fa9a3e1a2] | committer: Marvin Scholz
gui/minimal_macosx: Fix WindowControl handling This is still very buggy but does not crash anymore. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=093bbee6917d6b396e96a43cadf4411fa9a3e1a2 --- modules/gui/minimal_macosx/intf.m | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/modules/gui/minimal_macosx/intf.m b/modules/gui/minimal_macosx/intf.m index 27ff54577b..311fd3c031 100644 --- a/modules/gui/minimal_macosx/intf.m +++ b/modules/gui/minimal_macosx/intf.m @@ -149,25 +149,28 @@ static int WindowControl(vout_window_t *p_wnd, int i_query, va_list args) } case VOUT_WINDOW_SET_SIZE: { + unsigned int i_width = va_arg(args, unsigned int); + unsigned int i_height = va_arg(args, unsigned int); @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]; + dispatch_sync(dispatch_get_main_queue(), ^{ + NSRect theFrame = [o_window frame]; + 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: { + int i_full = va_arg(args, int); @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]; + dispatch_sync(dispatch_get_main_queue(), ^{ + if (i_full) + [(VLCMinimalVoutWindow*)o_window enterFullscreen]; + else + [(VLCMinimalVoutWindow*)o_window leaveFullscreen]; + }); } return VLC_SUCCESS; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
