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