From 3197c46797a3e98bed5f4e6a22c765a2b7b6421d Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 18 Jan 2021 14:15:57 -0800 Subject: [PATCH 1/2] Add support for using setCppCode on function objects --- etgtools/sip_generator.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index 1621fdd43..38db80b1d 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -206,7 +206,14 @@ def generateFunction(self, function, stream, _needDocstring=True): stream.write(nci(code, 4)) stream.write('%End\n') elif codeType == 'function': - raise NotImplementedError() # TODO: See generateMethod for an example, refactor to share code... + ## raise NotImplementedError() # TODO: See generateMethod for an example, refactor to share code... + cm = extractors.CppMethodDef.FromMethod(function) + cm.body = code + self.generateCppMethod(cm, stream, "", skipDeclaration=True) + # generateCppMethod will have already done the overloads + # and virtual catcher code, so we can just return from + # here. + return for f in function.overloads: self.generateFunction(f, stream, _needDocstring) stream.write('\n') From 91a205fb172d4a7979fce7941195103b86328223 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 18 Jan 2021 14:16:59 -0800 Subject: [PATCH 2/2] Provide a stubbed version of wxHandleFatalExceptions based on wxUSE_ON_FATAL_EXCEPTION --- etg/app.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/etg/app.py b/etg/app.py index 9416d9a58..cbdf11913 100644 --- a/etg/app.py +++ b/etg/app.py @@ -209,6 +209,16 @@ def run(): #------------------------------------------------------- + module.find('wxHandleFatalExceptions').setCppCode("""\ + #if wxUSE_ON_FATAL_EXCEPTION + return wxHandleFatalExceptions(doIt); + #else + wxLogInfo("This build of wxWidgets does not support wxHandleFatalExceptions."); + return false; + #endif + """) + + #------------------------------------------------------- module.addHeaderCode("""\ enum wxAppAssertMode {