From 8d0d4752340a0f8e657670210975c8eb051582a5 Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 29 Jan 2013 18:27:54 +0000 Subject: [PATCH] Introjucer: turn off SEH in VS2012 export when edit+continue enabled. --- .../Project Saving/jucer_ProjectExport_MSVC.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h index bcc2a8540b..cd1caec273 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h @@ -1170,14 +1170,21 @@ protected: midl->createNewChildElement ("HeaderFileName"); } + bool isUsingEditAndContinue = false; + { XmlElement* cl = group->createNewChildElement ("ClCompile"); cl->createNewChildElement ("Optimization")->addTextElement (getOptimisationLevelString (config.getOptimisationLevelInt())); if (isDebug && config.getOptimisationLevelInt() <= optimisationOff) - cl->createNewChildElement ("DebugInformationFormat")->addTextElement (is64Bit (config) ? "ProgramDatabase" - : "EditAndContinue"); + { + isUsingEditAndContinue = ! is64Bit (config); + + cl->createNewChildElement ("DebugInformationFormat") + ->addTextElement (isUsingEditAndContinue ? "EditAndContinue" + : "ProgramDatabase"); + } StringArray includePaths (getHeaderSearchPaths (config)); includePaths.add ("%(AdditionalIncludeDirectories)"); @@ -1218,6 +1225,9 @@ protected: if (! is64Bit (config)) link->createNewChildElement ("TargetMachine")->addTextElement ("MachineX86"); + if (isUsingEditAndContinue) + link->createNewChildElement ("ImageHasSafeExceptionHandlers")->addTextElement ("false"); + if (! isDebug) { link->createNewChildElement ("OptimizeReferences")->addTextElement ("true");