Happens when the Control is live (not edit mode) and the mapping is -
due to non-linear ViewMapping in Calc - dependent on pixel sies. In
these cases, ViewObjectContactOfUnoControl_Impl::positionAndZoomControl
is called. That uses adjustControlGeometry_throw where

aTopLeft, aBottomRight change while
_rLogicBoundingRect does not (mostly flicker of a single pixel).

This is due to different _rViewTransformation being used, dependent on
where the paint is compng from (yes, the live Controls' positioning
works by lay-positioning these during paint what may lead to an
invalidate in the window, but usually only *once*, except for the crude
Calc non-linear ViewTransform mapping - ARGH)

Key to fix this will be to find out which tranform would be the correct
one and which path uses the wrong one...

All calls emerge from a single ScGridWindow::DrawContent. Every 2nd
paint triggers between two pixel value variations, this can be best seen
in

ControlHolder::setPosSize

One call inside ScGridWindow::DrawContent triggers one pixel value set,
another triggers the alternative one. These calls are:

    DrawRedraw( aOutputData, SC_LAYER_INTERN ); -> smaller/more left
            pContentDev->SetMapMode(aCurrentMapMode); -> bigger, more right

These do then alternate endlessly, because they invalidate different
parts. Question is why these lead to different pixel position values...

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

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

Status in LibreOffice:
  Confirmed
Status in libreoffice package in Ubuntu:
  Confirmed

Bug description:
  Have a spreadsheet used in many past release of calc that is now
  failing.  When opening this sheet and if not currently at the top of
  the sheet using the mouse wheel to move to the top (top line to the
  top of the window) soffice.bin goes to 100% cpu and stays there.
  Can't use the mouse wheel to move off of the top line.  Can move off
  the top line by using the mouse and scroll bar.  As soon as you are
  off the top line the loop in soffice.bin stops.  This is the only
  sheet I can find that fails but it does fail on this laptop and also
  my desktop which is also running Ubuntu 19.10/libreoffice-
  calc-6.3.2.2.  Adding failing spreadsheet file to this bug report.

  ProblemType: Bug
  DistroRelease: Ubuntu 19.10
  Package: libreoffice-calc 1:6.3.2-0ubuntu2
  ProcVersionSignature: Ubuntu 5.3.0-13.14-generic 5.3.0
  Uname: Linux 5.3.0-13-generic x86_64
  NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset 
nvidia
  ApportVersion: 2.20.11-0ubuntu7
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Oct  6 06:35:42 2019
  InstallationDate: Installed on 2019-10-03 (2 days ago)
  InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Beta amd64 (20191001.2)
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: libreoffice
  UpgradeStatus: No upgrade log present (probably fresh install)

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to