diff options
Diffstat (limited to 'src/gui/menus')
-rw-r--r-- | src/gui/menus/file.c | 6 | ||||
-rw-r--r-- | src/gui/menus/project.c | 11 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/gui/menus/file.c b/src/gui/menus/file.c index c0c031c..9c0b218 100644 --- a/src/gui/menus/file.c +++ b/src/gui/menus/file.c @@ -185,6 +185,8 @@ static void mcb_file_open_project(GtkMenuItem *menuitem, gpointer unused) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), g_study_project_get_filename(project)); + g_object_unref(G_OBJECT(project)); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); @@ -235,6 +237,8 @@ static void mcb_file_save_project(GtkMenuItem *menuitem, gpointer unused) else mcb_file_save_project_as(menuitem, NULL); + g_object_unref(G_OBJECT(project)); + } @@ -280,6 +284,8 @@ static void mcb_file_save_project_as(GtkMenuItem *menuitem, gpointer unused) } + g_object_unref(G_OBJECT(project)); + gtk_widget_destroy(dialog); } diff --git a/src/gui/menus/project.c b/src/gui/menus/project.c index 5d027a0..424a506 100644 --- a/src/gui/menus/project.c +++ b/src/gui/menus/project.c @@ -202,6 +202,8 @@ static void mcb_project_add_shellcode(GtkMenuItem *menuitem, GMenuBar *bar) } + g_object_unref(G_OBJECT(project)); + #if 0 GtkWidget *dialog; /* Boîte à afficher */ char *dir; /* Répertoire courant */ @@ -262,6 +264,7 @@ static void mcb_project_add_shellcode(GtkMenuItem *menuitem, GMenuBar *bar) static void mcb_project_add_binary_file(GtkMenuItem *menuitem, GMenuBar *bar) { GtkWidget *dialog; /* Boîte à afficher */ + GStudyProject *project; /* Projet courant */ char *dir; /* Répertoire courant */ gchar *filename; /* Nom du fichier à intégrer */ GBinContent *content; /* Contenu binaire à charger */ @@ -273,14 +276,18 @@ static void mcb_project_add_binary_file(GtkMenuItem *menuitem, GMenuBar *bar) _("_Open"), GTK_RESPONSE_ACCEPT, NULL); - if (g_study_project_get_filename(get_current_project()) != NULL) + project = get_current_project(); + + if (g_study_project_get_filename(project) != NULL) { - dir = strdup(g_study_project_get_filename(get_current_project())); + dir = strdup(g_study_project_get_filename(project)); dir = dirname(dir); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), dir); free(dir); } + g_object_unref(G_OBJECT(project)); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |