diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp index 639e926aa7..f484dab3ce 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp @@ -453,3 +453,13 @@ void ViewProviderBody::dropObject(App::DocumentObject* obj) } } } +bool ViewProviderBody::canDragObjectToTarget(App::DocumentObject* obj, + App::DocumentObject* target) const +{ + if (obj->isDerivedFrom()) { + return target && target->is(); + } + + return ViewProviderPart::canDragObjectToTarget(obj, target); +} + diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.h b/src/Mod/PartDesign/Gui/ViewProviderBody.h index da174dc98c..4b60dbc2b8 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.h +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.h @@ -88,6 +88,7 @@ public: bool canDropObject(App::DocumentObject*) const override; /** Add an object to the view provider by drag and drop */ void dropObject(App::DocumentObject*) override; + bool canDragObjectToTarget(App::DocumentObject* obj, App::DocumentObject* target) const override; protected: /// Copy over all visual properties to the child features