diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2020-01-15 14:21:13 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2020-01-16 17:21:07 +0100 |
commit | 2a380ac6c8e30d7e96a84482ce5935ddf7014dfc (patch) | |
tree | b3488d26bff9eab57bc2e04dda22350da0d9dc8b /svx | |
parent | 2bd13ee931d81f2959ab76d5cc1233032f1a7e7f (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/+/86855
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
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 94d2bd213fbd..0e683cd073d0 100644 --- a/svx/source/engine3d/dragmt3d.cxx +++ b/svx/source/engine3d/dragmt3d.cxx @@ -33,6 +33,7 @@ #include <svx/sdr/contact/viewcontactofe3dscene.hxx> #include <drawinglayer/geometry/viewinformation3d.hxx> #include <svx/e3dsceneupdater.hxx> +#include <comphelper/lok.hxx> #include <o3tl/make_unique.hxx> @@ -211,6 +212,10 @@ void E3dDragMethod::MoveSdrDrag(const Point& /*rPnt*/) // for migration from XOR to overlay void E3dDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlayManager) { + // 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 d6d9a8db0668..e353c41038d1 100644 --- a/svx/source/svdraw/svddrgmt.cxx +++ b/svx/source/svdraw/svddrgmt.cxx @@ -69,6 +69,7 @@ #include <drawinglayer/attribute/sdrlineattribute.hxx> #include <drawinglayer/attribute/sdrlinestartendattribute.hxx> #include <svl/itempool.hxx> +#include <comphelper/lok.hxx> #include <map> #include <vector> @@ -658,6 +659,10 @@ typedef std::map< const SdrObject*, SdrObject* > SdrObjectAndCloneMap; void SdrDragMethod::CreateOverlayGeometry(sdr::overlay::OverlayManager& rOverlayManager) { + // 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 aa10261baff2..a48642e40013 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -358,8 +358,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(); |