[Libreoffice-commits] core.git: avmedia/source basctl/source basic/source cui/source dbaccess/source desktop/inc desktop/source extensions/source forms/source formula/source fpicker/source framework/inc framework/source include/dbaccess include/framework include/sfx2 include/svtools include/svx include/vcl reportdesign/source sc/source sd/source sfx2/inc sfx2/source svtools/source svx/inc svx/source sw/inc sw/source toolkit/source uui/source vcl/inc vcl/source vcl/unx

Noel Grandin noel at peralex.com
Fri Aug 28 00:50:44 PDT 2015


 avmedia/source/gstreamer/gstplayer.cxx                               |    8 
 basctl/source/basicide/basobj2.cxx                                   |    9 
 basic/source/classes/sbxmod.cxx                                      |    5 
 cui/source/customize/cfg.cxx                                         |    6 
 cui/source/dialogs/SpellDialog.cxx                                   |    3 
 cui/source/dialogs/cuigaldlg.cxx                                     |    6 
 cui/source/dialogs/scriptdlg.cxx                                     |    6 
 cui/source/dialogs/thesdlg.cxx                                       |    4 
 cui/source/inc/SpellDialog.hxx                                       |    2 
 cui/source/inc/cfg.hxx                                               |    2 
 cui/source/inc/cuigaldlg.hxx                                         |    4 
 cui/source/inc/optlingu.hxx                                          |    2 
 cui/source/inc/scriptdlg.hxx                                         |    2 
 cui/source/inc/thesdlg.hxx                                           |    2 
 cui/source/options/optjava.cxx                                       |    4 
 cui/source/options/optjava.hxx                                       |   16 -
 cui/source/options/optlingu.cxx                                      |    3 
 dbaccess/source/core/dataaccess/intercept.cxx                        |    4 
 dbaccess/source/core/dataaccess/intercept.hxx                        |    2 
 dbaccess/source/ext/macromigration/macromigrationdialog.cxx          |    5 
 dbaccess/source/ext/macromigration/macromigrationdialog.hxx          |    2 
 dbaccess/source/filter/xml/dbloader2.cxx                             |    5 
 dbaccess/source/ui/app/AppController.cxx                             |    3 
 dbaccess/source/ui/app/AppController.hxx                             |    4 
 dbaccess/source/ui/app/AppControllerDnD.cxx                          |    4 
 dbaccess/source/ui/app/AppDetailPageHelper.cxx                       |    5 
 dbaccess/source/ui/app/AppSwapWindow.cxx                             |    3 
 dbaccess/source/ui/app/AppSwapWindow.hxx                             |    2 
 dbaccess/source/ui/browser/AsynchronousLink.cxx                      |    8 
 dbaccess/source/ui/browser/dsbrowserDnD.cxx                          |    4 
 dbaccess/source/ui/browser/sbagrid.cxx                               |    8 
 dbaccess/source/ui/control/RelationControl.cxx                       |   10 
 dbaccess/source/ui/control/TableGrantCtrl.cxx                        |    6 
 dbaccess/source/ui/control/dbtreelistbox.cxx                         |    4 
 dbaccess/source/ui/dlg/directsql.cxx                                 |    3 
 dbaccess/source/ui/dlg/dsselect.cxx                                  |    4 
 dbaccess/source/ui/dlg/dsselect.hxx                                  |    2 
 dbaccess/source/ui/dlg/indexdialog.cxx                               |    4 
 dbaccess/source/ui/dlg/odbcconfig.cxx                                |    8 
 dbaccess/source/ui/dlg/odbcconfig.hxx                                |    4 
 dbaccess/source/ui/inc/RelationController.hxx                        |    2 
 dbaccess/source/ui/inc/TableGrantCtrl.hxx                            |    4 
 dbaccess/source/ui/inc/TableWindowListBox.hxx                        |    4 
 dbaccess/source/ui/inc/dbtreelistbox.hxx                             |    2 
 dbaccess/source/ui/inc/directsql.hxx                                 |    2 
 dbaccess/source/ui/inc/indexdialog.hxx                               |    2 
 dbaccess/source/ui/inc/querycontroller.hxx                           |    2 
 dbaccess/source/ui/inc/sbagrid.hxx                                   |    4 
 dbaccess/source/ui/inc/unodatbr.hxx                                  |    2 
 dbaccess/source/ui/misc/asyncmodaldialog.cxx                         |    5 
 dbaccess/source/ui/querydesign/TableWindowListBox.cxx                |    6 
 dbaccess/source/ui/querydesign/querycontroller.cxx                   |    3 
 dbaccess/source/ui/relationdesign/RelationController.cxx             |    3 
 dbaccess/source/ui/tabledesign/TEditControl.cxx                      |   18 -
 dbaccess/source/ui/tabledesign/TEditControl.hxx                      |   10 
 desktop/inc/app.hxx                                                  |    4 
 desktop/source/app/app.cxx                                           |    6 
 desktop/source/app/officeipcthread.cxx                               |   10 
 desktop/source/deployment/gui/dp_gui_dialog2.cxx                     |   10 
 desktop/source/deployment/gui/dp_gui_dialog2.hxx                     |    6 
 extensions/source/bibliography/bibbeam.cxx                           |    3 
 extensions/source/bibliography/bibbeam.hxx                           |    2 
 extensions/source/bibliography/bibview.cxx                           |    3 
 extensions/source/bibliography/bibview.hxx                           |    2 
 extensions/source/bibliography/framectr.cxx                          |    3 
 extensions/source/bibliography/framectr.hxx                          |    2 
 extensions/source/bibliography/toolbar.cxx                           |    2 
 extensions/source/bibliography/toolbar.hxx                           |    4 
 extensions/source/plugin/base/nfuncs.cxx                             |    6 
 extensions/source/plugin/base/xplugin.cxx                            |    5 
 extensions/source/plugin/inc/plugin/impl.hxx                         |    2 
 extensions/source/plugin/inc/plugin/unx/plugcon.hxx                  |    2 
 extensions/source/plugin/unx/npnapi.cxx                              |    3 
 extensions/source/plugin/unx/nppapi.cxx                              |    5 
 extensions/source/propctrlr/formlinkdialog.cxx                       |    3 
 extensions/source/propctrlr/formlinkdialog.hxx                       |    2 
 extensions/source/propctrlr/standardcontrol.cxx                      |    4 
 extensions/source/propctrlr/standardcontrol.hxx                      |    8 
 extensions/source/scanner/scanwin.cxx                                |   12 
 extensions/source/update/ui/updatecheckui.cxx                        |    6 
 forms/source/component/Button.cxx                                    |    7 
 forms/source/component/Button.hxx                                    |    2 
 forms/source/component/Edit.cxx                                      |    5 
 forms/source/component/Edit.hxx                                      |    2 
 forms/source/component/FormattedField.cxx                            |    3 
 forms/source/component/FormattedField.hxx                            |    2 
 formula/source/ui/dlg/ControlHelper.hxx                              |    2 
 formula/source/ui/dlg/funcutl.cxx                                    |    3 
 fpicker/source/office/asyncfilepicker.cxx                            |    8 
 fpicker/source/office/asyncfilepicker.hxx                            |    2 
 fpicker/source/office/commonpicker.cxx                               |    6 
 fpicker/source/office/commonpicker.hxx                               |    2 
 framework/inc/services/layoutmanager.hxx                             |    2 
 framework/inc/uielement/complextoolbarcontroller.hxx                 |    4 
 framework/inc/uielement/generictoolbarcontroller.hxx                 |    2 
 framework/inc/uielement/newmenucontroller.hxx                        |    2 
 framework/inc/uielement/toolbarmanager.hxx                           |    2 
 framework/inc/uielement/toolbarsmenucontroller.hxx                   |    2 
 framework/source/fwe/classes/addonsoptions.cxx                       |    3 
 framework/source/layoutmanager/layoutmanager.cxx                     |    6 
 framework/source/uielement/complextoolbarcontroller.cxx              |    8 
 framework/source/uielement/generictoolbarcontroller.cxx              |    4 
 framework/source/uielement/newmenucontroller.cxx                     |    4 
 framework/source/uielement/recentfilesmenucontroller.cxx             |    6 
 framework/source/uielement/toolbarmanager.cxx                        |    4 
 framework/source/uielement/toolbarsmenucontroller.cxx                |    4 
 include/dbaccess/AsynchronousLink.hxx                                |    2 
 include/framework/addonsoptions.hxx                                  |    2 
 include/sfx2/filedlghelper.hxx                                       |    2 
 include/sfx2/hintpost.hxx                                            |    2 
 include/sfx2/recentdocsview.hxx                                      |    2 
 include/sfx2/sidebar/AsynchronousCall.hxx                            |    2 
 include/svtools/addresstemplate.hxx                                  |    2 
 include/svtools/asynclink.hxx                                        |    2 
 include/svtools/contextmenuhelper.hxx                                |    2 
 include/svtools/editbrowsebox.hxx                                    |    6 
 include/svtools/fileview.hxx                                         |    2 
 include/svtools/generictoolboxcontroller.hxx                         |    2 
 include/svtools/popupmenucontrollerbase.hxx                          |    2 
 include/svtools/toolboxcontroller.hxx                                |    2 
 include/svx/colrctrl.hxx                                             |    2 
 include/svx/fmgridcl.hxx                                             |    2 
 include/svx/gridctrl.hxx                                             |    4 
 include/svx/sdr/table/tablecontroller.hxx                            |    2 
 include/vcl/dialog.hxx                                               |    2 
 include/vcl/evntpost.hxx                                             |    2 
 include/vcl/floatwin.hxx                                             |    2 
 include/vcl/menu.hxx                                                 |   12 
 include/vcl/svapp.hxx                                                |    6 
 include/vcl/threadex.hxx                                             |    2 
 include/vcl/toolbox.hxx                                              |    2 
 include/vcl/window.hxx                                               |    6 
 reportdesign/source/ui/dlg/GroupsSorting.cxx                         |   13 
 reportdesign/source/ui/inc/ReportController.hxx                      |    4 
 reportdesign/source/ui/inc/propbrw.hxx                               |    2 
 reportdesign/source/ui/report/ReportController.cxx                   |    6 
 reportdesign/source/ui/report/propbrw.cxx                            |    3 
 sc/source/ui/condformat/condformatdlg.cxx                            |   14 
 sc/source/ui/drawfunc/fupoor.cxx                                     |    3 
 sc/source/ui/inc/condformatdlg.hxx                                   |    2 
 sc/source/ui/inc/content.hxx                                         |    2 
 sc/source/ui/inc/fupoor.hxx                                          |    2 
 sc/source/ui/inc/preview.hxx                                         |    2 
 sc/source/ui/inc/tphf.hxx                                            |    6 
 sc/source/ui/navipi/content.cxx                                      |    3 
 sc/source/ui/pagedlg/tphf.cxx                                        |    6 
 sc/source/ui/vba/vbaeventshelper.cxx                                 |    6 
 sc/source/ui/view/cellsh2.cxx                                        |    5 
 sc/source/ui/view/preview.cxx                                        |    3 
 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx             |   13 
 sd/source/ui/annotations/annotationmanager.cxx                       |    4 
 sd/source/ui/annotations/annotationmanagerimpl.hxx                   |    2 
 sd/source/ui/annotations/annotationtag.cxx                           |    3 
 sd/source/ui/annotations/annotationtag.hxx                           |    2 
 sd/source/ui/dlg/filedlg.cxx                                         |    6 
 sd/source/ui/dlg/sdtreelb.cxx                                        |    3 
 sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx |    4 
 sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.hxx |    2 
 sd/source/ui/inc/View.hxx                                            |    2 
 sd/source/ui/inc/sdtreelb.hxx                                        |    2 
 sd/source/ui/inc/slideshow.hxx                                       |    2 
 sd/source/ui/inc/view/viewoverlaymanager.hxx                         |    2 
 sd/source/ui/presenter/CanvasUpdateRequester.cxx                     |    3 
 sd/source/ui/presenter/CanvasUpdateRequester.hxx                     |    2 
 sd/source/ui/sidebar/MasterPageContainer.cxx                         |    7 
 sd/source/ui/slideshow/SlideShowRestarter.cxx                        |    3 
 sd/source/ui/slideshow/SlideShowRestarter.hxx                        |    2 
 sd/source/ui/slideshow/slideshow.cxx                                 |    3 
 sd/source/ui/slideshow/slideshowimpl.cxx                             |    8 
 sd/source/ui/slideshow/slideshowimpl.hxx                             |    4 
 sd/source/ui/slidesorter/controller/SlsClipboard.cxx                 |    4 
 sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx             |    2 
 sd/source/ui/view/ToolBarManager.cxx                                 |   10 
 sd/source/ui/view/sdview2.cxx                                        |    5 
 sd/source/ui/view/viewoverlaymanager.cxx                             |    3 
 sfx2/inc/inettbc.hxx                                                 |    2 
 sfx2/source/appl/fileobj.cxx                                         |    4 
 sfx2/source/appl/fileobj.hxx                                         |    2 
 sfx2/source/control/recentdocsview.cxx                               |    4 
 sfx2/source/dialog/backingwindow.cxx                                 |    6 
 sfx2/source/dialog/filedlghelper.cxx                                 |    8 
 sfx2/source/dialog/filedlgimpl.hxx                                   |    4 
 sfx2/source/dialog/taskpane.cxx                                      |    5 
 sfx2/source/dialog/templdlg.cxx                                      |   21 -
 sfx2/source/dialog/tplcitem.cxx                                      |    4 
 sfx2/source/inc/templdgi.hxx                                         |    3 
 sfx2/source/inc/tplcitem.hxx                                         |    2 
 sfx2/source/inet/inettbc.cxx                                         |    4 
 sfx2/source/notify/hintpost.cxx                                      |    5 
 sfx2/source/sidebar/AsynchronousCall.cxx                             |    6 
 sfx2/source/view/viewsh.cxx                                          |    7 
 svtools/source/brwbox/editbrowsebox.cxx                              |   10 
 svtools/source/contnr/fileview.cxx                                   |    8 
 svtools/source/contnr/imivctl.hxx                                    |    4 
 svtools/source/contnr/imivctl1.cxx                                   |    3 
 svtools/source/contnr/svimpbox.cxx                                   |    3 
 svtools/source/control/asynclink.cxx                                 |    3 
 svtools/source/control/tabbar.cxx                                    |    6 
 svtools/source/dialogs/addresstemplate.cxx                           |    4 
 svtools/source/hatchwindow/documentcloser.cxx                        |    7 
 svtools/source/inc/svimpbox.hxx                                      |    2 
 svtools/source/table/tablecontrol_impl.cxx                           |    3 
 svtools/source/table/tablecontrol_impl.hxx                           |    2 
 svtools/source/uno/contextmenuhelper.cxx                             |    4 
 svtools/source/uno/generictoolboxcontroller.cxx                      |    4 
 svtools/source/uno/popupmenucontrollerbase.cxx                       |    4 
 svtools/source/uno/toolboxcontroller.cxx                             |    4 
 svx/inc/galbrws2.hxx                                                 |    2 
 svx/source/fmcomp/fmgridcl.cxx                                       |   11 
 svx/source/fmcomp/gridctrl.cxx                                       |    7 
 svx/source/form/delayedevent.cxx                                     |    4 
 svx/source/form/filtnav.cxx                                          |    4 
 svx/source/form/fmPropBrw.cxx                                        |    3 
 svx/source/form/fmscriptingenv.cxx                                   |    8 
 svx/source/form/fmshimp.cxx                                          |   14 
 svx/source/form/fmvwimp.cxx                                          |   31 -
 svx/source/form/navigatortree.cxx                                    |    4 
 svx/source/gallery2/galbrws1.cxx                                     |    8 
 svx/source/gallery2/galbrws1.hxx                                     |    4 
 svx/source/gallery2/galbrws2.cxx                                     |    4 
 svx/source/inc/delayedevent.hxx                                      |    2 
 svx/source/inc/filtnav.hxx                                           |    2 
 svx/source/inc/fmPropBrw.hxx                                         |    2 
 svx/source/inc/fmexpl.hxx                                            |    2 
 svx/source/inc/fmshimp.hxx                                           |    6 
 svx/source/inc/fmvwimp.hxx                                           |    8 
 svx/source/table/tablecontroller.cxx                                 |    4 
 svx/source/tbxctrls/colrctrl.cxx                                     |    3 
 sw/inc/PostItMgr.hxx                                                 |  160 +++++-----
 sw/inc/SidebarWin.hxx                                                |    2 
 sw/inc/view.hxx                                                      |    2 
 sw/source/core/docnode/retrievedinputstreamdata.cxx                  |   10 
 sw/source/core/inc/retrievedinputstreamdata.hxx                      |    2 
 sw/source/filter/html/swhtml.cxx                                     |    3 
 sw/source/filter/html/swhtml.hxx                                     |    2 
 sw/source/ui/config/mailconfigpage.cxx                               |    5 
 sw/source/ui/dbui/addresslistdialog.cxx                              |    6 
 sw/source/ui/dbui/addresslistdialog.hxx                              |    2 
 sw/source/ui/dbui/mmoutputpage.hxx                                   |    4 
 sw/source/ui/dbui/mmoutputtypepage.cxx                               |    9 
 sw/source/uibase/app/apphdl.cxx                                      |   27 -
 sw/source/uibase/dialog/regionsw.cxx                                 |    4 
 sw/source/uibase/docvw/PostItMgr.cxx                                 |    5 
 sw/source/uibase/docvw/SidebarWin.cxx                                |    3 
 sw/source/uibase/inc/basesh.hxx                                      |    2 
 sw/source/uibase/inc/conttree.hxx                                    |    2 
 sw/source/uibase/inc/wrtsh.hxx                                       |    2 
 sw/source/uibase/shells/textsh2.cxx                                  |    9 
 sw/source/uibase/uiview/viewling.cxx                                 |    6 
 sw/source/uibase/uiview/viewmdi.cxx                                  |    6 
 sw/source/uibase/utlui/glbltree.cxx                                  |    3 
 toolkit/source/awt/asynccallback.cxx                                 |    6 
 toolkit/source/awt/vclxwindow.cxx                                    |    8 
 uui/source/iahndl.cxx                                                |   12 
 uui/source/iahndl.hxx                                                |    6 
 vcl/inc/svdata.hxx                                                   |    4 
 vcl/inc/unx/sm.hxx                                                   |    8 
 vcl/source/app/svapp.cxx                                             |   14 
 vcl/source/gdi/print3.cxx                                            |    6 
 vcl/source/helper/evntpost.cxx                                       |    4 
 vcl/source/helper/threadex.cxx                                       |    3 
 vcl/source/window/dialog.cxx                                         |    5 
 vcl/source/window/dockmgr.cxx                                        |    5 
 vcl/source/window/dockwin.cxx                                        |    5 
 vcl/source/window/event.cxx                                          |    5 
 vcl/source/window/floatwin.cxx                                       |    3 
 vcl/source/window/menu.cxx                                           |    3 
 vcl/source/window/mouse.cxx                                          |    3 
 vcl/source/window/toolbox2.cxx                                       |    3 
 vcl/source/window/winproc.cxx                                        |   21 -
 vcl/unx/generic/app/i18n_status.cxx                                  |    5 
 vcl/unx/generic/app/sm.cxx                                           |   15 
 272 files changed, 603 insertions(+), 838 deletions(-)

New commits:
commit bd8b93fdff93ff7b2b7e493a7bcef6a59f299dae
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Aug 27 13:08:02 2015 +0200

    make PostUserEvent Link<> typed
    
    Change-Id: I13f10bda985d55d419a5bff481130a456ae2db8a

diff --git a/avmedia/source/gstreamer/gstplayer.cxx b/avmedia/source/gstreamer/gstplayer.cxx
index 4282833..be36322 100644
--- a/avmedia/source/gstreamer/gstplayer.cxx
+++ b/avmedia/source/gstreamer/gstplayer.cxx
@@ -108,8 +108,7 @@ public:
 private:
     void processQueue();
 
-    DECL_STATIC_LINK(
-        MissingPluginInstaller, launchUi, MissingPluginInstallerThread *);
+    DECL_STATIC_LINK_TYPED(MissingPluginInstaller, launchUi, void*, void);
 
     osl::Mutex mutex_;
     std::set<OString> reported_;
@@ -236,9 +235,9 @@ void MissingPluginInstaller::processQueue() {
     queued_.clear();
 }
 
-IMPL_STATIC_LINK(
-    MissingPluginInstaller, launchUi, MissingPluginInstallerThread *, thread)
+IMPL_STATIC_LINK_TYPED(MissingPluginInstaller, launchUi, void *, p, void)
 {
+    MissingPluginInstallerThread* thread = static_cast<MissingPluginInstallerThread*>(p);
     rtl::Reference<MissingPluginInstallerThread> ref(thread, SAL_NO_ACQUIRE);
     gst_pb_utils_init();
         // not thread safe; hopefully fine to consistently call from our event
@@ -249,7 +248,6 @@ IMPL_STATIC_LINK(
         // gst_missing_plugin_message_get_installer_detail before calling
         // gst_pb_utils_init
     ref->launch();
-    return 0;
 }
 
 struct TheMissingPluginInstaller:
diff --git a/basctl/source/basicide/basobj2.cxx b/basctl/source/basicide/basobj2.cxx
index 41e4955..4152e36 100644
--- a/basctl/source/basicide/basobj2.cxx
+++ b/basctl/source/basicide/basobj2.cxx
@@ -207,12 +207,13 @@ namespace
     class MacroExecution
     {
     public:
-        DECL_STATIC_LINK( MacroExecution, ExecuteMacroEvent, MacroExecutionData* );
+        DECL_STATIC_LINK_TYPED( MacroExecution, ExecuteMacroEvent, void*, void );
     };
 
-    IMPL_STATIC_LINK( MacroExecution, ExecuteMacroEvent, MacroExecutionData*, i_pData )
+    IMPL_STATIC_LINK_TYPED( MacroExecution, ExecuteMacroEvent, void*, p, void )
     {
-        ENSURE_OR_RETURN( i_pData, "wrong MacroExecutionData", 0L );
+        MacroExecutionData* i_pData = static_cast<MacroExecutionData*>(p);
+        ENSURE_OR_RETURN_VOID( i_pData, "wrong MacroExecutionData" );
         // take ownership of the data
         boost::scoped_ptr< MacroExecutionData > pData( i_pData );
 
@@ -225,8 +226,6 @@ namespace
             pUndoGuard.reset( new ::framework::DocumentUndoGuard( pData->aDocument.getDocument() ) );
 
         RunMethod(pData->xMethod);
-
-        return 1L;
     }
 }
 
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index 698d55e..364199c 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -469,13 +469,12 @@ public:
         uno::Reference< frame::XDesktop2 > xDeskTop = frame::Desktop::create( comphelper::getProcessComponentContext() );
         xDeskTop->terminate();
     }
-    DECL_STATIC_LINK( AsyncQuitHandler, OnAsyncQuit, void* );
+    DECL_STATIC_LINK_TYPED( AsyncQuitHandler, OnAsyncQuit, void*, void );
 };
 
-IMPL_STATIC_LINK_NOARG( AsyncQuitHandler, OnAsyncQuit )
+IMPL_STATIC_LINK_NOARG_TYPED( AsyncQuitHandler, OnAsyncQuit, void*, void )
 {
     QuitApplication();
-    return 0L;
 }
 
 // A Basic module has set EXTSEARCH, so that the elements, that the modul contains,
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index fca6544..2664fcc 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -2113,16 +2113,12 @@ SvTreeListEntry* SvxConfigPage::InsertEntryIntoUI(
     return pNewEntry;
 }
 
-IMPL_LINK( SvxConfigPage, AsyncInfoMsg, OUString*, pMsg )
+IMPL_LINK_NOARG_TYPED( SvxConfigPage, AsyncInfoMsg, void*, void )
 {
-    (void)pMsg;
-
     // Asynchronous msg because of D&D
     ScopedVclPtr<MessageDialog>::Create( this,
         CUI_RES( RID_SVXSTR_MNUCFG_ALREADY_INCLUDED ),
         VCL_MESSAGE_INFO )->Execute();
-
-    return 0;
 }
 
 IMPL_LINK_TYPED( SvxConfigPage, MoveHdl, Button *, pButton, void )
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index 420e644..45d302f 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -441,7 +441,7 @@ void SpellDialog::SpellContinue_Impl(bool bUseSavedSentence, bool bIgnoreCurrent
 /* Initialize, asynchronous to prevent virtial calls
    from a constructor
  */
-IMPL_LINK( SpellDialog, InitHdl, SpellDialog *, )
+IMPL_LINK_NOARG_TYPED( SpellDialog, InitHdl, void*, void)
 {
     SetUpdateMode( false );
     //show or hide AutoCorrect depending on the modules abilities
@@ -468,7 +468,6 @@ IMPL_LINK( SpellDialog, InitHdl, SpellDialog *, )
     m_pCheckGrammarCB->Check( rParent.IsGrammarChecking() );
     SetUpdateMode( true );
     Show();
-    return 0;
 };
 
 
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index f5c6db0..5774baa 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -245,7 +245,7 @@ IMPL_LINK_NOARG_TYPED(SearchProgress, ClickCancelBtn, Button*, void)
 
 
 
-IMPL_LINK_NOARG(SearchProgress, CleanUpHdl)
+IMPL_LINK_NOARG_TYPED(SearchProgress, CleanUpHdl, void*, void)
 {
     if (maSearchThread.is())
         maSearchThread->join();
@@ -253,7 +253,6 @@ IMPL_LINK_NOARG(SearchProgress, CleanUpHdl)
     EndDialog( RET_OK );
 
     disposeOnce();
-    return 0L;
 }
 
 
@@ -381,7 +380,7 @@ IMPL_LINK_NOARG_TYPED(TakeProgress, ClickCancelBtn, Button*, void)
     Terminate();
 }
 
-IMPL_LINK_NOARG(TakeProgress, CleanUpHdl)
+IMPL_LINK_NOARG_TYPED(TakeProgress, CleanUpHdl, void*, void)
 {
     if (maTakeThread.is())
         maTakeThread->join();
@@ -430,7 +429,6 @@ IMPL_LINK_NOARG(TakeProgress, CleanUpHdl)
 
     EndDialog( RET_OK );
     disposeOnce();
-    return 0L;
 }
 
 
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index 6e5e509..734fae9 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -1480,9 +1480,9 @@ short SvxScriptErrorDialog::Execute()
     return 0;
 }
 
-IMPL_STATIC_LINK(
-    SvxScriptErrorDialog, ShowDialog, OUString*, pMessage )
+IMPL_STATIC_LINK_TYPED( SvxScriptErrorDialog, ShowDialog, void*, p, void )
 {
+    OUString* pMessage = static_cast<OUString*>(p);
     OUString message;
 
     if ( pMessage && !pMessage->isEmpty() )
@@ -1499,8 +1499,6 @@ IMPL_STATIC_LINK(
     pBox->Execute();
 
     delete pMessage;
-
-    return 0;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/dialogs/thesdlg.cxx b/cui/source/dialogs/thesdlg.cxx
index 1448d18..5dcf4e3 100644
--- a/cui/source/dialogs/thesdlg.cxx
+++ b/cui/source/dialogs/thesdlg.cxx
@@ -437,11 +437,11 @@ IMPL_LINK( SvxThesaurusDialog, AlternativesDoubleClickHdl_Impl, SvxCheckListBox
     return 0;
 }
 
-IMPL_STATIC_LINK( SvxThesaurusDialog, SelectFirstHdl_Impl, SvxCheckListBox *, pBox )
+IMPL_STATIC_LINK_TYPED( SvxThesaurusDialog, SelectFirstHdl_Impl, void *, p, void )
 {
+    SvxCheckListBox* pBox = static_cast<SvxCheckListBox*>(p);
     if (pBox && pBox->GetEntryCount() >= 2)
         pBox->SelectEntryPos( 1 );  // pos 0 is a 'header' that is not selectable
-    return 0;
 }
 
 // class SvxThesaurusDialog ----------------------------------------------
diff --git a/cui/source/inc/SpellDialog.hxx b/cui/source/inc/SpellDialog.hxx
index 3f676d8..c33921c 100644
--- a/cui/source/inc/SpellDialog.hxx
+++ b/cui/source/inc/SpellDialog.hxx
@@ -187,7 +187,7 @@ private:
     DECL_LINK( DialogUndoHdl, SpellUndoAction_Impl* );
     DECL_LINK( HandleHyperlink, FixedHyperlink * );
 
-    DECL_LINK( InitHdl, SpellDialog * );
+    DECL_LINK_TYPED( InitHdl, void*, void );
 
     int             AddToDictionaryExecute( sal_uInt16 ItemId, PopupMenu *pMenu );
     void            StartSpellOptDlg_Impl();
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index 511040d..f73b634 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -327,7 +327,7 @@ private:
     SaveInData*                         pCurrentSaveInData;
 
     DECL_LINK(  SelectSaveInLocation, ListBox * );
-    DECL_LINK(  AsyncInfoMsg, OUString* );
+    DECL_LINK_TYPED( AsyncInfoMsg, void*, void );
 
 protected:
 
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index 1883de8..30036c7 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -96,7 +96,7 @@ public:
     virtual             ~SearchProgress();
     virtual void        dispose() SAL_OVERRIDE;
 
-                        DECL_LINK( CleanUpHdl, void* );
+                        DECL_LINK_TYPED( CleanUpHdl, void*, void );
 
     virtual short       Execute() SAL_OVERRIDE;
     virtual void        StartExecuteModal( const Link<>& rEndDialogHdl ) SAL_OVERRIDE;
@@ -142,7 +142,7 @@ public:
     virtual ~TakeProgress();
     virtual void dispose() SAL_OVERRIDE;
 
-    DECL_LINK( CleanUpHdl, void* );
+    DECL_LINK_TYPED( CleanUpHdl, void*, void );
 
     void                SetFile( const INetURLObject& rURL ) { m_pFtTakeFile->SetText( GetReducedString( rURL, 30 ) ); }
     virtual short       Execute() SAL_OVERRIDE;
diff --git a/cui/source/inc/optlingu.hxx b/cui/source/inc/optlingu.hxx
index 50bce86..89a8e67 100644
--- a/cui/source/inc/optlingu.hxx
+++ b/cui/source/inc/optlingu.hxx
@@ -140,7 +140,7 @@ private:
     DECL_LINK_TYPED( ClickHdl_Impl, Button *, void );
     DECL_LINK( BoxDoubleClickHdl_Impl, SvTreeListBox * );
     DECL_LINK( BoxCheckButtonHdl_Impl, SvTreeListBox * );
-    DECL_LINK(PostDblClickHdl_Impl, void *);
+    DECL_LINK_TYPED(PostDblClickHdl_Impl, void *, void);
     DECL_LINK(OpenURLHdl_Impl, void *);
 
     void                UpdateModulesBox_Impl();
diff --git a/cui/source/inc/scriptdlg.hxx b/cui/source/inc/scriptdlg.hxx
index a60cc41..9224bb6 100644
--- a/cui/source/inc/scriptdlg.hxx
+++ b/cui/source/inc/scriptdlg.hxx
@@ -189,7 +189,7 @@ private:
 
     OUString m_sMessage;
 
-    DECL_STATIC_LINK( SvxScriptErrorDialog, ShowDialog, OUString* );
+    DECL_STATIC_LINK_TYPED( SvxScriptErrorDialog, ShowDialog, void*, void );
 
 public:
 
diff --git a/cui/source/inc/thesdlg.hxx b/cui/source/inc/thesdlg.hxx
index 6fd929d..af209a1 100644
--- a/cui/source/inc/thesdlg.hxx
+++ b/cui/source/inc/thesdlg.hxx
@@ -149,7 +149,7 @@ public:
     DECL_LINK( AlternativesSelectHdl_Impl, SvxCheckListBox * );
     DECL_LINK( AlternativesDoubleClickHdl_Impl, SvxCheckListBox * );
 
-    DECL_STATIC_LINK( SvxThesaurusDialog, SelectFirstHdl_Impl, SvxCheckListBox * );
+    DECL_STATIC_LINK_TYPED( SvxThesaurusDialog, SelectFirstHdl_Impl, void*, void );
 
     css::uno::Sequence< css::uno::Reference< css::linguistic2::XMeaning > >
             queryMeanings_Impl( OUString& rTerm, const css::lang::Locale& rLocale, const css::beans::PropertyValues& rProperties ) throw(css::lang::IllegalArgumentException, css::uno::RuntimeException);
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index ee9afe0..3836b16 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -396,7 +396,7 @@ IMPL_LINK_NOARG_TYPED(SvxJavaOptionsPage, ResetHdl_Impl, Idle *, void)
 
 
 
-IMPL_LINK_NOARG(SvxJavaOptionsPage, StartFolderPickerHdl)
+IMPL_LINK_NOARG_TYPED(SvxJavaOptionsPage, StartFolderPickerHdl, void*, void)
 {
     try
     {
@@ -410,8 +410,6 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, StartFolderPickerHdl)
     {
         SAL_WARN( "cui.options", "SvxJavaOptionsPage::StartFolderPickerHdl(): caught exception" );
     }
-
-    return 0L;
 }
 
 
diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx
index 70acc0e..1cb35fe 100644
--- a/cui/source/options/optjava.hxx
+++ b/cui/source/options/optjava.hxx
@@ -84,18 +84,18 @@ private:
     css::uno::Reference< ::svt::DialogClosedListener > xDialogListener;
     css::uno::Reference< css::ui::dialogs::XFolderPicker2 > xFolderPicker;
 
-    DECL_LINK_TYPED(EnableHdl_Impl, Button*, void);
+    DECL_LINK_TYPED(        EnableHdl_Impl, Button*, void);
     DECL_LINK(              CheckHdl_Impl, SvSimpleTable * );
-    DECL_LINK(SelectHdl_Impl, void *);
-    DECL_LINK_TYPED(AddHdl_Impl, Button*, void);
-    DECL_LINK_TYPED(ParameterHdl_Impl, Button*, void);
-    DECL_LINK_TYPED(ClassPathHdl_Impl, Button*, void);
-    DECL_LINK_TYPED(ResetHdl_Impl, Idle *, void);
+    DECL_LINK(              SelectHdl_Impl, void *);
+    DECL_LINK_TYPED(        AddHdl_Impl, Button*, void);
+    DECL_LINK_TYPED(        ParameterHdl_Impl, Button*, void);
+    DECL_LINK_TYPED(        ClassPathHdl_Impl, Button*, void);
+    DECL_LINK_TYPED(        ResetHdl_Impl, Idle *, void);
 
-    DECL_LINK(              StartFolderPickerHdl, void * );
+    DECL_LINK_TYPED(        StartFolderPickerHdl, void *, void );
     DECL_LINK_TYPED(        DialogClosedHdl, css::ui::dialogs::DialogClosedEvent*, void );
 
-    DECL_LINK_TYPED(ExpertConfigHdl_Impl, Button*, void);
+    DECL_LINK_TYPED(        ExpertConfigHdl_Impl, Button*, void);
 
     void                    ClearJavaInfo();
     void                    ClearJavaList();
diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index 10cfb0c..35c8b89 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -1534,10 +1534,9 @@ IMPL_LINK( SvxLinguTabPage, BoxDoubleClickHdl_Impl, SvTreeListBox *, pBox )
 
 
 
-IMPL_LINK_NOARG(SvxLinguTabPage, PostDblClickHdl_Impl)
+IMPL_LINK_NOARG_TYPED(SvxLinguTabPage, PostDblClickHdl_Impl, void*, void)
 {
     ClickHdl_Impl(m_pLinguModulesEditPB);
-    return 0;
 }
 
 
diff --git a/dbaccess/source/core/dataaccess/intercept.cxx b/dbaccess/source/core/dataaccess/intercept.cxx
index 63facdf..07d14d5 100644
--- a/dbaccess/source/core/dataaccess/intercept.cxx
+++ b/dbaccess/source/core/dataaccess/intercept.cxx
@@ -177,7 +177,7 @@ void SAL_CALL OInterceptor::dispatch( const URL& _URL,const Sequence<PropertyVal
     }
 }
 
-IMPL_LINK( OInterceptor, OnDispatch, void*, _pDispatcher )
+IMPL_LINK_TYPED( OInterceptor, OnDispatch, void*, _pDispatcher, void )
 {
     boost::scoped_ptr<DispatchHelper> pHelper( static_cast< DispatchHelper* >( _pDispatcher ) );
     try
@@ -200,8 +200,6 @@ IMPL_LINK( OInterceptor, OnDispatch, void*, _pDispatcher )
     {
         DBG_UNHANDLED_EXCEPTION();
     }
-
-    return 0L;
 }
 
 void SAL_CALL OInterceptor::addStatusListener(
diff --git a/dbaccess/source/core/dataaccess/intercept.hxx b/dbaccess/source/core/dataaccess/intercept.hxx
index 2d7e8ec..571e620 100644
--- a/dbaccess/source/core/dataaccess/intercept.hxx
+++ b/dbaccess/source/core/dataaccess/intercept.hxx
@@ -39,7 +39,7 @@ class OInterceptor : public ::cppu::WeakImplHelper< css::frame::XDispatchProvide
                                                     css::frame::XDispatch,
                                                     css::document::XDocumentEventListener>
 {
-    DECL_LINK( OnDispatch, void*  );
+    DECL_LINK_TYPED( OnDispatch, void*, void );
 protected:
     virtual ~OInterceptor();
 public:
diff --git a/dbaccess/source/ext/macromigration/macromigrationdialog.cxx b/dbaccess/source/ext/macromigration/macromigrationdialog.cxx
index 4745d24a..f894fa8 100644
--- a/dbaccess/source/ext/macromigration/macromigrationdialog.cxx
+++ b/dbaccess/source/ext/macromigration/macromigrationdialog.cxx
@@ -278,7 +278,7 @@ namespace dbmm
         return MacroMigrationDialog_Base::onFinish();
     }
 
-    IMPL_LINK_NOARG( MacroMigrationDialog, OnStartMigration )
+    IMPL_LINK_NOARG_TYPED( MacroMigrationDialog, OnStartMigration, void*, void )
     {
         // prevent closing
         m_pData->bMigrationIsRunning = true;
@@ -307,9 +307,6 @@ namespace dbmm
         {   // if there was an error, show the summary automatically
             travelNext();
         }
-
-        // outta here
-        return 0L;
     }
 
     void MacroMigrationDialog::impl_showCloseDocsError( bool _bShow )
diff --git a/dbaccess/source/ext/macromigration/macromigrationdialog.hxx b/dbaccess/source/ext/macromigration/macromigrationdialog.hxx
index c4247dc..dc01920 100644
--- a/dbaccess/source/ext/macromigration/macromigrationdialog.hxx
+++ b/dbaccess/source/ext/macromigration/macromigrationdialog.hxx
@@ -65,7 +65,7 @@ namespace dbmm
         void    impl_reloadDocument_nothrow( bool _bMigrationSuccess );
 
     private:
-        DECL_LINK( OnStartMigration, void* );
+        DECL_LINK_TYPED( OnStartMigration, void*, void );
 
     private:
         ::std::unique_ptr< MacroMigrationDialog_Data >    m_pData;
diff --git a/dbaccess/source/filter/xml/dbloader2.cxx b/dbaccess/source/filter/xml/dbloader2.cxx
index 0726f04a..cbf6f38 100644
--- a/dbaccess/source/filter/xml/dbloader2.cxx
+++ b/dbaccess/source/filter/xml/dbloader2.cxx
@@ -231,7 +231,7 @@ private:
     OUString                            m_sCurrentURL;
     ImplSVEvent * m_nStartWizard;
 
-    DECL_LINK( OnStartTableWizard, void* );
+    DECL_LINK_TYPED( OnStartTableWizard, void*, void );
 public:
     explicit DBContentLoader(const Reference< XComponentContext >&);
     virtual ~DBContentLoader();
@@ -562,7 +562,7 @@ void DBContentLoader::cancel() throw(std::exception)
 {
 }
 
-IMPL_LINK_NOARG( DBContentLoader, OnStartTableWizard )
+IMPL_LINK_NOARG_TYPED( DBContentLoader, OnStartTableWizard, void*, void )
 {
     m_nStartWizard = 0;
     try
@@ -583,7 +583,6 @@ IMPL_LINK_NOARG( DBContentLoader, OnStartTableWizard )
         OSL_FAIL("caught an exception while starting the table wizard!");
     }
     m_xMySelf = NULL;
-    return 0L;
 }
 
 }
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index e2ac957..52e9949 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -1897,11 +1897,10 @@ IMPL_LINK( OApplicationController, OnSelectContainer, void*, _pType )
     return 0L;
 }
 
