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 |