From ddc9d9cf5d2f3399903733cdefbdff41636c2628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Mon, 28 Nov 2016 21:11:36 +0100 Subject: [PATCH] Extensions: "hasExtension" for python types -fix 0002785 --- src/App/Extension.h | 1 + src/Mod/Test/Document.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/App/Extension.h b/src/App/Extension.h index 10816a14f..e6e3b048f 100644 --- a/src/App/Extension.h +++ b/src/App/Extension.h @@ -292,6 +292,7 @@ public: ExtensionPythonT() { ExtensionT::m_isPythonExtension = true; + ExtensionT::initExtension(ExtensionPythonT::getExtensionClassTypeId()); EXTENSION_ADD_PROPERTY(ExtensionProxy,(Py::Object())); } diff --git a/src/Mod/Test/Document.py b/src/Mod/Test/Document.py index d6741ff33..8f1465dbc 100644 --- a/src/Mod/Test/Document.py +++ b/src/Mod/Test/Document.py @@ -220,6 +220,20 @@ class DocumentBasicCases(unittest.TestCase): del obj del grp del grp2 + + def testExtensionBug0002785(self): + + class MyExtension(): + def __init__(self, obj): + obj.addExtension("App::GroupExtensionPython", self) + + obj = self.Doc.addObject("App::DocumentObject", "myObj") + MyExtension(obj) + self.failUnless(obj.hasExtension("App::GroupExtension")) + self.failUnless(obj.hasExtension("App::GroupExtensionPython")) + self.Doc.removeObject(obj.Name) + del obj + def tearDown(self): #closing doc