[vlc-devel] [vlc-commits] macosx: fixed another crash after the video stopped playing

Felix Paul Kühne fkuehne.videolan at googlemail.com
Sun May 22 16:25:18 CEST 2011


On May 22, 2011, at 3:34 PM, Pierre d'Herbemont wrote:

> On Sat, May 21, 2011 at 6:54 PM, Felix Paul Kühne <git at videolan.org> wrote:
>> vlc/vlc-1.1 | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sat May 21 18:53:55 2011 +0200| [1c33e8d2aeb0ce76181799bf0d96b5fc97f6840a] | committer: Felix Paul Kühne
>> 
>> macosx: fixed another crash after the video stopped playing
>> 
>>> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=1c33e8d2aeb0ce76181799bf0d96b5fc97f6840a
>> ---
>> 
>>  modules/gui/macosx/vout.m |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>> 
>> diff --git a/modules/gui/macosx/vout.m b/modules/gui/macosx/vout.m
>> index 332343f..b5a33ff 100644
>> --- a/modules/gui/macosx/vout.m
>> +++ b/modules/gui/macosx/vout.m
>> @@ -666,7 +666,7 @@ int DeviceCallback( vlc_object_t *p_this, const char *psz_variable,
>>             }
>>             var_SetCoords( p_vout, "mouse-moved", x, y );
>>         }
>> -        if( [self isFullscreen] )
>> +        if( self && [self isFullscreen] )
>>             [[[[VLCMain sharedInstance] controls] fspanel] fadeIn];
>>     }
> 
> [self isFullscreen] returns nil if self is nil, which will resolves as
> false. This must be something else.

Your description fits what I expected. I had the following crash log:

0   libsystem_kernel.dylib        	0x00007fff8df95ce2 __pthread_kill + 10
1   libsystem_c.dylib             	0x00007fff886d5852 pthread_kill + 95
2   libsystem_c.dylib             	0x00007fff886c6afa abort + 143
3   libvlccore.4.dylib            	0x0000000101b2173f vlc_thread_fatal + 383 (pthread.c:124)
4   libvlccore.4.dylib            	0x0000000101b1d626 var_SetChecked + 54 (variables.c:754)
5   libmacosx_plugin.dylib        	0x0000000102da9b91 -[VLCVoutView mouseMoved:] + 449 (vout.m:669)
6   com.apple.AppKit              	0x00007fff8ed44c2a -[NSWindow sendEvent:] + 7404
7   com.apple.AppKit              	0x00007fff8ecdd032 -[NSApplication sendEvent:] + 4322
8   com.apple.AppKit              	0x00007fff8ec746e2 -[NSApplication run] + 541
9   libmacosx_plugin.dylib        	0x0000000102d73e24 Run + 244 (intf.m:143)
10  libvlccore.4.dylib            	0x0000000101abf863 intf_Create + 819 (interface.c:153)
11  libvlccore.4.dylib            	0x0000000101aafa8b libvlc_InternalAddIntf + 219 (libvlc.c:1130)
12  libvlc.5.dylib                	0x0000000101a866cc libvlc_add_intf + 12 (core.c:116)
13  org.videolan.vlc              	0x0000000101a7abe0 main + 496 (vlc.c:192)
14  org.videolan.vlc              	0x0000000101a7a9e4 start + 52

Thus, the vlc_mutex_lock fails in variables.c.

I can no longer reproduce this issue though. The way I used to reproduce it was moving the cursor within the black area after the video finished playing prior to the window being automatically closed.


Best regards,

Felix




More information about the vlc-devel mailing list