-
Miklos Vajna yazdı
Regression from commit d464d505 (Refactor calc non-linear ViewToDevice transform, 2018-10-12), the problem was that the opengl menu was never painted from the starved idle handler as a paint-invalidation loop starved the main loop. ScGridWindow::Paint() called vcl::Window::ImplPosSizeWindow() for the form control of the bugdoc, which triggered an invalidation -> paint -> start again. Checking what adjustControlGeometry_throw() did, the result of the transformed points are quite close to each other, but not equivalent: debug:18521:18521: adjustControlGeometry_throw: aTopLeft before transformation is (1773,426) debug:18521:18521: adjustControlGeometry_throw: aTopLeft after transformation is (64.935,16.0382) debug:18521:18521: adjustControlGeometry_throw: aPaintRectPixel is 952x586@(64,16) If we round, rather than truncate, then the size of the control is always the same, so no actual resize and invalidation happens during paint. Change-Id: Id55fd227e3ae7fc57d5253bc28f42b9b4315450e Reviewed-on: https://gerrit.libreoffice.org/69821Reviewed-by:
Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
5b51aa12
Adı |
Son kayıt (commit)
|
Son güncelleme |
---|---|---|
.. | ||
RangeCopyPaste.ods | ||
cursor-away.ods | ||
empty.ods | ||
invalidation-loop.fods | ||
select-row-cols.ods | ||
shape.ods | ||
small.ods | ||
smile.png | ||
sort-range.ods |