summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@digia.com>2013-09-27 12:45:58 +0200
committerKarsten Heimrich <karsten.heimrich@digia.com>2013-09-30 10:49:56 +0200
commit047844cddf143ecfddac90040eecd966f2e20b65 (patch)
treeef141a8f2d4ce074c464c2b506bd30c00debb4a5
parent7a5aa97c9bb4a558ae344ca615ce5ed9642388a4 (diff)
Fix possible crash. Disable close button during installer run.
Change-Id: I6a0affab7394e3ae9669904bbfc48617b5cb1bd5 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
-rw-r--r--installerfw.pri3
-rw-r--r--src/sdk/installerbase_p.cpp5
2 files changed, 8 insertions, 0 deletions
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()