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 | 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 | ... | ... |