svx/source/fmcomp/gridcell.cxx | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-)
New commits: commit bab808ca04f8c79a98e8133b09ac1a3934c6d339 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Jul 20 13:04:54 2016 +0100 Resolves: tdf#100845 exception during vcl painting -> std::terminate GetText throws under the circumstances described in the bug where the record is missing Change-Id: I03b0ce9a19d93a7eb8842831b433b80a20628541 (cherry picked from commit d8e225304b7c8465f5e7f038ec02270445e1b600) Reviewed-on: https://gerrit.libreoffice.org/27340 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx index b14cdd1..d2861c0 100644 --- a/svx/source/fmcomp/gridcell.cxx +++ b/svx/source/fmcomp/gridcell.cxx @@ -3542,17 +3542,24 @@ void FmXTextCell::PaintFieldToCell(OutputDevice& rDev, nStyle |= DrawTextFlags::Left; } - Color* pColor = nullptr; - OUString aText = GetText(_rxField, xFormatter, &pColor); - if (pColor != nullptr) + try { - Color aOldTextColor( rDev.GetTextColor() ); - rDev.SetTextColor( *pColor ); - rDev.DrawText(rRect, aText, nStyle); - rDev.SetTextColor( aOldTextColor ); + Color* pColor = nullptr; + OUString aText = GetText(_rxField, xFormatter, &pColor); + if (pColor != nullptr) + { + Color aOldTextColor( rDev.GetTextColor() ); + rDev.SetTextColor( *pColor ); + rDev.DrawText(rRect, aText, nStyle); + rDev.SetTextColor( aOldTextColor ); + } + else + rDev.DrawText(rRect, aText, nStyle); + } + catch (const Exception& e) + { + SAL_WARN("svx.form", "PaintFieldToCell: caught an exception: " << e.Message); } - else - rDev.DrawText(rRect, aText, nStyle); } FmXEditCell::FmXEditCell( DbGridColumn* pColumn, DbCellControl& _rControl )
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits