starmath/inc/view.hxx    |    6 +++---
 starmath/source/view.cxx |    8 ++++++--
 2 files changed, 9 insertions(+), 5 deletions(-)

New commits:
commit 895d6716ba8f12d98e3685145d433fce72270faa
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Aug 15 11:57:57 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Aug 15 15:09:30 2022 +0200

    Resolves: tdf#149858 embedded starmath not using correct initial zoom
    
    since...
    
    commit ea21b870f8549d0110ef65187af50694a06458ca
    Date:   Mon Apr 19 15:22:22 2021 +0100
    
        weld SmGraphicWindow
    
    where the outer Window is not directly drawn into any more
    
    Change-Id: I70f45590f0fb7ff2f7af80da8873d580d219aca4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138297
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index 555beca74c2d..45df0f425574 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -53,9 +53,6 @@ private:
 
     DECL_LINK(ScrollHdl, weld::ScrolledWindow&, void);
 
-    void SetGraphicMapMode(const MapMode& rNewMapMode);
-    MapMode GetGraphicMapMode() const;
-
 public:
     explicit SmGraphicWindow(SmViewShell& rShell);
     virtual void dispose() override;
@@ -74,6 +71,9 @@ public:
     virtual void Resize() override;
     void ShowContextMenu(const CommandEvent& rCEvt);
 
+    void SetGraphicMapMode(const MapMode& rNewMapMode);
+    MapMode GetGraphicMapMode() const;
+
     SmGraphicWidget& GetGraphicWidget()
     {
         return *mxGraphic;
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 71dd3bc53946..39676971a93f 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -1100,8 +1100,12 @@ void SmViewShell::InnerResizePixel(const Point &rOfs, 
const Size &rSize, bool)
     if ( !aObjSize.IsEmpty() )
     {
         Size aProvidedSize = GetWindow()->PixelToLogic(rSize, 
MapMode(MapUnit::Map100thMM));
-        SfxViewShell::SetZoomFactor( Fraction( aProvidedSize.Width(), 
aObjSize.Width() ),
-                        Fraction( aProvidedSize.Height(), aObjSize.Height() ) 
);
+        Fraction aZoomX(aProvidedSize.Width(), aObjSize.Width());
+        Fraction aZoomY(aProvidedSize.Height(), aObjSize.Height());
+        MapMode aMap(mxGraphicWindow->GetGraphicMapMode());
+        aMap.SetScaleX(aZoomX);
+        aMap.SetScaleY(aZoomY);
+        mxGraphicWindow->SetGraphicMapMode(aMap);
     }
 
     SetBorderPixel( SvBorder() );

Reply via email to