summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2021-01-15 10:14:50 -0400
committerJan Holesovsky <kendy@collabora.com>2021-01-19 16:17:18 +0100
commit4618849a1cbba4e249ee13c3b6412337160a2816 (patch)
tree6f09475d32885136f6101a7c86aecd352ef5681f
parent871a723ca41d79798b386bf3ec2c6faab3635e41 (diff)
lok: fix incorrect invalidate cursor position
When the comment is created and it's shown in the "Writer" application, it creates an initial output area: mpOutlinerView->SetOutputArea( PixelToLogic( tools::Rectangle(0,0,1,1) ) ); Unfortunately, it causes that send to client side cursor position and scroll to the beginning of the document. Change-Id: I13e21c71328b7f05781e7cdeed082d6cc2b9d679 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109371 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r--editeng/source/editeng/editview.cxx5
-rw-r--r--editeng/source/outliner/outlvw.cxx5
-rw-r--r--include/editeng/editview.hxx1
-rw-r--r--include/editeng/outliner.hxx1
-rw-r--r--sw/source/uibase/docvw/AnnotationWin2.cxx12
5 files changed, 18 insertions, 6 deletions
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index 23cd5010c1ab..b5eeb327aa12 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -693,6 +693,11 @@ void EditView::RegisterViewShell(OutlinerViewShell* pViewShell)
pImpEditView->RegisterViewShell(pViewShell);
}
+const OutlinerViewShell* EditView::GetViewShell()
+{
+ return pImpEditView->GetViewShell();
+}
+
void EditView::RegisterOtherShell(OutlinerViewShell* pOtherShell)
{
pImpEditView->RegisterOtherShell(pOtherShell);
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx
index 26a8f6ca2f3d..9635e0ca007d 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -1386,6 +1386,11 @@ void OutlinerView::RegisterViewShell(OutlinerViewShell* pViewShell)
pEditView->RegisterViewShell(pViewShell);
}
+const OutlinerViewShell* OutlinerView::GetViewShell()
+{
+ return pEditView->GetViewShell();
+}
+
Color const & OutlinerView::GetBackgroundColor() const
{
return pEditView->GetBackgroundColor();
diff --git a/include/editeng/editview.hxx b/include/editeng/editview.hxx
index a7f3180711f5..282d5e0d200e 100644
--- a/include/editeng/editview.hxx
+++ b/include/editeng/editview.hxx
@@ -236,6 +236,7 @@ public:
/// Informs this edit view about which view shell contains it.
void RegisterViewShell(OutlinerViewShell* pViewShell);
+ const OutlinerViewShell* GetViewShell();
/// Informs this edit view about which other shell listens to it.
void RegisterOtherShell(OutlinerViewShell* pOtherShell);
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index c77c2f246ad1..63df073db652 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -257,6 +257,7 @@ public:
/// Informs this edit view about which view shell contains it.
void RegisterViewShell(OutlinerViewShell* pViewShell);
+ const OutlinerViewShell* GetViewShell();
SfxItemSet GetAttribs();
diff --git a/sw/source/uibase/docvw/AnnotationWin2.cxx b/sw/source/uibase/docvw/AnnotationWin2.cxx
index f0f92d9a7d9c..63cab37214b2 100644
--- a/sw/source/uibase/docvw/AnnotationWin2.cxx
+++ b/sw/source/uibase/docvw/AnnotationWin2.cxx
@@ -538,12 +538,6 @@ void SwAnnotationWin::InitControls()
mpOutlinerView->SetAttribs(DefaultItem());
- if (comphelper::LibreOfficeKit::isActive())
- {
- // If there is a callback already registered, inform the new outliner view about it.
- mpOutlinerView->RegisterViewShell(&mrView);
- }
-
//create Scrollbars
mpVScrollbar = VclPtr<SidebarScrollBar>::Create(*this, WB_3DLOOK |WB_VSCROLL|WB_DRAG, mrView);
mpVScrollbar->EnableNativeWidget(false);
@@ -939,6 +933,12 @@ void SwAnnotationWin::DoResize()
}
mpOutliner->SetPaperSize( PixelToLogic( Size(aWidth,aHeight) ) ) ;
+
+ if (comphelper::LibreOfficeKit::isActive() && !mpOutlinerView->GetViewShell())
+ {
+ mpOutlinerView->RegisterViewShell(&mrView);
+ }
+
if (!mpVScrollbar->IsVisible())
{ // if we do not have a scrollbar anymore, we want to see the complete text
mpOutlinerView->SetVisArea( PixelToLogic( tools::Rectangle(0,0,aWidth,aHeight) ) );