sc/source/ui/app/inputwin.cxx |    9 +++++++++
 sc/source/ui/inc/inputwin.hxx |    1 +
 2 files changed, 10 insertions(+)

New commits:
commit b3be435a61d9367dcaef8347f77b92c9ea0a94d9
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Nov 1 12:59:01 2021 +0000
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Nov 2 11:39:53 2021 +0100

    multiline calc inputbar not redrawing and adjusting scrollbar on delete of 
text
    
    backspace is ok, but with delete when a line is deleted the scrolled up
    lines are visually duplicated at the bottom
    
    Change-Id: I22e91aa3c3213876d36c593cae7989e8913bffc3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124471
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 862d729edffd..5a9a59659b12 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1556,6 +1556,7 @@ void ScTextWnd::InitEditEngine()
         lcl_ModifyRTLVisArea( m_xEditView.get() );
 
     m_xEditEngine->SetModifyHdl(LINK(this, ScTextWnd, ModifyHdl));
+    m_xEditEngine->SetStatusEventHdl(LINK(this, ScTextWnd, EditStatusHdl));
 
     if (!maAccTextDatas.empty())
         maAccTextDatas.back()->StartEdit();
@@ -1831,6 +1832,13 @@ IMPL_LINK_NOARG(ScTextWnd, ModifyHdl, LinkParamNone*, 
void)
     }
 }
 
+IMPL_LINK_NOARG(ScTextWnd, EditStatusHdl, EditStatus&, void)
+{
+    SetScrollBarRange();
+    DoScroll();
+    Invalidate();
+}
+
 void ScTextWnd::StopEditEngine( bool bAll )
 {
     if (!m_xEditEngine)
@@ -1848,6 +1856,7 @@ void ScTextWnd::StopEditEngine( bool bAll )
         aString = m_xEditEngine->GetText();
         bIsInsertMode = m_xEditView->IsInsertMode();
         bool bSelection = m_xEditView->HasSelection();
+        m_xEditEngine->SetStatusEventHdl(Link<EditStatus&, void>());
         m_xEditEngine->SetModifyHdl(Link<LinkParamNone*,void>());
         m_xEditView.reset();
         m_xEditEngine.reset();
diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx
index 86cc6594910c..6a746cf9fe83 100644
--- a/sc/source/ui/inc/inputwin.hxx
+++ b/sc/source/ui/inc/inputwin.hxx
@@ -111,6 +111,7 @@ public:
     void DoScroll();
 
     DECL_LINK(ModifyHdl, LinkParamNone*, void);
+    DECL_LINK(EditStatusHdl, EditStatus&, void);
 
 protected:
     virtual void    Paint( vcl::RenderContext& rRenderContext, const 
tools::Rectangle& rRect ) override;

Reply via email to