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