Hi Olivier,
Good catch for this.
On Wed, 2011-08-10 at 18:06 -0300, Olivier Hallot wrote:
> I had to add this patch to prevent the table boudaries crash issue
> that raised when one use the By property for GoLeftSel and GoRightSel.
I would put the boundary check before incrementing and decrementing the
column / row position, to be consistent with the previous if statement
which checks the next position before moving the position, not after.
So, attached is my proposed change.
Kohei
--
Kohei Yoshida, LibreOffice hacker, Calc
<[email protected]>
diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx
index 0ad18a4..995d6b5 100644
--- a/sc/source/ui/view/tabview2.cxx
+++ b/sc/source/ui/view/tabview2.cxx
@@ -92,6 +92,8 @@ void moveCursorByProtRule(
{
if (!isCellQualified(pDoc, rCol+1, rRow, nTab, bSelectLocked, bSelectUnlocked))
break;
+ if (rCol+1 > MAXCOL)
+ break;
++rCol;
}
}
@@ -105,6 +107,8 @@ void moveCursorByProtRule(
{
if (!isCellQualified(pDoc, rCol-1, rRow, nTab, bSelectLocked, bSelectUnlocked))
break;
+ if (rCol-1 < 0)
+ break;
--rCol;
}
}
@@ -118,6 +122,8 @@ void moveCursorByProtRule(
{
if (!isCellQualified(pDoc, rCol, rRow+1, nTab, bSelectLocked, bSelectUnlocked))
break;
+ if (rRow+1 > MAXROW)
+ break;
++rRow;
}
}
@@ -131,6 +137,8 @@ void moveCursorByProtRule(
{
if (!isCellQualified(pDoc, rCol, rRow-1, nTab, bSelectLocked, bSelectUnlocked))
break;
+ if (rRow-1 < 0)
+ break;
--rRow;
}
}
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice