[gnumeric] Sheet: add debug code to help catch FMRs.



commit 9f59f272c1325090719dbf423b1f9f33c6f04a23
Author: Morten Welinder <terra gnome org>
Date:   Thu Aug 15 16:40:45 2013 -0400

    Sheet: add debug code to help catch FMRs.

 src/sheet.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/sheet.c b/src/sheet.c
index 8e6781d..d1091a0 100644
--- a/src/sheet.c
+++ b/src/sheet.c
@@ -4533,6 +4533,7 @@ static void
 gnm_sheet_finalize (GObject *obj)
 {
        Sheet *sheet = SHEET (obj);
+       gboolean debug_FMR = gnm_debug_flag ("sheet-fmr");
 
        sheet_destroy (sheet);
 
@@ -4568,15 +4569,26 @@ gnm_sheet_finalize (GObject *obj)
 
        (void) g_idle_remove_by_data (sheet);
 
+       if (debug_FMR) {
+               g_printerr ("Sheet %p is %s\n", sheet, sheet->name_quoted);
+       }
        g_free (sheet->name_quoted);
        g_free (sheet->name_unquoted);
        g_free (sheet->name_unquoted_collate_key);
        g_free (sheet->name_case_insensitive);
+       /* Poison */
+       sheet->name_quoted = (char *)0xdeadbeef;
+       sheet->name_unquoted = (char *)0xdeadbeef;
        g_free (sheet->priv);
        g_ptr_array_free (sheet->sheet_views, TRUE);
 
        gnm_rvc_free (sheet->rendered_values);
 
+       if (debug_FMR) {
+               /* Keep object around. */
+               return;
+       }
+
        G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]