-IMPL_LINK( OApplicationController, OnCreateWithPilot, void*, _pType )
+IMPL_LINK_TYPED( OApplicationController, OnCreateWithPilot, void*, _pType, void )
 {
     ElementType eType = (ElementType)reinterpret_cast< sal_IntPtr >( _pType );
     newElementWithPilot( eType );
-    return 0L;
 }
 
 void OApplicationController::newElementWithPilot( ElementType _eType )
diff --git a/dbaccess/source/ui/app/AppController.hxx b/dbaccess/source/ui/app/AppController.hxx
index fda9a6a..034a69a 100644
--- a/dbaccess/source/ui/app/AppController.hxx
+++ b/dbaccess/source/ui/app/AppController.hxx
@@ -525,8 +525,8 @@ namespace dbaui
 
         void OnInvalidateClipboard();
         DECL_LINK_TYPED( OnClipboardChanged, TransferableDataHelper*, void );
-        DECL_LINK( OnAsyncDrop, void* );
-        DECL_LINK( OnCreateWithPilot, void* );
+        DECL_LINK_TYPED( OnAsyncDrop, void*, void );
+        DECL_LINK_TYPED( OnCreateWithPilot, void*, void );
         DECL_LINK( OnSelectContainer, void* );
         void OnFirstControllerConnected();
 
diff --git a/dbaccess/source/ui/app/AppControllerDnD.cxx b/dbaccess/source/ui/app/AppControllerDnD.cxx
index f294325..484acf8 100644
--- a/dbaccess/source/ui/app/AppControllerDnD.cxx
+++ b/dbaccess/source/ui/app/AppControllerDnD.cxx
@@ -796,7 +796,7 @@ bool OApplicationController::isTableFormat()  const
     return OTableCopyHelper::isTableFormat(getViewClipboard());
 }
 
-IMPL_LINK_NOARG( OApplicationController, OnAsyncDrop )
+IMPL_LINK_NOARG_TYPED( OApplicationController, OnAsyncDrop, void*, void )
 {
     m_nAsyncDrop = 0;
     SolarMutexGuard aSolarGuard;
@@ -828,8 +828,6 @@ IMPL_LINK_NOARG( OApplicationController, OnAsyncDrop )
     }
 
     m_aAsyncDrop.aDroppedData.clear();
-
-    return 0L;
 }
 
 }   // namespace dbaui
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index d7723af..c935867 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -127,7 +127,7 @@ namespace
     // class OPreviewWindow
     class OTablePreviewWindow : public vcl::Window
     {
-        DECL_LINK(OnDisableInput, void*);
+        DECL_LINK_TYPED(OnDisableInput, void*, void);
         void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
     protected:
         virtual void DataChanged(const DataChangedEvent& rDCEvt) SAL_OVERRIDE;
@@ -146,10 +146,9 @@ namespace
             PostUserEvent( LINK( this, OTablePreviewWindow, OnDisableInput), NULL, true );
         return nRet;
     }
-    IMPL_LINK_NOARG(OTablePreviewWindow, OnDisableInput)
+    IMPL_LINK_NOARG_TYPED(OTablePreviewWindow, OnDisableInput, void*, void)
     {
         EnableInput(false);
-        return 0L;
     }
     void OTablePreviewWindow::DataChanged( const DataChangedEvent& rDCEvt )
     {
diff --git a/dbaccess/source/ui/app/AppSwapWindow.cxx b/dbaccess/source/ui/app/AppSwapWindow.cxx
index b7ddc15..f8c57ce 100644
--- a/dbaccess/source/ui/app/AppSwapWindow.cxx
+++ b/dbaccess/source/ui/app/AppSwapWindow.cxx
@@ -170,10 +170,9 @@ IMPL_LINK(OApplicationSwapWindow, OnContainerSelectHdl, SvtIconChoiceCtrl*, _pCo
     return 1L;
 }
 
-IMPL_LINK_NOARG(OApplicationSwapWindow, ChangeToLastSelected)
+IMPL_LINK_NOARG_TYPED(OApplicationSwapWindow, ChangeToLastSelected, void*, void)
 {
     selectContainer(m_eLastType);
-    return 0L;
 }
 
 void OApplicationSwapWindow::selectContainer(ElementType _eType)
diff --git a/dbaccess/source/ui/app/AppSwapWindow.hxx b/dbaccess/source/ui/app/AppSwapWindow.hxx
index 11f04fc..dba8d5f 100644
--- a/dbaccess/source/ui/app/AppSwapWindow.hxx
+++ b/dbaccess/source/ui/app/AppSwapWindow.hxx
@@ -38,7 +38,7 @@ namespace dbaui
         void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
 
         DECL_LINK( OnContainerSelectHdl,    SvtIconChoiceCtrl* );
-        DECL_LINK( ChangeToLastSelected, void* );
+        DECL_LINK_TYPED( ChangeToLastSelected, void*, void );
     protected:
         virtual void DataChanged(const DataChangedEvent& rDCEvt) SAL_OVERRIDE;
     public:
diff --git a/dbaccess/source/ui/browser/AsynchronousLink.cxx b/dbaccess/source/ui/browser/AsynchronousLink.cxx
index 8dd872f..6b2dbe4 100644
--- a/dbaccess/source/ui/browser/AsynchronousLink.cxx
+++ b/dbaccess/source/ui/browser/AsynchronousLink.cxx
@@ -65,7 +65,7 @@ void OAsynchronousLink::CancelCall()
     m_nEventId = 0;
 }
 
-IMPL_LINK(OAsynchronousLink, OnAsyncCall, void*, _pArg)
+IMPL_LINK_TYPED(OAsynchronousLink, OnAsyncCall, void*, _pArg, void)
 {
     {
         ::osl::MutexGuard aDestructionGuard( m_aDestructionSafety );
@@ -74,14 +74,12 @@ IMPL_LINK(OAsynchronousLink, OnAsyncCall, void*, _pArg)
             if (!m_nEventId)
                 // our destructor deleted the event just while we are waiting for m_aEventSafety
                 // -> get outta here
-                return 0;
+                return;
             m_nEventId = 0;
         }
     }
     if (m_aHandler.IsSet())
-        return m_aHandler.Call(_pArg);
-
-    return 0L;
+        m_aHandler.Call(_pArg);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/browser/dsbrowserDnD.cxx b/dbaccess/source/ui/browser/dsbrowserDnD.cxx
index dbec287..2f51473 100644
--- a/dbaccess/source/ui/browser/dsbrowserDnD.cxx
+++ b/dbaccess/source/ui/browser/dsbrowserDnD.cxx
@@ -215,7 +215,7 @@ namespace dbaui
         if (pTransfer)
             pTransfer->CopyToClipboard(getView());
     }
-    IMPL_LINK_NOARG( SbaTableQueryBrowser, OnAsyncDrop )
+    IMPL_LINK_NOARG_TYPED( SbaTableQueryBrowser, OnAsyncDrop, void*, void )
     {
         m_nAsyncDrop = 0;
         SolarMutexGuard aSolarGuard;
@@ -232,8 +232,6 @@ namespace dbaui
         }
 
         m_aAsyncDrop.aDroppedData.clear();
-
-        return 0L;
     }
     void SbaTableQueryBrowser::clearTreeModel()
     {
diff --git a/dbaccess/source/ui/browser/sbagrid.cxx b/dbaccess/source/ui/browser/sbagrid.cxx
index 29ca432..a1f1b70 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -361,7 +361,7 @@ Reference< css::frame::XDispatch >  SAL_CALL SbaXGridPeer::queryDispatch(const c
     return FmXGridPeer::queryDispatch(aURL, aTargetFrameName, nSearchFlags);
 }
 
-IMPL_LINK_NOARG( SbaXGridPeer, OnDispatchEvent )
+IMPL_LINK_NOARG_TYPED( SbaXGridPeer, OnDispatchEvent, void*, void )
 {
     VclPtr< SbaGridControl > pGrid = GetAs< SbaGridControl >();
     if ( pGrid )    // if this fails, we were disposing before arriving here
@@ -380,8 +380,6 @@ IMPL_LINK_NOARG( SbaXGridPeer, OnDispatchEvent )
             SbaXGridPeer::dispatch( aArgs.aURL, aArgs.aArgs );
         }
     }
-
-    return 0;
 }
 
 SbaXGridPeer::DispatchType SbaXGridPeer::classifyDispatchURL( const URL& _rURL )
@@ -1444,7 +1442,7 @@ Reference< XPropertySet >  SbaGridControl::getDataSource() const
     return xReturn;
 }
 
-IMPL_LINK_NOARG(SbaGridControl, AsynchDropEvent)
+IMPL_LINK_NOARG_TYPED(SbaGridControl, AsynchDropEvent, void*, void)
 {
     m_nAsyncDropEvent = 0;
 
@@ -1487,8 +1485,6 @@ IMPL_LINK_NOARG(SbaGridControl, AsynchDropEvent)
             setDataSource(Reference< XRowSet >(xDataSource,UNO_QUERY));
     }
     m_aDataDescriptor.clear();
-
-    return 0L;
 }
 
 OUString SbaGridControl::GetAccessibleObjectDescription( ::svt::AccessibleBrowseBoxObjType eObjType,sal_Int32 _nPosition) const
diff --git a/dbaccess/source/ui/control/RelationControl.cxx b/dbaccess/source/ui/control/RelationControl.cxx
index 0ba230e..d1603a2 100644
--- a/dbaccess/source/ui/control/RelationControl.cxx
+++ b/dbaccess/source/ui/control/RelationControl.cxx
@@ -120,10 +120,10 @@ namespace dbaui
 
         virtual void CellModified() SAL_OVERRIDE;
 
-        DECL_LINK( AsynchDeactivate, void* );
+        DECL_LINK_TYPED( AsynchDeactivate, void*, void );
     private:
 
-        DECL_LINK( AsynchActivate, void* );
+        DECL_LINK_TYPED( AsynchActivate, void*, void );
 
     };
 
@@ -200,16 +200,14 @@ namespace dbaui
         return EditBrowseBox::PreNotify(rNEvt);
     }
 
-    IMPL_LINK_NOARG(ORelationControl, AsynchActivate)
+    IMPL_LINK_NOARG_TYPED(ORelationControl, AsynchActivate, void*, void)
     {
         ActivateCell();
-        return 0L;
     }
 
-    IMPL_LINK_NOARG(ORelationControl, AsynchDeactivate)
+    IMPL_LINK_NOARG_TYPED(ORelationControl, AsynchDeactivate, void*, void)
     {
         DeactivateCell();
-        return 0L;
     }
 
     bool ORelationControl::IsTabAllowed(bool bForward) const
diff --git a/dbaccess/source/ui/control/TableGrantCtrl.cxx b/dbaccess/source/ui/control/TableGrantCtrl.cxx
index 801dcd3..5316ef0 100644
--- a/dbaccess/source/ui/control/TableGrantCtrl.cxx
+++ b/dbaccess/source/ui/control/TableGrantCtrl.cxx
@@ -167,18 +167,16 @@ bool OTableGrantControl::PreNotify(NotifyEvent& rNEvt)
     return EditBrowseBox::PreNotify(rNEvt);
 }
 
