summaryrefslogtreecommitdiff
path: root/src/editor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/editor.c')
-rw-r--r--src/editor.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/editor.c b/src/editor.c
index 8c28e68..ad0373b 100644
--- a/src/editor.c
+++ b/src/editor.c
@@ -736,6 +736,7 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref)
GSList *iter; /* Boucle de parcours */
BinaryView view; /* Nouvelle vue à présenter */
openida_binary *binary; /* Edition courante */
+ GtkBinView *binview; /* Afficheur effectif de code */
GtkWidget *panel; /* Nouveau support à utiliser */
GtkDockPanel *dpanel; /* Support de panneaux */
GtkDockItem *ditem; /* Panneau avec ses infos. */
@@ -752,7 +753,9 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref)
view = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(iter->data), "kind_of_view"));
binary = (openida_binary *)g_object_get_data(ref, "current_binary");
- panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view);
+ panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view, &binview);
+
+ g_object_set_data(ref, "binview", binview);
dpanel = GTK_DOCK_PANEL(g_object_get_data(ref, "binpanel"));
ditem = gtk_dock_panel_item_from_name(dpanel, openida_binary_to_string(binary));
@@ -1002,7 +1005,7 @@ void debugger_stopped_cb(GBinaryDebugger *debugger, uint64_t last, uint64_t cur,
if (last != cur)
{
- line = g_rendering_line_find_by_offset(get_openida_binary_lines(binary), last);
+ line = g_rendering_line_find_by_address(get_openida_binary_lines(binary), NULL/* FIXME */, last);
if (line != NULL)
g_rendering_line_remove_flag(line, RLF_RUNNING_BP);
@@ -1012,7 +1015,7 @@ void debugger_stopped_cb(GBinaryDebugger *debugger, uint64_t last, uint64_t cur,
printf("bp at 0x%016llx\n", cur);
- line = g_rendering_line_find_by_offset(get_openida_binary_lines(binary), cur);
+ line = g_rendering_line_find_by_address(get_openida_binary_lines(binary), NULL/* FIXME */, cur);
if (line != NULL)
g_rendering_line_add_flag(line, RLF_RUNNING_BP);
@@ -1224,6 +1227,7 @@ void open_last_file(GObject *ref)
openida_project *project;
GtkWidget *view; /* Affichage du code binaire */
+ GtkBinView *binview; /* Afficheur effectif de code */
@@ -1240,8 +1244,9 @@ void open_last_file(GObject *ref)
attach_binary_to_openida_project(project, binary);
- view = get_view_for_openida_project_binary(project, binary, BVW_BLOCK);
+ view = get_view_for_openida_project_binary(project, binary, BVW_BLOCK, &binview);
+ g_object_set_data(ref, "binview", binview);