• Mark Wielaard's avatar
    Splitter::ImplInitHorVer(bool) should always initialize all state. · 3fd6c700
    Mark Wielaard yazdı
    When creating a new Splitter ImplInitHorVer(bool) should always
    init all state independent from the current state because some
    variables might not be initialized yet.
    
     Conditional jump or move depends on uninitialised value(s)
        at 0x8293625: Splitter::ImplInitHorVer(bool) (split.cxx:70)
        by 0x82936DF: Splitter::ImplInit(Window*, long) (split.cxx:100)
        by 0x8293CC3: Splitter::Splitter(Window*, long) (split.cxx:157)
        by 0x2686BC48: ScTabSplitter::ScTabSplitter(Window*, long, ScViewData*) (tabsplit.cxx:28)
        ...
      Uninitialised value was created by a heap allocation
        at 0x4A08361: operator new(unsigned long) (vg_replace_malloc.c:298)
        by 0x2687D8F1: ScTabView::Init() (tabview5.cxx:90)
        by 0x2686C5D3: ScTabView::ScTabView(Window*, ScDocShell&, ScTabViewShell*) (tabview.cxx:261)
        ...
    
    The public method to change the internal state is Splitter::SetHorizontal()
    which does check the current state (and calls Splitter::ImplInitHorVer()
    only when there is a real state change). So the bNew != mbHorzSplit was
    redundant anyway.
    
    Change-Id: If84e8bff4c87d208416de3583202ce88d6982a99
    Reviewed-on: https://gerrit.libreoffice.org/4007Reviewed-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
    Tested-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
    3fd6c700
split.cxx 21.1 KB