-IMPL_LINK_NOARG(OTableGrantControl, AsynchActivate)
+IMPL_LINK_NOARG_TYPED(OTableGrantControl, AsynchActivate, void*, void)
 {
     m_nDeactivateEvent = 0;
     ActivateCell();
-    return 0L;
 }
 
-IMPL_LINK_NOARG(OTableGrantControl, AsynchDeactivate)
+IMPL_LINK_NOARG_TYPED(OTableGrantControl, AsynchDeactivate, void*, void)
 {
     m_nDeactivateEvent = 0;
     DeactivateCell();
-    return 0L;
 }
 
 bool OTableGrantControl::IsTabAllowed(bool bForward) const
diff --git a/dbaccess/source/ui/control/dbtreelistbox.cxx b/dbaccess/source/ui/control/dbtreelistbox.cxx
index 77edc1f..4e26400 100644
--- a/dbaccess/source/ui/control/dbtreelistbox.cxx
+++ b/dbaccess/source/ui/control/dbtreelistbox.cxx
@@ -181,13 +181,13 @@ void DBTreeListBox::MouseButtonDown( const MouseEvent& rMEvt )
         SvTreeListBox::MouseButtonDown(rMEvt);
 }
 
-IMPL_LINK(DBTreeListBox, OnResetEntry, SvTreeListEntry*, pEntry)
+IMPL_LINK_TYPED(DBTreeListBox, OnResetEntry, void*, p, void)
 {
+    SvTreeListEntry* pEntry = static_cast<SvTreeListEntry*>(p);
     // set the flag which allows if the entry can be expanded
     pEntry->SetFlags( (pEntry->GetFlags() & ~SvTLEntryFlags(SvTLEntryFlags::NO_NODEBMP | SvTLEntryFlags::HAD_CHILDREN)) | SvTLEntryFlags::CHILDREN_ON_DEMAND );
     // redraw the entry
     GetModel()->InvalidateEntry( pEntry );
-    return 0L;
 }
 
 void DBTreeListBox::ModelHasEntryInvalidated( SvTreeListEntry* _pEntry )
diff --git a/dbaccess/source/ui/dlg/directsql.cxx b/dbaccess/source/ui/dlg/directsql.cxx
index b97d8ed..30885ab 100644
--- a/dbaccess/source/ui/dlg/directsql.cxx
+++ b/dbaccess/source/ui/dlg/directsql.cxx
@@ -318,10 +318,9 @@ namespace dbaui
     {
         EndDialog( RET_OK );
     }
-    IMPL_LINK_NOARG( DirectSQLDialog, OnClose )
+    IMPL_LINK_NOARG_TYPED( DirectSQLDialog, OnClose, void*, void )
     {
         EndDialog( RET_OK );
-        return 0L;
     }
 
     IMPL_LINK_NOARG_TYPED( DirectSQLDialog, OnExecute, Button*, void )
diff --git a/dbaccess/source/ui/dlg/dsselect.cxx b/dbaccess/source/ui/dlg/dsselect.cxx
index baa9047..ac120a4 100644
--- a/dbaccess/source/ui/dlg/dsselect.cxx
+++ b/dbaccess/source/ui/dlg/dsselect.cxx
@@ -123,7 +123,7 @@ IMPL_LINK_NOARG_TYPED(ODatasourceSelectDialog, ManageClickHdl, Button*, void)
     SAL_WARN_IF( !m_pODBCManagement->isRunning(), "dbaccess.ui", "ODatasourceSelectDialog::ManageClickHdl: success, but not running - you were *fast*!" );
 }
 
-IMPL_LINK_NOARG( ODatasourceSelectDialog, ManageProcessFinished )
+IMPL_LINK_NOARG_TYPED( ODatasourceSelectDialog, ManageProcessFinished, void*, void )
 {
     StringBag aOdbcDatasources;
     OOdbcEnumeration aEnumeration;
@@ -134,8 +134,6 @@ IMPL_LINK_NOARG( ODatasourceSelectDialog, ManageProcessFinished )
     m_pOk->Enable();
     m_pCancel->Enable();
     m_pManageDatasources->Enable();
-
-    return 0L;
 }
 
 #endif
diff --git a/dbaccess/source/ui/dlg/dsselect.hxx b/dbaccess/source/ui/dlg/dsselect.hxx
index 31c8116..842047f 100644
--- a/dbaccess/source/ui/dlg/dsselect.hxx
+++ b/dbaccess/source/ui/dlg/dsselect.hxx
@@ -64,7 +64,7 @@ protected:
     DECL_LINK( ListDblClickHdl, ListBox * );
 #ifdef HAVE_ODBC_ADMINISTRATION
     DECL_LINK_TYPED(ManageClickHdl, Button*, void);
-    DECL_LINK( ManageProcessFinished, void* );
+    DECL_LINK_TYPED( ManageProcessFinished, void*, void );
 #endif
     void fillListBox(const StringBag& _rDatasources);
 };
diff --git a/dbaccess/source/ui/dlg/indexdialog.cxx b/dbaccess/source/ui/dlg/indexdialog.cxx
index 6fff7c2..8f5df59 100644
--- a/dbaccess/source/ui/dlg/indexdialog.cxx
+++ b/dbaccess/source/ui/dlg/indexdialog.cxx
@@ -603,11 +603,11 @@ namespace dbaui
         EndDialog(RET_OK);
     }
 
-    IMPL_LINK( DbaIndexDialog, OnEditIndexAgain, SvTreeListEntry*, _pEntry )
+    IMPL_LINK_TYPED( DbaIndexDialog, OnEditIndexAgain, void*, p, void )
     {
+        SvTreeListEntry* _pEntry = static_cast<SvTreeListEntry*>(p);
         m_bEditAgain = false;
         m_pIndexList->EditEntry(_pEntry);
-        return 0L;
     }
 
     IMPL_LINK( DbaIndexDialog, OnEntryEdited, SvTreeListEntry*, _pEntry )
diff --git a/dbaccess/source/ui/dlg/odbcconfig.cxx b/dbaccess/source/ui/dlg/odbcconfig.cxx
index ace45b3..b04aa69 100644
--- a/dbaccess/source/ui/dlg/odbcconfig.cxx
+++ b/dbaccess/source/ui/dlg/odbcconfig.cxx
@@ -240,11 +240,11 @@ void OOdbcEnumeration::getDatasourceNames(StringBag& _rNames)
 // ProcessTerminationWait
 class ProcessTerminationWait : public ::osl::Thread
 {
-    oslProcess  m_hProcessHandle;
-    Link<>      m_aFinishHdl;
+    oslProcess       m_hProcessHandle;
+    Link<void*,void> m_aFinishHdl;
 
 public:
-    ProcessTerminationWait( oslProcess _hProcessHandle, const Link<>& _rFinishHdl )
+    ProcessTerminationWait( oslProcess _hProcessHandle, const Link<void*,void>& _rFinishHdl )
         :m_hProcessHandle( _hProcessHandle )
         ,m_aFinishHdl( _rFinishHdl )
     {
@@ -262,7 +262,7 @@ protected:
 };
 
 // OOdbcManagement
-OOdbcManagement::OOdbcManagement(const Link<>& rAsyncFinishCallback)
+OOdbcManagement::OOdbcManagement(const Link<void*,void>& rAsyncFinishCallback)
     : m_aAsyncFinishCallback(rAsyncFinishCallback)
 {
 }
diff --git a/dbaccess/source/ui/dlg/odbcconfig.hxx b/dbaccess/source/ui/dlg/odbcconfig.hxx
index 3da0b73..3059b1d 100644
--- a/dbaccess/source/ui/dlg/odbcconfig.hxx
+++ b/dbaccess/source/ui/dlg/odbcconfig.hxx
@@ -105,10 +105,10 @@ class ProcessTerminationWait;
 class OOdbcManagement
 {
     ::std::unique_ptr< ProcessTerminationWait >   m_pProcessWait;
-    Link<>                                      m_aAsyncFinishCallback;
+    Link<void*,void>                              m_aAsyncFinishCallback;
 
 public:
-    explicit OOdbcManagement( const Link<>& _rAsyncFinishCallback );
+    explicit OOdbcManagement( const Link<void*,void>& _rAsyncFinishCallback );
     ~OOdbcManagement();
 
     bool    manageDataSources_async();
diff --git a/dbaccess/source/ui/inc/RelationController.hxx b/dbaccess/source/ui/inc/RelationController.hxx
index 75b99d3..1d7c81b 100644
--- a/dbaccess/source/ui/inc/RelationController.hxx
+++ b/dbaccess/source/ui/inc/RelationController.hxx
@@ -77,7 +77,7 @@ namespace dbaui
         virtual void reset() SAL_OVERRIDE;
         virtual void impl_initialize() SAL_OVERRIDE;
         virtual OUString getPrivateTitle( ) const SAL_OVERRIDE;
-        DECL_LINK( OnThreadFinished, void* );
+        DECL_LINK_TYPED( OnThreadFinished, void*, void );
     };
 }
 #endif // INCLUDED_DBACCESS_SOURCE_UI_INC_RELATIONCONTROLLER_HXX
diff --git a/dbaccess/source/ui/inc/TableGrantCtrl.hxx b/dbaccess/source/ui/inc/TableGrantCtrl.hxx
index 9d73ff7..d788686 100644
--- a/dbaccess/source/ui/inc/TableGrantCtrl.hxx
+++ b/dbaccess/source/ui/inc/TableGrantCtrl.hxx
@@ -96,8 +96,8 @@ protected:
     virtual void CellModified() SAL_OVERRIDE;
 
 private:
-    DECL_LINK( AsynchActivate, void* );
-    DECL_LINK( AsynchDeactivate, void* );
+    DECL_LINK_TYPED( AsynchActivate, void*, void );
+    DECL_LINK_TYPED( AsynchDeactivate, void*, void );
 
     static bool isAllowed(sal_uInt16 _nColumnId,sal_Int32 _nPrivilege);
     void        fillPrivilege(sal_Int32 _nRow) const;
diff --git a/dbaccess/source/ui/inc/TableWindowListBox.hxx b/dbaccess/source/ui/inc/TableWindowListBox.hxx
index c6199d3..7b590cf 100644
--- a/dbaccess/source/ui/inc/TableWindowListBox.hxx
+++ b/dbaccess/source/ui/inc/TableWindowListBox.hxx
@@ -50,8 +50,8 @@ namespace dbaui
         DECL_LINK( OnDoubleClick, SvTreeListBox* );
         DECL_LINK_TYPED( ScrollUpHdl, Timer*, void );
         DECL_LINK_TYPED( ScrollDownHdl, Timer*, void );
-        DECL_LINK( DropHdl, void* );
-        DECL_LINK( LookForUiHdl, void* );
+        DECL_LINK_TYPED( DropHdl, void*, void );
+        DECL_LINK_TYPED( LookForUiHdl, void*, void );
 
         Timer                       m_aScrollTimer;
         Point                       m_aMousePos;
diff --git a/dbaccess/source/ui/inc/dbtreelistbox.hxx b/dbaccess/source/ui/inc/dbtreelistbox.hxx
index 437bdd8..5875f79 100644
--- a/dbaccess/source/ui/inc/dbtreelistbox.hxx
+++ b/dbaccess/source/ui/inc/dbtreelistbox.hxx
@@ -75,7 +75,7 @@ namespace dbaui
     private:
         void init();
         DECL_LINK_TYPED( OnTimeOut, Timer*, void );
-        DECL_LINK( OnResetEntry, SvTreeListEntry* );
+        DECL_LINK_TYPED( OnResetEntry, void*, void );
         DECL_LINK( ScrollUpHdl, SvTreeListBox* );
         DECL_LINK( ScrollDownHdl, SvTreeListBox* );
 
diff --git a/dbaccess/source/ui/inc/directsql.hxx b/dbaccess/source/ui/inc/directsql.hxx
index df80ad6..972261f 100644
--- a/dbaccess/source/ui/inc/directsql.hxx
+++ b/dbaccess/source/ui/inc/directsql.hxx
@@ -86,7 +86,7 @@ namespace dbaui
 
     protected:
         DECL_LINK_TYPED( OnExecute, Button*, void );
-        DECL_LINK( OnClose, void* );
+        DECL_LINK_TYPED( OnClose, void*, void );
         DECL_LINK_TYPED( OnCloseClick, Button*, void );
         DECL_LINK( OnListEntrySelected, void* );
         DECL_LINK( OnStatementModified, void* );
diff --git a/dbaccess/source/ui/inc/indexdialog.hxx b/dbaccess/source/ui/inc/indexdialog.hxx
index 50f4655..3bcdc37 100644
--- a/dbaccess/source/ui/inc/indexdialog.hxx
+++ b/dbaccess/source/ui/inc/indexdialog.hxx
@@ -137,7 +137,7 @@ namespace dbaui
         DECL_LINK( OnModified, void* );
         DECL_LINK_TYPED( OnCloseDialog, Button*, void );
 
-        DECL_LINK( OnEditIndexAgain, SvTreeListEntry* );
+        DECL_LINK_TYPED( OnEditIndexAgain, void*, void );
 
     private:
         sal_uInt16 mnNewCmdId;
diff --git a/dbaccess/source/ui/inc/querycontroller.hxx b/dbaccess/source/ui/inc/querycontroller.hxx
index 5266a0a..cdf2ac3 100644
--- a/dbaccess/source/ui/inc/querycontroller.hxx
+++ b/dbaccess/source/ui/inc/querycontroller.hxx
@@ -236,7 +236,7 @@ namespace dbaui
         virtual bool allowQueries() const SAL_OVERRIDE;
 
     private:
-        DECL_LINK( OnExecuteAddTable, void* );
+        DECL_LINK_TYPED( OnExecuteAddTable, void*, void );
 
     private:
         using OQueryController_PBase::getFastPropertyValue;
diff --git a/dbaccess/source/ui/inc/sbagrid.hxx b/dbaccess/source/ui/inc/sbagrid.hxx
index 0ffd2f1..22b63a3 100644
--- a/dbaccess/source/ui/inc/sbagrid.hxx
+++ b/dbaccess/source/ui/inc/sbagrid.hxx
@@ -144,7 +144,7 @@ namespace dbaui
             css::uno::Sequence< css::beans::PropertyValue >   aArgs;
         };
         ::std::queue< DispatchArgs >    m_aDispatchArgs;
-        DECL_LINK( OnDispatchEvent, void* );
+        DECL_LINK_TYPED( OnDispatchEvent, void*, void );
 
         // for dynamic states of our 4 dispatchable URLs
         enum DispatchType
@@ -304,7 +304,7 @@ namespace dbaui
 
         SvNumberFormatter* GetDatasourceFormatter();
 
-        DECL_LINK(AsynchDropEvent, void*);
+        DECL_LINK_TYPED(AsynchDropEvent, void*, void);
 
     private:
         bool IsReadOnlyDB() const;
diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx
index 8aad618..ccd7b5c 100644
--- a/dbaccess/source/ui/inc/unodatbr.hxx
+++ b/dbaccess/source/ui/inc/unodatbr.hxx
@@ -354,7 +354,7 @@ namespace dbaui
 
         DECL_LINK( OnTreeEntryCompare, const SvSortData* );
 
-        DECL_LINK( OnAsyncDrop, void* );
+        DECL_LINK_TYPED( OnAsyncDrop, void*, void );
 
         void implRemoveStatusListeners();
 
diff --git a/dbaccess/source/ui/misc/asyncmodaldialog.cxx b/dbaccess/source/ui/misc/asyncmodaldialog.cxx
index 684347a..a03b512 100644
--- a/dbaccess/source/ui/misc/asyncmodaldialog.cxx
+++ b/dbaccess/source/ui/misc/asyncmodaldialog.cxx
@@ -54,10 +54,10 @@ namespace dbaui
         }
 
     private:
-        DECL_LINK( onExecute, void* );
+        DECL_LINK_TYPED( onExecute, void*, void );
     };
 
-    IMPL_LINK_NOARG( DialogExecutor_Impl, onExecute )
+    IMPL_LINK_NOARG_TYPED( DialogExecutor_Impl, onExecute, void*, void )
     {
         try
         {
@@ -69,7 +69,6 @@ namespace dbaui
         }
 
         delete this;
-        return 0L;
     }
 
     // AsyncDialogExecutor
diff --git a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
index 47eaeb3..b56469e 100644
--- a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
@@ -275,14 +275,13 @@ sal_Int8 OTableWindowListBox::AcceptDrop( const AcceptDropEvent& _rEvt )
     return nDND_Action;
 }
 
-IMPL_LINK_NOARG( OTableWindowListBox, LookForUiHdl )
+IMPL_LINK_NOARG_TYPED( OTableWindowListBox, LookForUiHdl, void*, void )
 {
     m_nUiEvent = 0;
     m_pTabWin->getTableView()->lookForUiActivities();
-    return 0L;
 }
 
-IMPL_LINK_NOARG( OTableWindowListBox, DropHdl )
+IMPL_LINK_NOARG_TYPED( OTableWindowListBox, DropHdl, void*, void )
 {
     // create the connection
     m_nDropEvent = 0;
@@ -298,7 +297,6 @@ IMPL_LINK_NOARG( OTableWindowListBox, DropHdl )
         // remember the exception so that we can show them later when d&d is finished
         m_pTabWin->getDesignView()->getController().setErrorOccurred(::dbtools::SQLExceptionInfo(e));
     }
