diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2020-01-15 14:21:13 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2020-05-23 16:48:43 +0100 |
commit | c913188e677625802ba797ac58d240515baa7f19 (patch) | |
tree | 314d7795e75fcba4ee02dfa2ab506175afc0bbe4 /svx | |
parent | 73d6205f9d66e95a2d833c9338b1116209bd33a9 (diff) |
lok: don't render shape selection overlays in lok mode.
These are rendered client-side, doing it twice is a bug;
also rendering of dashed-lines via drawinglayer decomposition
is extraordinarily slow, so avoid it.
Change-Id: I821f14699abd6bc9e7a6759c81edded2f792677d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86934
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/engine3d/dragmt3d.cxx | 5 | ||||
-rw-r--r-- | svx/source/svdraw/svddrgmt.cxx | 5 | ||||
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 9 |
3 files changed, 17 insertions, 2 deletions
diff --git a/svx/source/engine3d/dragmt3d.cxx b/svx/source/engine3d/dragmt3d.cxx index 68881166e651..231305eeae37 100644 --- a/svx/source/engine3d/dragmt3d.cxx +++ b/svx/source/engine3d/dragmt3d.cxx @@ -34,6 +34,7 @@ #include <drawinglayer/geometry/viewinformation3d.hxx> #include <svx/e3dsceneupdater.hxx> #include <vcl/ptrstyle.hxx> +#include <comphelper/lok.hxx> E3dDragMethod::E3dDragMethod ( @@ -214,6 +215,10 @@ void E3dDragMethod::CreateOverlayGeometry( sdr::overlay::OverlayManager& rOverlayManager, const sdr::contact::ObjectContact& rObjectContact) { + // We do client-side object manipulation with the Kit API + if (comphelper::LibreOfficeKit::isActive()) + return; + const sal_uInt32 nCnt(maGrp.size()); basegfx::B2DPolyPolygon aResult; diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx index 8bc1ef3689ce..80c421e40149 100644 --- a/svx/source/svdraw/svddrgmt.cxx +++ b/svx/source/svdraw/svddrgmt.cxx @@ -72,6 +72,7 @@ #include <drawinglayer/attribute/sdrlineattribute.hxx> #include <drawinglayer/attribute/sdrlinestartendattribute.hxx> #include <svl/itempool.hxx> +#include <comphelper/lok.hxx> #include <map> #include <vector> @@ -680,6 +681,10 @@ void SdrDragMethod::CreateOverlayGeometry( sdr::overlay::OverlayManager& rOverlayManager, const sdr::contact::ObjectContact& rObjectContact) { + // We do client-side object manipulation with the Kit API + if (comphelper::LibreOfficeKit::isActive()) + return; + // create SdrDragEntries on demand if(maSdrDragEntries.empty()) { diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 1bbd669bab5d..e6e2d8934895 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -361,8 +361,13 @@ void SdrMarkView::BegMarkObj(const Point& rPnt, bool bUnmark) BrkAction(); DBG_ASSERT(nullptr == mpMarkObjOverlay, "SdrMarkView::BegMarkObj: There exists a mpMarkObjOverlay (!)"); - basegfx::B2DPoint aStartPos(rPnt.X(), rPnt.Y()); - mpMarkObjOverlay = new ImplMarkingOverlay(*this, aStartPos, bUnmark); + + // We do client-side object manipulation with the Kit API + if (!comphelper::LibreOfficeKit::isActive()) + { + basegfx::B2DPoint aStartPos(rPnt.X(), rPnt.Y()); + mpMarkObjOverlay = new ImplMarkingOverlay(*this, aStartPos, bUnmark); + } maDragStat.Reset(rPnt); maDragStat.NextPoint(); |