From 0386618539878fde94110df15b77ba7c79e54e8c Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Sun, 6 Jul 2008 16:57:51 +0200 Subject: [PATCH] messages: Prefer the object name over the object type if type is VLC_GENERIC. --- include/vlc_messages.h | 2 +- modules/gui/beos/MessagesWindow.cpp | 2 +- src/control/log.c | 2 +- src/misc/messages.c | 16 +++++++++++++--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/include/vlc_messages.h b/include/vlc_messages.h index 1ce7d7b914..6035f81d48 100644 --- a/include/vlc_messages.h +++ b/include/vlc_messages.h @@ -44,7 +44,7 @@ typedef struct { int i_type; /**< message type, see below */ int i_object_id; - const char *psz_object_type; + char * psz_object; char * psz_module; char * psz_msg; /**< the message itself */ char * psz_header; /**< Additional header */ diff --git a/modules/gui/beos/MessagesWindow.cpp b/modules/gui/beos/MessagesWindow.cpp index b4b2029330..b83107eff0 100644 --- a/modules/gui/beos/MessagesWindow.cpp +++ b/modules/gui/beos/MessagesWindow.cpp @@ -80,7 +80,7 @@ void MessagesView::Pulse() case VLC_MSG_DBG: color = gray; break; } - psz_module_type = p_sub->p_msg[i_start].psz_object_type; + psz_module_type = p_sub->p_msg[i_start].psz_object; if( LockLooper() ) { diff --git a/src/control/log.c b/src/control/log.c index b8fb181136..11b0fe617b 100644 --- a/src/control/log.c +++ b/src/control/log.c @@ -178,7 +178,7 @@ libvlc_log_message_t *libvlc_log_iterator_next( libvlc_log_iterator_t *p_iter, vlc_mutex_lock(p_iter->p_messages->p_lock); msg = p_iter->p_messages->p_msg+i_pos; buffer->i_severity = msg->i_type; - buffer->psz_type = msg->psz_object_type; + buffer->psz_type = msg->psz_object; buffer->psz_name = msg->psz_module; buffer->psz_header = msg->psz_header; buffer->psz_message = msg->psz_msg; diff --git a/src/misc/messages.c b/src/misc/messages.c index be832c65c8..78bf39e0b8 100644 --- a/src/misc/messages.c +++ b/src/misc/messages.c @@ -78,6 +78,14 @@ static void QueueMsg ( vlc_object_t *, int, const char *, static void FlushMsg ( msg_queue_t * ); static void PrintMsg ( vlc_object_t *, msg_item_t * ); +static inline char * object_description( vlc_object_t * p_this ) +{ + if( p_this->i_object_type == VLC_OBJECT_GENERIC + && p_this->psz_object_name ) + return strdup( p_this->psz_object_name ); + return strdup( p_this->psz_object_type ); +} + /** * Initialize messages queues * This function initializes all message queues @@ -422,7 +430,7 @@ static void QueueMsg( vlc_object_t *p_this, int i_type, const char *psz_module, p_item->i_type = VLC_MSG_WARN; p_item->i_object_id = p_this->i_object_id; - p_item->psz_object_type = p_this->psz_object_type; + p_item->psz_object = object_description( p_this ); p_item->psz_module = strdup( "message" ); p_item->psz_msg = strdup( "message queue overflowed" ); p_item->psz_header = NULL; @@ -443,7 +451,7 @@ static void QueueMsg( vlc_object_t *p_this, int i_type, const char *psz_module, /* Fill message information fields */ p_item->i_type = i_type; p_item->i_object_id = p_this->i_object_id; - p_item->psz_object_type = p_this->psz_object_type; + p_item->psz_object = object_description( p_this ); p_item->psz_module = strdup( psz_module ); p_item->psz_msg = psz_str; p_item->psz_header = psz_header; @@ -455,6 +463,7 @@ static void QueueMsg( vlc_object_t *p_this, int i_type, const char *psz_module, free( p_item->psz_module ); free( p_item->psz_msg ); free( p_item->psz_header ); + free( p_item->psz_object ); } vlc_mutex_unlock ( &p_queue->lock ); @@ -500,6 +509,7 @@ static void FlushMsg ( msg_queue_t *p_queue ) free( p_queue->msg[i_index].psz_msg ); free( p_queue->msg[i_index].psz_module ); free( p_queue->msg[i_index].psz_header ); + free( p_queue->msg[i_index].psz_object ); } /* Update the new start value */ @@ -545,7 +555,7 @@ static void PrintMsg ( vlc_object_t * p_this, msg_item_t * p_item ) break; } - psz_object = p_item->psz_object_type; + psz_object = p_item->psz_object; #ifdef UNDER_CE # define CE_WRITE(str) WriteFile( QUEUE.logfile, \ -- 2.39.2