• Michael Stahl's avatar
    SwPageFrm::RemoveFlyFromPage: fix a11y problem: · 6bef95d0
    Michael Stahl yazdı
    This problem can be reproduced with the bugdoc from fdo#60234, by
    dragging and dropping the lower left drawing object.
    The ATK bridge is notified of the change, and updates its list of
    children by calling getAccessibleChildCount() and then
    getAccessibleChild() in a loop.  Unfortunately the count returned does
    not match the available children (the difference is the object that is
    being dragged).  The implementations in
    SwAccessibleFrame::GetChildCount() and SwAccessibleFrame::GetChild()
    use slightly different iterators for the SwPageFrm, and the
    SwAccessibleChildMap one is implemented as a std::map, using the OrdNum
    of the drawing object as a key.  On the dragged object, that OrdNum has
    been reset to 0 in RemoveFlyFromPage, but it is still in the pSortedObjs
    of the SwPageFrm, and so it is not inserted into the map, and iteration
    over the map is missing one element.
    
    149     return _SwAccessibleChildMap::insert( aEntry );
    Value returned is $22 = {first = {first = {eLayerId =
    SwAccessibleChildMapKey::HELL, nOrdNum = 0}, second = ...}, second = false}
    
    Fix this by removing the object from pSortedObjs before disposing
    the a11y frames.
    
    Change-Id: I4e4bb37759382e32150cff6def02d80a55e4a702
    6bef95d0
Adı
Son kayıt (commit)
Son güncelleme
..
core Loading commit data...
filter Loading commit data...
ui Loading commit data...