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;