vcl/headless/svpframe.cxx           |    4 ++--
 vcl/inc/headless/svpframe.hxx       |    2 +-
 vcl/inc/osx/salframe.h              |    2 +-
 vcl/inc/qt5/QtFrame.hxx             |    2 +-
 vcl/inc/salframe.hxx                |    3 +--
 vcl/inc/unx/gtk/gtkframe.hxx        |    2 +-
 vcl/inc/unx/salframe.h              |    2 +-
 vcl/inc/win/salframe.h              |    2 +-
 vcl/osx/salframe.cxx                |    4 ++--
 vcl/qt5/QtFilePicker.cxx            |    4 ++--
 vcl/source/window/window.cxx        |    2 +-
 vcl/unx/generic/app/i18n_ic.cxx     |   12 ++++++------
 vcl/unx/generic/app/saldisp.cxx     |    4 ++--
 vcl/unx/generic/app/wmadaptor.cxx   |   14 +++++++-------
 vcl/unx/generic/window/salframe.cxx |    4 ++--
 vcl/unx/generic/window/salobj.cxx   |    4 ++--
 vcl/unx/gtk3/gtkdata.cxx            |    6 +++---
 vcl/unx/gtk3/gtkframe.cxx           |    4 ++--
 vcl/unx/gtk3/gtkinst.cxx            |    5 ++---
 vcl/win/window/salframe.cxx         |    4 ++--
 20 files changed, 42 insertions(+), 44 deletions(-)

New commits:
commit 59c7b2c9f3803b33e6f472184236c3275118ff1d
Author:     Michael Weghorn <[email protected]>
AuthorDate: Thu Dec 5 13:14:33 2024 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Dec 7 08:29:38 2024 +0100

    vcl: Return reference in SalFrame::GetSystemData
    
    ... instead of a pointer, to make clear
    that this is always non-null.
    
    Change-Id: I4c8676913b2507f077d8a66973ab5f95e73cb497
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177886
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>
    (cherry picked from commit c82a5669bc996bc23baebb3838fbabc629ef5d75)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177951

diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index bae2312f2478..00672935d256 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -449,9 +449,9 @@ void SvpSalFrame::Beep()
 {
 }
 
-const SystemEnvData* SvpSalFrame::GetSystemData() const
+const SystemEnvData& SvpSalFrame::GetSystemData() const
 {
-    return &m_aSystemChildData;
+    return m_aSystemChildData;
 }
 
 SalFrame::SalPointerState SvpSalFrame::GetPointerState()
diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx
index 3789e44745e7..1c61236029dc 100644
--- a/vcl/inc/headless/svpframe.hxx
+++ b/vcl/inc/headless/svpframe.hxx
@@ -108,7 +108,7 @@ public:
     virtual LanguageType        GetInputLanguage() override;
     virtual void                UpdateSettings( AllSettings& rSettings ) 
override;
     virtual void                Beep() override;
-    virtual const SystemEnvData* GetSystemData() const override;
+    virtual const SystemEnvData& GetSystemData() const override;
     virtual SalPointerState     GetPointerState() override;
     virtual KeyIndicatorState   GetIndicatorState() override;
     virtual void                SimulateKeyPress( sal_uInt16 nKeyCode ) 
override;
diff --git a/vcl/inc/osx/salframe.h b/vcl/inc/osx/salframe.h
index 717e5f310178..7245a89c3447 100644
--- a/vcl/inc/osx/salframe.h
+++ b/vcl/inc/osx/salframe.h
@@ -145,7 +145,7 @@ public:
     virtual LanguageType        GetInputLanguage() override;
     virtual void                UpdateSettings( AllSettings& rSettings ) 
override;
     virtual void                Beep() override;
-    virtual const SystemEnvData*    GetSystemData() const override;
+    virtual const SystemEnvData&  GetSystemData() const override;
     virtual SalPointerState     GetPointerState() override;
     virtual KeyIndicatorState   GetIndicatorState() override;
     virtual void                SimulateKeyPress( sal_uInt16 nKeyCode ) 