-    return 0L;
 }
 
 sal_Int8 OTableWindowListBox::ExecuteDrop( const ExecuteDropEvent& _rEvt )
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 37976f0..9a21da5 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -1967,10 +1967,9 @@ void OQueryController::setEscapeProcessing_fireEvent( const bool _bEscapeProcess
     fire( &nHandle, &aNewValue, &aOldValue, 1, sal_False );
 }
 
-IMPL_LINK_NOARG( OQueryController, OnExecuteAddTable )
+IMPL_LINK_NOARG_TYPED( OQueryController, OnExecuteAddTable, void*, void )
 {
     Execute( ID_BROWSER_ADDTABLE,Sequence<PropertyValue>() );
-    return 0L;
 }
 
 bool OQueryController::allowViews() const
diff --git a/dbaccess/source/ui/relationdesign/RelationController.cxx b/dbaccess/source/ui/relationdesign/RelationController.cxx
index 46a6c38..3cb5297 100644
--- a/dbaccess/source/ui/relationdesign/RelationController.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationController.cxx
@@ -467,7 +467,7 @@ void ORelationController::mergeData(const TTableConnectionData& _aConnectionData
     }
 }
 
-IMPL_LINK_NOARG( ORelationController, OnThreadFinished )
+IMPL_LINK_NOARG_TYPED( ORelationController, OnThreadFinished, void*, void )
 {
     ::SolarMutexGuard aSolarGuard;
     ::osl::MutexGuard aGuard( getMutex() );
@@ -486,7 +486,6 @@ IMPL_LINK_NOARG( ORelationController, OnThreadFinished )
         DBG_UNHANDLED_EXCEPTION();
     }
     m_pWaitObject.reset();
-    return 0L;
 }
 
 void ORelationController::loadData()
diff --git a/dbaccess/source/ui/tabledesign/TEditControl.cxx b/dbaccess/source/ui/tabledesign/TEditControl.cxx
index f2ab8c3..3cc5fd5 100644
--- a/dbaccess/source/ui/tabledesign/TEditControl.cxx
+++ b/dbaccess/source/ui/tabledesign/TEditControl.cxx
@@ -630,12 +630,10 @@ bool OTableEditorCtrl::CursorMoving(long nNewRow, sal_uInt16 nNewCol)
     return true;
 }
 
-IMPL_LINK_NOARG( OTableEditorCtrl, InvalidateFieldType )
+IMPL_LINK_NOARG_TYPED( OTableEditorCtrl, InvalidateFieldType, void*, void )
 {
     nInvalidateTypeEvent = 0;
     Invalidate( GetFieldRectPixel(nOldDataPos, FIELD_TYPE) );
-
-    return 0;
 }
 
 void OTableEditorCtrl::CellModified( long nRow, sal_uInt16 nColId )
@@ -1462,14 +1460,13 @@ void OTableEditorCtrl::Command(const CommandEvent& rEvt)
 
 }
 
-IMPL_LINK_NOARG( OTableEditorCtrl, DelayedCut )
+IMPL_LINK_NOARG_TYPED( OTableEditorCtrl, DelayedCut, void*, void )
 {
     nCutEvent = 0;
     OTableRowView::cut();
-    return 0;
 }
 
-IMPL_LINK_NOARG( OTableEditorCtrl, DelayedPaste )
+IMPL_LINK_NOARG_TYPED( OTableEditorCtrl, DelayedPaste, void*, void )
 {
     nPasteEvent = 0;
 
@@ -1493,18 +1490,15 @@ IMPL_LINK_NOARG( OTableEditorCtrl, DelayedPaste )
     OTableRowView::Paste( nPastePosition );
     SetNoSelection();
     GoToRow( nPastePosition );
-
-    return 0;
 }
 
-IMPL_LINK_NOARG( OTableEditorCtrl, DelayedDelete )
+IMPL_LINK_NOARG_TYPED( OTableEditorCtrl, DelayedDelete, void*, void )
 {
     nDeleteEvent = 0;
     DeleteRows();
-    return 0;
 }
 
-IMPL_LINK_NOARG( OTableEditorCtrl, DelayedInsNewRows )
+IMPL_LINK_NOARG_TYPED( OTableEditorCtrl, DelayedInsNewRows, void*, void )
 {
     nInsNewRowsEvent = 0;
     sal_Int32 nPastePosition = GetView()->getController().getFirstEmptyRowPosition();
@@ -1514,8 +1508,6 @@ IMPL_LINK_NOARG( OTableEditorCtrl, DelayedInsNewRows )
     InsertNewRows( nPastePosition );
     SetNoSelection();
     GoToRow( nPastePosition );
-
-    return 0;
 }
 
 void OTableEditorCtrl::AdjustFieldDescription(OFieldDescription* _pFieldDesc,
diff --git a/dbaccess/source/ui/tabledesign/TEditControl.hxx b/dbaccess/source/ui/tabledesign/TEditControl.hxx
index c85cb51..686270e 100644
--- a/dbaccess/source/ui/tabledesign/TEditControl.hxx
+++ b/dbaccess/source/ui/tabledesign/TEditControl.hxx
@@ -176,11 +176,11 @@ namespace dbaui
 
     private:
         DECL_LINK( StartIndexing, void* );
-        DECL_LINK( DelayedCut, void* );
-        DECL_LINK( DelayedPaste, void* );
-        DECL_LINK( DelayedDelete, void* );
-        DECL_LINK( DelayedInsNewRows, void* );
-        DECL_LINK( InvalidateFieldType, void* );
+        DECL_LINK_TYPED( DelayedCut, void*, void );
+        DECL_LINK_TYPED( DelayedPaste, void*, void );
+        DECL_LINK_TYPED( DelayedDelete, void*, void );
+        DECL_LINK_TYPED( DelayedInsNewRows, void*, void );
+        DECL_LINK_TYPED( InvalidateFieldType, void*, void );
 
         void InitCellController();
         sal_Int32 HasFieldName( const OUString& rFieldName );
diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx
index a7159e1..068c27e 100644
--- a/desktop/inc/app.hxx
+++ b/desktop/inc/app.hxx
@@ -79,12 +79,12 @@ class Desktop : public Application
         virtual void            OverrideSystemSettings( AllSettings& rSettings ) SAL_OVERRIDE;
         virtual void            AppEvent( const ApplicationEvent& rAppEvent ) SAL_OVERRIDE;
 
-        DECL_LINK( OpenClients_Impl, void* );
+        DECL_LINK_TYPED( OpenClients_Impl, void*, void );
 
         static void             OpenClients();
         static void             OpenDefault();
 
-        DECL_STATIC_LINK( Desktop, EnableAcceptors_Impl, void*);
+        DECL_STATIC_LINK_TYPED( Desktop, EnableAcceptors_Impl, void*, void);
 
         static void             HandleAppEvent( const ApplicationEvent& rAppEvent );
         static ResMgr*          GetDesktopResManager();
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 798b695..b916d53 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1870,7 +1870,7 @@ class ExitTimer : public Timer
     }
 };
 
-IMPL_LINK_NOARG(Desktop, OpenClients_Impl)
+IMPL_LINK_NOARG_TYPED(Desktop, OpenClients_Impl, void*, void)
 {
     try {
         OpenClients();
@@ -1892,14 +1892,12 @@ IMPL_LINK_NOARG(Desktop, OpenClients_Impl)
         OUString a( "UNO exception during client open:\n"  );
         Application::Abort( a + e.Message );
     }
-    return 0;
 }
 
 // enable acceptors
-IMPL_STATIC_LINK_NOARG(Desktop, EnableAcceptors_Impl)
+IMPL_STATIC_LINK_NOARG_TYPED(Desktop, EnableAcceptors_Impl, void*, void)
 {
     enableAcceptors();
-    return 0;
 }
 
 
diff --git a/desktop/source/app/officeipcthread.cxx b/desktop/source/app/officeipcthread.cxx
index c406336..a7075f1 100644
--- a/desktop/source/app/officeipcthread.cxx
+++ b/desktop/source/app/officeipcthread.cxx
@@ -282,19 +282,18 @@ OUString CreateMD5FromString( const OUString& aMsg )
 class ProcessEventsClass_Impl
 {
 public:
-    DECL_STATIC_LINK( ProcessEventsClass_Impl, CallEvent, void* pEvent );
-    DECL_STATIC_LINK( ProcessEventsClass_Impl, ProcessDocumentsEvent, void* pEvent );
+    DECL_STATIC_LINK_TYPED( ProcessEventsClass_Impl, CallEvent, void*, void );
+    DECL_STATIC_LINK_TYPED( ProcessEventsClass_Impl, ProcessDocumentsEvent, void*, void );
 };
 
-IMPL_STATIC_LINK( ProcessEventsClass_Impl, CallEvent, void*, pEvent )
+IMPL_STATIC_LINK_TYPED( ProcessEventsClass_Impl, CallEvent, void*, pEvent, void )
 {
     // Application events are processed by the Desktop::HandleAppEvent implementation.
     Desktop::HandleAppEvent( *static_cast<ApplicationEvent*>(pEvent) );
     delete static_cast<ApplicationEvent*>(pEvent);
-    return 0;
 }
 
-IMPL_STATIC_LINK( ProcessEventsClass_Impl, ProcessDocumentsEvent, void*, pEvent )
+IMPL_STATIC_LINK_TYPED( ProcessEventsClass_Impl, ProcessDocumentsEvent, void*, pEvent, void )
 {
     // Documents requests are processed by the OfficeIPCThread implementation
     ProcessDocumentsRequest* pDocsRequest = static_cast<ProcessDocumentsRequest*>(pEvent);
@@ -304,7 +303,6 @@ IMPL_STATIC_LINK( ProcessEventsClass_Impl, ProcessDocumentsEvent, void*, pEvent
         OfficeIPCThread::ExecuteCmdLineRequests( *pDocsRequest );
         delete pDocsRequest;
     }
-    return 0;
 }
 
 void ImplPostForeignAppEvent( ApplicationEvent* pEvent )
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index cd2176a..0c87682 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -655,7 +655,7 @@ bool DialogHelper::installForAllUsers( bool &bInstallForAll ) const
     return true;
 }
 
-void DialogHelper::PostUserEvent( const Link<>& rLink, void* pCaller, bool bReferenceLink )
+void DialogHelper::PostUserEvent( const Link<void*,void>& rLink, void* pCaller, bool bReferenceLink )
 {
     if ( m_nEventID )
         Application::RemoveUserEvent( m_nEventID );
@@ -967,7 +967,7 @@ IMPL_LINK_NOARG_TYPED(ExtMgrDialog, HandleCloseBtn, Button*, void)
 
 
 
-IMPL_LINK( ExtMgrDialog, startProgress, void*, _bLockInterface )
+IMPL_LINK_TYPED( ExtMgrDialog, startProgress, void*, _bLockInterface, void )
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     bool bLockInterface = (bool) _bLockInterface;
@@ -994,8 +994,6 @@ IMPL_LINK( ExtMgrDialog, startProgress, void*, _bLockInterface )
     m_pExtensionBox->enableButtons( !bLockInterface );
 
     clearEventID();
-
-    return 0;
 }
 
 
@@ -1287,7 +1285,7 @@ IMPL_LINK_NOARG_TYPED(UpdateRequiredDialog, HandleCancelBtn, Button*, void)
 }
 
 
-IMPL_LINK( UpdateRequiredDialog, startProgress, void*, _bLockInterface )
+IMPL_LINK_TYPED( UpdateRequiredDialog, startProgress, void*, _bLockInterface, void )
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     bool bLockInterface = (bool) _bLockInterface;
@@ -1310,8 +1308,6 @@ IMPL_LINK( UpdateRequiredDialog, startProgress, void*, _bLockInterface )
     m_pCancelBtn->Enable( bLockInterface );
     m_pUpdateBtn->Enable( false );
     clearEventID();
-
-    return 0;
 }
 
 
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
index df227bd..8f7b300 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
@@ -68,7 +68,7 @@ public:
 
     void            openWebBrowser( const OUString & sURL, const OUString & sTitle ) const;
     Dialog*         getWindow() const { return m_pVCLWindow; };
-    void            PostUserEvent( const Link<>& rLink, void* pCaller, bool bReferenceLink = false );
+    void            PostUserEvent( const Link<void*,void>& rLink, void* pCaller, bool bReferenceLink = false );
     void            clearEventID() { m_nEventID = 0; }
 
     virtual void    showProgress( bool bStart ) = 0;
@@ -138,7 +138,7 @@ class ExtMgrDialog : public ModelessDialog,
     DECL_DLLPRIVATE_LINK_TYPED( HandleExtTypeCbx, Button*, void );
     DECL_DLLPRIVATE_LINK( HandleHyperlink, FixedHyperlink * );
     DECL_DLLPRIVATE_LINK_TYPED(TimeOutHdl, Idle *, void);
-    DECL_DLLPRIVATE_LINK( startProgress, void * );
+    DECL_DLLPRIVATE_LINK_TYPED( startProgress, void *, void );
 
 public:
                     ExtMgrDialog( vcl::Window * pParent, TheExtensionManager *pManager, Dialog::InitFlag eFlag = Dialog::InitFlag::Default );
@@ -201,7 +201,7 @@ class UpdateRequiredDialog : public ModalDialog,
     DECL_DLLPRIVATE_LINK_TYPED( HandleCloseBtn, Button*, void );
     DECL_DLLPRIVATE_LINK_TYPED( HandleCancelBtn, Button*, void );
     DECL_DLLPRIVATE_LINK_TYPED(TimeOutHdl, Idle *, void);
-    DECL_DLLPRIVATE_LINK( startProgress, void * );
+    DECL_DLLPRIVATE_LINK_TYPED( startProgress, void *, void );
     DECL_DLLPRIVATE_LINK( HandleHyperlink, FixedHyperlink * );
 
     static bool     isEnabled( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage );
diff --git a/extensions/source/bibliography/bibbeam.cxx b/extensions/source/bibliography/bibbeam.cxx
index ff1a731..4a3878e21 100644
--- a/extensions/source/bibliography/bibbeam.cxx
+++ b/extensions/source/bibliography/bibbeam.cxx
@@ -272,11 +272,10 @@ namespace bib
             pGridWin->GrabFocus();
     }
 
-    IMPL_LINK_NOARG( BibBeamer, RecalcLayout_Impl )
+    IMPL_LINK_NOARG_TYPED( BibBeamer, RecalcLayout_Impl, void*, void )
     {
         long nHeight = pToolBar->GetSizePixel().Height();
         SetItemSize( ID_TOOLBAR, nHeight );
-        return 0L;
     }
 
 }   // namespace bib
diff --git a/extensions/source/bibliography/bibbeam.hxx b/extensions/source/bibliography/bibbeam.hxx
index 3569ff5..02e074a 100644
--- a/extensions/source/bibliography/bibbeam.hxx
+++ b/extensions/source/bibliography/bibbeam.hxx
@@ -54,7 +54,7 @@ namespace bib
             VclPtr<BibToolBar>      pToolBar;
             VclPtr<BibGridwin>      pGridWin;
 
-            DECL_LINK( RecalcLayout_Impl, void* );
+            DECL_LINK_TYPED( RecalcLayout_Impl, void*, void );
 
         protected:
 
diff --git a/extensions/source/bibliography/bibview.cxx b/extensions/source/bibliography/bibview.cxx
index 23d4186..e497ee8 100644
--- a/extensions/source/bibliography/bibview.cxx
+++ b/extensions/source/bibliography/bibview.cxx
@@ -176,10 +176,9 @@ namespace bib
         mpBibView->Resize();
     }
 
-    IMPL_LINK( BibView, CallMappingHdl, BibView*, )
+    IMPL_LINK_NOARG_TYPED( BibView, CallMappingHdl, void*, void)
     {
         m_pDatMan->CreateMappingDialog( this );
-        return 0;
     }
 
     void BibView::Resize()
diff --git a/extensions/source/bibliography/bibview.hxx b/extensions/source/bibliography/bibview.hxx
index a276932..86719c1 100644
--- a/extensions/source/bibliography/bibview.hxx
+++ b/extensions/source/bibliography/bibview.hxx
@@ -63,7 +63,7 @@ namespace bib
         BibViewFormControlContainer                                                 m_aFormControlContainer;
 
     private:
-        DECL_LINK(CallMappingHdl, BibView*);
+        DECL_LINK_TYPED(CallMappingHdl, void*, void);
 
     public:
         // Window overridables
diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
index 790b32e..af476f6 100644
--- a/extensions/source/bibliography/framectr.cxx
+++ b/extensions/source/bibliography/framectr.cxx
@@ -630,10 +630,9 @@ void BibFrameController_Impl::dispatch(const util::URL& _rURL, const uno::Sequen
         }
     }
 }
-IMPL_LINK_NOARG( BibFrameController_Impl, DisposeHdl )
+IMPL_LINK_NOARG_TYPED( BibFrameController_Impl, DisposeHdl, void*, void )
 {
     xFrame->dispose();
-    return 0;
 };
 
 void BibFrameController_Impl::addStatusListener(
diff --git a/extensions/source/bibliography/framectr.hxx b/extensions/source/bibliography/framectr.hxx
index ce93e27..f56e561 100644
--- a/extensions/source/bibliography/framectr.hxx
+++ b/extensions/source/bibliography/framectr.hxx
@@ -69,7 +69,7 @@ friend class BibFrameCtrl_Impl;
     BibDataManager*             pDatMan;
     HdlBibModul                 pBibMod;
 
-    DECL_LINK( DisposeHdl, void* );
+    DECL_LINK_TYPED( DisposeHdl, void*, void );
 
     static bool                 SaveModified(const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController>& xController);
 public:
diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx
index 56aeb13..f634b49 100644
--- a/extensions/source/bibliography/toolbar.cxx
+++ b/extensions/source/bibliography/toolbar.cxx
@@ -176,7 +176,7 @@ void BibTBEditListener::statusChanged(const frame::FeatureStateEvent& rEvt)throw
     }
 }
 
