diff --git a/src/dialogs/colorscheme.c b/src/dialogs/colorscheme.c index b941998..ebd5de7 100644 --- a/src/dialogs/colorscheme.c +++ b/src/dialogs/colorscheme.c @@ -272,38 +272,49 @@ } // Load color schemes. - g_autoptr(GKeyFile) conf = g_key_file_new(); - g_autoptr(GError) err = NULL; - int index = 0; - gsize len; - gsize g; + GKeyFile * conf = g_key_file_new(); + GError * error = NULL; + int index = 0; + gsize len; + gsize g; - g_key_file_load_from_file(conf,filename,G_KEY_FILE_NONE,&err); + g_key_file_load_from_file(conf,filename,G_KEY_FILE_NONE,&error); - gchar **group = g_key_file_get_groups(conf,&len); - GTK_V3270_COLOR_SCHEME(widget)->schemes = g_new0(GdkRGBA,(len*V3270_COLOR_COUNT)); - - for(g=0;gschemes+index; - const gchar * label = g_key_file_get_locale_string(conf,group[g],"label",NULL,NULL); - - load_color_scheme(conf,group[g],clr); - - // Set it in the combobox - gtk_list_store_append((GtkListStore *) model,&iter); - gtk_list_store_set((GtkListStore *) model, &iter, - 0, label ? label : group[g], - 1, clr, - -1); - - // move to next color list - index += V3270_COLOR_COUNT; + g_message("Can't load %s: %s",filename,error->message); + g_error_free(error); + } + else + { + gchar **group = g_key_file_get_groups(conf,&len); + GTK_V3270_COLOR_SCHEME(widget)->schemes = g_new0(GdkRGBA,(len*V3270_COLOR_COUNT)); + + for(g=0;gschemes+index; + const gchar * label = g_key_file_get_locale_string(conf,group[g],"label",NULL,NULL); + + load_color_scheme(conf,group[g],clr); + + // Set it in the combobox + gtk_list_store_append((GtkListStore *) model,&iter); + gtk_list_store_set((GtkListStore *) model, &iter, + 0, label ? label : group[g], + 1, clr, + -1); + + // move to next color list + index += V3270_COLOR_COUNT; + } + + g_strfreev(group); + } - g_strfreev(group); + g_key_file_free(conf); return widget; } diff --git a/src/v3270/callbacks.c b/src/v3270/callbacks.c index 8ff0471..2765fd3 100644 --- a/src/v3270/callbacks.c +++ b/src/v3270/callbacks.c @@ -329,8 +329,8 @@ static void message(H3270 *session, LIB3270_NOTIFY id , const char *title, const static int print(H3270 *session, LIB3270_PRINT_MODE mode) { - GtkWidget *widget = GTK_WIDGET(lib3270_get_user_data(session)); - g_autoptr(GError) error = NULL; + GtkWidget * widget = GTK_WIDGET(lib3270_get_user_data(session)); + GError * error = NULL; v3270_print(widget, mode, &error); @@ -349,6 +349,7 @@ static int print(H3270 *session, LIB3270_PRINT_MODE mode) gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); + g_error_free(error); return -1; } -- libgit2 0.21.2