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

New commits:
commit 97c759c09fce906d44fba98d325e3729c4a96665
Author:     Caolán McNamara <[email protected]>
AuthorDate: Mon Aug 15 11:57:57 2022 +0100
Commit:     Michael Stahl <[email protected]>
CommitDate: Tue Aug 16 12:27:57 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/+/138280
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index a8e02addfba6..99fb506749c5 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -55,9 +55,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 62e8b01d5348..544a7dc95621 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -1037,8 +1037,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