Commit b2f7d539a48986f870070fcc2229a5548813e195

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

Fixing errors on fullscreen toggle management.

Makefile.in
... ... @@ -456,7 +456,7 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \
456 456 run: \
457 457 $(BINDBG)/$(LIBNAME)@EXEEXT@
458 458  
459   - @LD_LIBRARY_PATH=$(BINDBG) \
  459 + @G_DEBUG=fatal-warnings \
460 460 $(BINDBG)/$(LIBNAME)@EXEEXT@
461 461  
462 462 mem-check: \
... ...
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));
... ...