commit da1576970b2137d35e1e30679e8681b7874a0e21
Author: Daniele Forsi <dani...@forsi.it>
Date:   Sat Jul 14 16:26:40 2012 +0200

    Fix adding more sort tabs
    
    Do not store a pointer to a local variable on the caller's stack.
    In the following backtrace by chance the same memory area was reused by 
another filename.
    Fixes:
    ** (lt-gtkpod:15891): ERROR **: Failed to create builder from file 
/home/daniele/gtkpod/gtkpod/plugins/libtrack_display.so: Errore alla riga 1 
carattere 1: Il documento deve iniziare con un elemento (es. <book>)
    
    Program received signal SIGTRAP, Trace/breakpoint trap.
    0xb74a8f81 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
    (gdb) bt
     #0  0xb74a8f81 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
     #1  0xb74a90c3 in g_log () from /lib/i386-linux-gnu/libglib-2.0.so.0
     #2  0xb7fc112d in gtkpod_builder_xml_new 
(filepath=filepath@entry=0x841b550 
"/home/daniele/gtkpod/gtkpod/plugins/libtrack_display.so")
         at misc.c:1210
     #3  0xaf1bab3b in special_sort_tab_page_new 
(st_widget_parent=st_widget_parent@entry=0x840e3a8,
         glade_file_path=0x841b550 
"/home/daniele/gtkpod/gtkpod/plugins/libtrack_display.so") at 
special_sorttab_page.c:505
     #4  0xaf1be18f in _sort_tab_widget_init_page (st_cat=ST_CAT_SPECIAL, 
self=0x840e3a8) at sorttab_widget.c:227
     #5  sort_tab_widget_new (inst=inst@entry=2, parent=0x8af0710,
         glade_xml_path=0x841b550 
"/home/daniele/gtkpod/gtkpod/plugins/libtrack_display.so") at 
sorttab_widget.c:336
     #6  0xaf1bf8bf in sorttab_display_append_widget () at 
display_sorttabs.c:145
     #7  0xaf1bffa0 in sorttab_display_preference_changed_cb 
(app=app@entry=0x838f008, pfname=0xaf1c4955, value=0x3, data=0x0) at 
display_sorttabs.c:354

 plugins/sorttab_display/sorttab_widget.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/plugins/sorttab_display/sorttab_widget.c 
b/plugins/sorttab_display/sorttab_widget.c
index 8a74ac6..d076946 100644
--- a/plugins/sorttab_display/sorttab_widget.c
+++ b/plugins/sorttab_display/sorttab_widget.c
@@ -92,6 +92,8 @@ static void _sort_tab_widget_dispose(GObject *gobject) {
         priv->prev = NULL;
         priv->model = NULL;
         priv->parent = NULL;
+        g_free(priv->glade_xml_path);
+        priv->glade_xml_path = NULL;
     }
 
     /* call the parent class' dispose() method */
@@ -325,7 +327,7 @@ SortTabWidget *sort_tab_widget_new(gint inst, GtkWidget 
*parent, gchar *glade_xm
 
     priv->parent = parent;
     priv->instance = inst;
-    priv->glade_xml_path = glade_xml_path;
+    priv->glade_xml_path = g_strdup(glade_xml_path);
 
     /*
      * Initialise the notebook pages. This has to be done here rather than

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to