pspp-cvs
[Top][All Lists]
Advanced

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

[Pspp-cvs] pspp/src/ui/gui ChangeLog text-data-import-dial...


From: Ben Pfaff
Subject: [Pspp-cvs] pspp/src/ui/gui ChangeLog text-data-import-dial...
Date: Wed, 07 May 2008 00:10:46 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Changes by:     Ben Pfaff <blp> 08/05/07 00:10:46

Modified files:
        src/ui/gui     : ChangeLog text-data-import-dialog.c 

Log message:
        (text_data_import_assistant): Allocate the struct import_assistant on
        the heap instead of the stack, to make it easier for memory debuggers
        such as Valgrind to point out use of its members after this function
        returns.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/ChangeLog?cvsroot=pspp&r1=1.121&r2=1.122
http://cvs.savannah.gnu.org/viewcvs/pspp/src/ui/gui/text-data-import-dialog.c?cvsroot=pspp&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/ui/gui/ChangeLog,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -b -r1.121 -r1.122
--- ChangeLog   25 Mar 2008 09:35:03 -0000      1.121
+++ ChangeLog   7 May 2008 00:10:45 -0000       1.122
@@ -1,3 +1,10 @@
+2008-05-06  Ben Pfaff  <address@hidden>
+
+       * text-data-import-dialog.c (text_data_import_assistant): Allocate
+       the struct import_assistant on the heap instead of the stack, to
+       make it easier for memory debuggers such as Valgrind to point out
+       use of its members after this function returns.
+
 2008-03-25  John Darrington <address@hidden>
 
        * data-editor.glade: Removed unused menuitems.

Index: text-data-import-dialog.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/ui/gui/text-data-import-dialog.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- text-data-import-dialog.c   16 Mar 2008 20:06:29 -0000      1.1
+++ text-data-import-dialog.c   7 May 2008 00:10:46 -0000       1.2
@@ -229,34 +229,39 @@
 {
   struct data_editor *de = de_;
   GtkWindow *parent_window = de->parent.window;
-  struct import_assistant ia = { { 0, } };
+  struct import_assistant *ia;
 
-  if (!init_file (&ia, parent_window))
+  ia = xzalloc (sizeof *ia);
+  if (!init_file (ia, parent_window))
+    {
+      free (ia);
     return;
+    }
 
-  init_assistant (&ia, parent_window);
-  init_intro_page (&ia);
-  init_first_line_page (&ia);
-  init_separators_page (&ia);
-  init_formats_page (&ia);
-
-  gtk_widget_show_all (GTK_WIDGET (ia.asst.assistant));
-
-  ia.asst.main_loop = g_main_loop_new (NULL, false);
-  g_main_loop_run (ia.asst.main_loop);
+  init_assistant (ia, parent_window);
+  init_intro_page (ia);
+  init_first_line_page (ia);
+  init_separators_page (ia);
+  init_formats_page (ia);
+
+  gtk_widget_show_all (GTK_WIDGET (ia->asst.assistant));
+
+  ia->asst.main_loop = g_main_loop_new (NULL, false);
+  g_main_loop_run (ia->asst.main_loop);
+  g_main_loop_unref (ia->asst.main_loop);
 
-  switch (ia.asst.response)
+  switch (ia->asst.response)
     {
     case GTK_RESPONSE_APPLY:
       {
-       char *syntax = generate_syntax (&ia);
+       char *syntax = generate_syntax (ia);
        execute_syntax (create_syntax_string_source (syntax));
        free (syntax);
       }
       break;
     case PSPPIRE_RESPONSE_PASTE:
       {
-       char *syntax = generate_syntax (&ia);
+       char *syntax = generate_syntax (ia);
        struct syntax_editor *se =
          (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL);
        gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1);
@@ -267,10 +272,11 @@
       break;
     }
 
-  destroy_formats_page (&ia);
-  destroy_separators_page (&ia);
-  destroy_assistant (&ia);
-  destroy_file (&ia);
+  destroy_formats_page (ia);
+  destroy_separators_page (ia);
+  destroy_assistant (ia);
+  destroy_file (ia);
+  free (ia);
 }
 
 /* Emits PSPP syntax to S that applies the dictionary attributes




reply via email to

[Prev in Thread] Current Thread [Next in Thread]