diff --git a/src/Mod/TechDraw/App/DrawViewDetail.cpp b/src/Mod/TechDraw/App/DrawViewDetail.cpp index 35cf164731..e67826e577 100644 --- a/src/Mod/TechDraw/App/DrawViewDetail.cpp +++ b/src/Mod/TechDraw/App/DrawViewDetail.cpp @@ -288,7 +288,13 @@ App::DocumentObjectExecReturn *DrawViewDetail::execute(void) testBox.SetGap(0.0); BRepBndLib::Add(detail, testBox); if (testBox.IsVoid()) { - Base::Console().Message("DrawViewDetail - detail area contains no geometry\n"); +// Base::Console().Warning("DrawViewDetail - detail area contains no geometry\n"); + TechDrawGeometry::GeometryObject* go = getGeometryObject(); + if (go != nullptr) { + go->clear(); + } + requestPaint(); + dvp->requestPaint(); return new App::DocumentObjectExecReturn("DVDetail - detail area contains no geometry"); } diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.cpp b/src/Mod/TechDraw/Gui/QGIViewPart.cpp index 34b9fdd5e1..15367ddc3c 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewPart.cpp @@ -331,6 +331,8 @@ void QGIViewPart::drawViewPart() return; } if (!viewPart->hasGeometry()) { + removePrimitives(); //clean the slate + removeDecorations(); return; } @@ -754,10 +756,6 @@ void QGIViewPart::drawHighlight(TechDraw::DrawViewDetail* viewDetail, bool b) return; } - if (!viewDetail->hasGeometry()) { - return; - } - auto vp = static_cast(getViewProvider(getViewObject())); if ( vp == nullptr ) { return;