diff --git a/src/Mod/TechDraw/App/DrawPage.cpp b/src/Mod/TechDraw/App/DrawPage.cpp index fb56c9acfd..7d944593e8 100644 --- a/src/Mod/TechDraw/App/DrawPage.cpp +++ b/src/Mod/TechDraw/App/DrawPage.cpp @@ -372,6 +372,15 @@ void DrawPage::updateAllViews() line->recomputeFeature(); } } + + //fourth, try to execute all spreadsheets. + for (it = featViews.begin(); it != featViews.end(); ++it) { + TechDraw::DrawViewSpreadsheet *sheet = dynamic_cast(*it); + if (sheet != nullptr) { + sheet->recomputeFeature(); + } + } + } std::vector DrawPage::getAllViews(void) diff --git a/src/Mod/TechDraw/App/DrawPage.h b/src/Mod/TechDraw/App/DrawPage.h index 8b403f2cd0..e298f52078 100644 --- a/src/Mod/TechDraw/App/DrawPage.h +++ b/src/Mod/TechDraw/App/DrawPage.h @@ -31,6 +31,7 @@ #include #include #include +#include namespace TechDraw { diff --git a/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp b/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp index ef9de0ca56..eb1007a836 100644 --- a/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp +++ b/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp @@ -211,13 +211,6 @@ std::string DrawViewSpreadsheet::getSheetImage(void) } } - //check for logical range - if ( (sColStart > sColEnd) || - (iRowStart > iRowEnd) ) { - Base::Console().Error("%s - cell range is illogical\n",getNameInDocument()); - return result.str(); - } - std::vector availcolumns = getAvailColumns(); //validate range start column in sheet's available columns @@ -236,6 +229,13 @@ std::string DrawViewSpreadsheet::getSheetImage(void) return result.str(); } + //check for logical range + if ( (iAvailColStart > iAvailColEnd) || + (iRowStart > iRowEnd) ) { + Base::Console().Error("%s - cell range is illogical\n",getNameInDocument()); + return result.str(); + } + // build row and column ranges std::vector validColNames; std::vector validRowNumbers;