[vlc-devel] commit: Removed one malloc per new playlist item (qt4). (Laurent Aimar )
git version control
git at videolan.org
Tue Feb 17 00:01:53 CET 2009
vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Tue Feb 17 00:01:02 2009 +0100| [e916edc909efeb05d774e35d9cca10076d47548f] | committer: Laurent Aimar
Removed one malloc per new playlist item (qt4).
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e916edc909efeb05d774e35d9cca10076d47548f
---
.../gui/qt4/components/playlist/playlist_model.cpp | 8 +++-----
.../gui/qt4/components/playlist/playlist_model.hpp | 18 ++++++++++++------
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/modules/gui/qt4/components/playlist/playlist_model.cpp b/modules/gui/qt4/components/playlist/playlist_model.cpp
index 285d17e..0b4cdd2 100644
--- a/modules/gui/qt4/components/playlist/playlist_model.cpp
+++ b/modules/gui/qt4/components/playlist/playlist_model.cpp
@@ -521,7 +521,7 @@ void PLModel::customEvent( QEvent *event )
if( type == ItemUpdate_Type )
ProcessInputItemUpdate( ple->i_id );
else if( type == ItemAppend_Type )
- ProcessItemAppend( ple->p_add );
+ ProcessItemAppend( &ple->add );
else if( type == ItemDelete_Type )
ProcessItemRemoval( ple->i_id );
else
@@ -550,7 +550,7 @@ void PLModel::ProcessItemRemoval( int i_id )
removeItem( i_id );
}
-void PLModel::ProcessItemAppend( playlist_add_t *p_add )
+void PLModel::ProcessItemAppend( const playlist_add_t *p_add )
{
playlist_item_t *p_item = NULL;
PLItem *newItem = NULL;
@@ -977,9 +977,7 @@ static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t oval, vlc_value_t nval, void *param )
{
PLModel *p_model = (PLModel *) param;
- playlist_add_t *p_add = (playlist_add_t *)malloc( sizeof( playlist_add_t));
- memcpy( p_add, nval.p_address, sizeof( playlist_add_t ) );
-
+ const playlist_add_t *p_add = (playlist_add_t *)nval.p_address;
PLEvent *event = new PLEvent( p_add );
QApplication::postEvent( p_model, event );
return VLC_SUCCESS;
diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp
index 2dcaccb..04fb783 100644
--- a/modules/gui/qt4/components/playlist/playlist_model.hpp
+++ b/modules/gui/qt4/components/playlist/playlist_model.hpp
@@ -61,15 +61,21 @@ class PLEvent : public QEvent
{
public:
PLEvent( int type, int id ) : QEvent( (QEvent::Type)(type) )
- { i_id = id; p_add = NULL; };
+ {
+ i_id = id;
+ add.i_node = -1;
+ add.i_item = -1;
+ };
- PLEvent( playlist_add_t *a ) : QEvent( (QEvent::Type)(ItemAppend_Type) )
- { p_add = a; };
+ PLEvent( const playlist_add_t *a ) : QEvent( (QEvent::Type)(ItemAppend_Type) )
+ {
+ add = *a;
+ };
- virtual ~PLEvent() { free( p_add ); };
+ virtual ~PLEvent() { };
int i_id;
- playlist_add_t *p_add;
+ playlist_add_t add;
};
@@ -136,7 +142,7 @@ private:
/* Update processing */
void ProcessInputItemUpdate( int i_input_id );
void ProcessItemRemoval( int i_id );
- void ProcessItemAppend( playlist_add_t *p_add );
+ void ProcessItemAppend( const playlist_add_t *p_add );
void UpdateTreeItem( PLItem *, bool, bool force = false );
void UpdateTreeItem( playlist_item_t *, PLItem *, bool, bool forc = false );
More information about the vlc-devel
mailing list