GNOME Bugzilla – Bug 449836
crash in Gnumeric Spreadsheet: setting default printer ...
Last modified: 2007-09-05 02:21:33 UTC
Version: 1.7.10 What were you doing when the application crashed? setting default printer settings Distribution: Fedora Core release 3 (Heidelberg) Gnome Release: 2.18.2 2007-06-04 (GARNOME) BugBuddy Version: 2.18.1 System: Linux 2.6.16.20 #2 SMP Mon Jun 5 22:37:40 EDT 2006 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 60801000 Selinux: No Accessibility: Disabled GTK+ Theme: Glider Icon Theme: gnome Memory status: size: 302002176 vsize: 302002176 resident: 157646848 share: 16171008 rss: 157646848 rss_rlim: 18446744073709551615 CPU usage: start_time: 1182448740 rtime: 319 utime: 288 stime: 31 cutime:0 cstime: 2 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/ita/gar64/bin/gnumeric' Using host libthread_db library "/lib64/tls/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 47208356405504 (LWP 31683)] 0x00002aef8cb42f44 in waitpid () from /lib64/tls/libpthread.so.0
+ Trace 142713
Thread 1 (Thread 47208356405504 (LWP 31683)): #-1 0x00002aef8cb42f44 in waitpid () from /lib64/tls/libpthread.so.0 No symbol table info available.
Hmm, looks like gconf_client_set_list doesn't think that a null pointer is an acceptable string. I guess in gnm_gconf_set_printer_header we should store empty strings rather than null pointers. I will fix this as soon as I can get my tree again to compile.
Oh yeah, the patch: Index: gnumeric-gconf.c =================================================================== --- gnumeric-gconf.c (revision 15616) +++ gnumeric-gconf.c (working copy) @@ -2034,9 +2034,9 @@ gchar const *right) { GSList *list = NULL; - list = g_slist_prepend (list, g_strdup (right)); - list = g_slist_prepend (list, g_strdup (middle)); - list = g_slist_prepend (list, g_strdup (left)); + list = g_slist_prepend (list, g_strdup (right ? right : "")); + list = g_slist_prepend (list, g_strdup (middle ? middle : "")); + list = g_slist_prepend (list, g_strdup (left ? left : "")); go_conf_set_str_list (root, PRINTSETUP_GCONF_DIR "/" PRINTSETUP_GCONF_HE ADER, list); go_slist_free_custom ((GSList *)prefs.printer_header, g_free); prefs.printer_header = list; @@ -2047,9 +2047,9 @@ gchar const *right) { GSList *list = NULL; - list = g_slist_prepend (list, g_strdup (right)); - list = g_slist_prepend (list, g_strdup (middle)); - list = g_slist_prepend (list, g_strdup (left)); + list = g_slist_prepend (list, g_strdup (right ? right : "")); + list = g_slist_prepend (list, g_strdup (middle ? middle : "")); + list = g_slist_prepend (list, g_strdup (left ? left : "")); go_conf_set_str_list (root, PRINTSETUP_GCONF_DIR "/" PRINTSETUP_GCONF_FO OTER, list); go_slist_free_custom ((GSList *)prefs.printer_footer, g_free); prefs.printer_footer = list;
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
*** Bug 473728 has been marked as a duplicate of this bug. ***