• Michael Stahl's avatar
    accessibility: fix horrible memory leak in AccessibleTabBarBase · b2b08544
    Michael Stahl yazdı
    Reproducing tdf#108833 failed because applying the Master Page takes
    > 2 hours; the time is spent calling vcl::Window listeners, of which
    there were some 39525 after a couple minutes, almost all of which
    AccessibleTabBarBase.
    
    AccessibleTabBarBase::WindowEventListener() has an inverted condition
    that suppresses the event that is generated from TabBar::Clear()
    and thus when DrawViewShell::ResetActualPage() calls Clear() no
    AccessibleTabBarPage is removed but then the InsertPage() calls create
    duplicate objects that again register as listeners.
    
    The condition is obviously inverted given the CVS commit message:
    
    1.2.88.1
    log
    @#135353# do not pass VCLEVENT_TABBAR_PAGEREMOVED (all) to objects other than AccessibleTabBarPageList
    @
    text
    a69 8
    
            if( ( pWinEvent->GetId() == VCLEVENT_TABBAR_PAGEREMOVED ) &&
                ( (sal_uInt16)(sal_IntPtr) pWinEvent->GetData() == TAB_PAGE_NOTFOUND ) &&
                ( dynamic_cast< AccessibleTabBarPageList *> (this) != NULL ) )
            {
                return 0;
            }
    
    Change-Id: I2a3b86bbd0f0251a966f41b316a3b313517df24f
    b2b08544
Adı
Son kayıt (commit)
Son güncelleme
..
inc Loading commit data...
source Loading commit data...
AllLangResTarget_acc.mk Loading commit data...
Library_acc.mk Loading commit data...
Makefile Loading commit data...
Module_accessibility.mk Loading commit data...
README Loading commit data...