• Miklos Vajna's avatar
    sw lok: avoid hiding / showing sdr mark handles on focus change · 91733eff
    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: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
    Tested-by: 's avatarJenkins <ci@libreoffice.org>
    91733eff
Adı
Son kayıt (commit)
Son güncelleme
..
2-pages.odt Loading commit data...
dummy.fodt Loading commit data...
frame.odt Loading commit data...
pagedown-invalidation.odt Loading commit data...
search.odt Loading commit data...
shape-with-text.fodt Loading commit data...
shape.fodt Loading commit data...