-BibToolBar::BibToolBar(vcl::Window* pParent, Link<> aLink, WinBits nStyle):
+BibToolBar::BibToolBar(vcl::Window* pParent, Link<void*,void> aLink, WinBits nStyle):
     ToolBox(pParent,BibResId(RID_BIB_TOOLBAR)),
     aImgLst(BibResId(  RID_TOOLBAR_IMGLIST     )),
     aBigImgLst(BibResId( RID_TOOLBAR_BIGIMGLIST )),
diff --git a/extensions/source/bibliography/toolbar.hxx b/extensions/source/bibliography/toolbar.hxx
index 6c79ce1..271e54d 100644
--- a/extensions/source/bibliography/toolbar.hxx
+++ b/extensions/source/bibliography/toolbar.hxx
@@ -123,7 +123,7 @@ class BibToolBar:   public ToolBox
         sal_uInt16              nMenuId;
         sal_uInt16              nSelMenuItem;
         OUString                aQueryField;
-        Link<>                  aLayoutManager;
+        Link<void*,void>        aLayoutManager;
         sal_Int16               nSymbolsSize;
         sal_Int16               nOutStyle;
 
@@ -148,7 +148,7 @@ class BibToolBar:   public ToolBox
 
     public:
 
-        BibToolBar(vcl::Window* pParent, Link<> aLink, WinBits nStyle = WB_3DLOOK );
+        BibToolBar(vcl::Window* pParent, Link<void*,void> aLink, WinBits nStyle = WB_3DLOOK );
         virtual ~BibToolBar();
         virtual void dispose() SAL_OVERRIDE;
 
diff --git a/extensions/source/plugin/base/nfuncs.cxx b/extensions/source/plugin/base/nfuncs.cxx
index f36e89b..f57540a 100644
--- a/extensions/source/plugin/base/nfuncs.cxx
+++ b/extensions/source/plugin/base/nfuncs.cxx
@@ -177,11 +177,12 @@ struct AsynchronousGetURL
     OUString                        aTarget;
     Reference< XEventListener >     xListener;
 
-    DECL_LINK( getURL, XPlugin_Impl* );
+    DECL_LINK_TYPED( getURL, void*, void );
 };
 
-IMPL_LINK( AsynchronousGetURL, getURL, XPlugin_Impl*, pImpl )
+IMPL_LINK_TYPED( AsynchronousGetURL, getURL, void*, p, void )
 {
+    XPlugin_Impl* pImpl = static_cast<XPlugin_Impl*>(p);
     try
     {
         pImpl->enterPluginCallback();
@@ -202,7 +203,6 @@ IMPL_LINK( AsynchronousGetURL, getURL, XPlugin_Impl*, pImpl )
     }
     pImpl->leavePluginCallback();
     delete this;
-    return 0;
 }
 
 
diff --git a/extensions/source/plugin/base/xplugin.cxx b/extensions/source/plugin/base/xplugin.cxx
index eab48cd..f8e69e7 100644
--- a/extensions/source/plugin/base/xplugin.cxx
+++ b/extensions/source/plugin/base/xplugin.cxx
@@ -189,7 +189,7 @@ void XPlugin_Impl::checkListeners( const char* normalizedURL )
     }
 }
 
-IMPL_LINK( XPlugin_Impl, secondLevelDispose, XPlugin_Impl*, /*pThis*/ )
+IMPL_LINK_NOARG_TYPED( XPlugin_Impl, secondLevelDispose, void*, void )
 {
     Guard< Mutex > aGuard( m_aMutex );
 
@@ -206,7 +206,7 @@ IMPL_LINK( XPlugin_Impl, secondLevelDispose, XPlugin_Impl*, /*pThis*/ )
                 break;
         }
         if( iter == rList.end() || ! isDisposable() )
-            return 0;
+            return;
     }
 
     if (m_pDisposer)
@@ -229,7 +229,6 @@ IMPL_LINK( XPlugin_Impl, secondLevelDispose, XPlugin_Impl*, /*pThis*/ )
 #endif
     destroyInstance();
     PluginControl_Impl::dispose();
-    return 0;
 }
 
 void XPlugin_Impl::dispose() throw(std::exception)
diff --git a/extensions/source/plugin/inc/plugin/impl.hxx b/extensions/source/plugin/inc/plugin/impl.hxx
index efbe9e3..e0e9487 100644
--- a/extensions/source/plugin/inc/plugin/impl.hxx
+++ b/extensions/source/plugin/inc/plugin/impl.hxx
@@ -201,7 +201,7 @@ public:
     void            enterPluginCallback() { m_nCalledFromPlugin++; }
     void            leavePluginCallback() { m_nCalledFromPlugin--; }
     bool            isDisposable() { return m_nCalledFromPlugin < 1; }
-    DECL_LINK( secondLevelDispose, XPlugin_Impl* );
+    DECL_LINK_TYPED( secondLevelDispose, void*, void );
 
     void addPluginEventListener( PluginEventListener* pListener  )
         { m_aPEventListeners.push_back( pListener ); }
diff --git a/extensions/source/plugin/inc/plugin/unx/plugcon.hxx b/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
index 20db980..d0e3d33 100644
--- a/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
+++ b/extensions/source/plugin/inc/plugin/unx/plugcon.hxx
@@ -133,7 +133,7 @@ protected:
     static std::vector<PluginConnector*>  allConnectors;
 
     DECL_LINK( NewMessageHdl, Mediator* );
-    DECL_LINK( WorkOnNewMessageHdl, Mediator* );
+    DECL_LINK_TYPED( WorkOnNewMessageHdl, void*, void );
 
     std::vector<NPStream*>              m_aNPWrapStreams;
     std::vector<ConnectorInstance*>     m_aInstances;
diff --git a/extensions/source/plugin/unx/npnapi.cxx b/extensions/source/plugin/unx/npnapi.cxx
index 1129fc8..5330c82 100644
--- a/extensions/source/plugin/unx/npnapi.cxx
+++ b/extensions/source/plugin/unx/npnapi.cxx
@@ -520,7 +520,7 @@ PluginConnector::~PluginConnector()
 {
 }
 
-IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
+IMPL_LINK_NOARG_TYPED( PluginConnector, WorkOnNewMessageHdl, void*, void )
 {
     MediatorMessage* pMessage;
     CommandAtoms nCommand;
@@ -928,7 +928,6 @@ IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
         }
         delete pMessage;
     }
-    return 0;
 }
 
 void LoadAdditionalLibs( const char* _pPluginLib )
diff --git a/extensions/source/plugin/unx/nppapi.cxx b/extensions/source/plugin/unx/nppapi.cxx
index e55b14b..e89ded2a 100644
--- a/extensions/source/plugin/unx/nppapi.cxx
+++ b/extensions/source/plugin/unx/nppapi.cxx
@@ -80,7 +80,7 @@ IMPL_LINK( PluginConnector, NewMessageHdl, Mediator*, /*pMediator*/ )
     return 0;
 }
 
-IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
+IMPL_LINK_NOARG_TYPED( PluginConnector, WorkOnNewMessageHdl, void*, void )
 {
     bool bFound = false;
     for( std::vector< PluginConnector* >::iterator it = allConnectors.begin();
@@ -90,7 +90,7 @@ IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
             bFound = true;
     }
     if( ! bFound )
-        return 0;
+        return;
 
     MediatorMessage* pMessage;
     CommandAtoms nCommand;
@@ -323,7 +323,6 @@ IMPL_LINK( PluginConnector, WorkOnNewMessageHdl, Mediator*, /*pMediator*/ )
 
         delete pMessage;
     }
-    return 0;
 }
 
 #define GET_INSTANCE() \
diff --git a/extensions/source/propctrlr/formlinkdialog.cxx b/extensions/source/propctrlr/formlinkdialog.cxx
index 1028a0e..85efd4e 100644
--- a/extensions/source/propctrlr/formlinkdialog.cxx
+++ b/extensions/source/propctrlr/formlinkdialog.cxx
@@ -673,13 +673,12 @@ namespace pcr
     }
 
 
-    IMPL_LINK_NOARG( FormLinkDialog, OnInitialize )
+    IMPL_LINK_NOARG_TYPED( FormLinkDialog, OnInitialize, void*, void )
     {
         initializeColumnLabels();
         initializeFieldLists();
         initializeLinks();
         initializeSuggest();
-        return 0L;
     }
 
 }   // namespace pcr
diff --git a/extensions/source/propctrlr/formlinkdialog.hxx b/extensions/source/propctrlr/formlinkdialog.hxx
index 044432c..3913257 100644
--- a/extensions/source/propctrlr/formlinkdialog.hxx
+++ b/extensions/source/propctrlr/formlinkdialog.hxx
@@ -88,7 +88,7 @@ namespace pcr
     private:
         DECL_LINK_TYPED( OnSuggest,    Button*, void );
         DECL_LINK( OnFieldChanged,     FieldLinkRow* );
-        DECL_LINK( OnInitialize, void*         );
+        DECL_LINK_TYPED( OnInitialize, void*, void);
 
         void        updateOkButton();
         void        initializeFieldLists();
diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx
index 94d3ee4..2a9005a 100644
--- a/extensions/source/propctrlr/standardcontrol.cxx
+++ b/extensions/source/propctrlr/standardcontrol.cxx
@@ -460,15 +460,13 @@ namespace pcr
     }
 
 
-    IMPL_LINK_NOARG( OHyperlinkControl, OnHyperlinkClicked )
+    IMPL_LINK_NOARG_TYPED( OHyperlinkControl, OnHyperlinkClicked, void*, void )
     {
         ActionEvent aEvent( *this, OUString( "clicked" ) );
         m_aActionListeners.forEach< XActionListener >(
             boost::bind(
                 &XActionListener::actionPerformed,
                 _1, boost::cref(aEvent) ) );
-
-        return 0;
     }
 
 
diff --git a/extensions/source/propctrlr/standardcontrol.hxx b/extensions/source/propctrlr/standardcontrol.hxx
index 22edd97..e88111c 100644
--- a/extensions/source/propctrlr/standardcontrol.hxx
+++ b/extensions/source/propctrlr/standardcontrol.hxx
@@ -165,8 +165,8 @@ namespace pcr
     class HyperlinkInput : public Edit
     {
     private:
-        Point   m_aMouseButtonDownPos;
-        Link<>  m_aClickHandler;
+        Point             m_aMouseButtonDownPos;
+        Link<void*,void>  m_aClickHandler;
 
     public:
         HyperlinkInput( vcl::Window* _pParent, WinBits _nWinStyle );
@@ -174,7 +174,7 @@ namespace pcr
         /** sets the handler which will (asynchronously, with locked SolarMutex) be called
             when the hyperlink has been clicked by the user
         */
-        void        SetClickHdl( const Link<>& _rHdl ) { m_aClickHandler = _rHdl; }
+        void    SetClickHdl( const Link<void*,void>& _rHdl ) { m_aClickHandler = _rHdl; }
 
     protected:
         virtual void        MouseMove( const MouseEvent& rMEvt ) SAL_OVERRIDE;
@@ -213,7 +213,7 @@ namespace pcr
         virtual void SAL_CALL disposing() SAL_OVERRIDE;
 
     protected:
-        DECL_LINK( OnHyperlinkClicked, void* );
+        DECL_LINK_TYPED( OnHyperlinkClicked, void*, void );
     };
 
 
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index ec24953..f4df5af 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -104,8 +104,8 @@ class ImpTwain : public ::cppu::WeakImplHelper< util::XCloseListener >
     uno::Reference< frame::XFrame >             ImplGetActiveFrame();
     uno::Reference< util::XCloseBroadcaster >   ImplGetActiveFrameCloseBroadcaster();
 
-                                                DECL_LINK( ImplFallbackHdl, void* );
-                                                DECL_LINK( ImplDestroyHdl, void* );
+                                                DECL_LINK_TYPED( ImplFallbackHdl, void*, void );
+                                                DECL_LINK_TYPED( ImplDestroyHdl, void*, void );
 
     // from util::XCloseListener
     virtual void SAL_CALL queryClosing( const lang::EventObject& Source, sal_Bool GetsOwnership ) throw (util::CloseVetoException, uno::RuntimeException);
@@ -421,7 +421,7 @@ void ImpTwain::ImplFallback( ULONG_PTR nEvent )
     Application::PostUserEvent( LINK( this, ImpTwain, ImplFallbackHdl ), (void*) nEvent );
 }
 
-IMPL_LINK( ImpTwain, ImplFallbackHdl, void*, pData )
+IMPL_LINK_TYPED( ImpTwain, ImplFallbackHdl, void*, pData, void )
 {
     const sal_uIntPtr nEvent = (sal_uIntPtr) pData;
     bool        bFallback = true;
@@ -489,11 +489,9 @@ IMPL_LINK( ImpTwain, ImplFallbackHdl, void*, pData )
 
     if( bFallback )
         ImplFallback( nEvent );
-
-    return 0L;
 }
 
-IMPL_LINK_NOARG( ImpTwain, ImplDestroyHdl )
+IMPL_LINK_NOARG_TYPED( ImpTwain, ImplDestroyHdl, void*, void )
 {
     if( hTwainWnd )
         DestroyWindow( hTwainWnd );
@@ -505,8 +503,6 @@ IMPL_LINK_NOARG( ImpTwain, ImplDestroyHdl )
     // should drop to zero exactly here)
     mxSelfRef = NULL;
     pImpTwainInstance = NULL;
-
-    return 0L;
 }
 
 uno::Reference< frame::XFrame > ImpTwain::ImplGetActiveFrame()
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index d2ce406..55c77b6 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -147,7 +147,7 @@ private:
                     DECL_LINK( HighlightHdl, MenuBar::MenuBarButtonCallbackArg* );
                     DECL_LINK_TYPED(WaitTimeOutHdl, Idle *, void);
                     DECL_LINK_TYPED(TimeOutHdl, Timer *, void);
-                    DECL_LINK(UserEventHdl, void *);
+                    DECL_LINK_TYPED(UserEventHdl, void *, void);
                     DECL_LINK( WindowEventHdl, VclWindowEvent* );
                     DECL_LINK( ApplicationEventHdl, VclSimpleEvent* );
 
@@ -631,7 +631,7 @@ IMPL_LINK_NOARG_TYPED(UpdateCheckUI, TimeOutHdl, Timer *, void)
 }
 
 
-IMPL_LINK_NOARG(UpdateCheckUI, UserEventHdl)
+IMPL_LINK_NOARG_TYPED(UpdateCheckUI, UserEventHdl, void*, void)
 {
     SolarMutexGuard aGuard;
 
@@ -659,8 +659,6 @@ IMPL_LINK_NOARG(UpdateCheckUI, UserEventHdl)
 
     if ( pActiveSysWin )
         AddMenuBarIcon( pActiveSysWin, true );
-
-    return 0;
 }
 
 
