• Miklos Vajna's avatar
    sd lok: fix pixel-to-logic conversion in DrawViewShell::MakeVisible() · ba3d6d8a
    Miklos Vajna yazdı
    The problem, as seen by the user is that during shape text edit,
    sometimes just traveling with the cursor causes invalidations, which is
    unexpected.
    
    What happens is sd::Window::KeyInput() invokes
    sd::DrawViewShell::MakeVisible(), which does a pixel-to-logic
    conversion, but because the map mode is in general disabled in the LOK
    case, nothing happens. Then a bit later aVisArea.IsInside(rRect) fails,
    as it compares pixel and logic units, which results in
    sd::ViewOverlayManager::UpdateTags() scheduling an async call to
    sd::ViewOverlayManager::UpdateTagsHdl(), which at the end causes a full
    invalidation in sd::SmartTagSet::remove().
    
    Fix the situation by temporarily enabling map mode, so we don't detect
    a visible cursor area as a non-visible one.
    
    Change-Id: I6d16f24d13143dc263a89317fbc38111e652c0ac
    ba3d6d8a