Commit b2f7d539a48986f870070fcc2229a5548813e195

Authored by Perry Werneck
1 parent c23d1a8f
Exists in master and in 1 other branch develop

Fixing errors on fullscreen toggle management.

@@ -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));