Revert "fdo#88475 BrowseBox/grid: reposition data cursor to current row after paint"
(and its later fixup) This reverts commitse8a68c1f50
e60b589952
It was a work-around for the real underlying issue, which was that the result of dbaccess::ResultSet::isFirst() et al were clobbered by moves made by its clones. The BrowseBox has two different cursors: 1) One for data to edit (which is kept on the current/active row) 2) One for data to *paint* The second is a clone of the first. The real underlying issue is fixed by: commitd7c9a1d9d6
Author: Lionel Elie Mamane <lionel@mamane.lu> Date: Thu Jan 22 10:49:42 2015 +0100 fdo#88475 RowSetBase: reposition cache before interrogating it Change-Id: I28d62673fdf10ee6507d38bb7c79c08e4b40902f
This commit is contained in:
@@ -298,7 +298,6 @@ certain functionality.
|
||||
@section svtools
|
||||
|
||||
@li @c svtools
|
||||
@li @c svtools.brwbox
|
||||
@li @c svtools.config
|
||||
@li @c svtools.contnr
|
||||
@li @c svtools.control
|
||||
|
@@ -888,7 +888,6 @@ 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 )
|
||||
@@ -901,7 +900,6 @@ 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");
|
||||
}
|
||||
@@ -1034,11 +1032,6 @@ void BrowseBox::ImplPaintData(OutputDevice& _rOut, const Rectangle& _rRect, bool
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
// needed for some of the following drawing
|
||||
|
Reference in New Issue
Block a user