summaryrefslogtreecommitdiff
path: root/src/gui/menus
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/menus')
-rw-r--r--src/gui/menus/file.c6
-rw-r--r--src/gui/menus/project.c11
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));