compilerplugins/clang/vclwidgets.cxx | 33 ++++++++++++---------- cui/source/customize/cfg.cxx | 18 +++--------- cui/source/dialogs/SpellDialog.cxx | 4 +- cui/source/inc/SpellDialog.hxx | 2 - cui/source/inc/cfg.hxx | 8 ++--- cui/source/inc/cuitabline.hxx | 2 - cui/source/inc/numpages.hxx | 2 - cui/source/tabpages/numpages.cxx | 3 -- cui/source/tabpages/tpline.cxx | 3 -- include/tools/link.hxx | 22 ++++++-------- include/vcl/menubtn.hxx | 5 +-- sd/source/ui/animations/CustomAnimationDialog.cxx | 33 ++++++++-------------- sfx2/source/appl/appmain.cxx | 2 - sfx2/source/dialog/backingwindow.cxx | 4 -- sfx2/source/dialog/backingwindow.hxx | 2 - svx/source/form/datanavi.cxx | 15 ++++------ svx/source/inc/datanavi.hxx | 2 - sw/source/ui/envelp/envfmt.cxx | 9 ++---- sw/source/ui/envelp/envfmt.hxx | 2 - sw/source/ui/misc/glossary.cxx | 3 -- sw/source/uibase/inc/glossary.hxx | 2 - vcl/unx/generic/app/i18n_status.cxx | 5 +-- 22 files changed, 78 insertions(+), 103 deletions(-)
New commits: commit 4d28399ccdeeb43655aba89f14c58b26d379c780 Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 16:58:33 2015 +0200 Use typed Link for MenuButton::SetSelectHdl (and MenuButton::GetSelectHdl was unused) Change-Id: I94df06bcda9e041fde65553e30247874b20ff74b diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx index 96ed1ac..ac1a8b4 100644 --- a/cui/source/customize/cfg.cxx +++ b/cui/source/customize/cfg.cxx @@ -2428,7 +2428,7 @@ IMPL_LINK( SvxMenuConfigPage, SelectMenu, ListBox *, pBox ) return 0; } -IMPL_LINK( SvxMenuConfigPage, MenuSelectHdl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxMenuConfigPage, MenuSelectHdl, MenuButton *, pButton, void ) { OString sIdent = pButton->GetCurItemIdent(); @@ -2473,12 +2473,9 @@ IMPL_LINK( SvxMenuConfigPage, MenuSelectHdl, MenuButton *, pButton ) GetSaveInData()->SetModified( true ); } } - else - return sal_False; - return sal_True; } -IMPL_LINK( SvxMenuConfigPage, EntrySelectHdl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxMenuConfigPage, EntrySelectHdl, MenuButton *, pButton, void ) { OString sIdent = pButton->GetCurItemIdent(); if (sIdent == "addsubmenu") @@ -2538,15 +2535,13 @@ IMPL_LINK( SvxMenuConfigPage, EntrySelectHdl, MenuButton *, pButton ) } else { - return sal_False; + return; } if ( GetSaveInData()->IsModified() ) { UpdateButtonStates(); } - - return sal_True; } IMPL_LINK( SvxMenuConfigPage, AddFunctionHdl, @@ -3080,7 +3075,7 @@ void SvxToolbarConfigPage::MoveEntry( bool bMoveUp ) } } -IMPL_LINK( SvxToolbarConfigPage, ToolbarSelectHdl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxToolbarConfigPage, ToolbarSelectHdl, MenuButton *, pButton, void ) { sal_uInt16 nSelectionPos = m_pTopLevelListBox->GetSelectEntryPos(); @@ -3167,10 +3162,9 @@ IMPL_LINK( SvxToolbarConfigPage, ToolbarSelectHdl, MenuButton *, pButton ) break; } } - return 1; } -IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void ) { bool bNeedsApply = false; @@ -3444,8 +3438,6 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton ) static_cast<ToolbarSaveInData*>( GetSaveInData())->ApplyToolbar( pToolbar ); UpdateButtonStates(); } - - return 1; } void SvxToolbarConfigPage::Init() diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index 9f3e149..c1238be 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -916,9 +916,9 @@ IMPL_LINK(SpellDialog, AddToDictClickHdl, PushButton*, EMPTYARG ) } -IMPL_LINK(SpellDialog, AddToDictSelectHdl, MenuButton*, pButton ) +IMPL_LINK_TYPED(SpellDialog, AddToDictSelectHdl, MenuButton*, pButton, void ) { - return AddToDictionaryExecute(pButton->GetCurItemId(), pButton->GetPopupMenu()); + AddToDictionaryExecute(pButton->GetCurItemId(), pButton->GetPopupMenu()); } diff --git a/cui/source/inc/SpellDialog.hxx b/cui/source/inc/SpellDialog.hxx index 6f8b316..9e6d219 100644 --- a/cui/source/inc/SpellDialog.hxx +++ b/cui/source/inc/SpellDialog.hxx @@ -180,7 +180,7 @@ private: DECL_LINK(CancelHdl, void *); DECL_LINK( ModifyHdl, SentenceEditWindow_Impl *); DECL_LINK(UndoHdl, void *); - DECL_LINK( AddToDictSelectHdl, MenuButton* ); + DECL_LINK_TYPED( AddToDictSelectHdl, MenuButton*, void ); DECL_LINK( AddToDictClickHdl, PushButton* ); DECL_LINK( LanguageSelectHdl, SvxLanguageBox* ); DECL_LINK( DialogUndoHdl, SpellUndoAction_Impl* ); diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx index 3038b4b..fc52ab8 100644 --- a/cui/source/inc/cfg.hxx +++ b/cui/source/inc/cfg.hxx @@ -473,8 +473,8 @@ private: DECL_LINK( SelectMenu, ListBox * ); DECL_LINK( SelectMenuEntry, Control * ); DECL_LINK( NewMenuHdl, Button * ); - DECL_LINK( MenuSelectHdl, MenuButton * ); - DECL_LINK( EntrySelectHdl, MenuButton * ); + DECL_LINK_TYPED( MenuSelectHdl, MenuButton *, void ); + DECL_LINK_TYPED( EntrySelectHdl, MenuButton *, void ); DECL_LINK( AddCommandsHdl, Button * ); DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog * ); @@ -574,8 +574,8 @@ private: DECL_LINK( SelectToolbar, ListBox * ); DECL_LINK( SelectToolbarEntry, Control * ); - DECL_LINK( ToolbarSelectHdl, MenuButton * ); - DECL_LINK( EntrySelectHdl, MenuButton * ); + DECL_LINK_TYPED( ToolbarSelectHdl, MenuButton *, void ); + DECL_LINK_TYPED( EntrySelectHdl, MenuButton *, void ); DECL_LINK( NewToolbarHdl, Button * ); DECL_LINK( AddCommandsHdl, Button * ); DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog * ); diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx index a55dd13..6c4143c 100644 --- a/cui/source/inc/cuitabline.hxx +++ b/cui/source/inc/cuitabline.hxx @@ -176,7 +176,7 @@ private: sal_Int32 nActLineWidth; // handler for gallery popup menu button + size - DECL_LINK( GraphicHdl_Impl, MenuButton * ); + DECL_LINK_TYPED( GraphicHdl_Impl, MenuButton *, void ); DECL_LINK( MenuCreateHdl_Impl, MenuButton * ); DECL_STATIC_LINK( SvxLineTabPage, GraphicArrivedHdl_Impl, SvxBrushItem* ); DECL_LINK( SizeHdl_Impl, MetricField * ); diff --git a/cui/source/inc/numpages.hxx b/cui/source/inc/numpages.hxx index 3fe577a..625da38 100644 --- a/cui/source/inc/numpages.hxx +++ b/cui/source/inc/numpages.hxx @@ -330,7 +330,7 @@ class SvxNumOptionsTabPage : public SfxTabPage DECL_LINK( NumberTypeSelectHdl_Impl, ListBox * ); DECL_LINK( LevelHdl_Impl, ListBox * ); DECL_LINK(PopupActivateHdl_Impl, void *); - DECL_LINK( GraphicHdl_Impl, MenuButton * ); + DECL_LINK_TYPED( GraphicHdl_Impl, MenuButton *, void ); DECL_LINK(BulletHdl_Impl, void *); DECL_LINK( SizeHdl_Impl, MetricField * ); DECL_LINK( RatioHdl_Impl, CheckBox * ); diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx index c638187..797a37d 100644 --- a/cui/source/tabpages/numpages.cxx +++ b/cui/source/tabpages/numpages.cxx @@ -1959,7 +1959,7 @@ IMPL_LINK( SvxNumOptionsTabPage, BulRelSizeHdl_Impl, MetricField *, pField) return 0; } -IMPL_LINK( SvxNumOptionsTabPage, GraphicHdl_Impl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxNumOptionsTabPage, GraphicHdl_Impl, MenuButton *, pButton, void ) { sal_uInt16 nItemId = pButton->GetCurItemId(); OUString aGrfName; @@ -2035,7 +2035,6 @@ IMPL_LINK( SvxNumOptionsTabPage, GraphicHdl_Impl, MenuButton *, pButton ) //needed due to asynchronous loading of graphics in the SvxBrushItem aInvalidateTimer.Start(); } - return 0; } IMPL_LINK_NOARG(SvxNumOptionsTabPage, PopupActivateHdl_Impl) diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx index 184d428..25dfd8c 100644 --- a/cui/source/tabpages/tpline.cxx +++ b/cui/source/tabpages/tpline.cxx @@ -1777,10 +1777,9 @@ IMPL_STATIC_LINK(SvxLineTabPage, GraphicArrivedHdl_Impl, SvxBrushItem*, pItem) // #58425# Symbols on a list (e.g. StarChart) // Handler for menu button -IMPL_LINK( SvxLineTabPage, GraphicHdl_Impl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SvxLineTabPage, GraphicHdl_Impl, MenuButton *, pButton, void ) { SymbolSelected(pButton); - return 0; } IMPL_LINK( SvxLineTabPage, SizeHdl_Impl, MetricField *, pField) diff --git a/include/vcl/menubtn.hxx b/include/vcl/menubtn.hxx index ffeaa19..035e1fc 100644 --- a/include/vcl/menubtn.hxx +++ b/include/vcl/menubtn.hxx @@ -42,7 +42,7 @@ private: sal_uInt16 mnCurItemId; sal_uInt16 mnMenuMode; Link<> maActivateHdl; - Link<> maSelectHdl; + Link<MenuButton *, void> maSelectHdl; SAL_DLLPRIVATE void ImplInitMenuButtonData(); DECL_DLLPRIVATE_LINK( ImplMenuTimeoutHdl, void* ); @@ -79,8 +79,7 @@ public: void SetActivateHdl( const Link<>& rLink ) { maActivateHdl = rLink; } const Link<>& GetActivateHdl() const { return maActivateHdl; } - void SetSelectHdl( const Link<>& rLink ) { maSelectHdl = rLink; } - const Link<>& GetSelectHdl() const { return maSelectHdl; } + void SetSelectHdl( const Link<MenuButton *, void>& rLink ) { maSelectHdl = rLink; } }; #endif // INCLUDED_VCL_MENUBTN_HXX diff --git a/sd/source/ui/animations/CustomAnimationDialog.cxx b/sd/source/ui/animations/CustomAnimationDialog.cxx index 0e06814..e9c8dad 100644 --- a/sd/source/ui/animations/CustomAnimationDialog.cxx +++ b/sd/source/ui/animations/CustomAnimationDialog.cxx @@ -327,7 +327,7 @@ public: void Resize() SAL_OVERRIDE; bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; - void SetMenuSelectHdl( const Link<>& rLink ) { mpDropdownButton->SetSelectHdl( rLink ); } + void SetMenuSelectHdl( const Link<MenuButton *, void>& rLink ) { mpDropdownButton->SetSelectHdl( rLink ); } private: VclPtr<Edit> mpSubControl; @@ -409,7 +409,7 @@ public: virtual Control* getControl() SAL_OVERRIDE; - DECL_LINK( implMenuSelectHdl, MenuButton* ); + DECL_LINK_TYPED( implMenuSelectHdl, MenuButton*, void ); private: VclPtr<DropdownMenuBox> mpControl; @@ -440,7 +440,7 @@ CharHeightPropertyBox::~CharHeightPropertyBox() mpControl.disposeAndClear(); } -IMPL_LINK( CharHeightPropertyBox, implMenuSelectHdl, MenuButton*, pPb ) +IMPL_LINK_TYPED( CharHeightPropertyBox, implMenuSelectHdl, MenuButton*, pPb, void ) { long nValue = 100; switch( pPb->GetCurItemId() ) @@ -452,7 +452,6 @@ IMPL_LINK( CharHeightPropertyBox, implMenuSelectHdl, MenuButton*, pPb ) } mpMetric->SetValue( nValue ); mpMetric->Modify(); - return 0; } void CharHeightPropertyBox::setValue( const Any& rValue, const OUString& ) @@ -486,7 +485,7 @@ public: virtual Control* getControl() SAL_OVERRIDE; - DECL_LINK( implMenuSelectHdl, MenuButton* ); + DECL_LINK_TYPED( implMenuSelectHdl, MenuButton*, void ); DECL_LINK(implModifyHdl, void *); void updateMenu(); @@ -546,15 +545,13 @@ IMPL_LINK_NOARG(TransparencyPropertyBox, implModifyHdl) return 0; } -IMPL_LINK( TransparencyPropertyBox, implMenuSelectHdl, MenuButton*, pPb ) +IMPL_LINK_TYPED( TransparencyPropertyBox, implMenuSelectHdl, MenuButton*, pPb, void ) { if( pPb->GetCurItemId() != mpMetric->GetValue() ) { mpMetric->SetValue( pPb->GetCurItemId() ); mpMetric->Modify(); } - - return 0; } void TransparencyPropertyBox::setValue( const Any& rValue, const OUString& ) @@ -590,7 +587,7 @@ public: virtual Control* getControl() SAL_OVERRIDE; - DECL_LINK( implMenuSelectHdl, MenuButton* ); + DECL_LINK_TYPED( implMenuSelectHdl, MenuButton*, void ); DECL_LINK(implModifyHdl, void *); void updateMenu(); @@ -652,7 +649,7 @@ IMPL_LINK_NOARG(RotationPropertyBox, implModifyHdl) return 0; } -IMPL_LINK( RotationPropertyBox, implMenuSelectHdl, MenuButton*, pPb ) +IMPL_LINK_TYPED( RotationPropertyBox, implMenuSelectHdl, MenuButton*, pPb, void ) { sal_Int64 nValue = mpMetric->GetValue(); bool bDirection = nValue >= 0; @@ -678,8 +675,6 @@ IMPL_LINK( RotationPropertyBox, implMenuSelectHdl, MenuButton*, pPb ) mpMetric->SetValue( nValue ); mpMetric->Modify(); } - - return 0; } void RotationPropertyBox::setValue( const Any& rValue, const OUString& ) @@ -715,7 +710,7 @@ public: virtual Control* getControl() SAL_OVERRIDE; - DECL_LINK( implMenuSelectHdl, MenuButton* ); + DECL_LINK_TYPED( implMenuSelectHdl, MenuButton*, void ); DECL_LINK(implModifyHdl, void *); void updateMenu(); @@ -776,7 +771,7 @@ IMPL_LINK_NOARG(ScalePropertyBox, implModifyHdl) return 0; } -IMPL_LINK( ScalePropertyBox, implMenuSelectHdl, MenuButton*, pPb ) +IMPL_LINK_TYPED( ScalePropertyBox, implMenuSelectHdl, MenuButton*, pPb, void ) { sal_Int64 nValue = mpMetric->GetValue(); @@ -811,8 +806,6 @@ IMPL_LINK( ScalePropertyBox, implMenuSelectHdl, MenuButton*, pPb ) mpMetric->Modify(); updateMenu(); } - - return 0; } void ScalePropertyBox::setValue( const Any& rValue, const OUString& ) @@ -878,7 +871,7 @@ public: virtual Control* getControl() SAL_OVERRIDE; - DECL_LINK( implMenuSelectHdl, MenuButton* ); + DECL_LINK_TYPED( implMenuSelectHdl, MenuButton*, void ); void update(); @@ -930,7 +923,7 @@ void FontStylePropertyBox::update() mpEdit->Invalidate(); } -IMPL_LINK( FontStylePropertyBox, implMenuSelectHdl, MenuButton*, pPb ) +IMPL_LINK_TYPED( FontStylePropertyBox, implMenuSelectHdl, MenuButton*, pPb, void ) { switch( pPb->GetCurItemId() ) { @@ -953,13 +946,11 @@ IMPL_LINK( FontStylePropertyBox, implMenuSelectHdl, MenuButton*, pPb ) mnFontUnderline = awt::FontUnderline::SINGLE; break; default: - return 0; + return; } update(); maModifyHdl.Call(mpEdit.get()); - - return 0; } void FontStylePropertyBox::setValue( const Any& rValue, const OUString& ) diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index 6c5206d..a83884d 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -598,7 +598,7 @@ IMPL_LINK( BackingWindow, ClickHdl, Button*, pButton ) return 0; } -IMPL_LINK( BackingWindow, MenuSelectHdl, MenuButton*, pButton ) +IMPL_LINK_TYPED( BackingWindow, MenuSelectHdl, MenuButton*, pButton, void ) { initializeLocalView(); @@ -637,8 +637,6 @@ IMPL_LINK( BackingWindow, MenuSelectHdl, MenuButton*, pButton ) mpLocalView->Show(); mpLocalView->reload(); mpLocalView->GrabFocus(); - - return 0; } diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx index 7df6552..d45595d 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -113,7 +113,7 @@ class BackingWindow std::set<const ThumbnailViewItem*,selection_cmp_fn> maSelFolders; DECL_LINK(ClickHdl, Button*); - DECL_LINK(MenuSelectHdl, MenuButton*); + DECL_LINK_TYPED(MenuSelectHdl, MenuButton*, void); DECL_LINK(ExtLinkClickHdl, Button*); DECL_LINK(OpenRegionHdl, void*); DECL_LINK(OpenTemplateHdl, ThumbnailViewItem*); diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx index a92cca0..9799222 100644 --- a/svx/source/form/datanavi.cxx +++ b/svx/source/form/datanavi.cxx @@ -1375,12 +1375,12 @@ namespace svxform // handler m_pModelsBox->SetSelectHdl( LINK( this, DataNavigatorWindow, ModelSelectHdl ) ); - Link<> aLink = LINK( this, DataNavigatorWindow, MenuSelectHdl ); - m_pModelBtn->SetSelectHdl( aLink ); - m_pInstanceBtn->SetSelectHdl( aLink ); - aLink = LINK( this, DataNavigatorWindow, MenuActivateHdl ); - m_pModelBtn->SetActivateHdl( aLink ); - m_pInstanceBtn->SetActivateHdl( aLink ); + Link<MenuButton *, void> aLink1 = LINK( this, DataNavigatorWindow, MenuSelectHdl ); + m_pModelBtn->SetSelectHdl( aLink1 ); + m_pInstanceBtn->SetSelectHdl( aLink1 ); + Link<> aLink2 = LINK( this, DataNavigatorWindow, MenuActivateHdl ); + m_pModelBtn->SetActivateHdl( aLink2 ); + m_pInstanceBtn->SetActivateHdl( aLink2 ); m_pTabCtrl->SetActivatePageHdl( LINK( this, DataNavigatorWindow, ActivatePageHdl ) ); m_aUpdateTimer.SetTimeout( 2000 ); m_aUpdateTimer.SetTimeoutHdl( LINK( this, DataNavigatorWindow, UpdateHdl ) ); @@ -1470,7 +1470,7 @@ namespace svxform return 0; } - IMPL_LINK( DataNavigatorWindow, MenuSelectHdl, MenuButton *, pBtn ) + IMPL_LINK_TYPED( DataNavigatorWindow, MenuSelectHdl, MenuButton *, pBtn, void ) { bool bIsDocModified = false; Reference< css::xforms::XFormsUIHelper1 > xUIHelper; @@ -1770,7 +1770,6 @@ namespace svxform if ( bIsDocModified ) SetDocModified(); - return 0; } bool DataNavigatorWindow::IsAdditionalPage(sal_uInt16 nId) const diff --git a/svx/source/inc/datanavi.hxx b/svx/source/inc/datanavi.hxx index 00b2efb..2232b6a 100644 --- a/svx/source/inc/datanavi.hxx +++ b/svx/source/inc/datanavi.hxx @@ -351,7 +351,7 @@ namespace svxform XFrameModel_ref m_xFrameModel; DECL_LINK( ModelSelectHdl, ListBox * ); - DECL_LINK( MenuSelectHdl, MenuButton * ); + DECL_LINK_TYPED( MenuSelectHdl, MenuButton *, void ); DECL_LINK( MenuActivateHdl, MenuButton * ); DECL_LINK(ActivatePageHdl, void *); DECL_LINK(UpdateHdl, void *); diff --git a/sw/source/ui/envelp/envfmt.cxx b/sw/source/ui/envelp/envfmt.cxx index f549fbf..2073dd5 100644 --- a/sw/source/ui/envelp/envfmt.cxx +++ b/sw/source/ui/envelp/envfmt.cxx @@ -164,9 +164,9 @@ SwEnvFmtPage::SwEnvFmtPage(vcl::Window* pParent, const SfxItemSet& rSet) m_pSizeWidthField->SetLoseFocusHdl( aLk ); m_pSizeHeightField->SetLoseFocusHdl( aLk ); - aLk = LINK(this, SwEnvFmtPage, EditHdl ); - m_pAddrEditButton->SetSelectHdl( aLk ); - m_pSendEditButton->SetSelectHdl( aLk ); + Link<MenuButton *, void> aLk2 = LINK(this, SwEnvFmtPage, EditHdl ); + m_pAddrEditButton->SetSelectHdl( aLk2 ); + m_pSendEditButton->SetSelectHdl( aLk2 ); m_pPreview->SetBorderStyle( WindowBorderStyle::MONO ); @@ -254,7 +254,7 @@ IMPL_LINK( SwEnvFmtPage, ModifyHdl, Edit *, pEdit ) return 0; } -IMPL_LINK( SwEnvFmtPage, EditHdl, MenuButton *, pButton ) +IMPL_LINK_TYPED( SwEnvFmtPage, EditHdl, MenuButton *, pButton, void ) { SwWrtShell* pSh = GetParentSwEnvDlg()->pSh; OSL_ENSURE(pSh, "Shell missing"); @@ -342,7 +342,6 @@ IMPL_LINK( SwEnvFmtPage, EditHdl, MenuButton *, pButton ) } } } - return 0; } // A temporary Itemset that gets discarded at abort diff --git a/sw/source/ui/envelp/envfmt.hxx b/sw/source/ui/envelp/envfmt.hxx index 744f576..f028d28 100644 --- a/sw/source/ui/envelp/envfmt.hxx +++ b/sw/source/ui/envelp/envfmt.hxx @@ -44,7 +44,7 @@ class SwEnvFmtPage : public SfxTabPage std::vector<sal_uInt16> aIDs; DECL_LINK( ModifyHdl, Edit * ); - DECL_LINK( EditHdl, MenuButton * ); + DECL_LINK_TYPED( EditHdl, MenuButton *, void ); DECL_LINK(FormatHdl, void *); void SetMinMax(); diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index 46132d0..c8d4f07 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -783,7 +783,7 @@ void SwGlossaryDlg::Init() m_pInsertTipCB->SetClickHdl(LINK(this, SwGlossaryDlg, CheckBoxHdl)); } -IMPL_LINK_NOARG(SwGlossaryDlg, EditHdl) +IMPL_LINK_NOARG_TYPED(SwGlossaryDlg, EditHdl, MenuButton *, void) { // EndDialog must not be called in MenuHdl if (m_pEditBtn->GetCurItemIdent() == "edit") @@ -792,7 +792,6 @@ IMPL_LINK_NOARG(SwGlossaryDlg, EditHdl) delete pGroup; EndDialog(RET_EDIT); } - return 0; } // KeyInput for ShortName - Edits without Spaces diff --git a/sw/source/uibase/inc/glossary.hxx b/sw/source/uibase/inc/glossary.hxx index 62ae7b4..ca04532 100644 --- a/sw/source/uibase/inc/glossary.hxx +++ b/sw/source/uibase/inc/glossary.hxx @@ -129,7 +129,7 @@ class SwGlossaryDlg : public SvxStandardDialog DECL_LINK( MenuHdl, Menu * ); DECL_LINK( EnableHdl, Menu * ); DECL_LINK(BibHdl, void *); - DECL_LINK(EditHdl, void *); + DECL_LINK_TYPED(EditHdl, MenuButton *, void); DECL_LINK(InsertHdl, void *); DECL_LINK( PathHdl, Button * ); DECL_LINK( CheckBoxHdl, CheckBox * ); diff --git a/vcl/unx/generic/app/i18n_status.cxx b/vcl/unx/generic/app/i18n_status.cxx index 5df56b0..d61c0b7 100644 --- a/vcl/unx/generic/app/i18n_status.cxx +++ b/vcl/unx/generic/app/i18n_status.cxx @@ -306,7 +306,7 @@ class IIIMPStatusWindow : public StatusWindow bool m_bShow; bool m_bOn; - DECL_LINK( SelectHdl, MenuButton* ); + DECL_LINK_TYPED( SelectHdl, MenuButton*, void ); void show(); @@ -460,7 +460,7 @@ void IIIMPStatusWindow::GetFocus() } } -IMPL_LINK( IIIMPStatusWindow, SelectHdl, MenuButton*, pBtn ) +IMPL_LINK_TYPED( IIIMPStatusWindow, SelectHdl, MenuButton*, pBtn, void ) { if( pBtn == m_aStatusBtn ) { @@ -488,7 +488,6 @@ IMPL_LINK( IIIMPStatusWindow, SelectHdl, MenuButton*, pBtn ) } } } - return 0; } /* commit b705075634d54a57e5edfeae1791869186bf149a Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 16:56:23 2015 +0200 IMPL_LINK_NOARG_TYPED is more useful with a non-void* ArgType ...as it will be used to implement a function that needs to be compatiblie with some specific Link<Arg,Ret> type. Change-Id: Ieabd0ee499850a304e0c6e625953532be47ac784 diff --git a/include/tools/link.hxx b/include/tools/link.hxx index 3cf09bc..55dfbae 100644 --- a/include/tools/link.hxx +++ b/include/tools/link.hxx @@ -96,11 +96,11 @@ } \ RetType Class::Member(ArgType ArgName) -#define IMPL_LINK_NOARG_TYPED(Class, Member, RetType) \ - RetType Class::LinkStub##Member(void * instance, void * data) { \ +#define IMPL_LINK_NOARG_TYPED(Class, Member, ArgType, RetType) \ + RetType Class::LinkStub##Member(void * instance, ArgType data) { \ return static_cast<Class *>(instance)->Member(data); \ } \ - RetType Class::Member(SAL_UNUSED_PARAMETER void *) + RetType Class::Member(SAL_UNUSED_PARAMETER ArgType) #define IMPL_STATIC_LINK_TYPED(Class, Member, ArgType, ArgName, RetType) \ RetType Class::LinkStub##Member(void * instance, ArgType data) { \ @@ -115,12 +115,13 @@ } \ RetType Class::Member(SAL_UNUSED_PARAMETER Class *, ArgType ArgName) -#define IMPL_STATIC_LINK_NOINSTANCE_NOARG_TYPED(Class, Member, RetType) \ - RetType Class::LinkStub##Member(void * instance, void * data) { \ +#define IMPL_STATIC_LINK_NOINSTANCE_NOARG_TYPED( \ + Class, Member, ArgType, RetType) \ + RetType Class::LinkStub##Member(void * instance, ArgType data) { \ return Member(static_cast<Class *>(instance), data); \ } \ RetType Class::Member( \ - SAL_UNUSED_PARAMETER Class *, SAL_UNUSED_PARAMETER void *) + SAL_UNUSED_PARAMETER Class *, SAL_UNUSED_PARAMETER ArgType) #define LINK(Instance, Class, Member) ::tools::detail::makeLink( \ static_cast<Class *>(Instance), &Class::LinkStub##Member) commit 385a248513da5984d5c05301ae9d50a7876a826f Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 15:06:21 2015 +0200 Do not warn about Link<Window *> Change-Id: Id26adce17a2479eead935958556012f13f2821b7 diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx index a2f4ee1..d239c67 100644 --- a/compilerplugins/clang/vclwidgets.cxx +++ b/compilerplugins/clang/vclwidgets.cxx @@ -105,12 +105,17 @@ bool containsWindowSubclass(const Type* pType0) { if (pRecordDecl) { const ClassTemplateSpecializationDecl* pTemplate = dyn_cast<ClassTemplateSpecializationDecl>(pRecordDecl); if (pTemplate) { + bool link = pTemplate->getQualifiedNameAsString() == "Link"; for(unsigned i=0; i<pTemplate->getTemplateArgs().size(); ++i) { const TemplateArgument& rArg = pTemplate->getTemplateArgs()[i]; if (rArg.getKind() == TemplateArgument::ArgKind::Type && containsWindowSubclass(rArg.getAsType())) { - return true; + // OK for first template argument of tools/link.hxx Link + // to be a Window-derived pointer: + if (!link || i != 0) { + return true; + } } } } commit a8174d258d4ad1f151a245b80e5a9bbddc731f2a Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 15:05:23 2015 +0200 streamline containsWindowSubclass Change-Id: I56d61b577df00855a49dd618e9dafcdb86cd7ca4 diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx index f984dcb..a2f4ee1 100644 --- a/compilerplugins/clang/vclwidgets.cxx +++ b/compilerplugins/clang/vclwidgets.cxx @@ -80,20 +80,18 @@ bool isDerivedFromWindow(const CXXRecordDecl *decl) { bool containsWindowSubclass(const Type* pType0); bool containsWindowSubclass(const QualType& qType) { - if (startsWith(qType.getAsString(), "VclPtr")) - return false; - if (startsWith(qType.getAsString(), "const VclPtr")) - return false; - if (startsWith(qType.getAsString(), "class VclPtr")) - return false; - if (startsWith(qType.getAsString(), "const class VclPtr")) - return false; - if (startsWith(qType.getAsString(), "ScopedVclPtr")) - return false; - if (startsWith(qType.getAsString(), "class ScopedVclPtr")) - return false; - if (startsWith(qType.getAsString(), "const class ScopedVclPtr")) - return false; + auto t = qType->getAs<RecordType>(); + if (t != nullptr) { + auto d = dyn_cast<ClassTemplateSpecializationDecl>(t->getDecl()); + if (d != nullptr) { + std::string name(d->getQualifiedNameAsString()); + if (name == "ScopedVclPtr" || name == "ScopedVclPtrInstance" + || name == "VclPtr" || name == "VclPtrInstance") + { + return false; + } + } + } return containsWindowSubclass(qType.getTypePtr()); } commit 85895a76a436007cebc05f0da36e8b1cdb815868 Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 15:04:04 2015 +0200 Fix Link<T, void>::Call Change-Id: Id85f33eab2767961f24688fffac84416b1cb22d8 diff --git a/include/tools/link.hxx b/include/tools/link.hxx index bb6ca2d..3cf09bc 100644 --- a/include/tools/link.hxx +++ b/include/tools/link.hxx @@ -137,7 +137,7 @@ public: function_(function), instance_(instance) {} Ret Call(Arg data) const - { return function_ == nullptr ? Ret{} : (*function_)(instance_, data); } + { return function_ == nullptr ? Ret() : (*function_)(instance_, data); } bool IsSet() const { return function_ != nullptr; } commit b3068470966530fa1d0b0c76d9095c6edb6a0df0 Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 15:03:12 2015 +0200 No need for LINK vs LINK_TYPED distinction (fully qualify ::tools::detail::makeLink to avoid clashes with namespace basegfx::tools) Change-Id: I52818d0a47c78f1af7673ff91eb6517bc0820655 diff --git a/include/tools/link.hxx b/include/tools/link.hxx index d157bc0..bb6ca2d 100644 --- a/include/tools/link.hxx +++ b/include/tools/link.hxx @@ -74,9 +74,6 @@ sal_IntPtr Class::Member( \ SAL_UNUSED_PARAMETER Class *, SAL_UNUSED_PARAMETER void *) -#define LINK(Instance, Class, Member) \ - Link<>(static_cast<Class *>(Instance), &Class::LinkStub##Member) - #define DECL_LINK_TYPED(Member, ArgType, RetType) \ static RetType LinkStub##Member(void *, ArgType); \ RetType Member(ArgType) @@ -125,7 +122,7 @@ RetType Class::Member( \ SAL_UNUSED_PARAMETER Class *, SAL_UNUSED_PARAMETER void *) -#define LINK_TYPED(Instance, Class, Member) tools::detail::makeLink( \ +#define LINK(Instance, Class, Member) ::tools::detail::makeLink( \ static_cast<Class *>(Instance), &Class::LinkStub##Member) #define EMPTYARG diff --git a/sfx2/source/appl/appmain.cxx b/sfx2/source/appl/appmain.cxx index 128b6f9..c8f8da8 100644 --- a/sfx2/source/appl/appmain.cxx +++ b/sfx2/source/appl/appmain.cxx @@ -51,7 +51,7 @@ SfxFilterMatcher& SfxApplication::GetFilterMatcher() if( !pAppData_Impl->pMatcher ) { pAppData_Impl->pMatcher = new SfxFilterMatcher(); - URIHelper::SetMaybeFileHdl( LINK_TYPED( + URIHelper::SetMaybeFileHdl( LINK( pAppData_Impl->pMatcher, SfxFilterMatcher, MaybeFileHdl_Impl ) ); } return *pAppData_Impl->pMatcher; commit ebd62f7c793552fc9c10480421e2740413922b39 Author: Stephan Bergmann <[email protected]> Date: Thu Apr 30 15:01:43 2015 +0200 Missing param name Change-Id: I1fd2e76c098d0bffb446a1b2133d3392bfbb3de7 diff --git a/include/tools/link.hxx b/include/tools/link.hxx index 16a5818..d157bc0 100644 --- a/include/tools/link.hxx +++ b/include/tools/link.hxx @@ -94,7 +94,7 @@ SAL_DLLPRIVATE static RetType Member(Class *, ArgType) #define IMPL_LINK_TYPED(Class, Member, ArgType, ArgName, RetType) \ - RetType Class::LinkStub##Member(void * instance, ArgType) { \ + RetType Class::LinkStub##Member(void * instance, ArgType data) { \ return static_cast<Class *>(instance)->Member(data); \ } \ RetType Class::Member(ArgType ArgName) _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
