diff options
Diffstat (limited to 'src/project.c')
-rw-r--r-- | src/project.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/project.c b/src/project.c index c3c1844..37fc3e5 100644 --- a/src/project.c +++ b/src/project.c @@ -61,6 +61,8 @@ struct _GStudyProject { GObject parent; /* A laisser en premier */ + GObject *ref; /* Espace de référencement */ + char *filename; /* Lieu d'enregistrement */ loaded_binary **binaries; /* Fichiers binaires associés */ @@ -148,12 +150,15 @@ static void g_study_project_init(GStudyProject *project) * * ******************************************************************************/ -GStudyProject *g_study_project_new(void) +GStudyProject *g_study_project_new(GObject *ref) { GStudyProject *result; /* Composant à retourner */ result = g_object_new(G_TYPE_STUDY_PROJECT, NULL); + g_object_ref(ref); + result->ref = ref; + return result; } @@ -171,7 +176,7 @@ GStudyProject *g_study_project_new(void) * * ******************************************************************************/ -GStudyProject *g_study_project_open(const char *filename) +GStudyProject *g_study_project_open(GObject *ref, const char *filename) { GStudyProject *result; /* Adresse à retourner */ xmlDocPtr xdoc; /* Structure XML chargée */ @@ -184,7 +189,7 @@ GStudyProject *g_study_project_open(const char *filename) if (!open_xml_file(filename, &xdoc, &context)) return NULL; - result = g_study_project_new(); + result = g_study_project_new(ref); result->filename = strdup(filename); @@ -405,7 +410,7 @@ size_t g_study_project_attach_binary(GStudyProject *project, GLoadedBinary *bina scroll = loaded->scrollwindows[BVW_BLOCK]; title = g_loaded_binary_get_filename(binary, false); - loaded->item = g_panel_item_new(title, title, scroll, "M"); + loaded->item = g_panel_item_new(project->ref, title, title, scroll, "M"); /* Enregistrement dans le projet */ |