Commit b2f7d539a48986f870070fcc2229a5548813e195
1 parent
c23d1a8f
Exists in
master
and in
1 other branch
Fixing errors on fullscreen toggle management.
Showing
3 changed files
with
22 additions
and
6 deletions
Show diff stats
Makefile.in
src/terminal/toggles.c
... | ... | @@ -95,12 +95,16 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char |
95 | 95 | break; |
96 | 96 | |
97 | 97 | case LIB3270_TOGGLE_FULL_SCREEN: |
98 | - if(value) | |
99 | - gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); | |
100 | - else | |
101 | - gtk_window_unfullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); | |
98 | + if(gtk_widget_get_realized(widget)) | |
99 | + { | |
100 | + if(value) | |
101 | + gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); | |
102 | + else | |
103 | + gtk_window_unfullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); | |
104 | + } | |
102 | 105 | break; |
103 | 106 | |
107 | + case LIB3270_TOGGLE_CONNECT_ON_STARTUP: | |
104 | 108 | case LIB3270_TOGGLE_DS_TRACE: |
105 | 109 | case LIB3270_TOGGLE_SSL_TRACE: |
106 | 110 | case LIB3270_TOGGLE_SCREEN_TRACE: |
... | ... | @@ -108,7 +112,6 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char |
108 | 112 | case LIB3270_TOGGLE_RECONNECT: |
109 | 113 | case LIB3270_TOGGLE_SMART_PASTE: |
110 | 114 | case LIB3270_TOGGLE_KEEP_SELECTED: |
111 | - case LIB3270_TOGGLE_CONNECT_ON_STARTUP: | |
112 | 115 | case LIB3270_TOGGLE_KP_ALTERNATIVE: |
113 | 116 | case LIB3270_TOGGLE_NETWORK_TRACE: |
114 | 117 | case LIB3270_TOGGLE_BEEP: | ... | ... |
src/terminal/widget.c
... | ... | @@ -648,6 +648,17 @@ static void release_cursor_timer(v3270 *widget) |
648 | 648 | widget->cursor.timer = NULL; |
649 | 649 | } |
650 | 650 | |
651 | +static gboolean bg_pos_realize(v3270 *terminal) | |
652 | +{ | |
653 | + if(lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_FULL_SCREEN)) | |
654 | + gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(terminal)))); | |
655 | + | |
656 | + if(lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_CONNECT_ON_STARTUP) && lib3270_is_disconnected(terminal->host)) | |
657 | + v3270_reconnect(GTK_WIDGET(terminal)); | |
658 | + | |
659 | + return FALSE; | |
660 | +} | |
661 | + | |
651 | 662 | static void v3270_realize(GtkWidget * widget) |
652 | 663 | { |
653 | 664 | if(!gtk_widget_get_has_window(widget)) |
... | ... | @@ -682,6 +693,8 @@ static void v3270_realize(GtkWidget * widget) |
682 | 693 | |
683 | 694 | gtk_im_context_set_client_window(GTK_V3270(widget)->input_method,window); |
684 | 695 | |
696 | + g_idle_add((GSourceFunc) bg_pos_realize, GTK_V3270(widget)); | |
697 | + | |
685 | 698 | } |
686 | 699 | |
687 | 700 | v3270_reconfigure(GTK_V3270(widget)); | ... | ... |