override;
diff --git a/vcl/inc/qt5/QtFrame.hxx b/vcl/inc/qt5/QtFrame.hxx
index efb534825e29..4d1c0fd02cd5 100644
--- a/vcl/inc/qt5/QtFrame.hxx
+++ b/vcl/inc/qt5/QtFrame.hxx
@@ -204,7 +204,7 @@ public:
     virtual LanguageType GetInputLanguage() override;
     virtual void UpdateSettings(AllSettings& rSettings) override;
     virtual void Beep() override;
-    virtual const SystemEnvData* GetSystemData() const override { return 
&m_aSystemData; }
+    virtual const SystemEnvData& GetSystemData() const override { return 
m_aSystemData; }
     virtual SalPointerState GetPointerState() override;
     virtual KeyIndicatorState GetIndicatorState() override;
     virtual void SimulateKeyPress(sal_uInt16 nKeyCode) override;
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
index 8b239491d469..3d83d861e069 100644
--- a/vcl/inc/salframe.hxx
+++ b/vcl/inc/salframe.hxx
@@ -219,8 +219,7 @@ public:
     virtual void            FlashWindow() const {};
 
     // returns system data (most prominent: window handle)
-    virtual const SystemEnvData*
-                            GetSystemData() const = 0;
+    virtual const SystemEnvData& GetSystemData() const = 0;
 
     // tdf#139609 SystemEnvData::GetWindowHandle() calls this to on-demand 
fill the aWindow
     // member of SystemEnvData for backends that want to defer doing that
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index b8b10691843b..41790d893dba 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -573,7 +573,7 @@ public:
     virtual void                Beep() override;
 
     // returns system data (most prominent: window handle)
-    virtual const SystemEnvData*    GetSystemData() const override;
+    virtual const SystemEnvData& GetSystemData() const override;
 
     virtual void                ResolveWindowHandle(SystemEnvData& rData) 
const override;
 
diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h
index a6603f6777f3..3ff7a4ae4e11 100644
--- a/vcl/inc/unx/salframe.h
+++ b/vcl/inc/unx/salframe.h
@@ -239,7 +239,7 @@ public:
     virtual LanguageType        GetInputLanguage() override;
     virtual void                UpdateSettings( AllSettings& rSettings ) 
override;
     virtual void                Beep() override;
-    virtual const SystemEnvData*    GetSystemData() const override;
+    virtual const SystemEnvData& GetSystemData() const override;
     virtual SalPointerState     GetPointerState() override;
     virtual KeyIndicatorState   GetIndicatorState() override;
     virtual void                SimulateKeyPress( sal_uInt16 nKeyCode ) 
override;
diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h
index ca3bbd8eb323..ada7f2f022fe 100644
--- a/vcl/inc/win/salframe.h
+++ b/vcl/inc/win/salframe.h
@@ -130,7 +130,7 @@ public:
     virtual void                UpdateSettings( AllSettings& rSettings ) 
override;
     virtual void                Beep() override;
     virtual void                FlashWindow() const override;
-    virtual const SystemEnvData*    GetSystemData() const override;
+    virtual const SystemEnvData& GetSystemData() const override;
     virtual SalPointerState     GetPointerState() override;
     virtual KeyIndicatorState   GetIndicatorState() override;
     virtual void                SimulateKeyPress( sal_uInt16 nKeyCode ) 
override;
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index 73ea3ce2262a..9d85969363b6 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -1672,9 +1672,9 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
 SAL_WNODEPRECATED_DECLARATIONS_POP
 }
 
-const SystemEnvData* AquaSalFrame::GetSystemData() const
+const SystemEnvData& AquaSalFrame::GetSystemData() const
 {
-    return &maSysData;
+    return maSysData;
 }
 
 void AquaSalFrame::Beep()
