-
Miklos Vajna yazdı
For one, this is unwanted: in the LOK case we want to switch between the windows without any side effect to be able to e.g. paint tiles. For another, this caused an invalidation loop when two views selected the text frames or images in Writer. The loop looked like: 1) Press a key in view #1, so a setView(0) + paintTile() is necessary in view #0. 2) SfxLokHelper::setView(0) to switch from view #1 to view #0. 3) SwFEShell::ShellLoseFocus() on view #1, which hides sdr marks -> invalidate. 4) SwFEShell::ShellGetFocus() on view #0, which shows sdr marks -> invalidate. 5) paintTile() in view #0. 6) SfxLokHelper::setView(1) to paint tiles due to 3). (Generates invalidations in both views.) 7) SfxLokHelper::setView(0) to paint tiles due to 4). And so on, this way a call to SfxLokHelper::setView(0) resulted in an another (async) call to SfxLokHelper::setView(0) all the time. Change-Id: Ice855b9128f61bb7b823b499cad366998f297b5d Reviewed-on: https://gerrit.libreoffice.org/28611Reviewed-by:
Miklos Vajna <vmiklos@collabora.co.uk> Tested-by:
Jenkins <ci@libreoffice.org>
91733eff
Adı |
Son kayıt (commit)
|
Son güncelleme |
---|---|---|
.. | ||
2-pages.odt | ||
dummy.fodt | ||
frame.odt | ||
pagedown-invalidation.odt | ||
search.odt | ||
shape-with-text.fodt | ||
shape.fodt |