summaryrefslogtreecommitdiff
path: root/include/svtools/asynclink.hxx
AgeCommit message (Collapse)Author
2017-01-23Change all Idle* LINKs to be Timer*Jan-Marek Glogowski
Seem UBSAN doesn't like my forced reinterpret_cast to set the Idles Link in the Timer class. Now there are two possible solution: 1. convert all (DECL|IMPL).*_LINK call sites to use a Timer* or 2. split the inheritance of Idle from Timer again to maintain different Link<>s and move all common code into a TimerBase. While the 1st is more correct, the 2nd has a better indicator for Idles. This implements the first solution. And while at it, this also converts all call sites of SetTimeoutHdl and SetIdleHdl to SetInvokeHandler and gets rid of some local Link objects, which are just passed to the SetInvokeHandler call. It also introduces ClearInvokeHandler() and replaces the respective call sites of SetInvokeHandler( Link<Timer *, void>() ). Change-Id: I40c4167b1493997b7f136add4dad2f4ff5504b69
2016-10-05Remove _TYPED suffix from tools/link.hxx macrosStephan Bergmann
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually typed Link" to distinguish the new, typed versions from the old, untyped ones, but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173 "remove untyped Link<>" removed the old versions. Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
2016-03-17loplugin:constantparam in svtoolsNoel Grandin
Change-Id: I1a3c4a36e29a6712c589ffd3aaada593880d978d Reviewed-on: https://gerrit.libreoffice.org/23304 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I7fc4b4d5c895f241cfb052b009e943e073f3befe
2015-08-31make Link<> typedNoel Grandin
Change-Id: I8949a92792df892b7f360e6b9979c8f61c702ce3
2015-08-28make PostUserEvent Link<> typedNoel Grandin
Change-Id: I13f10bda985d55d419a5bff481130a456ae2db8a
2015-07-14loplugin:unusedmethods svtoolsNoel Grandin
Change-Id: I04ad31055c04a247faddf4311943ca769051473c Reviewed-on: https://gerrit.libreoffice.org/17032 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-05-10Replace IMPL_STATIC_LINK[_TYPED] with more useful variantsStephan Bergmann
Change-Id: I344ba9d22adada82170d45a4cf723af6a286b883
2015-05-05Use typed Idle::SetIdleHdl LinkStephan Bergmann
Change-Id: I189937950325dc4ef663f7f49cb45f38f8537de9
2015-04-30Gradually typed LinkStephan Bergmann
Turn the Link class into a template abstracting over the link's argument and return types, but provide default template arguments that keep the generic, unsafe "void* in, sal_IntPtr out" behvior. That way, individual uses of the Link class can be updated over time. All the related macros are duplicated with ..._TYPED counterparts, that additionally take the RetType (except for LINK_TYPED, which manages to infer the relevant types from the supplied Member). (It would have been attractive to change the "untyped" LinkStubs from taking a void* to a properly typed ArgType parameter, too, but that would cause -fsanitize=function to flag uses of "untyped" Link::Call.) Change-Id: I3b0140378bad99abbf240140ebb4a46a05d2d2f8
2014-12-09changed Timer tp idleTobias Madl
Change-Id: Ia3e76239ba98530547e057bebfda767ad684730b
2014-05-07The opaque PostUserEvent IDs are actually pointersStephan Bergmann
...so declare them as such. This avoids the recurring mistake of storing such IDs as sal_uInt32, truncating in 64 bit environments, causing RemoveUserEvent to potentially not remove the event, it thus firing "too late" and probably causing a crash. While at it, consolidate the trivially unnecessary overloads of both Application::PostUserEvent and Window::PostUserEvent. And in each of them, it looks like deleting the mpLink member was missing from the failure branch. Change-Id: Iab13afbb06e12ac15dec6a6b5b85a7e402a3c654
2014-03-24svtools: sal_Bool->boolNoel Grandin
Change-Id: I56072620f9ea28833e1590a7fff7d71ed11fc34c
2014-03-19coverity#708192 Uninitialized pointer fieldCaolán McNamara
Change-Id: Iaccc034f61442242ce1b864457f0d048cdeae98d
2013-11-09fdo#65108 inter-module includes <> include/svtoolsNorbert Thiebaud
Change-Id: I7e004e1e4fbc2141ff421af6be0e8bf5a026b189
2013-10-23fixincludeguards.sh: include/s*Thomas Arnhold
Change-Id: I57fcfd442d2b5815e7c07a9cbd660f3698168dee
2013-04-23execute move of global headersBjoern Michaelsen
see https://gerrit.libreoffice.org/#/c/3367/ and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a