Skip to content

Commit

Permalink
Merge pull request #354 from ickby/fixes
Browse files Browse the repository at this point in the history
Fixes one Extension and two PartDesign bugs
  • Loading branch information
wwmayer committed Nov 29, 2016
2 parents 8d1bea8 + ddc9d9c commit 313d893
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 12 deletions.
1 change: 1 addition & 0 deletions src/App/Extension.h
Expand Up @@ -292,6 +292,7 @@ class ExtensionPythonT : public ExtensionT

ExtensionPythonT() {
ExtensionT::m_isPythonExtension = true;
ExtensionT::initExtension(ExtensionPythonT::getExtensionClassTypeId());

EXTENSION_ADD_PROPERTY(ExtensionProxy,(Py::Object()));
}
Expand Down
3 changes: 3 additions & 0 deletions src/Mod/PartDesign/App/Body.cpp
Expand Up @@ -257,6 +257,9 @@ bool Body::isAllowed(const App::DocumentObject* f)

Body* Body::findBodyOf(const App::DocumentObject* feature)
{
if(!feature)
return nullptr;

return static_cast<Body*>(BodyBase::findBodyOf(feature));
}

Expand Down
13 changes: 7 additions & 6 deletions src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp
Expand Up @@ -200,13 +200,14 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg
}
exitSelectionMode();
} else {
if ( selectionMode == reference) {
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if (!selObj)
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if (!selObj)
return;

if ( selectionMode == reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) {
pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes);
recomputeFeature();
updateUI();
Expand Down
13 changes: 7 additions & 6 deletions src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp
Expand Up @@ -242,13 +242,14 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges&
exitSelectionMode();
}
else {
if (selectionMode == reference) {
std::vector<std::string> axes;
App::DocumentObject* selObj;
PartDesign::PolarPattern* pcPolarPattern = static_cast<PartDesign::PolarPattern*>(getObject());
getReferencedSelection(pcPolarPattern, msg, selObj, axes);
if(!selObj)
std::vector<std::string> axes;
App::DocumentObject* selObj;
PartDesign::PolarPattern* pcPolarPattern = static_cast<PartDesign::PolarPattern*>(getObject());
getReferencedSelection(pcPolarPattern, msg, selObj, axes);
if(!selObj)
return;

if (selectionMode == reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) {
pcPolarPattern->Axis.setValue(selObj, axes);
recomputeFeature();
updateUI();
Expand Down
14 changes: 14 additions & 0 deletions src/Mod/Test/Document.py
Expand Up @@ -220,6 +220,20 @@ def allowObject(self, obj):
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
Expand Down

0 comments on commit 313d893

Please sign in to comment.