diff --git a/vcl/qt5/QtFilePicker.cxx b/vcl/qt5/QtFilePicker.cxx
index 807ba7ee853d..e97d8cb39608 100644
--- a/vcl/qt5/QtFilePicker.cxx
+++ b/vcl/qt5/QtFilePicker.cxx
@@ -873,8 +873,8 @@ void SAL_CALL QtFilePicker::initialize(const 
uno::Sequence<uno::Any>& args)
     const tools::Long aWindowHandle = xSysWin.WindowHandle;
     const auto it
         = std::find_if(pFrames.begin(), pFrames.end(), [&aWindowHandle](auto 
pFrame) -> bool {
-              const SystemEnvData* pData = pFrame->GetSystemData();
-              return pData && tools::Long(pData->GetWindowHandle(pFrame)) == 
aWindowHandle;
+              const SystemEnvData& rData = pFrame->GetSystemData();
+              return tools::Long(rData.GetWindowHandle(pFrame)) == 
aWindowHandle;
           });
     if (it != pFrames.end())
         m_pParentWidget = static_cast<QtFrame*>(*it)->asChild();
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 06e3e4db76cb..23df41fa50ce 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3870,7 +3870,7 @@ void Window::ApplySettings(vcl::RenderContext& 
/*rRenderContext*/)
 const SystemEnvData* Window::GetSystemData() const
 {
 
-    return mpWindowImpl->mpFrame ? mpWindowImpl->mpFrame->GetSystemData() : 
nullptr;
+    return mpWindowImpl->mpFrame ? &mpWindowImpl->mpFrame->GetSystemData() : 
nullptr;
 }
 
 bool Window::SupportsDoubleBuffering() const
