avmedia/source/gstreamer/gstplayer.cxx           |    2 +-
 include/vcl/sysdata.hxx                          |   17 +++++++++++++++--
 toolkit/source/awt/vclxsystemdependentwindow.cxx |    2 +-
 toolkit/source/awt/vclxtopwindow.cxx             |    2 +-
 vcl/qt5/Qt5FilePicker.cxx                        |    2 +-
 vcl/qt5/Qt5Frame.cxx                             |    2 +-
 vcl/qt5/Qt5Object.cxx                            |    2 +-
 vcl/source/opengl/x11/context.cxx                |    4 ++--
 vcl/source/window/syschild.cxx                   |    2 +-
 vcl/unx/generic/app/i18n_ic.cxx                  |    4 ++--
 vcl/unx/generic/app/saldisp.cxx                  |    2 +-
 vcl/unx/generic/gdi/cairo_xlib_cairo.cxx         |    2 +-
 vcl/unx/generic/gdi/salgdi2.cxx                  |    2 +-
 vcl/unx/generic/window/salframe.cxx              |    2 +-
 vcl/unx/generic/window/salobj.cxx                |   10 +++++-----
 vcl/unx/gtk3/gtk3gtkdata.cxx                     |    2 +-
 vcl/unx/gtk3/gtk3gtkframe.cxx                    |    2 +-
 vcl/unx/gtk3/gtk3gtkobject.cxx                   |    2 +-
 18 files changed, 38 insertions(+), 25 deletions(-)

