summaryrefslogtreecommitdiff
path: root/src/analysis/loading.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-12-27 21:15:20 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-12-27 21:15:20 (GMT)
commit17fed33fbde85312aef489e8c7115e414a1a74e7 (patch)
tree9a79b901a3f9262ad2d7805523a4d8d90fa40d5f /src/analysis/loading.c
parent2c28d59fb3671c0fdd1987784076d4968c58b651 (diff)
Reorganized a small part of binary loading.
Diffstat (limited to 'src/analysis/loading.c')
-rw-r--r--src/analysis/loading.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/analysis/loading.c b/src/analysis/loading.c
index 254939b..700a03f 100644
--- a/src/analysis/loading.c
+++ b/src/analysis/loading.c
@@ -27,6 +27,7 @@
#include "../core/formats.h"
#include "../core/global.h"
#include "../glibext/delayed-int.h"
+#include "../glibext/signal.h"
#include "../gui/panels/log.h"
@@ -591,6 +592,7 @@ static void g_binary_loader_process(GBinaryLoader *loader, GtkStatusStack *statu
{
xmlDocPtr xdoc; /* Structure XML chargée */
xmlXPathContextPtr context; /* Contexte pour les XPath */
+ GLoadedBinary *binary; /* Binaire désormais en place */
/* Tentative de chargement de binaire */
@@ -617,7 +619,19 @@ static void g_binary_loader_process(GBinaryLoader *loader, GtkStatusStack *statu
if (loader->from_content)
g_study_project_add_binary_content(loader->project, loader->content, PCS_ROOT/* FIXME : dstudy->state*/);
- ack_loaded_binary(loader, loader->project);
+ binary = g_binary_loader_get_result(loader);
+
+ if (binary != NULL)
+ {
+ g_signal_connect_to_main_swapped(binary, "disassembly-done",
+ G_CALLBACK(g_study_project_attach_content), loader->project,
+ g_cclosure_marshal_VOID__VOID);
+
+ g_loaded_binary_analyse(binary);
+
+ g_object_unref(G_OBJECT(binary));
+
+ }
}