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 winaccessibility/source/service/AccTopWindowListener.cxx | 77 +++++---------- 21 files changed, 71 insertions(+), 92 deletions(-)
New commits: commit eed855d70317ce25d267c28b28c0f40f8e7b69cb Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 5 13:07:06 2024 +0000 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Dec 5 20:12:29 2024 +0100 wina11y: Use existing references + drop duplicate checks There's no need to have local raw pointer variables in addition to the existing References. Replace all uses of the former by using the latter and drop duplicate checks. Change-Id: I1339dabecbe8e1652e49df8ecd5ce2749b897f47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177888 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/winaccessibility/source/service/AccTopWindowListener.cxx b/winaccessibility/source/service/AccTopWindowListener.cxx index 181d7d8f4fa2..1b61a6436b15 100644 --- a/winaccessibility/source/service/AccTopWindowListener.cxx +++ b/winaccessibility/source/service/AccTopWindowListener.cxx @@ -173,34 +173,23 @@ void AccTopWindowListener::windowClosed( const css::lang::EventObject& e ) return; Reference< css::accessibility::XAccessible > xAccessible ( e.Source, UNO_QUERY ); - css::accessibility::XAccessible* pAccessible = xAccessible.get(); - if ( pAccessible == nullptr) + if (!xAccessible.is()) return; - Reference<css::accessibility::XAccessibleContext> xContext = pAccessible->getAccessibleContext(); + Reference<css::accessibility::XAccessibleContext> xContext = xAccessible->getAccessibleContext(); if(!xContext.is()) - { return; - } - css::accessibility::XAccessibleContext* pAccessibleContext = xContext.get(); - short role = -1; - if(pAccessibleContext != nullptr) + short role = xContext->getAccessibleRole(); + if (role == css::accessibility::AccessibleRole::POPUP_MENU || + role == css::accessibility::AccessibleRole::MENU) { - role = pAccessibleContext->getAccessibleRole(); - - if (role == css::accessibility::AccessibleRole::POPUP_MENU || - role == css::accessibility::AccessibleRole::MENU) - { - m_aAccObjectManager.NotifyAccEvent(pAccessible, UnoMSAAEvent::MENUPOPUPEND); - } + m_aAccObjectManager.NotifyAccEvent(xAccessible.get(), UnoMSAAEvent::MENUPOPUPEND); } - - m_aAccObjectManager.DeleteChildrenAccObj( pAccessible ); + m_aAccObjectManager.DeleteChildrenAccObj(xAccessible.get()); if( role != css::accessibility::AccessibleRole::POPUP_MENU ) - m_aAccObjectManager.DeleteAccObj( pAccessible ); - + m_aAccObjectManager.DeleteAccObj(xAccessible.get()); } void AccTopWindowListener::windowMinimized( const css::lang::EventObject& ) commit f40a68f58dd1fc8b4cbd89434559c3400e7bd39b Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 5 12:23:41 2024 +0000 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Dec 5 20:12:21 2024 +0100 wina11y: Drop unnecessary exception handling Window::GetSystemData should never throw an exception, so there's no need for exception handling here. Also, return early if the system data is null. Change-Id: I65794f10019d0c2fb5cc7150500b551c31cc2a08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177887 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/winaccessibility/source/service/AccTopWindowListener.cxx b/winaccessibility/source/service/AccTopWindowListener.cxx index 40d9ba8755c1..181d7d8f4fa2 100644 --- a/winaccessibility/source/service/AccTopWindowListener.cxx +++ b/winaccessibility/source/service/AccTopWindowListener.cxx @@ -47,45 +47,37 @@ void AccTopWindowListener::HandleWindowOpened( css::accessibility::XAccessible* else if (auto pvclxcomponent = dynamic_cast<VCLXAccessibleComponent*>(pAccessible)) window = pvclxcomponent->GetWindow(); assert(window); - // The SalFrame of window may be destructed at this time - const SystemEnvData* systemdata = nullptr; - try - { - systemdata = window->GetSystemData(); - } - catch(...) - { - systemdata = nullptr; - } + + const SystemEnvData* pSystemData = window->GetSystemData(); + if (!pSystemData) + return; + Reference<css::accessibility::XAccessibleContext> xContext = pAccessible->getAccessibleContext(); if(!xContext.is()) return; // add all listeners - if (systemdata != nullptr) - { - m_aAccObjectManager.SaveTopWindowHandle(systemdata->hWnd, pAccessible); + m_aAccObjectManager.SaveTopWindowHandle(pSystemData->hWnd, pAccessible); - AddAllListeners(pAccessible,nullptr,systemdata->hWnd); + AddAllListeners(pAccessible, nullptr, pSystemData->hWnd); - if( window->GetStyle() & WB_MOVEABLE ) - m_aAccObjectManager.IncreaseState( pAccessible, static_cast<unsigned short>(-1) /* U_MOVEBLE */ ); + if( window->GetStyle() & WB_MOVEABLE ) + m_aAccObjectManager.IncreaseState( pAccessible, static_cast<unsigned short>(-1) /* U_MOVEBLE */ ); - short role = xContext->getAccessibleRole(); + short role = xContext->getAccessibleRole(); - if (role == css::accessibility::AccessibleRole::POPUP_MENU || - role == css::accessibility::AccessibleRole::MENU ) - { - m_aAccObjectManager.NotifyAccEvent(pAccessible, UnoMSAAEvent::MENUPOPUPSTART); - } + if (role == css::accessibility::AccessibleRole::POPUP_MENU || + role == css::accessibility::AccessibleRole::MENU ) + { + m_aAccObjectManager.NotifyAccEvent(pAccessible, UnoMSAAEvent::MENUPOPUPSTART); + } - if (role == css::accessibility::AccessibleRole::FRAME || - role == css::accessibility::AccessibleRole::DIALOG || - role == css::accessibility::AccessibleRole::WINDOW || - role == css::accessibility::AccessibleRole::ALERT) - { - m_aAccObjectManager.NotifyAccEvent(pAccessible, UnoMSAAEvent::SHOW); - } + if (role == css::accessibility::AccessibleRole::FRAME || + role == css::accessibility::AccessibleRole::DIALOG || + role == css::accessibility::AccessibleRole::WINDOW || + role == css::accessibility::AccessibleRole::ALERT) + { + m_aAccObjectManager.NotifyAccEvent(pAccessible, UnoMSAAEvent::SHOW); } } commit c82a5669bc996bc23baebb3838fbabc629ef5d75 Author: Michael Weghorn <[email protected]> AuthorDate: Thu Dec 5 13:14:33 2024 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Thu Dec 5 20:12:14 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]> 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 92b281e8ee2d..13d33a19a30a 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()
