Commit 7f18999022d170f37cd1433a86274e460935f3ea

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

Fixing 'save-settings' on non realized terminal widget.

Showing 1 changed file with 21 additions and 11 deletions   Show diff stats
src/terminal/widget.c
@@ -868,20 +868,30 @@ LIB3270_EXPORT GtkIMContext * v3270_get_im_context(GtkWidget *widget) @@ -868,20 +868,30 @@ LIB3270_EXPORT GtkIMContext * v3270_get_im_context(GtkWidget *widget)
868 static gboolean bg_emit_save_settings(v3270 *terminal) 868 static gboolean bg_emit_save_settings(v3270 *terminal)
869 { 869 {
870 GdkWindow * window = gtk_widget_get_window(GTK_WIDGET(terminal)); 870 GdkWindow * window = gtk_widget_get_window(GTK_WIDGET(terminal));
871 - gdk_window_set_cursor(  
872 - window,  
873 - GTK_V3270_GET_CLASS(terminal)->cursors[LIB3270_POINTER_WAITING]  
874 - );  
875 871
876 - gdk_display_sync(gtk_widget_get_display(GTK_WIDGET(terminal))); 872 + if(window) {
877 873
878 - terminal->freeze = 0;  
879 - g_signal_emit(terminal,v3270_widget_signal[V3270_SIGNAL_SAVE_SETTINGS], 0, FALSE); 874 + gdk_window_set_cursor(
  875 + window,
  876 + GTK_V3270_GET_CLASS(terminal)->cursors[LIB3270_POINTER_WAITING]
  877 + );
880 878
881 - gdk_window_set_cursor(  
882 - window,  
883 - NULL  
884 - ); 879 + gdk_display_sync(gtk_widget_get_display(GTK_WIDGET(terminal)));
  880 +
  881 + terminal->freeze = 0;
  882 + g_signal_emit(terminal,v3270_widget_signal[V3270_SIGNAL_SAVE_SETTINGS], 0, FALSE);
  883 +
  884 + gdk_window_set_cursor(
  885 + window,
  886 + NULL
  887 + );
  888 +
  889 + } else {
  890 +
  891 + terminal->freeze = 0;
  892 + g_signal_emit(terminal,v3270_widget_signal[V3270_SIGNAL_SAVE_SETTINGS], 0, FALSE);
  893 +
  894 + }
885 895
886 g_object_unref(terminal); 896 g_object_unref(terminal);
887 897