[vlc-devel] [vlc-commits] macosx: fixed compilation against the updated msg API
Rémi Denis-Courmont
remi at remlab.net
Sun Aug 21 16:20:42 CEST 2011
Le dimanche 21 août 2011 17:14:33 Felix Paul Kühne, vous avez écrit :
> vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sun Aug
> 21 16:14:26 2011 +0200| [44cda9908e88c9b4df734ee35cf02cc5655f0f93] |
> committer: Felix Paul Kühne
>
> macosx: fixed compilation against the updated msg API
>
> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=44cda9908e88c9b4df
> > 734ee35cf02cc5655f0f93
>
> ---
>
> modules/gui/macosx/intf.h | 2 +-
> modules/gui/macosx/intf.m | 19 +++++++++++--------
> 2 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h
> index 162e593..fd8fa15 100644
> --- a/modules/gui/macosx/intf.h
> +++ b/modules/gui/macosx/intf.h
> @@ -199,7 +199,7 @@ struct intf_sys_t
> - (IBAction)saveDebugLog:(id)sender;
> - (IBAction)showMessagesPanel:(id)sender;
>
> -- (void)processReceivedlibvlcMessage:(const msg_item_t *)item;
> +- (void)processReceivedlibvlcMessage:(const msg_item_t *) item ofType:
> (int)type withStr: (char *)str;
>
> - (void)updateTogglePlaylistState;
>
> diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
> index 9fd5a6b..106e829 100644
> --- a/modules/gui/macosx/intf.m
> +++ b/modules/gui/macosx/intf.m
> @@ -70,7 +70,7 @@ static void updateProgressPanel (void *, const char *,
> float); static bool checkProgressPanel (void *);
> static void destroyProgressPanel (void *);
>
> -static void MsgCallback( void *, const msg_item_t * );
> +static void MsgCallback( void *data, int type, const msg_item_t *item,
> const char *format, va_list ap );
>
> static int InputEvent( vlc_object_t *, const char *,
> vlc_value_t, vlc_value_t, void * );
> @@ -219,19 +219,24 @@ static void Run( intf_thread_t *p_intf )
> * ready to be displayed. We store everything in a NSArray in our Cocoa
> part * of this file.
>
> **************************************************************************
> ***/ -static void MsgCallback( void *data, const msg_item_t *item )
> +static void MsgCallback( void *data, int type, const msg_item_t *item,
> const char *format, va_list ap ) {
> int canc = vlc_savecancel();
> + char *str;
>
> /* this may happen from time to time, let's bail out as info would be
> useless anyway */ - if( !item->psz_module || !item->psz_msg )
> + if( !item->psz_module || !format )
> + return;
Hmm, WTH? How can format be NULL?
And psz_module cannot be NULL anymore since it is not strdup()'d.
> +
> + if (vasprintf( &str, format, ap ) == -1)
> return;
Unbalanced vlc_savecancel().
> NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
> - [[VLCMain sharedInstance] processReceivedlibvlcMessage: item];
> + [[VLCMain sharedInstance] processReceivedlibvlcMessage: item ofType:
> type withStr: str]; [o_pool release];
>
> vlc_restorecancel( canc );
> + free( str );
> }
>
> static int InputEvent( vlc_object_t *p_this, const char *psz_var,
> @@ -1769,7 +1774,7 @@ unsigned int CocoaKeyToVLC( unichar i_key )
> }
> }
>
> -- (void)processReceivedlibvlcMessage:(const msg_item_t *)item
> +- (void)processReceivedlibvlcMessage:(const msg_item_t *) item ofType:
> (int)i_type withStr: (char *)str {
> NSColor *o_white = [NSColor whiteColor];
> NSColor *o_red = [NSColor redColor];
> @@ -1782,8 +1787,6 @@ unsigned int CocoaKeyToVLC( unichar i_key )
> NSDictionary *o_attr;
> NSAttributedString *o_msg_color;
>
> - int i_type = item->i_type;
> -
> [o_msg_lock lock];
>
> if( [o_msg_arr count] + 2 > 600 )
> @@ -1797,7 +1800,7 @@ unsigned int CocoaKeyToVLC( unichar i_key )
> [o_msg_arr addObject: [o_msg_color autorelease]];
>
> o_attr = [NSDictionary dictionaryWithObject: pp_color[i_type] forKey:
> NSForegroundColorAttributeName]; - o_msg_color = [[NSAttributedString
> alloc] initWithString: [NSString stringWithFormat: @"%s\n", item->psz_msg]
> attributes: o_attr]; + o_msg_color = [[NSAttributedString alloc]
> initWithString: [NSString stringWithFormat: @"%s\n", str] attributes:
> o_attr]; [o_msg_arr addObject: [o_msg_color autorelease]];
>
> b_msg_arr_changed = YES;
>
> _______________________________________________
> vlc-commits mailing list
> vlc-commits at videolan.org
> http://mailman.videolan.org/listinfo/vlc-commits
--
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
More information about the vlc-devel
mailing list