vcl/inc/unx/salgdi.h                            |    1 +
 vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx |    3 +++
 2 files changed, 4 insertions(+)

New commits:
commit 24b1631dfd1c0701f13a10378580836c8862cdc4
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Wed May 17 11:10:47 2023 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Wed May 17 15:58:14 2023 +0200

    menus all black with SAL_RTL_ENABLED=1 and SAL_USE_VCLPLUGIN=gen
    
    export SAL_USE_VCLPLUGIN=gen
    export SAL_RTL_ENABLED=1
    run writer and the menus are all black
    
    a problem since:
    
    commit 622e8cd9e5c96d0fe0bb02e07d95efa93c156c44
    Date:   Wed Jan 11 11:00:43 2023 +0000
    
        reuse CairoCommon GetGraphicsWidth from X11CairoSalGraphicsImpl
    
    so restore the use of mrParent.m_pFrame as done in original
    implementation
    
    Change-Id: I21f76b2e57b7ea6d910552d3b07830811152bfe3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151874
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 35b4d98d076d..1684530b30ff 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -81,6 +81,7 @@ public:
 
 class X11SalGraphics final : public SalGraphicsAutoDelegateToImpl
 {
+    friend class X11CairoSalGraphicsImpl;
     friend class X11CairoTextRender;
 
 public:
diff --git a/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx 
b/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
index 53bf309375bc..d5a88631c192 100644
--- a/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
+++ b/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
@@ -21,6 +21,7 @@
 
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/curve/b2dcubicbezier.hxx>
+#include <salframe.hxx>
 
 X11CairoSalGraphicsImpl::X11CairoSalGraphicsImpl(X11SalGraphics& rParent, 
CairoCommon& rCairoCommon)
     : mrParent(rParent)
@@ -30,6 +31,8 @@ 
X11CairoSalGraphicsImpl::X11CairoSalGraphicsImpl(X11SalGraphics& rParent, CairoC
 
 tools::Long X11CairoSalGraphicsImpl::GetGraphicsWidth() const
 {
+    if (mrParent.m_pFrame)
+        return mrParent.m_pFrame->maGeometry.width();
     return mrCairoCommon.m_pSurface ? mrCairoCommon.m_aFrameSize.getX() : 0;
 }
 

Reply via email to