diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2015-01-19 11:44:55 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-01-20 12:20:27 +0000 |
commit | c147a110d6d9bc1de0ebf79638751dd360317fc4 (patch) | |
tree | e774873a30d0fc563b71e00a87bc6029290f5b94 | |
parent | 5a17dd94ed0aca6cefbe1d44cd0a9aed74d1ff21 (diff) |
fixup previous commit for fdo#88475
OSL_ENSURE does not execute in non-debug builds (and is deprecated).
Do not try to seek back if paint did not seek.
This happens in particular when there is no data source attached (and thus trying to seek fails).
Change-Id: I3f4908c4dcae2bb120bf58c1218e3386c40d5721
(cherry picked from commit e8a68c1f50f32a0f9d8bcdf16c1270c319910baa)
Reviewed-on: https://gerrit.libreoffice.org/14028
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r-- | include/sal/log-areas.dox | 1 | ||||
-rw-r--r-- | svtools/source/brwbox/brwbox2.cxx | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox index 62525e49bc8d..d42c8c202908 100644 --- a/include/sal/log-areas.dox +++ b/include/sal/log-areas.dox @@ -289,6 +289,7 @@ certain functionality. @section svtools @li @c svtools +@li @c svtools.brwbox @li @c svtools.config @li @c svtools.contnr @li @c svtools.control diff --git a/svtools/source/brwbox/brwbox2.cxx b/svtools/source/brwbox/brwbox2.cxx index eacb2a8e2868..9ea90319669b 100644 --- a/svtools/source/brwbox/brwbox2.cxx +++ b/svtools/source/brwbox/brwbox2.cxx @@ -887,6 +887,7 @@ void BrowseBox::ImplPaintData(OutputDevice& _rOut, const Rectangle& _rRect, bool Color aDelimiterLineColor( ::svtools::ColorConfig().GetColorValue( ::svtools::CALCGRID ).nColor ); // redraw the invalid fields + bool paint_seeked(false); for ( sal_uLong nRelRow = nRelTopRow; nRelRow <= nRelBottomRow && (sal_uLong)nTopRow+nRelRow < (sal_uLong)nRowCount; ++nRelRow, aPos.Y() += nDataRowHeigt ) @@ -899,6 +900,7 @@ void BrowseBox::ImplPaintData(OutputDevice& _rOut, const Rectangle& _rRect, bool // prepare row sal_uLong nRow = nTopRow+nRelRow; + paint_seeked = true; if ( !SeekRow( nRow) ) { OSL_FAIL("BrowseBox::ImplPaintData: SeekRow failed"); } @@ -1031,7 +1033,10 @@ void BrowseBox::ImplPaintData(OutputDevice& _rOut, const Rectangle& _rRect, bool } } - OSL_ENSURE(SeekRow(nCurRow), "BrowseBox::ImplPaintData could not seek back to current row after paint"); + if (paint_seeked && !SeekRow(nCurRow)) + { + SAL_WARN("svtools.brwbox", "BrowseBox::ImplPaintData could not seek back to current row after paint"); + } if (aPos.Y() > aOverallAreaBRPos.Y() + 1) aPos.Y() = aOverallAreaBRPos.Y() + 1; |