Problem is that ViewObjectContactOfUnoControl_Impl::positionAndZoomControl is 
used in two scenarios:
(1) During paint -> GridOffset is already part of ViewTransformation2D
(2) Other (IsVisible, getPrimSeq, ...) -> GridOffset *not* added
while (1) is coming from LazyControlCreationPrimitive2D::get2DDecomposition 
while (2) comes from ViewObjectContactOfUnoControl::isPrimitiveVisible.

Using m_pAntiImpl->getObjectRange() in
ViewObjectContactOfUnoControl_Impl::positionAndZoomControl in both cases
will not work -> in case (1) the GridOffset will be taken into account
*twice*. So there are two alternatives:

(a) extend ViewObjectContactOfUnoControl_Impl::positionAndZoomControl with a 
flag to internally know if GridOffset is alread added
(b) add GridOffset for all usages of (2) to ViewTransformation2D

Not sure what is better, have to think about it strategically/from the
underlying principle...

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1846940

Title:
  [upstream] Loop in libreoffice-calc when scrolling to top of
  spreadsheet

To manage notifications about this bug go to:
https://bugs.launchpad.net/df-libreoffice/+bug/1846940/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to