• Tor Lillqvist's avatar
    tdf#103571: Avoid spurious heavy SalEvent::DisplayChanged callbacks · 715b7b6f
    Tor Lillqvist yazdı
    It seems that on some Macs that the
    NSApplicationDidChangeScreenParametersNotification is sent for unknown
    reasons quite often. I can reproduce the problem by changing the Dock
    size in System Preferences while LibreOffice is running, but others
    seem to get it without resorting to such trickery.
    
    The code used to invoke the SalEvent::DisplayChanged callback in all
    cases, which can be extremely heavy, as it involves re-measuring text
    layouts all over the place in all open document windows.
    
    Avoid that if the geometry in fact has not changed.
    
    Sure, there still is the problem that LibreOffice can become
    unresponsive for several seconds when the display geometry *does*
    change, like when you attach or detach a display.
    
    Change-Id: I659881e5e392bd599f6be190835e32a77d9f4725
    Reviewed-on: https://gerrit.libreoffice.org/50249Tested-by: 's avatarJenkins <ci@libreoffice.org>
    Reviewed-by: 's avatarTor Lillqvist <tml@collabora.com>
    715b7b6f
salframe.cxx 56.9 KB