diff options
Diffstat (limited to 'app/gui/gui.c')
-rw-r--r-- | app/gui/gui.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/gui/gui.c b/app/gui/gui.c index e5928eb..ef548f5 100644 --- a/app/gui/gui.c +++ b/app/gui/gui.c @@ -83,6 +83,12 @@ #include "splash.h" #include "themes.h" +#ifdef G_OS_WIN32 +#include <windef.h> +#include <winbase.h> +#include <windows.h> +#endif + #ifdef GDK_WINDOWING_QUARTZ #import <AppKit/AppKit.h> #include <gtkosxapplication.h> @@ -599,6 +605,11 @@ gui_restore_after_callback (Gimp *gimp, { GimpGuiConfig *gui_config = GIMP_GUI_CONFIG (gimp->config); GimpDisplay *display; +#ifdef G_OS_WIN32 + STARTUPINFO StartupInfo; + + GetStartupInfo (&StartupInfo); +#endif if (gimp->be_verbose) g_print ("INIT: %s\n", G_STRFUNC); @@ -740,6 +751,14 @@ gui_restore_after_callback (Gimp *gimp, } #endif /* GDK_WINDOWING_QUARTZ */ +#ifdef G_OS_WIN32 + /* Prevents window from reappearing on start-up if the user + * requested it to be minimized via window hints + */ + if (StartupInfo.wShowWindow != SW_SHOWMINIMIZED && + StartupInfo.wShowWindow != SW_SHOWMINNOACTIVE && + StartupInfo.wShowWindow != SW_MINIMIZE) +#endif /* move keyboard focus to the display */ gtk_window_present (GTK_WINDOW (toplevel)); } |