From: Felix Paul Kühne Date: Sun, 20 Dec 2009 16:16:19 +0000 (+0100) Subject: osx/framework: don't interfere with the NSCell API and fail gracefully if pausing... X-Git-Tag: 1.1.0-ff~1835 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=42a162155564489fe694b190a42472dbce0260f1;p=vlc osx/framework: don't interfere with the NSCell API and fail gracefully if pausing throws an exception --- diff --git a/projects/macosx/framework/Sources/VLCMediaPlayer.m b/projects/macosx/framework/Sources/VLCMediaPlayer.m index e609e01388..8f887a5acb 100644 --- a/projects/macosx/framework/Sources/VLCMediaPlayer.m +++ b/projects/macosx/framework/Sources/VLCMediaPlayer.m @@ -433,7 +433,7 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void * catch_exception( &ex ); } -- (int)chapter +- (int)currentChapter { libvlc_exception_t ex; libvlc_exception_init( &ex ); @@ -475,7 +475,7 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void * catch_exception( &ex ); } -- (int)title +- (int)currentTitle { libvlc_exception_t ex; libvlc_exception_init( &ex ); @@ -583,7 +583,13 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void * libvlc_exception_t ex; libvlc_exception_init( &ex ); libvlc_media_player_pause( (libvlc_media_player_t *)instance, &ex ); - catch_exception( &ex ); + + // fail gracefully + // in most cases, it's just EOF so let's stop + if (libvlc_exception_raised(&ex)) + [self stop]; + + libvlc_exception_clear(&ex); } - (void)stop