Kaydet (Commit) 3b65c166 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

sc lok: Make the FmFormView we need for drawinglayer persistent.

Based on Marco Cecchetti's research - thanks! :-)

Change-Id: I579b6c8e54311a679f5d684f7ca1e2d7373d0ec9
üst 12e88e3b
...@@ -38,6 +38,7 @@ namespace sc { ...@@ -38,6 +38,7 @@ namespace sc {
struct SpellCheckContext; struct SpellCheckContext;
} }
class FmFormView;
struct ScTableInfo; struct ScTableInfo;
class ScDPObject; class ScDPObject;
class ScCheckListMenuWindow; class ScCheckListMenuWindow;
...@@ -103,6 +104,10 @@ class ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSou ...@@ -103,6 +104,10 @@ class ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSou
std::unique_ptr<tools::Rectangle> mpAutoFillRect; std::unique_ptr<tools::Rectangle> mpAutoFillRect;
/// LibreOfficeKit needs a persistent FmFormView for tiled rendering,
/// otherwise the invalidations from drawinglayer do not work.
std::unique_ptr<FmFormView> mpLOKDrawView;
struct MouseEventState; struct MouseEventState;
/** /**
......
...@@ -1191,12 +1191,11 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice, ...@@ -1191,12 +1191,11 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice,
// setup the SdrPage so that drawinglayer works correctly // setup the SdrPage so that drawinglayer works correctly
ScDrawLayer* pModel = pDoc->GetDrawLayer(); ScDrawLayer* pModel = pDoc->GetDrawLayer();
std::unique_ptr<FmFormView> pDrawView;
if (pModel) if (pModel)
{ {
pDrawView.reset(new FmFormView(pModel, &rDevice)); mpLOKDrawView.reset(new FmFormView(pModel, &rDevice));
pDrawView->ShowSdrPage(pDrawView->GetModel()->GetPage(nTab)); mpLOKDrawView->ShowSdrPage(mpLOKDrawView->GetModel()->GetPage(nTab));
aOutputData.SetDrawView( pDrawView.get() ); aOutputData.SetDrawView(mpLOKDrawView.get());
} }
// draw the content // draw the content
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment