include/sfx2/charmapcontainer.hxx                   |   12 ++--
 include/sfx2/charwin.hxx                            |   16 ++---
 include/sfx2/stbitem.hxx                            |    2 
 include/svx/cuicharmap.hxx                          |    2 
 reportdesign/source/ui/inc/statusbarcontroller.hxx  |    4 +
 reportdesign/source/ui/misc/statusbarcontroller.cxx |   55 ++++++++++----------
 sfx2/inc/charmapcontrol.hxx                         |    4 -
 sfx2/source/control/charmapcontainer.cxx            |   18 +++---
 sfx2/source/control/charmapcontrol.cxx              |    8 +-
 sfx2/source/control/charwin.cxx                     |   16 ++---
 svx/source/dialog/cuicharmap.cxx                    |   17 ++----
 11 files changed, 79 insertions(+), 75 deletions(-)

New commits:
commit fd2a572b76d37bcd9132d6000e348b398d83b0bc
Author:     Michael Weghorn <[email protected]>
AuthorDate: Thu Dec 11 13:47:50 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Dec 12 13:27:20 2025 +0100

    reportdesign: Use ref to more concrete SfxStatusBarControl
    
    Switch OStatusbarController::m_rController from a reference
    to the abstract UNO interface XStatusbarController to the
    more concrete SfxStatusBarControl implementation and rename
    to m_pControl accordingly.
    
    Make the SfxStatusBarControl overrides of public
    UNO interface methos also public, so that OStatusbarController
    can continue calling them.
    
    Change-Id: Ibebeb9640268b32914d5b1e985e6d4e18397c03d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195479
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/include/sfx2/stbitem.hxx b/include/sfx2/stbitem.hxx
index 67c88c68710d..b2a9fc1009d3 100644
--- a/include/sfx2/stbitem.hxx
+++ b/include/sfx2/stbitem.hxx
@@ -67,7 +67,6 @@ public:
     virtual void               SAL_CALL acquire() noexcept override;
     virtual void               SAL_CALL release() noexcept override;
 
-protected:
     // XEventListener
     using svt::StatusbarController::disposing;
 
@@ -91,6 +90,7 @@ protected:
     virtual void SAL_CALL click( const css::awt::Point& aPos ) override;
     virtual void SAL_CALL doubleClick( const css::awt::Point& aPos ) override;
 
+protected:
     // Old sfx2 interface
     virtual void    StateChangedAtStatusBarControl( sal_uInt16 nSID, 
SfxItemState eState,
                                   const SfxPoolItem* pState );
diff --git a/reportdesign/source/ui/inc/statusbarcontroller.hxx 
b/reportdesign/source/ui/inc/statusbarcontroller.hxx
index e00e9502aaac..38c0df8a0fce 100644
--- a/reportdesign/source/ui/inc/statusbarcontroller.hxx
+++ b/reportdesign/source/ui/inc/statusbarcontroller.hxx
@@ -23,6 +23,8 @@
 #include <comphelper/uno3.hxx>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <cppuhelper/implbase1.hxx>
