summaryrefslogtreecommitdiffstats
path: root/app/gui/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/gui/gui.c')
-rw-r--r--app/gui/gui.c19
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));
}