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 868 static gboolean bg_emit_save_settings(v3270 *terminal)
869 869 {
870 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 896 g_object_unref(terminal);
887 897  
... ...