diff options
Diffstat (limited to 'mixgtk/mixgtk_mixvm.c')
| -rw-r--r-- | mixgtk/mixgtk_mixvm.c | 24 | 
1 files changed, 13 insertions, 11 deletions
| diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c index b3a52c1..bee588a 100644 --- a/mixgtk/mixgtk_mixvm.c +++ b/mixgtk/mixgtk_mixvm.c @@ -34,8 +34,8 @@  static GtkEntry *reg_entries_[REGISTER_NO_];  static GtkTooltips *tips_;  static GtkEntry *loc_entry_; -static GtkWidget *goto_; -static GtkEntry *goto_entry_; +static GtkWidget *goto_ = NULL; +static GtkEntry *goto_entry_ = NULL;  static GtkToggleButton *over_button_;  static GtkToggleButton *cmp_buttons_[3];  static GtkCList *memory_; @@ -47,6 +47,16 @@ static mix_vm_t *vm_;  #define GOTO_ENTRY_NAME_ "goto_entry"  static void +init_goto_ (void) +{ +  goto_ = mixgtk_widget_factory_get_dialog (MIXGTK_GOTO_DIALOG); +  g_assert (goto_ != NULL); +  goto_entry_ = GTK_ENTRY (mixgtk_widget_factory_get_child_by_name ( +			   MIXGTK_GOTO_DIALOG, GOTO_ENTRY_NAME_)); +  g_assert (goto_entry_ != NULL); +} + +static void  update_register_ (mixgtk_widget_id_t reg)  {    static gchar BUFFER[20]; @@ -161,15 +171,6 @@ mixgtk_mixvm_init (mix_vm_t *vm)    gtk_signal_connect (GTK_OBJECT (adj), "value_changed",  		      GTK_SIGNAL_FUNC (on_mem_adj_change_), NULL); -  goto_ = mixgtk_widget_factory_get (MIXGTK_WIDGET_GOTO_DIALOG); -  g_return_val_if_fail (goto_ != NULL, FALSE); - -  goto_entry_ = GTK_ENTRY (mixgtk_widget_factory_get_by_name -			   (GOTO_ENTRY_NAME_)); -  g_return_val_if_fail (goto_entry_ != NULL, FALSE); - -  mixgtk_mixvm_update_vm_widgets (); -      return TRUE;  } @@ -400,6 +401,7 @@ on_memory_cells_select_row (GtkCList *w, gint row, gint col,  void  on_memory_cells_click_column (GtkCList *w, gint row, gpointer data)  { +  if (!goto_) init_goto_ ();    gtk_widget_show (goto_);  } | 
