https://bugs.documentfoundation.org/show_bug.cgi?id=94679

--- Comment #2 from Justin L <[email protected]> ---
In sw/source/uibase/wrtsh.cxx  SwWrtShell::Pop() it is pretty much inevitable
that *m_fnSetCrsr() will be set to SetCrsrKillSel.  I have no idea why pop-ing
rSh should automatically negate any selections - especially when the whole
point of pushing/popping was to check for a hiddenRange.  

bool SwWrtShell::Pop( bool bOldCrsr )
{
    bool bRet = SwCrsrShell::Pop( bOldCrsr );
// if something was pushed - meaning we successfully popped something (bRet)
// and the cursor is part of a selection
    if( bRet && IsSelection() )
    {
        m_fnSetCrsr = &SwWrtShell::SetCrsrKillSel;
        m_fnKillSel = &SwWrtShell::ResetSelect;
    }
    return bRet;
}

A PageUp/Down calls sw/source/uibase/wrtsh/move.cxx SwWrtShell::PushCrsr()
which calls this *m_fnSetCrsr() and kills the selection.

SelectHiddenRange() aborts if there is a selection anyway, so if textsh.cxx
wraps the push/pop in a if( !HasSelection() ) that should resolve this bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to