X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Xchat%2FXPI%2FEvents.pm;h=3b3963b32f502359a748ecbd0d26972bdc103b48;hb=HEAD;hp=d851caaeb961d04e705cd3753527ff4d627cd006;hpb=ffce0ac1da463a72159ea12236e1be85d9361383;p=perl%2Fscripts%2Fxchat.git diff --git a/Xchat/XPI/Events.pm b/Xchat/XPI/Events.pm index d851caa..3b3963b 100644 --- a/Xchat/XPI/Events.pm +++ b/Xchat/XPI/Events.pm @@ -5,6 +5,9 @@ use warnings; use Xchat qw<:all>; +use lib get_info 'xchatdir'; +use Xchat::XPI::Utils qw; + use constant DEFAULT_DELAY => 1000; our $VERSION = '0.04'; @@ -18,7 +21,7 @@ sub _delay_cb { } sub delay { - my $delay = shift; + my ($delay, @args) = @_; if (defined $delay) { $delay = int $delay; @@ -26,7 +29,9 @@ sub delay { $delay = DEFAULT_DELAY; } - hook_timer $delay, \&_delay_cb, { data => \@_ }; + called_from_script { + hook_timer $delay, \&_delay_cb, { data => \@args } + } } sub _filter_cb { @@ -42,9 +47,11 @@ sub _filter_cb { } sub filter { - my $from = shift; + my ($from, $cb, $to) = @_; - hook_print $from, \&_filter_cb, { data => \@_ }; + called_from_script { + hook_print $from, \&_filter_cb, { data => [ $cb, $to ] } + } } use base qw;