+#include <rtl/ref.hxx>
+#include <sfx2/stbitem.hxx>
 
 namespace rptui
 {
@@ -30,7 +32,7 @@ namespace rptui
     class OStatusbarController : public ::svt::StatusbarController,
                                  public OStatusbarController_BASE
     {
-        css::uno::Reference< css::frame::XStatusbarController >  m_rController;
+        rtl::Reference<SfxStatusBarControl> m_pControl;
         sal_uInt16      m_nSlotId;
         sal_uInt16      m_nId;
     public:
diff --git a/reportdesign/source/ui/misc/statusbarcontroller.cxx 
b/reportdesign/source/ui/misc/statusbarcontroller.cxx
index 8c44f1473635..62b297d88b5b 100644
--- a/reportdesign/source/ui/misc/statusbarcontroller.cxx
+++ b/reportdesign/source/ui/misc/statusbarcontroller.cxx
@@ -87,25 +87,25 @@ void SAL_CALL OStatusbarController::initialize( const 
Sequence< Any >& _rArgumen
         }
     }
 
-    rtl::Reference<SfxStatusBarControl> pController;
+    rtl::Reference<SfxStatusBarControl> pControl;
     if ( m_aCommandURL == ".uno:ZoomSlider" )
     {
         m_nSlotId = SID_ATTR_ZOOMSLIDER;
-        pController = new SvxZoomSliderControl(m_nSlotId,m_nId,*pStatusBar);
+        pControl = new SvxZoomSliderControl(m_nSlotId, m_nId, *pStatusBar);
     }
     else if ( m_aCommandURL == ".uno:Zoom" )
     {
         m_nSlotId = SID_ATTR_ZOOM;
-        pController = new SvxZoomStatusBarControl(m_nSlotId,m_nId,*pStatusBar);
+        pControl = new SvxZoomStatusBarControl(m_nSlotId, m_nId, *pStatusBar);
     }
 
-    if ( pController )
+    if (pControl)
     {
-        m_rController.set( pController );
-        if ( m_rController.is() )
+        m_pControl = pControl;
+        if (m_pControl.is())
         {
-            m_rController->initialize(_rArguments);
-            m_rController->update();
+            m_pControl->initialize(_rArguments);
+            m_pControl->update();
         }
     }
 
@@ -117,7 +117,7 @@ void SAL_CALL OStatusbarController::statusChanged( const 
FeatureStateEvent& _aEv
 {
     SolarMutexGuard aSolarGuard;
 
-    if ( !m_rController.is() )
+    if (!m_pControl.is())
         return;
 
     if ( m_aCommandURL == ".uno:ZoomSlider" )
@@ -127,7 +127,7 @@ void SAL_CALL OStatusbarController::statusChanged( const 
FeatureStateEvent& _aEv
         {
             SvxZoomSliderItem aZoomSlider(100,20,400);
             aZoomSlider.PutValue(_aEvent.State, 0);
-            
static_cast<SvxZoomSliderControl*>(m_rController.get())->StateChangedAtStatusBarControl(m_nSlotId,SfxItemState::DEFAULT,&aZoomSlider);
+            
static_cast<SvxZoomSliderControl*>(m_pControl.get())->StateChangedAtStatusBarControl(m_nSlotId,
 SfxItemState::DEFAULT, &aZoomSlider);
         }
     }
     else if ( m_aCommandURL == ".uno:Zoom" )
@@ -137,7 +137,7 @@ void SAL_CALL OStatusbarController::statusChanged( const 
FeatureStateEvent& _aEv
         {
             SvxZoomItem aZoom;
             aZoom.PutValue(_aEvent.State, 0 );
-            
static_cast<SvxZoomStatusBarControl*>(m_rController.get())->StateChangedAtStatusBarControl(m_nSlotId,SfxItemState::DEFAULT,&aZoom);
+            
static_cast<SvxZoomStatusBarControl*>(m_pControl.get())->StateChangedAtStatusBarControl(m_nSlotId,
 SfxItemState::DEFAULT, &aZoom);
         }
     }
 }
@@ -145,17 +145,17 @@ void SAL_CALL OStatusbarController::statusChanged( const 
FeatureStateEvent& _aEv
 // XStatusbarController
 sal_Bool SAL_CALL OStatusbarController::mouseButtonDown(const 
css::awt::MouseEvent& _aEvent)
 {
-    return m_rController.is() && m_rController->mouseButtonDown(_aEvent);
+    return m_pControl.is() && m_pControl->mouseButtonDown(_aEvent);
 }
 
 sal_Bool SAL_CALL OStatusbarController::mouseMove(    const 
css::awt::MouseEvent& _aEvent)
 {
-    return m_rController.is() && m_rController->mouseMove(_aEvent);
+    return m_pControl.is() && m_pControl->mouseMove(_aEvent);
 }
 
 sal_Bool SAL_CALL OStatusbarController::mouseButtonUp(    const 
css::awt::MouseEvent& _aEvent)
 {
-    return m_rController.is() && m_rController->mouseButtonUp(_aEvent);
+    return m_pControl.is() && m_pControl->mouseButtonUp(_aEvent);
 }
 
 void SAL_CALL OStatusbarController::command(
@@ -164,8 +164,8 @@ void SAL_CALL OStatusbarController::command(
     sal_Bool bMouseEvent,
     const css::uno::Any& aData )
 {
-    if ( m_rController.is() )
-        m_rController->command( aPos, nCommand, bMouseEvent, aData );
+    if (m_pControl.is())
+        m_pControl->command(aPos, nCommand, bMouseEvent, aData);
 }
 
 void SAL_CALL OStatusbarController::paint(
@@ -173,36 +173,39 @@ void SAL_CALL OStatusbarController::paint(
     const css::awt::Rectangle& rOutputRectangle,
     ::sal_Int32 nStyle )
 {
-    if ( m_rController.is() )
-        m_rController->paint( xGraphics, rOutputRectangle, nStyle );
+    if (m_pControl.is())
+        m_pControl->paint(xGraphics, rOutputRectangle, nStyle);
 }
 
 void SAL_CALL OStatusbarController::click(
     const css::awt::Point& aPos )
 {
-    if ( m_rController.is() )
-        m_rController->click( aPos );
+    if (m_pControl.is())
+        m_pControl->click(aPos);
 }
 
 void SAL_CALL OStatusbarController::doubleClick(
     const css::awt::Point& aPos )
 {
-    if ( m_rController.is() )
-        m_rController->doubleClick( aPos );
+    if (m_pControl.is())
+        m_pControl->doubleClick(aPos);
 }
 
 void SAL_CALL OStatusbarController::update()
 {
     ::svt::StatusbarController::update();
-    if ( m_rController.is() )
-        m_rController->update();
+    if (m_pControl.is())
+        m_pControl->update();
 }
 
 // XComponent
 void SAL_CALL OStatusbarController::dispose()
 {
-    if ( m_rController.is() )
-        ::comphelper::disposeComponent( m_rController );
+    if (m_pControl.is())
+    {
+        m_pControl->dispose();
+        m_pControl.clear();
+    }
 
     svt::StatusbarController::dispose();
 }
commit d9bfb484ae1ecfc19b91110063b7e5287e5199b7
Author:     Michael Weghorn <[email protected]>
AuthorDate: Thu Dec 11 20:19:01 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Dec 12 13:27:07 2025 +0100

    Pass SvxCharView by ref in handlers
    
    Pass it by reference instead of by pointer, which
    makes more clear it's always non-null.
    
    Change-Id: Ia9f380a8dac4f891c7573798bae24f046f3f7163
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195496
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/include/sfx2/charmapcontainer.hxx 
b/include/sfx2/charmapcontainer.hxx
index 5ca5ecc070df..b7be9fe237da 100644
--- a/include/sfx2/charmapcontainer.hxx
+++ b/include/sfx2/charmapcontainer.hxx
@@ -56,18 +56,18 @@ class SFX2_DLLPUBLIC SfxCharmapContainer
     Link<void*, void> m_aUpdateFavHdl;
     Link<void*, void> m_aUpdateRecentHdl;
 
-    DECL_DLLPRIVATE_LINK(RecentClearClickHdl, SvxCharView*, void);
-    DECL_DLLPRIVATE_LINK(FavClearClickHdl, SvxCharView*, void);
-    DECL_DLLPRIVATE_LINK(RecentClearAllClickHdl, SvxCharView*, void);
-    DECL_DLLPRIVATE_LINK(FavClearAllClickHdl, SvxCharView*, void);
+    DECL_DLLPRIVATE_LINK(RecentClearClickHdl, SvxCharView&, void);
+    DECL_DLLPRIVATE_LINK(FavClearClickHdl, SvxCharView&, void);
+    DECL_DLLPRIVATE_LINK(RecentClearAllClickHdl, SvxCharView&, void);
+    DECL_DLLPRIVATE_LINK(FavClearAllClickHdl, SvxCharView&, void);
 
 public:
     SfxCharmapContainer(weld::Builder& rBuilder, const VclPtr<VirtualDevice>& 
rVirDev,
                         bool bLockGridSizes);
 
-    void init(bool bHasInsert, const Link<SvxCharView*, void>& rMouseClickHdl,
+    void init(bool bHasInsert, const Link<SvxCharView&, void>& rMouseClickHdl,
               const Link<void*, void>& rUpdateFavHdl, const Link<void*, void>& 
rUpdateRecentHdl,
-              const Link<SvxCharView*, void>& rFocusInHdl = Link<SvxCharView*, 
void>());
+              const Link<SvxCharView&, void>& rFocusInHdl = Link<SvxCharView&, 
void>());
 
     void getFavCharacterList();
     void updateFavCharControl();
diff --git a/include/sfx2/charwin.hxx b/include/sfx2/charwin.hxx
index 4714f202ba67..e3a5a2bed982 100644
--- a/include/sfx2/charwin.hxx
+++ b/include/sfx2/charwin.hxx
@@ -34,10 +34,10 @@ private:
     bool            maHasInsert;
     OUString        m_sText;
 
-    Link<SvxCharView*, void> maFocusInHdl;
-    Link<SvxCharView*, void> maMouseClickHdl;
-    Link<SvxCharView*, void> maClearClickHdl;
-    Link<SvxCharView*, void> maClearAllClickHdl;
+    Link<SvxCharView&, void> maFocusInHdl;
+    Link<SvxCharView&, void> maMouseClickHdl;
+    Link<SvxCharView&, void> maClearClickHdl;
+    Link<SvxCharView&, void> maClearAllClickHdl;
 
     virtual void Paint(vcl::RenderContext& rRenderContext, const 
tools::Rectangle& rRect) override;
     virtual void Resize() override;
@@ -65,10 +65,10 @@ public:
 
     Size            get_preferred_size() const { return 
GetDrawingArea()->get_preferred_size(); }
 
-    void setFocusInHdl(const Link<SvxCharView*,void> &rLink);
-    void setMouseClickHdl(const Link<SvxCharView*,void> &rLink);
-    void setClearClickHdl(const Link<SvxCharView*,void> &rLink);
-    void setClearAllClickHdl(const Link<SvxCharView*,void> &rLink);
+    void setFocusInHdl(const Link<SvxCharView&, void>& rLink);
+    void setMouseClickHdl(const Link<SvxCharView&, void>& rLink);
+    void setClearClickHdl(const Link<SvxCharView&, void>& rLink);
+    void setClearAllClickHdl(const Link<SvxCharView&, void>& rLink);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/include/svx/cuicharmap.hxx b/include/svx/cuicharmap.hxx
index 47c463a389bf..8bd775b62edc 100644
--- a/include/svx/cuicharmap.hxx
+++ b/include/svx/cuicharmap.hxx
@@ -118,7 +118,7 @@ private:
     DECL_DLLPRIVATE_LINK(SearchCharHighlightHdl, SvxShowCharSet&, void);
     DECL_DLLPRIVATE_LINK(DecimalCodeChangeHdl, weld::Entry&, void);
     DECL_DLLPRIVATE_LINK(HexCodeChangeHdl, weld::Entry&, void);
-    DECL_DLLPRIVATE_LINK(CharClickHdl, SvxCharView*, void);
+    DECL_DLLPRIVATE_LINK(CharClickHdl, SvxCharView&, void);
     DECL_DLLPRIVATE_LINK(InsertClickHdl, weld::Button&, void);
     DECL_DLLPRIVATE_LINK(FavSelectHdl, weld::Button&, void);
     DECL_DLLPRIVATE_LINK(SearchUpdateHdl, weld::Entry&, void);
diff --git a/sfx2/inc/charmapcontrol.hxx b/sfx2/inc/charmapcontrol.hxx
index 7c46a0f8a5b5..286e3a0684fa 100644
--- a/sfx2/inc/charmapcontrol.hxx
+++ b/sfx2/inc/charmapcontrol.hxx
@@ -45,8 +45,8 @@ private:
     std::unique_ptr<weld::Button> m_xDlgBtn;
     std::unique_ptr<weld::Label> m_xCharInfoLabel;
 
-    DECL_LINK(CharFocusInHdl, SvxCharView*, void);
-    DECL_LINK(CharClickHdl, SvxCharView*, void);
+    DECL_LINK(CharFocusInHdl, SvxCharView&, void);
+    DECL_LINK(CharClickHdl, SvxCharView&, void);
     DECL_LINK(OpenDlgHdl, weld::Button&, void);
     DECL_LINK(DlgBtnFocusInHdl, weld::Widget&, void);
     DECL_LINK(UpdateRecentHdl, void*, void);
diff --git a/sfx2/source/control/charmapcontainer.cxx 
b/sfx2/source/control/charmapcontainer.cxx
index 7a310f45a944..f13068eb385b 100644
--- a/sfx2/source/control/charmapcontainer.cxx
+++ b/sfx2/source/control/charmapcontainer.cxx
@@ -103,10 +103,10 @@ SfxCharmapContainer::SfxCharmapContainer(weld::Builder& 
rBuilder, const VclPtr<V
     }
 }
 
-void SfxCharmapContainer::init(bool bHasInsert, const Link<SvxCharView*,void> 
&rMouseClickHdl,
+void SfxCharmapContainer::init(bool bHasInsert, const Link<SvxCharView&, 
void>& rMouseClickHdl,
                                const Link<void*, void>& rUpdateFavHdl,
                                const Link<void*, void>& rUpdateRecentHdl,
-                               const Link<SvxCharView*,void> &rFocusInHdl)
+                               const Link<SvxCharView&, void>& rFocusInHdl)
 {
     m_aUpdateFavHdl = rUpdateFavHdl;
     m_aUpdateRecentHdl = rUpdateRecentHdl;
@@ -297,10 +297,10 @@ bool SfxCharmapContainer::isFavChar(const OUString& 
rTitle, const OUString& rFon
     return std::ranges::find(m_aFavChars, CharAndFont(rTitle, rFont)) != 
m_aFavChars.end();
 }
 
-IMPL_LINK(SfxCharmapContainer, RecentClearClickHdl, SvxCharView*, rView, void)
+IMPL_LINK(SfxCharmapContainer, RecentClearClickHdl, SvxCharView&, rView, void)
 {
-    const OUString& sTitle = rView->GetText();
-    OUString sFont = rView->GetFont().GetFamilyName();
+    const OUString& sTitle = rView.GetText();
+    OUString sFont = rView.GetFont().GetFamilyName();
 
     // if recent char to be added is already in list, remove it
     auto itChar = std::ranges::find(m_aRecentChars, CharAndFont(sTitle, 
sFont));
@@ -326,7 +326,7 @@ IMPL_LINK(SfxCharmapContainer, RecentClearClickHdl, 
SvxCharView*, rView, void)
     updateRecentCharControl();
 }
 
-IMPL_LINK_NOARG(SfxCharmapContainer, RecentClearAllClickHdl, SvxCharView*, 
void)
+IMPL_LINK_NOARG(SfxCharmapContainer, RecentClearAllClickHdl, SvxCharView&, 
void)
 {
     m_aRecentChars.clear();
 
@@ -338,13 +338,13 @@ IMPL_LINK_NOARG(SfxCharmapContainer, 
RecentClearAllClickHdl, SvxCharView*, void)
     updateRecentCharControl();
 }
 
-IMPL_LINK(SfxCharmapContainer, FavClearClickHdl, SvxCharView*, rView, void)
+IMPL_LINK(SfxCharmapContainer, FavClearClickHdl, SvxCharView&, rView, void)
 {
-    deleteFavCharacterFromList(rView->GetText(), 
rView->GetFont().GetFamilyName());
+    deleteFavCharacterFromList(rView.GetText(), 
rView.GetFont().GetFamilyName());
     updateFavCharControl();
 }
 
-IMPL_LINK_NOARG(SfxCharmapContainer, FavClearAllClickHdl, SvxCharView*, void)
+IMPL_LINK_NOARG(SfxCharmapContainer, FavClearAllClickHdl, SvxCharView&, void)
 {
     m_aFavChars.clear();
 
diff --git a/sfx2/source/control/charmapcontrol.cxx 
b/sfx2/source/control/charmapcontrol.cxx
index c1ccdec401a1..b6d29b5eedf2 100644
--- a/sfx2/source/control/charmapcontrol.cxx
+++ b/sfx2/source/control/charmapcontrol.cxx
@@ -50,16 +50,16 @@ SfxCharmapCtrl::~SfxCharmapCtrl()
 {
 }
 
-IMPL_LINK(SfxCharmapCtrl, CharFocusInHdl, SvxCharView*, pView, void)
+IMPL_LINK(SfxCharmapCtrl, CharFocusInHdl, SvxCharView&, rView, void)
 {
-    m_xCharInfoLabel->set_label(pView->GetCharInfoText());
+    m_xCharInfoLabel->set_label(rView.GetCharInfoText());
 }
 
-IMPL_LINK(SfxCharmapCtrl, CharClickHdl, SvxCharView*, pView, void)
+IMPL_LINK(SfxCharmapCtrl, CharClickHdl, SvxCharView&, rView, void)
 {
     m_xControl->EndPopupMode();
 
-    pView->InsertCharToDoc();
+    rView.InsertCharToDoc();
 }
 
 IMPL_LINK_NOARG(SfxCharmapCtrl, OpenDlgHdl, weld::Button&, void)
diff --git a/sfx2/source/control/charwin.cxx b/sfx2/source/control/charwin.cxx
index cd5a14e30982..2a7c4f77e005 100644
--- a/sfx2/source/control/charwin.cxx
+++ b/sfx2/source/control/charwin.cxx
@@ -61,7 +61,7 @@ void SvxCharView::GetFocus()
 {
     Invalidate();
     if (maFocusInHdl.IsSet())
-        maFocusInHdl.Call(this);
+        maFocusInHdl.Call(*this);
 }
 
 void SvxCharView::LoseFocus() { Invalidate(); }
@@ -117,7 +117,7 @@ bool SvxCharView::MouseButtonDown(const MouseEvent& rMEvt)
             InsertCharToDoc();
         }
 
-        maMouseClickHdl.Call(this);
+        maMouseClickHdl.Call(*this);
         return true;
     }
 
@@ -174,9 +174,9 @@ void SvxCharView::createContextMenu(const Point& rPosition)
     const OUString sMenuId
         = xItemMenu->popup_at_rect(pDrawingArea, tools::Rectangle(rPosition, 
Size(1, 1)));
     if (sMenuId == u"clearchar")
-        maClearClickHdl.Call(this);
+        maClearClickHdl.Call(*this);
     else if (sMenuId == u"clearallchar")
-        maClearAllClickHdl.Call(this);
+        maClearAllClickHdl.Call(*this);
 
     Invalidate();
 }
@@ -271,19 +271,19 @@ void SvxCharView::Paint(vcl::RenderContext& 
rRenderContext, const tools::Rectang
         rRenderContext.SetFont(aOrigFont);
 }
 
-void SvxCharView::setFocusInHdl(const Link<SvxCharView*, void>& rLink) { 
maFocusInHdl = rLink; }
+void SvxCharView::setFocusInHdl(const Link<SvxCharView&, void>& rLink) { 
maFocusInHdl = rLink; }
 
-void SvxCharView::setMouseClickHdl(const Link<SvxCharView*, void>& rLink)
+void SvxCharView::setMouseClickHdl(const Link<SvxCharView&, void>& rLink)
 {
     maMouseClickHdl = rLink;
 }
 
-void SvxCharView::setClearClickHdl(const Link<SvxCharView*, void>& rLink)
+void SvxCharView::setClearClickHdl(const Link<SvxCharView&, void>& rLink)
 {
     maClearClickHdl = rLink;
 }
 
-void SvxCharView::setClearAllClickHdl(const Link<SvxCharView*, void>& rLink)
+void SvxCharView::setClearAllClickHdl(const Link<SvxCharView&, void>& rLink)
 {
     maClearAllClickHdl = rLink;
 }
diff --git a/svx/source/dialog/cuicharmap.cxx b/svx/source/dialog/cuicharmap.cxx
index e3959aa64884..ba6fd0c5923a 100644
--- a/svx/source/dialog/cuicharmap.cxx
+++ b/svx/source/dialog/cuicharmap.cxx
@@ -526,20 +526,19 @@ IMPL_LINK_NOARG(SvxCharacterMap, SearchUpdateHdl, 
weld::Entry&, void)
     }
 }
 
-
-IMPL_LINK(SvxCharacterMap, CharClickHdl, SvxCharView*, rView, void)
+IMPL_LINK(SvxCharacterMap, CharClickHdl, SvxCharView&, rView, void)
 {
-    rView->GrabFocus();
+    rView.GrabFocus();
 
-    SetCharFont(rView->GetFont());
-    m_aShowChar.SetText( rView->GetText() );
-    m_aShowChar.SetFont(rView->GetFont());
+    SetCharFont(rView.GetFont());
+    m_aShowChar.SetText(rView.GetText());
+    m_aShowChar.SetFont(rView.GetFont());
     m_aShowChar.Invalidate();
 
-    setFavButtonState(rView->GetText(), 
rView->GetFont().GetFamilyName());//check state
+    setFavButtonState(rView.GetText(), rView.GetFont().GetFamilyName()); 
//check state
 
     // Get the hexadecimal code
-    OUString charValue = rView->GetText();
+    OUString charValue = rView.GetText();
     sal_UCS4 cChar = 
charValue.iterateCodePoints(&o3tl::temporary(sal_Int32(1)), -1);
     OUString aHexText = OUString::number(cChar, 16).toAsciiUpperCase();
 
@@ -550,7 +549,7 @@ IMPL_LINK(SvxCharacterMap, CharClickHdl, SvxCharView*, 
rView, void)
     m_xDecimalCodeText->set_text(aDecimalText);
     setCharName(cChar);
 
-    rView->Invalidate();
+    rView.Invalidate();
     m_xOKBtn->set_sensitive(true);
 }
 

Reply via email to