Commit 7f18999022d170f37cd1433a86274e460935f3ea
1 parent
db42ffbd
Exists in
master
and in
1 other branch
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 |