diff --git a/forms/source/component/Button.cxx b/forms/source/component/Button.cxx
index 9d5f55d..62fd0b6 100644
--- a/forms/source/component/Button.cxx
+++ b/forms/source/component/Button.cxx
@@ -415,7 +415,7 @@ void SAL_CALL OButtonControl::disposing( const EventObject& _rSource ) throw( Ru
 void OButtonControl::actionPerformed(const ActionEvent& /*rEvent*/) throw ( ::com::sun::star::uno::RuntimeException, std::exception)
 {
     // Asynchronous for css::util::URL-Button
-    ImplSVEvent * n = Application::PostUserEvent( LINK(this, OButtonControl,OnClick) );
+    ImplSVEvent * n = Application::PostUserEvent( LINK(this, OButtonControl, OnClick) );
     {
         ::osl::MutexGuard aGuard( m_aMutex );
         m_nClickEvent = n;
@@ -423,7 +423,7 @@ void OButtonControl::actionPerformed(const ActionEvent& /*rEvent*/) throw ( ::co
 }
 
 
-IMPL_LINK_NOARG(OButtonControl, OnClick)
+IMPL_LINK_NOARG_TYPED(OButtonControl, OnClick, void*, void)
 {
     ::osl::ClearableMutexGuard aGuard( m_aMutex );
     m_nClickEvent = 0;
@@ -443,7 +443,7 @@ IMPL_LINK_NOARG(OButtonControl, OnClick)
         // recognize the button type
         Reference<XPropertySet>  xSet(getModel(), UNO_QUERY);
         if (!xSet.is())
-            return 0L;
+            return;
 
         if (FormButtonType_PUSH == *static_cast<FormButtonType const *>(xSet->getPropertyValue(PROPERTY_BUTTONTYPE).getValue()))
         {
@@ -474,7 +474,6 @@ IMPL_LINK_NOARG(OButtonControl, OnClick)
         else
             actionPerformed_Impl( false, ::com::sun::star::awt::MouseEvent() );
     }
-    return 0L;
 }
 
 
diff --git a/forms/source/component/Button.hxx b/forms/source/component/Button.hxx
index 825d8dc..c6a3139 100644
--- a/forms/source/component/Button.hxx
+++ b/forms/source/component/Button.hxx
@@ -181,7 +181,7 @@ protected:
     virtual void    actionPerformed_Impl( bool bNotifyListener, const ::com::sun::star::awt::MouseEvent& _rEvt ) SAL_OVERRIDE;
 
 private:
-    DECL_LINK( OnClick, void* );
+    DECL_LINK_TYPED( OnClick, void*, void );
 
     /// to be called whenever the feature URL represented by our model has potentially changed
     void        modelFeatureUrlPotentiallyChanged( );
diff --git a/forms/source/component/Edit.cxx b/forms/source/component/Edit.cxx
index 3c4f6bf..a135db3 100644
--- a/forms/source/component/Edit.cxx
+++ b/forms/source/component/Edit.cxx
@@ -238,7 +238,7 @@ void OEditControl::keyPressed(const ::com::sun::star::awt::KeyEvent& e) throw (
     // Because we're still in the header, trigger submit asynchronously
     if( m_nKeyEvent )
         Application::RemoveUserEvent( m_nKeyEvent );
-    m_nKeyEvent = Application::PostUserEvent( LINK(this, OEditControl,OnKeyPressed) );
+    m_nKeyEvent = Application::PostUserEvent( LINK(this, OEditControl, OnKeyPressed) );
 }
 
 
@@ -247,7 +247,7 @@ void OEditControl::keyReleased(const ::com::sun::star::awt::KeyEvent& /*e*/) thr
 }
 
 
-IMPL_LINK_NOARG(OEditControl, OnKeyPressed)
+IMPL_LINK_NOARG_TYPED(OEditControl, OnKeyPressed, void*, void)
 {
     m_nKeyEvent = 0;
 
@@ -256,7 +256,6 @@ IMPL_LINK_NOARG(OEditControl, OnKeyPressed)
     Reference<XSubmit>  xSubmit(xParent, UNO_QUERY);
     if (xSubmit.is())
         xSubmit->submit( Reference<XControl>(), ::com::sun::star::awt::MouseEvent() );
-    return 0L;
 }
 
 
diff --git a/forms/source/component/Edit.hxx b/forms/source/component/Edit.hxx
index 52b32b3..3f89f22 100644
--- a/forms/source/component/Edit.hxx
+++ b/forms/source/component/Edit.hxx
@@ -170,7 +170,7 @@ public:
     virtual void SAL_CALL createPeer( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit >& _rxToolkit, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& _rxParent ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
 private:
-    DECL_LINK( OnKeyPressed, void* );
+    DECL_LINK_TYPED( OnKeyPressed, void*, void );
 };
 
 }
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index 036605d..8fde4d8 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -240,7 +240,7 @@ void OFormattedControl::keyReleased(const ::com::sun::star::awt::KeyEvent& /*e*/
 {
 }
 
-IMPL_LINK_NOARG(OFormattedControl, OnKeyPressed)
+IMPL_LINK_NOARG_TYPED(OFormattedControl, OnKeyPressed, void*, void)
 {
     m_nKeyEvent = 0;
     Reference<XFormComponent>  xFComp(getModel(), UNO_QUERY);
@@ -248,7 +248,6 @@ IMPL_LINK_NOARG(OFormattedControl, OnKeyPressed)
     Reference<XSubmit>  xSubmit(xParent, UNO_QUERY);
     if (xSubmit.is())
         xSubmit->submit( Reference<XControl> (), ::com::sun::star::awt::MouseEvent() );
-    return 0L;
 }
 
 css::uno::Sequence<OUString>  OFormattedControl::getSupportedServiceNames() throw(std::exception)
diff --git a/forms/source/component/FormattedField.hxx b/forms/source/component/FormattedField.hxx
index 812f7f2..84132df 100644
--- a/forms/source/component/FormattedField.hxx
+++ b/forms/source/component/FormattedField.hxx
@@ -181,7 +181,7 @@ class OFormattedModel
         using OBoundControl::disposing;
 
     private:
-        DECL_LINK( OnKeyPressed, void* );
+        DECL_LINK_TYPED( OnKeyPressed, void*, void );
     };
 }
 #endif // INCLUDED_FORMS_SOURCE_COMPONENT_FORMATTEDFIELD_HXX
diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx
index 0788de4..e78a289 100644
--- a/formula/source/ui/dlg/ControlHelper.hxx
+++ b/formula/source/ui/dlg/ControlHelper.hxx
@@ -34,7 +34,7 @@ private:
     Selection       aOldSel;
     bool            bMouseFlag;
 
-    DECL_LINK(ChangedHdl, void *);
+    DECL_LINK_TYPED(ChangedHdl, void *, void);
 
 protected:
 
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 8763389..606e6f3 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -437,7 +437,7 @@ bool EditBox::PreNotify( NotifyEvent& rNEvt )
 
 //When an Event cleared wurde, this routine is
 //first called.
-IMPL_LINK_NOARG(EditBox, ChangedHdl)
+IMPL_LINK_NOARG_TYPED(EditBox, ChangedHdl, void*, void)
 {
     if(pMEdit!=nullptr)
     {
@@ -449,7 +449,6 @@ IMPL_LINK_NOARG(EditBox, ChangedHdl)
             aOldSel=aNewSel;
         }
     }
-    return 0;
 }
 
 void EditBox::UpdateOldSel()
diff --git a/fpicker/source/office/asyncfilepicker.cxx b/fpicker/source/office/asyncfilepicker.cxx
index 8e4c9e3..6150b44 100644
--- a/fpicker/source/office/asyncfilepicker.cxx
+++ b/fpicker/source/office/asyncfilepicker.cxx
@@ -125,7 +125,7 @@ namespace svt
     }
 
 
-    IMPL_LINK( AsyncPickerAction, OnActionDone, void*, pEmptyArg )
+    IMPL_LINK_TYPED( AsyncPickerAction, OnActionDone, void*, pEmptyArg, void )
     {
         DBG_TESTSOLARMUTEX();
             // if this asserts, we'd need to have an own mutex per instance
@@ -143,12 +143,12 @@ namespace svt
 
         if ( eFailure == eResult )
             // TODO: do we need some kind of cleanup here?
-            return 0L;
+            return;
 
         if ( eTimeout == eResult )
         {
             SvtFileDialog::displayIOException( m_sURL, ::com::sun::star::ucb::IOErrorCode_CANT_READ );
-            return 0L;
+            return;
         }
 
         OSL_ENSURE( eSuccess == eResult, "AsyncPickerAction::OnActionDone: what else valid results are there?" );
@@ -173,8 +173,6 @@ namespace svt
             OSL_FAIL( "AsyncPickerAction::OnActionDone: unknown action!" );
             break;
         }
-
-        return 1L;
     }
 
 
diff --git a/fpicker/source/office/asyncfilepicker.hxx b/fpicker/source/office/asyncfilepicker.hxx
index bd40153..0778d97 100644
--- a/fpicker/source/office/asyncfilepicker.hxx
+++ b/fpicker/source/office/asyncfilepicker.hxx
@@ -88,7 +88,7 @@ namespace svt
         virtual ~AsyncPickerAction();
 
     private:
-        DECL_LINK( OnActionDone, void* );
+        DECL_LINK_TYPED( OnActionDone, void*, void );
 
         AsyncPickerAction( const AsyncPickerAction& ) SAL_DELETED_FUNCTION;
         AsyncPickerAction& operator=( const AsyncPickerAction& ) SAL_DELETED_FUNCTION;
diff --git a/fpicker/source/office/commonpicker.cxx b/fpicker/source/office/commonpicker.cxx
index 451231e..553214e 100644
--- a/fpicker/source/office/commonpicker.cxx
+++ b/fpicker/source/office/commonpicker.cxx
@@ -389,7 +389,7 @@ namespace svt
     }
 
 
-    IMPL_LINK_NOARG(OCommonPicker, OnCancelPicker)
+    IMPL_LINK_NOARG_TYPED(OCommonPicker, OnCancelPicker, void*, void)
     {
         // By definition, the solar mutex is locked when we arrive here. Note that this
         // is important, as for instance the consistency of m_pDlg depends on this mutex.
@@ -400,13 +400,11 @@ namespace svt
             // nothing to do. This may be because the dialog was canceled after our cancel method
             // posted this async event, or because somebody called cancel without the dialog
             // being executed at this time.
-            return 0;
+            return;
 
         OSL_ENSURE( getDialog(), "OCommonPicker::OnCancelPicker: executing, but no dialog!" );
         if ( getDialog() )
             getDialog()->EndDialog();
-
-        return 0L;
     }
 
 
diff --git a/fpicker/source/office/commonpicker.hxx b/fpicker/source/office/commonpicker.hxx
index 30c1ed7..6573de0 100644
--- a/fpicker/source/office/commonpicker.hxx
+++ b/fpicker/source/office/commonpicker.hxx
@@ -186,7 +186,7 @@ namespace svt
     private:
         void        stopWindowListening();
 
-        DECL_LINK( OnCancelPicker, void* );
+        DECL_LINK_TYPED( OnCancelPicker, void*, void );
     };
 
 }   // namespace svt
diff --git a/framework/inc/services/layoutmanager.hxx b/framework/inc/services/layoutmanager.hxx
index d1e042d..c8b4e7c 100644
--- a/framework/inc/services/layoutmanager.hxx
+++ b/framework/inc/services/layoutmanager.hxx
@@ -168,7 +168,7 @@ namespace framework
             virtual void SAL_CALL addLayoutManagerEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManagerListener >& aLayoutManagerListener ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
             virtual void SAL_CALL removeLayoutManagerEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManagerListener >& aLayoutManagerListener ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
 
-            DECL_LINK(MenuBarClose, void *);
+            DECL_LINK_TYPED( MenuBarClose, void *, void);
             DECL_LINK( WindowEventListener, VclSimpleEvent* );
 
             //  ILayoutNotifications
diff --git a/framework/inc/uielement/complextoolbarcontroller.hxx b/framework/inc/uielement/complextoolbarcontroller.hxx
index b24186f..bf9b7cf 100644
--- a/framework/inc/uielement/complextoolbarcontroller.hxx
+++ b/framework/inc/uielement/complextoolbarcontroller.hxx
@@ -71,8 +71,8 @@ class ComplexToolbarController : public svt::ToolboxController
         // XStatusListener
         virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
-        DECL_STATIC_LINK( ComplexToolbarController, ExecuteHdl_Impl, ExecuteInfo* );
-        DECL_STATIC_LINK( ComplexToolbarController, Notify_Impl, NotifyInfo* );
+        DECL_STATIC_LINK_TYPED( ComplexToolbarController, ExecuteHdl_Impl, void*, void );
+        DECL_STATIC_LINK_TYPED( ComplexToolbarController, Notify_Impl, void*, void);
 
     protected:
         static sal_Int32 getFontSizePixel( const vcl::Window* pWindow );
diff --git a/framework/inc/uielement/generictoolbarcontroller.hxx b/framework/inc/uielement/generictoolbarcontroller.hxx
index 26ebeb6..cfef97d 100644
--- a/framework/inc/uielement/generictoolbarcontroller.hxx
+++ b/framework/inc/uielement/generictoolbarcontroller.hxx
@@ -51,7 +51,7 @@ class GenericToolbarController : public svt::ToolboxController
         // XStatusListener
         virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
-        DECL_STATIC_LINK( GenericToolbarController, ExecuteHdl_Impl, ExecuteInfo* );
+        DECL_STATIC_LINK_TYPED( GenericToolbarController, ExecuteHdl_Impl, void*, void );
 
     protected:
         VclPtr<ToolBox>     m_pToolbar;
diff --git a/framework/inc/uielement/newmenucontroller.hxx b/framework/inc/uielement/newmenucontroller.hxx
index a86d5ad..3243278 100644
--- a/framework/inc/uielement/newmenucontroller.hxx
+++ b/framework/inc/uielement/newmenucontroller.hxx
@@ -77,7 +77,7 @@ namespace framework
             // XEventListener
             virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
-            DECL_STATIC_LINK( NewMenuController, ExecuteHdl_Impl, NewDocument* );
+            DECL_STATIC_LINK_TYPED( NewMenuController, ExecuteHdl_Impl, void*, void );
 
         private:
             virtual void impl_setPopupMenu() SAL_OVERRIDE;
diff --git a/framework/inc/uielement/toolbarmanager.hxx b/framework/inc/uielement/toolbarmanager.hxx
index 9a43da9..5cf00f7 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -140,7 +140,7 @@ class ToolBarManager : public ToolbarManager_Base
         DECL_LINK( MenuSelect, Menu * );
         DECL_LINK_TYPED( MenuDeactivate, Menu *, bool );
         DECL_LINK_TYPED(AsyncUpdateControllersHdl, Timer *, void);
-        DECL_STATIC_LINK( ToolBarManager, ExecuteHdl_Impl, ExecuteInfo* );
+        DECL_STATIC_LINK_TYPED( ToolBarManager, ExecuteHdl_Impl, void*, void );
 
         virtual bool MenuItemAllowed( sal_uInt16 ) const;
 
diff --git a/framework/inc/uielement/toolbarsmenucontroller.hxx b/framework/inc/uielement/toolbarsmenucontroller.hxx
index 41eb059..3cc2c26 100644
--- a/framework/inc/uielement/toolbarsmenucontroller.hxx
+++ b/framework/inc/uielement/toolbarsmenucontroller.hxx
@@ -80,7 +80,7 @@ namespace framework
                 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >  aArgs;
             };
 
-            DECL_STATIC_LINK( ToolbarsMenuController, ExecuteHdl_Impl, ExecuteInfo* );
+            DECL_STATIC_LINK_TYPED( ToolbarsMenuController, ExecuteHdl_Impl, void*, void );
 
         private:
             void fillPopupMenu( com::sun::star::uno::Reference< com::sun::star::awt::XPopupMenu >& rPopupMenu );
diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index 743e45b..1f3b074e 100644
--- a/framework/source/fwe/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -1651,11 +1651,10 @@ Mutex& AddonsOptions::GetOwnStaticMutex()
     return *pMutex;
 }
 
-IMPL_STATIC_LINK_NOARG( AddonsOptions, Notify )
+IMPL_STATIC_LINK_NOARG_TYPED( AddonsOptions, Notify, void*, void )
 {
     MutexGuard aGuard( GetOwnStaticMutex() );
     m_pDataContainer->ReadConfigurationData();
-    return 0;
 }
 
 }
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 2cf7fb0..f27f528 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -2595,7 +2595,7 @@ bool LayoutManager::implts_resetMenuBar()
     return false;
 }
 
-IMPL_LINK_NOARG(LayoutManager, MenuBarClose)
+IMPL_LINK_NOARG_TYPED(LayoutManager, MenuBarClose, void*, void)
 {
     SolarMutexClearableGuard aReadLock;
     uno::Reference< frame::XDispatchProvider >   xProvider(m_xFrame, uno::UNO_QUERY);
@@ -2603,7 +2603,7 @@ IMPL_LINK_NOARG(LayoutManager, MenuBarClose)
     aReadLock.clear();
 
     if ( !xProvider.is())
-        return 0;
+        return;
 
     uno::Reference< frame::XDispatchHelper > xDispatcher = frame::DispatchHelper::create( xContext );
 
@@ -2613,8 +2613,6 @@ IMPL_LINK_NOARG(LayoutManager, MenuBarClose)
         OUString("_self"),
         0,
         uno::Sequence< beans::PropertyValue >());
-
-    return 0;
 }
 
 //  XLayoutManagerEventBroadcaster
diff --git a/framework/source/uielement/complextoolbarcontroller.cxx b/framework/source/uielement/complextoolbarcontroller.cxx
index 8542eb6..5ac9a3a 100644
--- a/framework/source/uielement/complextoolbarcontroller.cxx
+++ b/framework/source/uielement/complextoolbarcontroller.cxx
@@ -196,8 +196,9 @@ throw ( RuntimeException, std::exception )
     }
 }
 
