Commit bbe7e969bdf0cebf25b6e921ea4ebfdd95dcea8c

Authored by Perry Werneck
1 parent c1d9f910
Exists in master and in 1 other branch develop

Another adjustment to prevent multiple save-settings signals.

Showing 1 changed file with 6 additions and 0 deletions   Show diff stats
src/terminal/widget.c
... ... @@ -765,7 +765,9 @@ LIB3270_EXPORT GtkIMContext * v3270_get_im_context(GtkWidget *widget)
765 765  
766 766 static gboolean bg_emit_save_settings(GObject *widget)
767 767 {
  768 + GTK_V3270(widget)->freeze = 0;
768 769 g_signal_emit(widget,v3270_widget_signal[V3270_SIGNAL_SAVE_SETTINGS], 0, FALSE);
  770 + g_object_unref(widget);
769 771 return FALSE;
770 772 }
771 773  
... ... @@ -773,6 +775,10 @@ void v3270_emit_save_settings(GtkWidget *widget)
773 775 {
774 776 debug("%s(Freeze is %s)",__FUNCTION__,GTK_V3270(widget)->freeze ? "ON" : "OFF");
775 777 if(widget && GTK_IS_V3270(widget) && !GTK_V3270(widget)->freeze)
  778 + {
  779 + g_object_ref(widget);
  780 + GTK_V3270(widget)->freeze = 1;
776 781 g_idle_add((GSourceFunc) bg_emit_save_settings, G_OBJECT(widget));
  782 + }
777 783 }
778 784  
... ...