show an error message when parsing syntax errors are encountered in the openbox confi...
authorDana Jansens <danakj@orodu.net>
Sun, 2 Mar 2008 21:40:40 +0000 (16:40 -0500)
committerDana Jansens <danakj@orodu.net>
Sun, 2 Mar 2008 21:40:40 +0000 (16:40 -0500)
openbox/openbox.c

index 377b219..4354928 100644 (file)
@@ -368,6 +368,20 @@ gint main(gint argc, gchar **argv)
             reconfigure = FALSE;
 
             ob_set_state(OB_STATE_RUNNING);
             reconfigure = FALSE;
 
             ob_set_state(OB_STATE_RUNNING);
+
+            /* look for parsing errors */
+            {
+                xmlErrorPtr e = xmlGetLastError();
+                if (e) {
+                    gchar *m;
+
+                    m = g_strdup_printf(_("One or more XML syntax errors were found while parsing the Openbox configuration files.  See stdout for more information.  The last error seen was in file \"%s\" line %d, with message: %s"), e->file, e->line, e->message);
+                    prompt_show_message(m, _("Close"));
+                    g_free(m);
+                    xmlResetError(e);
+                }
+            }
+
             ob_main_loop_run(ob_main_loop);
             ob_set_state(reconfigure ?
                          OB_STATE_RECONFIGURING : OB_STATE_EXITING);
             ob_main_loop_run(ob_main_loop);
             ob_set_state(reconfigure ?
                          OB_STATE_RECONFIGURING : OB_STATE_EXITING);