-IMPL_STATIC_LINK( ComplexToolbarController, ExecuteHdl_Impl, ExecuteInfo*, pExecuteInfo )
+IMPL_STATIC_LINK_TYPED( ComplexToolbarController, ExecuteHdl_Impl, void*, p, void )
 {
+   ExecuteInfo* pExecuteInfo = static_cast<ExecuteInfo*>(p);
    SolarMutexReleaser aReleaser;
    try
    {
@@ -211,11 +212,11 @@ IMPL_STATIC_LINK( ComplexToolbarController, ExecuteHdl_Impl, ExecuteInfo*, pExec
    }
 
    delete pExecuteInfo;
-   return 0;
 }
 
-IMPL_STATIC_LINK( ComplexToolbarController, Notify_Impl, NotifyInfo*, pNotifyInfo )
+IMPL_STATIC_LINK_TYPED( ComplexToolbarController, Notify_Impl, void*, p, void )
 {
+   NotifyInfo* pNotifyInfo = static_cast<NotifyInfo*>(p);
    SolarMutexReleaser aReleaser;
    try
    {
@@ -233,7 +234,6 @@ IMPL_STATIC_LINK( ComplexToolbarController, Notify_Impl, NotifyInfo*, pNotifyInf
    }
 
    delete pNotifyInfo;
-   return 0;
 }
 
 void ComplexToolbarController::addNotifyInfo(
diff --git a/framework/source/uielement/generictoolbarcontroller.cxx b/framework/source/uielement/generictoolbarcontroller.cxx
index 8c578e2..bb599ab 100644
--- a/framework/source/uielement/generictoolbarcontroller.cxx
+++ b/framework/source/uielement/generictoolbarcontroller.cxx
@@ -269,8 +269,9 @@ throw ( RuntimeException, std::exception )
     }
 }
 
-IMPL_STATIC_LINK( GenericToolbarController, ExecuteHdl_Impl, ExecuteInfo*, pExecuteInfo )
+IMPL_STATIC_LINK_TYPED( GenericToolbarController, ExecuteHdl_Impl, void*, p, void )
 {
+   ExecuteInfo* pExecuteInfo = static_cast<ExecuteInfo*>(p);
    SolarMutexReleaser aReleaser;
    try
    {
@@ -284,7 +285,6 @@ IMPL_STATIC_LINK( GenericToolbarController, ExecuteHdl_Impl, ExecuteInfo*, pExec
    }
 
    delete pExecuteInfo;
-   return 0;
 }
 
 MenuToolbarController::MenuToolbarController( const Reference< XComponentContext >& rxContext,
diff --git a/framework/source/uielement/newmenucontroller.cxx b/framework/source/uielement/newmenucontroller.cxx
index 5cc190e..384c3e1 100644
--- a/framework/source/uielement/newmenucontroller.cxx
+++ b/framework/source/uielement/newmenucontroller.cxx
@@ -522,8 +522,9 @@ void SAL_CALL NewMenuController::initialize( const Sequence< Any >& aArguments )
     }
 }
 
-IMPL_STATIC_LINK( NewMenuController, ExecuteHdl_Impl, NewDocument*, pNewDocument )
+IMPL_STATIC_LINK_TYPED( NewMenuController, ExecuteHdl_Impl, void*, p, void )
 {
+    NewDocument* pNewDocument = static_cast<NewDocument*>(p);
 /*  i62706: Don't catch all exceptions. We hide all problems here and are not able
             to handle them on higher levels.
     try
@@ -534,7 +535,6 @@ IMPL_STATIC_LINK( NewMenuController, ExecuteHdl_Impl, NewDocument*, pNewDocument
         // elements if a component gets detached from its frame!
         pNewDocument->xDispatch->dispatch( pNewDocument->aTargetURL, pNewDocument->aArgSeq );
     delete pNewDocument;
-    return 0;
 }
 
 }
diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx b/framework/source/uielement/recentfilesmenucontroller.cxx
index 1863251..c21cb35 100644
--- a/framework/source/uielement/recentfilesmenucontroller.cxx
+++ b/framework/source/uielement/recentfilesmenucontroller.cxx
@@ -100,7 +100,7 @@ public:
     // XEventListener
     virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
-    DECL_STATIC_LINK( RecentFilesMenuController, ExecuteHdl_Impl, LoadRecentFile* );
+    DECL_STATIC_LINK_TYPED( RecentFilesMenuController, ExecuteHdl_Impl, void*, void );
 
 private:
     virtual void impl_setPopupMenu() SAL_OVERRIDE;
@@ -439,8 +439,9 @@ throw( RuntimeException, std::exception )
     }
 }
 
-IMPL_STATIC_LINK( RecentFilesMenuController, ExecuteHdl_Impl, LoadRecentFile*, pLoadRecentFile )
+IMPL_STATIC_LINK_TYPED( RecentFilesMenuController, ExecuteHdl_Impl, void*, p, void )
 {
+    LoadRecentFile* pLoadRecentFile = static_cast<LoadRecentFile*>(p);
     try
     {
         // Asynchronous execution as this can lead to our own destruction!
@@ -453,7 +454,6 @@ IMPL_STATIC_LINK( RecentFilesMenuController, ExecuteHdl_Impl, LoadRecentFile*, p
     }
 
     delete pLoadRecentFile;
-    return 0;
 }
 
 }
diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx
index 2c946aa..2224e5c 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -2121,8 +2121,9 @@ IMPL_LINK_NOARG_TYPED(ToolBarManager, AsyncUpdateControllersHdl, Timer *, void)
     UpdateControllers();
 }
 
-IMPL_STATIC_LINK( ToolBarManager, ExecuteHdl_Impl, ExecuteInfo*, pExecuteInfo )
+IMPL_STATIC_LINK_TYPED( ToolBarManager, ExecuteHdl_Impl, void*, p, void )
 {
+    ExecuteInfo* pExecuteInfo = static_cast<ExecuteInfo*>(p);
     try
     {
         // Asynchronous execution as this can lead to our own destruction!
@@ -2158,7 +2159,6 @@ IMPL_STATIC_LINK( ToolBarManager, ExecuteHdl_Impl, ExecuteInfo*, pExecuteInfo )
     }
 
     delete pExecuteInfo;
-    return 0;
 }
 
 Image ToolBarManager::QueryAddonsImage( const OUString& aCommandURL, bool bBigImages )
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index 277469b..6305cea 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -851,8 +851,9 @@ void SAL_CALL ToolbarsMenuController::initialize( const Sequence< Any >& aArgume
     }
 }
 
-IMPL_STATIC_LINK( ToolbarsMenuController, ExecuteHdl_Impl, ExecuteInfo*, pExecuteInfo )
+IMPL_STATIC_LINK_TYPED( ToolbarsMenuController, ExecuteHdl_Impl, void*, p, void )
 {
+    ExecuteInfo* pExecuteInfo = static_cast<ExecuteInfo*>(p);
     try
     {
         // Asynchronous execution as this can lead to our own destruction!
@@ -868,7 +869,6 @@ IMPL_STATIC_LINK( ToolbarsMenuController, ExecuteHdl_Impl, ExecuteInfo*, pExecut
     }
 
     delete pExecuteInfo;
-    return 0;
 }
 
 }
diff --git a/include/dbaccess/AsynchronousLink.hxx b/include/dbaccess/AsynchronousLink.hxx
index 789a3fe..a551886 100644
--- a/include/dbaccess/AsynchronousLink.hxx
+++ b/include/dbaccess/AsynchronousLink.hxx
@@ -58,7 +58,7 @@ namespace dbaui
         void CancelCall();
 
     protected:
-        DECL_LINK(OnAsyncCall, void*);
+        DECL_LINK_TYPED(OnAsyncCall, void*, void);
     };
 }
 #endif // INCLUDED_DBACCESS_ASYNCRONOUSLINK_HXX
diff --git a/include/framework/addonsoptions.hxx b/include/framework/addonsoptions.hxx
index dee6ec0..92bf904 100644
--- a/include/framework/addonsoptions.hxx
+++ b/include/framework/addonsoptions.hxx
@@ -229,7 +229,7 @@ class FWE_DLLPUBLIC AddonsOptions
                         We create a static mutex only for one ime and use at different times.
             @return     A reference to a static mutex member.
         *//*-*****************************************************************************************************/
-        DECL_STATIC_LINK( AddonsOptions, Notify, void* );
+        DECL_STATIC_LINK_TYPED( AddonsOptions, Notify, void*, void );
 
     private:
 
diff --git a/include/sfx2/filedlghelper.hxx b/include/sfx2/filedlghelper.hxx
index c302109..854703a 100644
--- a/include/sfx2/filedlghelper.hxx
+++ b/include/sfx2/filedlghelper.hxx
@@ -223,7 +223,7 @@ public:
     */
     void                    SetContext( Context _eNewContext );
 
-   DECL_LINK( ExecuteSystemFilePicker, void* );
+   DECL_LINK_TYPED( ExecuteSystemFilePicker, void*, void );
 
    ErrCode                  Execute( std::vector<OUString>& rpURLList,
                                      SfxItemSet *&   rpSet,
diff --git a/include/sfx2/hintpost.hxx b/include/sfx2/hintpost.hxx
index fbcc477..36a7cab 100644
--- a/include/sfx2/hintpost.hxx
+++ b/include/sfx2/hintpost.hxx
@@ -41,7 +41,7 @@ class SfxHintPoster : public SvRefBase
 private:
     Link<SfxRequest*,void> m_Link;
 
-                    DECL_LINK( DoEvent_Impl, SfxRequest * );
+                    DECL_LINK_TYPED( DoEvent_Impl, void*, void );
 
 protected:
     virtual         ~SfxHintPoster();
diff --git a/include/sfx2/recentdocsview.hxx b/include/sfx2/recentdocsview.hxx
index 2232406..f502fa0 100644
--- a/include/sfx2/recentdocsview.hxx
+++ b/include/sfx2/recentdocsview.hxx
@@ -57,7 +57,7 @@ public:
     /// Update the information in the view.
     virtual void Reload() SAL_OVERRIDE;
 
-    DECL_STATIC_LINK( RecentDocsView, ExecuteHdl_Impl, LoadRecentFile* );
+    DECL_STATIC_LINK_TYPED( RecentDocsView, ExecuteHdl_Impl, void*, void );
 
 protected:
     virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
diff --git a/include/sfx2/sidebar/AsynchronousCall.hxx b/include/sfx2/sidebar/AsynchronousCall.hxx
index 408805a..02186de 100644
--- a/include/sfx2/sidebar/AsynchronousCall.hxx
+++ b/include/sfx2/sidebar/AsynchronousCall.hxx
@@ -46,7 +46,7 @@ private:
     Action maAction;
     ImplSVEvent * mnCallId;
 
-    DECL_LINK(HandleUserCall, void*);
+    DECL_LINK_TYPED(HandleUserCall, void*, void);
 };
 
 } } // end of namespace sfx2::sidebar
diff --git a/include/svtools/addresstemplate.hxx b/include/svtools/addresstemplate.hxx
index f7fa977..0607377 100644
--- a/include/svtools/addresstemplate.hxx
+++ b/include/svtools/addresstemplate.hxx
@@ -132,7 +132,7 @@ namespace svt
         DECL_LINK(OnComboLoseFocus, ComboBox*);
         DECL_LINK(OnComboSelect, ComboBox*);
         DECL_LINK_TYPED(OnOkClicked, Button*, void);
-        DECL_LINK(OnDelayedInitialize, void*);
+        DECL_LINK_TYPED(OnDelayedInitialize, void*, void);
     };
 
 
diff --git a/include/svtools/asynclink.hxx b/include/svtools/asynclink.hxx
index 862bd3f..747b0c3 100644
--- a/include/svtools/asynclink.hxx
+++ b/include/svtools/asynclink.hxx
@@ -41,7 +41,7 @@ class SVT_DLLPUBLIC AsynchronLink
     ::osl::Mutex* _pMutex;
 
     DECL_DLLPRIVATE_LINK_TYPED( HandleCall_Idle, Idle*, void );
-    DECL_DLLPRIVATE_LINK( HandleCall_PostUserEvent, void* );
+    DECL_DLLPRIVATE_LINK_TYPED( HandleCall_PostUserEvent, void*, void );
     SVT_DLLPRIVATE void Call_Impl( void* pArg );
 
 public:
diff --git a/include/svtools/contextmenuhelper.hxx b/include/svtools/contextmenuhelper.hxx
index 4b7db90..3333027 100644
--- a/include/svtools/contextmenuhelper.hxx
+++ b/include/svtools/contextmenuhelper.hxx
@@ -63,7 +63,7 @@ class SVT_DLLPUBLIC ContextMenuHelper
 
     private:
         // asynchronous link to prevent destruction while on stack
-        DECL_STATIC_LINK( ContextMenuHelper, ExecuteHdl_Impl, ExecuteInfo* );
+        DECL_STATIC_LINK_TYPED( ContextMenuHelper, ExecuteHdl_Impl, void*, void );
 
         ContextMenuHelper( const ContextMenuHelper& ) SAL_DELETED_FUNCTION;
         const ContextMenuHelper& operator=( const ContextMenuHelper& ) SAL_DELETED_FUNCTION;
diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index 62d0aea..753e068 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -667,9 +667,9 @@ namespace svt
         SVT_DLLPRIVATE void impl_construct();
 
         DECL_DLLPRIVATE_LINK(ModifyHdl, void* );
-        DECL_DLLPRIVATE_LINK(StartEditHdl, void* );
-        DECL_DLLPRIVATE_LINK(EndEditHdl, void* );
-        DECL_DLLPRIVATE_LINK(CellModifiedHdl, void* );
+        DECL_DLLPRIVATE_LINK_TYPED(StartEditHdl, void*, void );
+        DECL_DLLPRIVATE_LINK_TYPED(EndEditHdl, void*, void );
+        DECL_DLLPRIVATE_LINK_TYPED(CellModifiedHdl, void*, void );
     };
 
 
diff --git a/include/svtools/fileview.hxx b/include/svtools/fileview.hxx
index 6946975..0621dd77 100644
--- a/include/svtools/fileview.hxx
+++ b/include/svtools/fileview.hxx
@@ -51,7 +51,7 @@ struct FileViewAsyncAction
 {
     sal_uInt32  nMinTimeout;    /// minimum time to wait for a result, in milliseconds
     sal_uInt32  nMaxTimeout;    /// maximum time to wait for a result, in milliseconds, until eTimeout is returned
-    Link<>      aFinishHandler; /// the handler to be called when the action is finished. Called in every case, no matter of the result
+    Link<void*,void>  aFinishHandler; /// the handler to be called when the action is finished. Called in every case, no matter of the result
 
     FileViewAsyncAction()
     {
diff --git a/include/svtools/generictoolboxcontroller.hxx b/include/svtools/generictoolboxcontroller.hxx
index d5bf7d7..5356b27 100644
--- a/include/svtools/generictoolboxcontroller.hxx
+++ b/include/svtools/generictoolboxcontroller.hxx
@@ -47,7 +47,7 @@ class SVT_DLLPUBLIC GenericToolboxController : public svt::ToolboxController
         // XStatusListener
         virtual void SAL_CALL statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
 
-         DECL_STATIC_LINK( GenericToolboxController, ExecuteHdl_Impl, ExecuteInfo* );
+         DECL_STATIC_LINK_TYPED( GenericToolboxController, ExecuteHdl_Impl, void*, void );
 
     private:
         VclPtr<ToolBox>    m_pToolbox;
diff --git a/include/svtools/popupmenucontrollerbase.hxx b/include/svtools/popupmenucontrollerbase.hxx
index c800470..474864e 100644
--- a/include/svtools/popupmenucontrollerbase.hxx
+++ b/include/svtools/popupmenucontrollerbase.hxx
@@ -111,7 +111,7 @@ namespace svt
             virtual void impl_setPopupMenu();
             static OUString determineBaseURL( const OUString& aURL );
 
-            DECL_STATIC_LINK( PopupMenuControllerBase, ExecuteHdl_Impl, PopupMenuControllerBaseDispatchInfo* );
+            DECL_STATIC_LINK_TYPED( PopupMenuControllerBase, ExecuteHdl_Impl, void*, void );
 
 
             bool                                                                             m_bInitialized;
diff --git a/include/svtools/toolboxcontroller.hxx b/include/svtools/toolboxcontroller.hxx
index fb61f21..288d8d9 100644
--- a/include/svtools/toolboxcontroller.hxx
+++ b/include/svtools/toolboxcontroller.hxx
@@ -149,7 +149,7 @@ class SVT_DLLPUBLIC ToolboxController :
                 {}
         };
 
-        DECL_STATIC_LINK( ToolboxController, ExecuteHdl_Impl, DispatchInfo* );
+        DECL_STATIC_LINK_TYPED( ToolboxController, ExecuteHdl_Impl, void*, void );
 
         typedef std::unordered_map< OUString,
                                     css::uno::Reference< css::frame::XDispatch >,
diff --git a/include/svx/colrctrl.hxx b/include/svx/colrctrl.hxx
index 3f54aeb..556f5e8 100644
--- a/include/svx/colrctrl.hxx
+++ b/include/svx/colrctrl.hxx
@@ -56,7 +56,7 @@ protected:
     // DragSourceHelper
     virtual void    StartDrag( sal_Int8 nAction, const Point& rPtPixel ) SAL_OVERRIDE;
 
-                    DECL_LINK(ExecDragHdl, void*);
+                    DECL_LINK_TYPED(ExecDragHdl, void*, void);
 
 public:
     SvxColorValueSet_docking( vcl::Window* pParent, WinBits nWinStyle = WB_ITEMBORDER );
diff --git a/include/svx/fmgridcl.hxx b/include/svx/fmgridcl.hxx
index c914753..7635508 100644
--- a/include/svx/fmgridcl.hxx
+++ b/include/svx/fmgridcl.hxx
@@ -85,7 +85,7 @@ protected:
     */
     void notifyColumnSelect(sal_uInt16 nColumnId);
 private:
-    DECL_LINK( OnAsyncExecuteDrop, void* );
+    DECL_LINK_TYPED( OnAsyncExecuteDrop, void*, void );
 };
 
 
diff --git a/include/svx/gridctrl.hxx b/include/svx/gridctrl.hxx
index 6ff1dfe..e3962aa 100644
--- a/include/svx/gridctrl.hxx
+++ b/include/svx/gridctrl.hxx
@@ -584,9 +584,9 @@ protected:
 
 protected:
     void ImplInitWindow( const InitWindowFacet _eInitWhat );
-    DECL_LINK(OnDelete, void*);
+    DECL_LINK_TYPED(OnDelete, void*, void);
 
-    DECL_LINK(OnAsyncAdjust, void*);
+    DECL_LINK_TYPED(OnAsyncAdjust, void*, void);
         // if the param is != NULL, AdjustRows will be called, else AdjustDataSource
 
 private:

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list