New commits:
commit 0069bce585ae60eafaaf0f52928941c16eab4fae
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Jan 25 20:59:58 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue Jan 26 13:27:17 2021 +0100

    use an accessor for SystemEnvData::aWindow
    
    with an eye to making it on-demand
    
    Change-Id: If6cefd68a336dc6afe23591c857bd71034215b54
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109929
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/avmedia/source/gstreamer/gstplayer.cxx 
b/avmedia/source/gstreamer/gstplayer.cxx
index 4efbc6497b09..5d8d625ddf08 100644
--- a/avmedia/source/gstreamer/gstplayer.cxx
+++ b/avmedia/source/gstreamer/gstplayer.cxx
@@ -880,7 +880,7 @@ uno::Reference< ::media::XPlayerWindow > SAL_CALL 
Player::createPlayerWindow( co
         g_object_set(G_OBJECT(mpPlaybin), "video-sink", pVideosink, nullptr);
         g_object_set(G_OBJECT(mpPlaybin), "force-aspect-ratio", FALSE, 
nullptr);
 
-        mnWindowID = pEnvData->aWindow;
+        mnWindowID = pEnvData->GetWindowHandle();
         mpDisplay = pEnvData->pDisplay;
         SAL_INFO( "avmedia.gstreamer", AVVERSION "set window id to " << 
static_cast<int>(mnWindowID) << " XOverlay " << mpXOverlay);
         gst_element_set_state( mpPlaybin, GST_STATE_PAUSED );
diff --git a/include/vcl/sysdata.hxx b/include/vcl/sysdata.hxx
index 3abf92b55640..ed93b524d699 100644
--- a/include/vcl/sysdata.hxx
+++ b/include/vcl/sysdata.hxx
@@ -61,7 +61,6 @@ struct SystemEnvData
     enum class Platform { Wayland, Xcb };
 
     void*               pDisplay;       // the relevant display connection
-    sal_uIntPtr         aWindow;        // the window of the object
     void*               pSalFrame;      // contains a salframe, if object has 
one
     void*               pWidget;        // the corresponding widget
     void*               pVisual;        // the visual in use
@@ -71,6 +70,20 @@ struct SystemEnvData
     sal_IntPtr          aShellWindow;   // the window of the frame's shell
     Toolkit             toolkit;        // the toolkit in use
     Platform            platform;       // the windowing system in use
+private:
+    sal_uIntPtr         aWindow;        // the window of the object
+public:
+
+    void SetWindowHandle(sal_uIntPtr nWindow)
+    {
+        aWindow = nWindow;
+    }
+
+    sal_uIntPtr GetWindowHandle() const
+    {
+        return aWindow;
+    }
+
 #endif
 
     SystemEnvData()
@@ -83,7 +96,6 @@ struct SystemEnvData
 #elif defined( IOS )
 #elif defined( UNX )
         : pDisplay(nullptr)
-        , aWindow(0)
         , pSalFrame(nullptr)
         , pWidget(nullptr)
         , pVisual(nullptr)
@@ -91,6 +103,7 @@ struct SystemEnvData
         , aShellWindow(0)
         , toolkit(Toolkit())
         , platform(Platform())
+        , aWindow(0)
 #endif
     {
     }
diff --git a/toolkit/source/awt/vclxsystemdependentwindow.cxx 
b/toolkit/source/awt/vclxsystemdependentwindow.cxx
index 2c53edf19b27..371945627573 100644
--- a/toolkit/source/awt/vclxsystemdependentwindow.cxx
+++ b/toolkit/source/awt/vclxsystemdependentwindow.cxx
@@ -102,7 +102,7 @@ css::uno::Any VCLXSystemDependentWindow::getWindowHandle( 
const css::uno::Sequen
             {
                 css::awt::SystemDependentXWindow aSD;
                 aSD.DisplayPointer = sal::static_int_cast< sal_Int64 
>(reinterpret_cast< sal_IntPtr >(pSysData->pDisplay));
-                aSD.WindowHandle = pSysData->aWindow;
+                aSD.WindowHandle = pSysData->GetWindowHandle();
                 aRet <<= aSD;
             }
 #endif
diff --git a/toolkit/source/awt/vclxtopwindow.cxx 
b/toolkit/source/awt/vclxtopwindow.cxx
index 40aab75a480a..b0d070fb85a8 100644
--- a/toolkit/source/awt/vclxtopwindow.cxx
+++ b/toolkit/source/awt/vclxtopwindow.cxx
@@ -79,7 +79,7 @@ css::uno::Any VCLXTopWindow::getWindowHandle( const 
css::uno::Sequence< sal_Int8
             {
                 css::awt::SystemDependentXWindow aSD;
                 aSD.DisplayPointer = sal::static_int_cast< sal_Int64 
>(reinterpret_cast< sal_IntPtr >(pSysData->pDisplay));
-                aSD.WindowHandle = pSysData->aWindow;
+                aSD.WindowHandle = pSysData->GetWindowHandle();
                 aRet <<= aSD;
             }
 #endif
diff --git a/vcl/qt5/Qt5FilePicker.cxx b/vcl/qt5/Qt5FilePicker.cxx
index 9dea45ed4444..a0d89f2fca1b 100644
--- a/vcl/qt5/Qt5FilePicker.cxx
+++ b/vcl/qt5/Qt5FilePicker.cxx
@@ -844,7 +844,7 @@ void SAL_CALL Qt5FilePicker::initialize(const 
uno::Sequence<uno::Any>& args)
     const auto it
         = std::find_if(pFrames.begin(), pFrames.end(), [&aWindowHandle](auto 
pFrame) -> bool {
               const SystemEnvData* pData = pFrame->GetSystemData();
-              return pData && tools::Long(pData->aWindow) == aWindowHandle;
+              return pData && tools::Long(pData->GetWindowHandle()) == 
aWindowHandle;
           });
     if (it != pFrames.end())
         m_pParentWidget = static_cast<Qt5Frame*>(*it)->asChild();
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index beff0a472786..6ea28517dbd8 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -185,7 +185,7 @@ Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags 
nStyle, bool bUseCairo)
     // s. tdf#122293/QTBUG-75766
     const bool bWayland = QGuiApplication::platformName() == "wayland";
     if (!bWayland)
-        m_aSystemData.aWindow = m_pQWidget->winId();
+        m_aSystemData.SetWindowHandle(m_pQWidget->winId());
     else
     {
         // TODO implement as needed for Wayland,
diff --git a/vcl/qt5/Qt5Object.cxx b/vcl/qt5/Qt5Object.cxx
index 29bcb980f7c7..631321681daa 100644
--- a/vcl/qt5/Qt5Object.cxx
+++ b/vcl/qt5/Qt5Object.cxx
@@ -51,7 +51,7 @@ Qt5Object::Qt5Object(Qt5Frame* pParent, bool bShow)
     if (!bWayland)
     {
         m_aSystemData.platform = SystemEnvData::Platform::Xcb;
-        m_aSystemData.aWindow = m_pQWindow->winId(); // ID of the embedded 
window
+        m_aSystemData.SetWindowHandle(m_pQWindow->winId()); // ID of the 
embedded window
     }
     else
     {
diff --git a/vcl/source/opengl/x11/context.cxx 
b/vcl/source/opengl/x11/context.cxx
index e0ce3289f3dc..6371d66b4e6e 100644
--- a/vcl/source/opengl/x11/context.cxx
+++ b/vcl/source/opengl/x11/context.cxx
@@ -227,7 +227,7 @@ SystemWindowData 
X11OpenGLContext::generateWinData(vcl::Window* pParent, bool /*
     const SystemEnvData* sysData(pParent->GetSystemData());
 
     Display *dpy = static_cast<Display*>(sysData->pDisplay);
-    Window win = sysData->aWindow;
+    Window win = sysData->GetWindowHandle();
 
     if( dpy == nullptr || !glXQueryExtension( dpy, nullptr, nullptr ) )
         return aWinData;
@@ -472,7 +472,7 @@ void X11OpenGLContext::initWindow()
     InitChildWindow(m_pChildWindow.get());
 
     m_aGLWin.dpy = static_cast<Display*>(pChildSysData->pDisplay);
-    m_aGLWin.win = pChildSysData->aWindow;
+    m_aGLWin.win = pChildSysData->GetWindowHandle();
     m_aGLWin.screen = pChildSysData->nScreen;
 
     Visual* pVisual = static_cast<Visual*>(pChildSysData->pVisual);
diff --git a/vcl/source/window/syschild.cxx b/vcl/source/window/syschild.cxx
index 81cbc43abd11..967b3a29c91b 100644
--- a/vcl/source/window/syschild.cxx
+++ b/vcl/source/window/syschild.cxx
@@ -173,7 +173,7 @@ sal_IntPtr SystemChildWindow::GetParentWindowHandle() const
 #elif defined IOS
     // Nothing
 #elif defined UNX
-    nRet = GetSystemData()->aWindow;
+    nRet = GetSystemData()->GetWindowHandle();
 #endif
 
     return nRet;
diff --git a/vcl/unx/generic/app/i18n_ic.cxx b/vcl/unx/generic/app/i18n_ic.cxx
index 8f1a814233ea..ce4faa918d8c 100644
--- a/vcl/unx/generic/app/i18n_ic.cxx
+++ b/vcl/unx/generic/app/i18n_ic.cxx
@@ -164,7 +164,7 @@ SalI18N_InputContext::SalI18N_InputContext ( SalFrame 
*pFrame ) :
     {
         const SystemEnvData* pEnv = pFrame->GetSystemData();
         ::Window  aClientWindow = pEnv->aShellWindow;
-        ::Window  aFocusWindow  = pEnv->aWindow;
+        ::Window  aFocusWindow  = pEnv->GetWindowHandle();
 
         // for status callbacks and commit string callbacks
 #define PREEDIT_BUFSZ 16
@@ -548,7 +548,7 @@ SalI18N_InputContext::SetICFocus( SalFrame* pFocusFrame )
 
     const SystemEnvData* pEnv   = pFocusFrame->GetSystemData();
     ::Window  aClientWindow  = pEnv->aShellWindow;
-    ::Window  aFocusWindow   = pEnv->aWindow;
+    ::Window  aFocusWindow   = pEnv->GetWindowHandle();
 
     XSetICValues( maContext,
                   XNFocusWindow,       aFocusWindow,
diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
index 26624925dfe8..dc843f34ab67 100644
--- a/vcl/unx/generic/app/saldisp.cxx
+++ b/vcl/unx/generic/app/saldisp.cxx
@@ -1849,7 +1849,7 @@ int SalDisplay::CaptureMouse( SalFrame *pCapture )
     if( !pEnv || !*pEnv )
     {
         int ret = XGrabPointer( GetDisplay(),
-                                static_cast<::Window>(pEnvData->aWindow),
+                                
static_cast<::Window>(pEnvData->GetWindowHandle()),
                                 False,
                                 PointerMotionMask| 
ButtonPressMask|ButtonReleaseMask,
                                 GrabModeAsync,
diff --git a/vcl/unx/generic/gdi/cairo_xlib_cairo.cxx 
b/vcl/unx/generic/gdi/cairo_xlib_cairo.cxx
index aba06672eb3b..762564fbdab0 100644
--- a/vcl/unx/generic/gdi/cairo_xlib_cairo.cxx
+++ b/vcl/unx/generic/gdi/cairo_xlib_cairo.cxx
@@ -70,7 +70,7 @@ namespace cairo
 
     X11SysData::X11SysData( const SystemEnvData& pSysDat ) :
         pDisplay(pSysDat.pDisplay),
-        hDrawable(pSysDat.aWindow),
+        hDrawable(pSysDat.GetWindowHandle()),
         pVisual(pSysDat.pVisual),
         nScreen(pSysDat.nScreen),
         pRenderFormat(nullptr)
diff --git a/vcl/unx/generic/gdi/salgdi2.cxx b/vcl/unx/generic/gdi/salgdi2.cxx
index fca6051dc3cd..03ce5331bc58 100644
--- a/vcl/unx/generic/gdi/salgdi2.cxx
+++ b/vcl/unx/generic/gdi/salgdi2.cxx
@@ -51,7 +51,7 @@ void X11SalGraphics::YieldGraphicsExpose()
         for (auto pSalFrame : 
vcl_sal::getSalDisplay(GetGenericUnixSalData())->getFrames() )
         {
             const SystemEnvData* pEnvData = pSalFrame->GetSystemData();
-            if( Drawable(pEnvData->aWindow) == aWindow )
+            if( Drawable(pEnvData->GetWindowHandle()) == aWindow )
             {
                 pFrame = pSalFrame;
                 break;
diff --git a/vcl/unx/generic/window/salframe.cxx 
b/vcl/unx/generic/window/salframe.cxx
index 3b8fde178276..8c9959dfaa4a 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -947,7 +947,7 @@ const SystemEnvData* X11SalFrame::GetSystemData() const
 {
     X11SalFrame *pFrame = const_cast<X11SalFrame*>(this);
     pFrame->maSystemChildData.pDisplay      = GetXDisplay();
-    pFrame->maSystemChildData.aWindow       = pFrame->GetWindow();
+    pFrame->maSystemChildData.SetWindowHandle(pFrame->GetWindow());
     pFrame->maSystemChildData.pSalFrame     = pFrame;
     pFrame->maSystemChildData.pWidget       = nullptr;
     pFrame->maSystemChildData.pVisual       = GetDisplay()->GetVisual( 
m_nXScreen ).GetVisual();
diff --git a/vcl/unx/generic/window/salobj.cxx 
b/vcl/unx/generic/window/salobj.cxx
index 04368e7eea4b..a39c041a95ae 100644
--- a/vcl/unx/generic/window/salobj.cxx
+++ b/vcl/unx/generic/window/salobj.cxx
@@ -62,7 +62,7 @@ X11SalObject* X11SalObject::CreateObject( SalFrame* pParent, 
SystemWindowData* p
     SalDisplay* pSalDisp        = 
vcl_sal::getSalDisplay(GetGenericUnixSalData());
     const SystemEnvData* pEnv   = pParent->GetSystemData();
     Display* pDisp              = pSalDisp->GetDisplay();
-    ::Window aObjectParent      = static_cast<::Window>(pEnv->aWindow);
+    ::Window aObjectParent      = 
static_cast<::Window>(pEnv->GetWindowHandle());
     pObject->maParentWin = aObjectParent;
 
     // find out on which screen that window is
@@ -157,7 +157,7 @@ X11SalObject* X11SalObject::CreateObject( SalFrame* 
pParent, SystemWindowData* p
     }
 
     pObjData->pDisplay      = pDisp;
-    pObjData->aWindow       = pObject->maSecondary;
+    pObjData->SetWindowHandle(pObject->maSecondary);
     pObjData->pWidget       = nullptr;
     pObjData->pVisual       = pVisual;
 
@@ -224,7 +224,7 @@ X11SalObject::X11SalObject()
     , mbVisible(false)
 {
     maSystemChildData.pDisplay  = 
vcl_sal::getSalDisplay(GetGenericUnixSalData())->GetDisplay();
-    maSystemChildData.aWindow       = None;
+    maSystemChildData.SetWindowHandle(None);
     maSystemChildData.pSalFrame = nullptr;
     maSystemChildData.pWidget       = nullptr;
     maSystemChildData.pVisual       = nullptr;
@@ -332,7 +332,7 @@ X11SalObject::SetPosSize( tools::Long nX, tools::Long nY, 
tools::Long nWidth, to
 void
 X11SalObject::Show( bool bVisible )
 {
-    if  ( ! maSystemChildData.aWindow )
+    if (!maSystemChildData.GetWindowHandle())
         return;
 
     if ( bVisible ) {
@@ -353,7 +353,7 @@ void X11SalObject::GrabFocus()
 {
     if( mbVisible )
          XSetInputFocus( static_cast<Display*>(maSystemChildData.pDisplay),
-                         maSystemChildData.aWindow,
+                         maSystemChildData.GetWindowHandle(),
                          RevertToNone,
                          CurrentTime );
 }
diff --git a/vcl/unx/gtk3/gtk3gtkdata.cxx b/vcl/unx/gtk3/gtk3gtkdata.cxx
index cef4b3e0d30c..952fb503306d 100644
--- a/vcl/unx/gtk3/gtk3gtkdata.cxx
+++ b/vcl/unx/gtk3/gtk3gtkdata.cxx
@@ -782,7 +782,7 @@ GtkWidget* 
GtkSalDisplay::findGtkWidgetForNativeHandle(sal_uIntPtr hWindow) cons
     for (auto pSalFrame : m_aFrames )
     {
         const SystemEnvData* pEnvData = pSalFrame->GetSystemData();
-        if (pEnvData->aWindow == hWindow)
+        if (pEnvData->GetWindowHandle() == hWindow)
             return GTK_WIDGET(pEnvData->pWidget);
     }
     return nullptr;
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index bbbdf736fe92..2fac782ac349 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -950,7 +950,7 @@ void GtkSalFrame::InitCommon()
     gtk_widget_realize( m_pWindow );
 
     //system data
-    m_aSystemData.aWindow       = GetNativeWindowHandle(m_pWindow);
+    m_aSystemData.SetWindowHandle(GetNativeWindowHandle(m_pWindow));
     m_aSystemData.aShellWindow  = reinterpret_cast<sal_IntPtr>(this);
     m_aSystemData.pSalFrame     = this;
     m_aSystemData.pWidget       = m_pWindow;
diff --git a/vcl/unx/gtk3/gtk3gtkobject.cxx b/vcl/unx/gtk3/gtk3gtkobject.cxx
index 173e1b02f356..afff5fa2291e 100644
--- a/vcl/unx/gtk3/gtk3gtkobject.cxx
+++ b/vcl/unx/gtk3/gtk3gtkobject.cxx
@@ -65,7 +65,7 @@ void GtkSalObjectBase::Init()
     gtk_widget_realize( m_pSocket );
 
     // system data
-    m_aSystemData.aWindow       = m_pParent->GetNativeWindowHandle(m_pSocket);
+    m_aSystemData.SetWindowHandle(m_pParent->GetNativeWindowHandle(m_pSocket));
     m_aSystemData.aShellWindow  = reinterpret_cast<sal_IntPtr>(this);
     m_aSystemData.pSalFrame     = nullptr;
     m_aSystemData.pWidget       = m_pSocket;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to