• Stephan Bergmann's avatar
    Wrong downcast from svx::a11y::AccFrameSelectorChild · 3e2f1767
    Stephan Bergmann yazdı
    ...to svx::a11y::AccFrameSelector (which are unrelated final classes).  UBSan
    Calc "Format - Cells... - Borders - Line Arrangement - User-defined:" and
    clicking into the top-right corner of the widget caused
    
    > svx/source/dialog/frmsel.cxx:972:50: runtime error: downcast of address 0x60f0003dfa80 which does not point to an object of type 'a11y::AccFrameSelector'
    > 0x60f0003dfa80: note: object is of type 'svx::a11y::AccFrameSelectorChild'
    >  e1 03 80 0d  90 4f c2 88 ce 7f 00 00  02 00 00 00 be be be be  00 00 00 00 00 00 00 00  00 00 00 00
    >               ^~~~~~~~~~~~~~~~~~~~~~~
    >               vptr for 'svx::a11y::AccFrameSelectorChild'
    >  #0 in svx::FrameSelector::SelectBorder(svx::FrameBorderType) at svx/source/dialog/frmsel.cxx:972:50
    >  #1 in svx::FrameSelector::MouseButtonDown(MouseEvent const&) at svx/source/dialog/frmsel.cxx:1114:21
    [...]
    
    The code was like that ever since 60f11adb
    "Integrate branch of IAccessible2", which had presumably confused
    AccFrameSelector and AccFrameSelectorChild here (while there'd apparently not
    been a deeper need for the static_casts anyway).
    
    Change-Id: I1f52629143dcfc84e57e9539a428fb0f51fdc72e
    Reviewed-on: https://gerrit.libreoffice.org/72910
    Tested-by: Jenkins
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    3e2f1767
frmsel.hxx 8.22 KB