summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkstatusstack.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext/gtkstatusstack.c')
-rw-r--r--src/gtkext/gtkstatusstack.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gtkext/gtkstatusstack.c b/src/gtkext/gtkstatusstack.c
index 1765eaf..e36c406 100644
--- a/src/gtkext/gtkstatusstack.c
+++ b/src/gtkext/gtkstatusstack.c
@@ -57,6 +57,8 @@ struct _GtkStatusStack
GtkStack *main; /* Pile d'informations associée*/
+ GSourceFunc def_source; /* Appel en fin d'activité */
+
GObject *asm_ref; /* Espace de référencements #1 */
assembly_info *asm_info; /* Informations courantes #1 */
@@ -227,6 +229,8 @@ static void gtk_status_stack_init(GtkStatusStack *stack)
gtk_widget_show(GTK_WIDGET(stack->main));
gtk_box_pack_start(GTK_BOX(stack), GTK_WIDGET(stack->main), TRUE, TRUE, 8);
+ stack->def_source = (GSourceFunc)gtk_status_stack_show_current_instruction;
+
layer = build_assembly_status_stack(stack);
gtk_stack_add_named(stack->main, layer, "asm_info");
@@ -449,7 +453,7 @@ static void on_size_allocate_for_asm_status(GtkWidget *widget, GdkRectangle *all
gtk_widget_set_size_request(hbox, (allocation->width * 40) / 100, -1);
/**
- * On intervient après que le containeur soit passer collecter les tailles
+ * On intervient après que le containeur soit passé collecter les tailles
* de ses enfants lors de son redimensionnement.
*
* Donc on force un prise en compte des changements.
@@ -647,6 +651,8 @@ static gboolean gtk_status_stack_show_current_instruction(GtkStatusStack *stack)
char raw_pos[6 + VMPA_MAX_LEN + 1]; /* Formatage final en direct */
char *content; /* Contenu dynamique */
+ stack->def_source = (GSourceFunc)gtk_status_stack_show_current_instruction;
+
gtk_stack_set_visible_child_name(stack->main, "asm_info");
ref = stack->asm_ref;
@@ -1089,7 +1095,7 @@ void gtk_status_stack_remove_activity(GtkStatusStack *stack, activity_id_t id)
if (info->count == 0)
{
info->tag = 0;
- g_idle_add((GSourceFunc)gtk_status_stack_show_current_instruction, stack);
+ g_idle_add(stack->def_source, stack);
}
else
info->tag = g_idle_add((GSourceFunc)gtk_status_stack_show_current_activity, stack);