summaryrefslogtreecommitdiffhomepage
path: root/mixgtk/mixgtk_mixal.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixgtk/mixgtk_mixal.c')
-rw-r--r--mixgtk/mixgtk_mixal.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mixgtk/mixgtk_mixal.c b/mixgtk/mixgtk_mixal.c
index 73e9fc0..d79e601 100644
--- a/mixgtk/mixgtk_mixal.c
+++ b/mixgtk/mixgtk_mixal.c
@@ -32,7 +32,7 @@
#define MIXAL_TAB_POS_ 2
-static mix_vm_t *vm_;
+static mix_vm_t *vm_ = NULL;
static GtkCList *clist_;
static gulong lineno_;
static GtkStatusbar *status_;
@@ -133,7 +133,6 @@ mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
int i,j;
g_return_val_if_fail (vm != NULL, FALSE);
- vm_ = vm;
clist_ = GTK_CLIST (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_MIXAL));
g_return_val_if_fail (clist_ != NULL, FALSE);
@@ -142,6 +141,8 @@ mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
g_return_val_if_fail (status_ != NULL, FALSE);
status_context_ = gtk_statusbar_get_context_id (status_, "MIXAL status");
+ symbols_dlg_ = symbols_clist_ = NULL;
+
/* allocate colors */
colormap_ = gtk_widget_get_colormap (GTK_WIDGET (clist_));
for (i = 0; i < 3; ++i)
@@ -160,6 +161,12 @@ mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
FALSE);
}
}
+
+ if (!vm_)
+ vm_ = vm;
+ else
+ mixgtk_mixal_load_file ();
+
return TRUE;
}