diff --git a/vcl/unx/generic/app/i18n_ic.cxx b/vcl/unx/generic/app/i18n_ic.cxx
index 32390a888864..1fd3454aeaa7 100644
--- a/vcl/unx/generic/app/i18n_ic.cxx
+++ b/vcl/unx/generic/app/i18n_ic.cxx
@@ -162,9 +162,9 @@ SalI18N_InputContext::SalI18N_InputContext ( SalFrame 
*pFrame ) :
     if (pInputMethod->UseMethod()
         && SupportInputMethodStyle( pInputMethod->GetSupportedStyles() ) )
     {
-        const SystemEnvData* pEnv = pFrame->GetSystemData();
-        ::Window  aClientWindow = pEnv->aShellWindow;
-        ::Window  aFocusWindow  = pEnv->GetWindowHandle(pFrame);
+        const SystemEnvData& rEnv = pFrame->GetSystemData();
+        ::Window  aClientWindow = rEnv.aShellWindow;
+        ::Window  aFocusWindow  = rEnv.GetWindowHandle(pFrame);
 
         // for status callbacks and commit string callbacks
 #define PREEDIT_BUFSZ 16
@@ -546,9 +546,9 @@ SalI18N_InputContext::SetICFocus( SalFrame* pFocusFrame )
 
     maClientData.pFrame = pFocusFrame;
 
-    const SystemEnvData* pEnv   = pFocusFrame->GetSystemData();
-    ::Window  aClientWindow  = pEnv->aShellWindow;
-    ::Window  aFocusWindow   = pEnv->GetWindowHandle(pFocusFrame);
+    const SystemEnvData& rEnv   = pFocusFrame->GetSystemData();
+    ::Window  aClientWindow  = rEnv.aShellWindow;
+    ::Window  aFocusWindow   = rEnv.GetWindowHandle(pFocusFrame);
 
     XSetICValues( maContext,
                   XNFocusWindow,       aFocusWindow,
diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
index a5f9c2f42e5d..46f97074bc26 100644
--- a/vcl/unx/generic/app/saldisp.cxx
+++ b/vcl/unx/generic/app/saldisp.cxx
@@ -1820,11 +1820,11 @@ int SalDisplay::CaptureMouse( SalFrame *pCapture )
     m_pCapture = nullptr;
 
     // FIXME: get rid of X11SalFrame
-    const SystemEnvData* pEnvData = pCapture->GetSystemData();
+    const SystemEnvData& rEnvData = pCapture->GetSystemData();
     if( !pEnv || !*pEnv )
     {
         int ret = XGrabPointer( GetDisplay(),
-                                
static_cast<::Window>(pEnvData->GetWindowHandle(pCapture)),
+                                
static_cast<::Window>(rEnvData.GetWindowHandle(pCapture)),
                                 False,
                                 PointerMotionMask| 
ButtonPressMask|ButtonReleaseMask,
                                 GrabModeAsync,
diff --git a/vcl/unx/generic/app/wmadaptor.cxx 
b/vcl/unx/generic/app/wmadaptor.cxx
index 6de1fbd2e8e7..51c273e3c983 100644
--- a/vcl/unx/generic/app/wmadaptor.cxx
+++ b/vcl/unx/generic/app/wmadaptor.cxx
@@ -996,9 +996,9 @@ void WMAdaptor::setWMName( X11SalFrame* pFrame, const 
OUString& rWMName ) const
     Atom nType = aProp.nitems ? aProp.encoding : XA_STRING;
     int nFormat = aProp.nitems ? aProp.format : 8;
     int nBytes = aProp.nitems ? aProp.nitems : aTitle.getLength();
-    const SystemEnvData* pEnv = pFrame->GetSystemData();
+    const SystemEnvData& rEnv = pFrame->GetSystemData();
     XChangeProperty( m_pDisplay,
-                     static_cast<::Window>(pEnv->aShellWindow),
+                     static_cast<::Window>(rEnv.aShellWindow),
                      XA_WM_NAME,
                      nType,
                      nFormat,
@@ -1006,7 +1006,7 @@ void WMAdaptor::setWMName( X11SalFrame* pFrame, const 
OUString& rWMName ) const
                      pData,
                      nBytes );
     XChangeProperty( m_pDisplay,
-                     static_cast<::Window>(pEnv->aShellWindow),
+                     static_cast<::Window>(rEnv.aShellWindow),
                      XA_WM_ICON_NAME,
                      nType,
                      nFormat,
@@ -1014,7 +1014,7 @@ void WMAdaptor::setWMName( X11SalFrame* pFrame, const 
OUString& rWMName ) const
                      pData,
                      nBytes );
     XChangeProperty( m_pDisplay,
-                     static_cast<::Window>(pEnv->aShellWindow),
+                     static_cast<::Window>(rEnv.aShellWindow),
                      m_aWMAtoms[ WM_LOCALE_NAME ],
                      XA_STRING,
                      8,
@@ -1037,10 +1037,10 @@ void NetWMAdaptor::setWMName( X11SalFrame* pFrame, 
const OUString& rWMName ) con
     WMAdaptor::setWMName( pFrame, rWMName );
 
     OString aTitle(OUStringToOString(rWMName, RTL_TEXTENCODING_UTF8));
-    const SystemEnvData* pEnv = pFrame->GetSystemData();
+    const SystemEnvData& rEnv = pFrame->GetSystemData();
     if( m_aWMAtoms[ NET_WM_NAME ] )
         XChangeProperty( m_pDisplay,
-                         static_cast<::Window>(pEnv->aShellWindow),
+                         static_cast<::Window>(rEnv.aShellWindow),
                          m_aWMAtoms[ NET_WM_NAME ],
                          m_aWMAtoms[ UTF8_STRING ],
                          8,
@@ -1049,7 +1049,7 @@ void NetWMAdaptor::setWMName( X11SalFrame* pFrame, const 
OUString& rWMName ) con
                          aTitle.getLength() );
     if( m_aWMAtoms[ NET_WM_ICON_NAME ] )
         XChangeProperty( m_pDisplay,
-                         static_cast<::Window>(pEnv->aShellWindow),
+                         static_cast<::Window>(rEnv.aShellWindow),
                          m_aWMAtoms[ NET_WM_ICON_NAME ],
                          m_aWMAtoms[ UTF8_STRING ],
                          8,
diff --git a/vcl/unx/generic/window/salframe.cxx 
b/vcl/unx/generic/window/salframe.cxx
index dbd35f5417d9..d495d5bbe8bc 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -842,7 +842,7 @@ void X11SalFrame::SetExtendedFrameStyle( SalExtStyle nStyle 
)
     }
 }
 
-const SystemEnvData* X11SalFrame::GetSystemData() const
+const SystemEnvData& X11SalFrame::GetSystemData() const
 {
     X11SalFrame *pFrame = const_cast<X11SalFrame*>(this);
     pFrame->maSystemChildData.pDisplay      = GetXDisplay();
@@ -854,7 +854,7 @@ const SystemEnvData* X11SalFrame::GetSystemData() const
     pFrame->maSystemChildData.aShellWindow  = pFrame->GetShellWindow();
     pFrame->maSystemChildData.toolkit       = SystemEnvData::Toolkit::Gen;
     pFrame->maSystemChildData.platform      = SystemEnvData::Platform::Xcb;
-    return &maSystemChildData;
+    return maSystemChildData;
 }
 
 SalGraphics *X11SalFrame::AcquireGraphics()
diff --git a/vcl/unx/generic/window/salobj.cxx 
b/vcl/unx/generic/window/salobj.cxx
index 50090f053825..3879fdab3244 100644
--- a/vcl/unx/generic/window/salobj.cxx
+++ b/vcl/unx/generic/window/salobj.cxx
@@ -60,9 +60,9 @@ X11SalObject* X11SalObject::CreateObject( SalFrame* pParent, 
SystemWindowData* p
     pObject->mpParent = pParent;
 
     SalDisplay* pSalDisp        = 
vcl_sal::getSalDisplay(GetGenericUnixSalData());
-    const SystemEnvData* pEnv   = pParent->GetSystemData();
+    const SystemEnvData& rEnv   = pParent->GetSystemData();
     Display* pDisp              = pSalDisp->GetDisplay();
-    ::Window aObjectParent      = 
static_cast<::Window>(pEnv->GetWindowHandle(pParent));
+    ::Window aObjectParent      = 
static_cast<::Window>(rEnv.GetWindowHandle(pParent));
     pObject->maParentWin = aObjectParent;
 
     // find out on which screen that window is
diff --git a/vcl/unx/gtk3/gtkdata.cxx b/vcl/unx/gtk3/gtkdata.cxx
index 17ae4ec928b8..2f71818296c5 100644
--- a/vcl/unx/gtk3/gtkdata.cxx
+++ b/vcl/unx/gtk3/gtkdata.cxx
@@ -870,9 +870,9 @@ GtkWidget* 
GtkSalDisplay::findGtkWidgetForNativeHandle(sal_uIntPtr hWindow) cons
 {
     for (auto pSalFrame : m_aFrames )
     {
-        const SystemEnvData* pEnvData = pSalFrame->GetSystemData();
-        if (pEnvData->GetWindowHandle(pSalFrame) == hWindow)
-            return GTK_WIDGET(pEnvData->pWidget);
+        const SystemEnvData& rEnvData = pSalFrame->GetSystemData();
+        if (rEnvData.GetWindowHandle(pSalFrame) == hWindow)
+            return GTK_WIDGET(rEnvData.pWidget);
     }
     return nullptr;
 }
diff --git a/vcl/unx/gtk3/gtkframe.cxx b/vcl/unx/gtk3/gtkframe.cxx
index f101834627c5..8b96d7a321c0 100644
--- a/vcl/unx/gtk3/gtkframe.cxx
+++ b/vcl/unx/gtk3/gtkframe.cxx
@@ -3035,9 +3035,9 @@ void GtkSalFrame::Beep()
     gdk_display_beep( getGdkDisplay() );
 }
 
-const SystemEnvData* GtkSalFrame::GetSystemData() const
+const SystemEnvData& GtkSalFrame::GetSystemData() const
 {
-    return &m_aSystemData;
+    return m_aSystemData;
 }
 
 void GtkSalFrame::ResolveWindowHandle(SystemEnvData& rData) const
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index f1ca1030e300..fd685d312ca3 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -6385,9 +6385,8 @@ public:
     {
         GtkSalFrame* pFrame = 
GtkSalFrame::getFromWindow(GTK_WIDGET(m_pWindow));
         assert(pFrame && "nothing should call this impl, yet anyway, if ever, 
except on result of GetFrameWeld()");
-        const SystemEnvData* pEnvData = pFrame->GetSystemData();
-        assert(pEnvData);
-        return *pEnvData;
+        const SystemEnvData& rEnvData = pFrame->GetSystemData();
+        return rEnvData;
     }
 
     virtual Size get_size() const override
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 751e85012bff..9a3705c4d525 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -3017,9 +3017,9 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
     WinSalGraphics::updateSettingsNative( rSettings );
 }
 
-const SystemEnvData* WinSalFrame::GetSystemData() const
+const SystemEnvData& WinSalFrame::GetSystemData() const
 {
-    return &maSysData;
+    return maSysData;
 }
 
 void WinSalFrame::Beep()

Reply via email to