Added xml loading failure safeguard
This commit is contained in:
parent
f11836cf4a
commit
abc541291e
|
@ -249,18 +249,26 @@ gm_preferences_dialog_init_logging() {
|
|||
|
||||
void
|
||||
gm_preferences_dialog_run() {
|
||||
const gchar *alt_editor;
|
||||
gchar const *alt_editor;
|
||||
GmOptions *options = gm_app_options(gm_app_instance());
|
||||
GladeXML *xml;
|
||||
|
||||
if (preferences != NULL) {
|
||||
gtk_window_present(GTK_WINDOW(preferences->dialog));
|
||||
return;
|
||||
} else {
|
||||
preferences = g_new0(GmPreferencesDialog, 1);
|
||||
}
|
||||
|
||||
preferences->xml = glade_xml_new(GM_PREFERENCES_DIALOG_XML,
|
||||
xml = glade_xml_new(GM_PREFERENCES_DIALOG_XML,
|
||||
"gm_preferences_dialog", NULL);
|
||||
|
||||
if (xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_PREFERENCES_DIALOG_XML);
|
||||
return;
|
||||
}
|
||||
|
||||
preferences = g_new0(GmPreferencesDialog, 1);
|
||||
preferences->xml = xml;
|
||||
preferences->dialog = gm_preferences_dialog_widget("gm_preferences_dialog");
|
||||
|
||||
gm_preferences_dialog_update_color_buttons(TRUE);
|
||||
|
|
|
@ -93,7 +93,7 @@ typedef struct _GmScriptsDialog {
|
|||
|
||||
static GmScriptsDialog *scripts_dialog = NULL;
|
||||
|
||||
#define G_SCRIPTS_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-scripts.glade"
|
||||
#define GM_SCRIPTS_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-scripts.glade"
|
||||
|
||||
gboolean on_gm_scripts_dialog_delete(GtkWidget *widget, GdkEvent *event,
|
||||
gpointer user_data);
|
||||
|
@ -612,7 +612,15 @@ gm_scripts_dialog_run(GmAppView *view) {
|
|||
return;
|
||||
}
|
||||
|
||||
scripts_dialog->xml = glade_xml_new(G_SCRIPTS_XML, "gm_scripts_dialog", NULL);
|
||||
scripts_dialog->xml = glade_xml_new(GM_SCRIPTS_DIALOG_XML,
|
||||
"gm_scripts_dialog", NULL);
|
||||
|
||||
if (scripts_dialog->xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_SCRIPTS_DIALOG_XML);
|
||||
return;
|
||||
}
|
||||
|
||||
scripts_dialog->dialog = glade_xml_get_widget(scripts_dialog->xml,
|
||||
"gm_scripts_dialog");
|
||||
scripts_dialog->text_view_console = glade_xml_get_widget(scripts_dialog->xml,
|
||||
|
|
|
@ -179,7 +179,7 @@ void on_button_remove_clicked(GtkButton *button, GmTriggersDialog *triggers);
|
|||
void on_tree_view_event_types_changed(GtkTreeSelection *treeselection,
|
||||
GmTriggersDialog *triggers);
|
||||
|
||||
#define G_TRIGGERS_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-triggers.glade"
|
||||
#define GM_TRIGGERS_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-triggers.glade"
|
||||
|
||||
void
|
||||
gm_triggers_dialog_create_models(GmTriggersDialog *triggers,
|
||||
|
@ -449,11 +449,20 @@ gm_triggers_dialog_run_dialog(GmTriggersDialog *triggers) {
|
|||
GmTrigger *
|
||||
gm_triggers_dialog_run_priv(GmWorld *world, GmTrigger *trigger,
|
||||
gboolean is_new) {
|
||||
GmTriggersDialog *triggers = g_new0(GmTriggersDialog, 1);
|
||||
GladeXML *xml = glade_xml_new(GM_TRIGGERS_DIALOG_XML, "gm_triggers_dialog",
|
||||
NULL);
|
||||
|
||||
if (xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_TRIGGERS_DIALOG_XML);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GmTriggersDialog *triggers = g_new0(GmTriggersDialog, 1);
|
||||
triggers->is_new = is_new;
|
||||
triggers->world = world;
|
||||
triggers->xml = glade_xml_new(G_TRIGGERS_XML, "gm_triggers_dialog", NULL);
|
||||
triggers->xml = xml;
|
||||
|
||||
triggers->dialog = glade_xml_get_widget(triggers->xml,
|
||||
"gm_triggers_dialog");
|
||||
triggers->entry_name = glade_xml_get_widget(triggers->xml, "entry_name");
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
#include "gm-world.h"
|
||||
#include "gm-support.h"
|
||||
#include "gm-pixbuf.h"
|
||||
#include "gm-debug.h"
|
||||
|
||||
#define G_WORLD_INFO_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-world-info.glade"
|
||||
#define GM_WORLD_INFO_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-world-info.glade"
|
||||
|
||||
gboolean on_gm_world_info_dialog_url_button_release(GtkWidget *button,
|
||||
GdkEventButton *event, gchar *link);
|
||||
|
@ -41,7 +42,14 @@ gm_world_info_dialog_new(GmWorldInfo const *world_info) {
|
|||
GtkWidget *dlg, *widget;
|
||||
gchar *tmp;
|
||||
|
||||
xml = glade_xml_new(G_WORLD_INFO_XML, "gm_world_info_dialog", NULL);
|
||||
xml = glade_xml_new(GM_WORLD_INFO_DIALOG_XML, "gm_world_info_dialog", NULL);
|
||||
|
||||
if (xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_WORLD_INFO_DIALOG_XML);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dlg = glade_xml_get_widget(xml, "gm_world_info_dialog");
|
||||
|
||||
if (world_info->name) {
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
#include <glade/glade.h>
|
||||
#include "gm-world.h"
|
||||
#include "gm-support.h"
|
||||
#include "gm-debug.h"
|
||||
|
||||
#define G_WORLD_LOGS_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-world-logs.glade"
|
||||
#define GM_WORLD_LOGS_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE "/ui/gm-world-logs.glade"
|
||||
|
||||
void
|
||||
on_gm_world_logs_dialog_row_activated(GtkTreeView *treeview, GtkTreePath *arg1,
|
||||
|
@ -86,7 +87,7 @@ gm_world_logs_dialog_fill(GmWorld *world, GtkTreeView *view,
|
|||
|
||||
GtkDialog *
|
||||
gm_world_logs_dialog_new(GmWorld *world, GtkTreeView **view) {
|
||||
GladeXML *xml = glade_xml_new(G_WORLD_LOGS_XML, "gm_world_logs_dialog", NULL);
|
||||
GladeXML *xml;
|
||||
GtkDialog *dlg;
|
||||
GError *err = NULL;
|
||||
gint res;
|
||||
|
@ -94,6 +95,14 @@ gm_world_logs_dialog_new(GmWorld *world, GtkTreeView **view) {
|
|||
GtkTreeModel *model, *smodel;
|
||||
GtkTreeIter iter;
|
||||
|
||||
xml = glade_xml_new(GM_WORLD_LOGS_DIALOG_XML, "gm_world_logs_dialog", NULL);
|
||||
|
||||
if (xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_WORLD_LOGS_DIALOG_XML);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dlg = GTK_DIALOG(glade_xml_get_widget(xml, "gm_world_logs_dialog"));
|
||||
*view = GTK_TREE_VIEW(glade_xml_get_widget(xml, "tree_view_files"));
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <glade/glade.h>
|
||||
|
||||
#include "gm-world-properties-dialog.h"
|
||||
#include "gm-triggers-dialog.h"
|
||||
|
@ -320,7 +321,7 @@ gm_world_properties_dialog_initialize(GmWorldPropertiesDialog *properties) {
|
|||
}
|
||||
}
|
||||
|
||||
#define G_WORLD_PROPERTIES_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE \
|
||||
#define GM_WORLD_PROPERTIES_DIALOG_XML PACKAGE_DATA_DIR "/" PACKAGE \
|
||||
"/ui/gm-world-properties.glade"
|
||||
|
||||
void
|
||||
|
@ -328,6 +329,7 @@ gm_world_properties_dialog_run_priv(GmWorld *world, gboolean is_new) {
|
|||
GmWorldPropertiesDialog *properties =
|
||||
gm_world_properties_dialog_find(world);
|
||||
gchar *title;
|
||||
GladeXML *xml;
|
||||
|
||||
if (properties) {
|
||||
gtk_widget_show(properties->dialog);
|
||||
|
@ -335,14 +337,22 @@ gm_world_properties_dialog_run_priv(GmWorld *world, gboolean is_new) {
|
|||
return;
|
||||
}
|
||||
|
||||
xml = glade_xml_new(GM_WORLD_PROPERTIES_DIALOG_XML,
|
||||
"gm_world_properties_dialog", NULL);
|
||||
|
||||
if (xml == NULL) {
|
||||
gm_debug_msg(DEBUG_ALWAYS, "Couldn't find glade file %s!",
|
||||
GM_WORLD_PROPERTIES_DIALOG_XML);
|
||||
return;
|
||||
}
|
||||
|
||||
properties = g_new0(GmWorldPropertiesDialog, 1);
|
||||
gm_world_properties_dialog_open = g_list_append(
|
||||
gm_world_properties_dialog_open, properties);
|
||||
|
||||
properties->is_new = is_new;
|
||||
properties->world = world;
|
||||
properties->xml = glade_xml_new(G_WORLD_PROPERTIES_DIALOG_XML,
|
||||
"gm_world_properties_dialog", NULL);
|
||||
properties->xml = xml;
|
||||
|
||||
title = g_strconcat(_("World properties - "), gm_world_name(world), NULL);
|
||||
properties->dialog = gm_world_properties_dialog_widget(properties,
|
||||
|
|
Reference in New Issue