diff --git a/Makefile.in b/Makefile.in index 90db632..3a2cdaa 100644 --- a/Makefile.in +++ b/Makefile.in @@ -456,7 +456,7 @@ $(BINDBG)/$(LIBNAME)@EXEEXT@: \ run: \ $(BINDBG)/$(LIBNAME)@EXEEXT@ - @LD_LIBRARY_PATH=$(BINDBG) \ + @G_DEBUG=fatal-warnings \ $(BINDBG)/$(LIBNAME)@EXEEXT@ mem-check: \ diff --git a/src/terminal/toggles.c b/src/terminal/toggles.c index 592f6ae..288134d 100644 --- a/src/terminal/toggles.c +++ b/src/terminal/toggles.c @@ -95,12 +95,16 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char break; case LIB3270_TOGGLE_FULL_SCREEN: - if(value) - gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); - else - gtk_window_unfullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); + if(gtk_widget_get_realized(widget)) + { + if(value) + gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); + else + gtk_window_unfullscreen(GTK_WINDOW(gtk_widget_get_toplevel(widget))); + } break; + case LIB3270_TOGGLE_CONNECT_ON_STARTUP: case LIB3270_TOGGLE_DS_TRACE: case LIB3270_TOGGLE_SSL_TRACE: case LIB3270_TOGGLE_SCREEN_TRACE: @@ -108,7 +112,6 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char case LIB3270_TOGGLE_RECONNECT: case LIB3270_TOGGLE_SMART_PASTE: case LIB3270_TOGGLE_KEEP_SELECTED: - case LIB3270_TOGGLE_CONNECT_ON_STARTUP: case LIB3270_TOGGLE_KP_ALTERNATIVE: case LIB3270_TOGGLE_NETWORK_TRACE: case LIB3270_TOGGLE_BEEP: diff --git a/src/terminal/widget.c b/src/terminal/widget.c index a1daaef..5c76db4 100644 --- a/src/terminal/widget.c +++ b/src/terminal/widget.c @@ -648,6 +648,17 @@ static void release_cursor_timer(v3270 *widget) widget->cursor.timer = NULL; } +static gboolean bg_pos_realize(v3270 *terminal) +{ + if(lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_FULL_SCREEN)) + gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(terminal)))); + + if(lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_CONNECT_ON_STARTUP) && lib3270_is_disconnected(terminal->host)) + v3270_reconnect(GTK_WIDGET(terminal)); + + return FALSE; +} + static void v3270_realize(GtkWidget * widget) { if(!gtk_widget_get_has_window(widget)) @@ -682,6 +693,8 @@ static void v3270_realize(GtkWidget * widget) gtk_im_context_set_client_window(GTK_V3270(widget)->input_method,window); + g_idle_add((GSourceFunc) bg_pos_realize, GTK_V3270(widget)); + } v3270_reconfigure(GTK_V3270(widget)); -- libgit2 0.21.2