Merge remote branch 'origin/master' into import-gui
[pspp] / src / ui / gui / text-data-import-dialog.c
index fe08caa9b115a4a8f039415ca41af9cbb60d2970..d24a23242d7a03810de1fff1545cbd679d82767d 100644 (file)
@@ -95,17 +95,28 @@ text_data_import_assistant (PsppireDataWindow *dw)
   else
     {
       ia->intro = intro_page_create (ia);
-      ia->separators = separators_page_create (ia);
       ia->first_line = first_line_page_create (ia);
-
-      printf ("%s:%d %p\n", __FILE__, __LINE__, ia->intro);
+      ia->separators = separators_page_create (ia);
     }
   ia->formats = formats_page_create (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);
+
+  {  
+  /*
+    Instead of this block,
+    A simple     g_main_loop_run (ia->asst.main_loop);  should work here.  But it seems to crash.
+    I have no idea why.
+  */
+    GMainContext *ctx = g_main_loop_get_context (ia->asst.main_loop);
+    ia->asst.loop_done = false;
+    while (! ia->asst.loop_done)
+      {
+       g_main_context_iteration (ctx, TRUE);
+      }
+  }
   g_main_loop_unref (ia->asst.main_loop);
 
   switch (ia->asst.response)
@@ -231,7 +242,6 @@ generate_syntax (const struct import_assistant *ia)
       if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
        syntax_gen_pspp (&s, "  /ENCODING=%sq\n", ia->file.encoding);
 
-
       intro_append_syntax (ia->intro, &s);
 
 
@@ -248,7 +258,7 @@ generate_syntax (const struct import_assistant *ia)
     {
       return sheet_spec_gen_syntax (ia);
     }
-
+  
   return ds_cstr (&s);
 }