diff --git a/src/app/modules/gui.cpp b/src/app/modules/gui.cpp index 32ebe1f9b..0003ad5c8 100644 --- a/src/app/modules/gui.cpp +++ b/src/app/modules/gui.cpp @@ -138,8 +138,11 @@ static bool create_main_display(bool gpuAccel, } } - if (main_display && !windowLayout.empty()) + if (main_display && !windowLayout.empty()) { main_display->setLayout(windowLayout); + if (main_display->isMinimized()) + main_display->maximize(); + } return (main_display != nullptr); } diff --git a/src/she/alleg4/alleg_display.cpp b/src/she/alleg4/alleg_display.cpp index a42b9351d..e4f6614d1 100644 --- a/src/she/alleg4/alleg_display.cpp +++ b/src/she/alleg4/alleg_display.cpp @@ -504,6 +504,15 @@ bool Alleg4Display::isMaximized() const #endif } +bool Alleg4Display::isMinimized() const +{ +#ifdef _WIN32 + return (::GetWindowLong(win_get_window(), GWL_STYLE) & WS_MINIMIZE ? true: false); +#else + return false; +#endif +} + void Alleg4Display::setTitleBar(const std::string& title) { set_window_title(title.c_str()); diff --git a/src/she/alleg4/alleg_display.h b/src/she/alleg4/alleg_display.h index 51c2845ee..5a608aa3f 100644 --- a/src/she/alleg4/alleg_display.h +++ b/src/she/alleg4/alleg_display.h @@ -31,6 +31,7 @@ namespace she { void flip(const gfx::Rect& bounds) override; void maximize() override; bool isMaximized() const override; + bool isMinimized() const override; void setTitleBar(const std::string& title) override; NativeCursor nativeMouseCursor() override; bool setNativeMouseCursor(NativeCursor cursor) override; diff --git a/src/she/display.h b/src/she/display.h index ae2e3b1ab..4c614afb3 100644 --- a/src/she/display.h +++ b/src/she/display.h @@ -53,6 +53,7 @@ namespace she { virtual void maximize() = 0; virtual bool isMaximized() const = 0; + virtual bool isMinimized() const = 0; virtual void setTitleBar(const std::string& title) = 0;