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
@@ -456,7 +456,7 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \ | @@ -456,7 +456,7 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \ | ||
456 | run: \ | 456 | run: \ |
457 | $(BINDBG)/$(LIBNAME)@EXEEXT@ | 457 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
458 | 458 | ||
459 | - @LD_LIBRARY_PATH=$(BINDBG) \ | 459 | + @G_DEBUG=fatal-warnings \ |
460 | $(BINDBG)/$(LIBNAME)@EXEEXT@ | 460 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
461 | 461 | ||
462 | mem-check: \ | 462 | mem-check: \ |
src/terminal/toggles.c
@@ -95,12 +95,16 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char | @@ -95,12 +95,16 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char | ||
95 | break; | 95 | break; |
96 | 96 | ||
97 | case LIB3270_TOGGLE_FULL_SCREEN: | 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 | break; | 105 | break; |
103 | 106 | ||
107 | + case LIB3270_TOGGLE_CONNECT_ON_STARTUP: | ||
104 | case LIB3270_TOGGLE_DS_TRACE: | 108 | case LIB3270_TOGGLE_DS_TRACE: |
105 | case LIB3270_TOGGLE_SSL_TRACE: | 109 | case LIB3270_TOGGLE_SSL_TRACE: |
106 | case LIB3270_TOGGLE_SCREEN_TRACE: | 110 | case LIB3270_TOGGLE_SCREEN_TRACE: |
@@ -108,7 +112,6 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char | @@ -108,7 +112,6 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char | ||
108 | case LIB3270_TOGGLE_RECONNECT: | 112 | case LIB3270_TOGGLE_RECONNECT: |
109 | case LIB3270_TOGGLE_SMART_PASTE: | 113 | case LIB3270_TOGGLE_SMART_PASTE: |
110 | case LIB3270_TOGGLE_KEEP_SELECTED: | 114 | case LIB3270_TOGGLE_KEEP_SELECTED: |
111 | - case LIB3270_TOGGLE_CONNECT_ON_STARTUP: | ||
112 | case LIB3270_TOGGLE_KP_ALTERNATIVE: | 115 | case LIB3270_TOGGLE_KP_ALTERNATIVE: |
113 | case LIB3270_TOGGLE_NETWORK_TRACE: | 116 | case LIB3270_TOGGLE_NETWORK_TRACE: |
114 | case LIB3270_TOGGLE_BEEP: | 117 | case LIB3270_TOGGLE_BEEP: |
src/terminal/widget.c
@@ -648,6 +648,17 @@ static void release_cursor_timer(v3270 *widget) | @@ -648,6 +648,17 @@ static void release_cursor_timer(v3270 *widget) | ||
648 | widget->cursor.timer = NULL; | 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 | static void v3270_realize(GtkWidget * widget) | 662 | static void v3270_realize(GtkWidget * widget) |
652 | { | 663 | { |
653 | if(!gtk_widget_get_has_window(widget)) | 664 | if(!gtk_widget_get_has_window(widget)) |
@@ -682,6 +693,8 @@ static void v3270_realize(GtkWidget * widget) | @@ -682,6 +693,8 @@ static void v3270_realize(GtkWidget * widget) | ||
682 | 693 | ||
683 | gtk_im_context_set_client_window(GTK_V3270(widget)->input_method,window); | 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 | v3270_reconfigure(GTK_V3270(widget)); | 700 | v3270_reconfigure(GTK_V3270(widget)); |