https://bugs.freedesktop.org/show_bug.cgi?id=60513
Michael Stahl <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Assignee|[email protected] |[email protected] |desktop.org | --- Comment #10 from Michael Stahl <[email protected]> --- so the problem is the code in SwDropCapsPict::UpdatePaintSettings() which does: pPage->rSh.Push(); pPage->rSh.ClearMark(); ... pPage->rSh.Pop(sal_False); the Push will store the pCurCrsr of the SwCrsrShell, which in the case of a table selection is just one of the selected cells (the rest of the cursor ring containing the other cells is not stored). unfortunately ClearMark() will clear not just the pCurCrsr but also the table cursor which is stored separately in SwCrsrShell because life wouldn't be as much fun otherwise. after thinking for some hours how the separate table cursor could be stored (which appears to be quite difficult, think of scenarios like Push, ClearMark, Push again, now you have 2 pCurCrsr to restore but just 1 table cursor, and how to do that if the darn things are Rings...) i tried just storing the position of the table cursor in Push() and strangely this actually seems to work, because UpdateCrsr() etc. will actually restore the table cursor and the full cell cursor ring from a pCurCrsr that spans multiple cells. the fact that this seems to work is of course highly suspicious :) -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ Libreoffice-bugs mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
