sc/source/core/data/documen8.cxx | 24 +++++++++++++++--------- sc/source/core/data/formulacell.cxx | 12 +++++++++--- 2 files changed, 24 insertions(+), 12 deletions(-)
New commits: commit c1a9b1b48a5483a9794ec75aec33e77d2eec7a97 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Nov 30 10:34:50 2025 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Nov 30 16:20:55 2025 +0100 cid#1660275 Uncaught exception Change-Id: Iae44fdb0ec62b851f5683af4fdaa37fca3d652b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194835 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index 7597e5f1a136..296689b35fba 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -1486,13 +1486,19 @@ struct TemporaryCellGroupMaker mCell->GetDocument().GetRecursionHelper().AddTemporaryGroupCell( mCell ); } } - ~TemporaryCellGroupMaker() COVERITY_NOEXCEPT_FALSE + ~TemporaryCellGroupMaker() { - if( mEnabled ) - mCell->GetDocument().GetRecursionHelper().CleanTemporaryGroupCells(); + suppress_fun_call_w_exception(ImplDestroy()); } ScFormulaCell* mCell; const bool mEnabled; + +private: + void ImplDestroy() + { + if( mEnabled ) + mCell->GetDocument().GetRecursionHelper().CleanTemporaryGroupCells(); + } }; } // namespace commit fc9b5f1f17ac8991741cea56e650ba353d7953f1 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Nov 30 10:33:22 2025 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Nov 30 16:20:46 2025 +0100 cid#1659836 Uncaught exception and cid#1659954 Uncaught exception cid#1659957 Uncaught exception Change-Id: Ie92b14b3f102b2fd80b3c8d798080d7d6885094d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194834 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx index 07574c35d741..3dfa33500b60 100644 --- a/sc/source/core/data/documen8.cxx +++ b/sc/source/core/data/documen8.cxx @@ -488,16 +488,9 @@ public: mrDoc.EnableIdle(false); } - ~IdleCalcTextWidthScope() COVERITY_NOEXCEPT_FALSE + ~IdleCalcTextWidthScope() { - SfxPrinter* pDev = mrDoc.GetPrinter(); - if (pDev) - pDev->SetMapMode(maOldMapMode); - - if (mbProgress) - ScProgress::DeleteInterpretProgress(); - - mrDoc.EnableIdle(true); + suppress_fun_call_w_exception(ImplDestroy()); } SCTAB Tab() const { return mrCalcPos.Tab(); } @@ -525,6 +518,19 @@ public: bool hasProgressBar() const { return mbProgress; } ScStyleSheetPool* getStylePool() { return mpStylePool; } + +private: + void ImplDestroy() + { + SfxPrinter* pDev = mrDoc.GetPrinter(); + if (pDev) + pDev->SetMapMode(maOldMapMode); + + if (mbProgress) + ScProgress::DeleteInterpretProgress(); + + mrDoc.EnableIdle(true); + } }; }
