From 047844cddf143ecfddac90040eecd966f2e20b65 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Fri, 27 Sep 2013 12:45:58 +0200 Subject: Fix possible crash. Disable close button during installer run. Change-Id: I6a0affab7394e3ae9669904bbfc48617b5cb1bd5 Reviewed-by: Tim Jenssen --- installerfw.pri | 3 +++ src/sdk/installerbase_p.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/installerfw.pri b/installerfw.pri index 1dfee1e63..0271433cd 100644 --- a/installerfw.pri +++ b/installerfw.pri @@ -56,6 +56,9 @@ unix:INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/7zip/unix/CPP LIBS += -L$$IFW_LIB_PATH # The order is important. The linker needs to parse archives in reversed dependency order. equals(TEMPLATE, app):LIBS += -linstaller +win32:equals(TEMPLATE, app) { + LIBS += -luser32 +} unix:!macx:LIBS += -lutil macx:LIBS += -framework Carbon -framework Security diff --git a/src/sdk/installerbase_p.cpp b/src/sdk/installerbase_p.cpp index 6e4002f30..d75aad01c 100644 --- a/src/sdk/installerbase_p.cpp +++ b/src/sdk/installerbase_p.cpp @@ -135,6 +135,11 @@ public: m_oldCerr = std::cerr.rdbuf(); m_newCerr.open("CONOUT$"); std::cerr.rdbuf(m_newCerr.rdbuf()); + + HMENU systemMenu = GetSystemMenu(GetConsoleWindow(), FALSE); + if (systemMenu != NULL) + RemoveMenu(systemMenu, SC_CLOSE, MF_BYCOMMAND); + DrawMenuBar(GetConsoleWindow()); #endif } ~MyApplicationConsole() -- cgit v1.2.3