[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