--- AnyEvent-DBus/DBus.pm 2010/06/21 10:24:44 1.5 +++ AnyEvent-DBus/DBus.pm 2010/06/21 19:43:42 1.6 @@ -118,14 +118,14 @@ and $O{$id}[0] = $on && AE::io $fd, 0, sub { $w->handle (Net::DBus::Binding::Watch::READABLE ()); - $con->dispatch; # wtf., we tell it data is ready, but have to call dispatch ourselves??? + $con->dispatch; }; $f & Net::DBus::Binding::Watch::WRITABLE () and $O{$id}[1] = $on && AE::io $fd, 1, sub { $w->handle (Net::DBus::Binding::Watch::WRITABLE ()); - # calling flush, as NEt::DBus::Reactor does, is blocking :/ + $con->dispatch; }; } @@ -144,7 +144,10 @@ my $id = $w->get_data; my $i = $w->get_interval * 0.001; - $O{$id} = $w->is_enabled && AE::timer $i, $i, sub { $w->handle }; + $O{$id} = $w->is_enabled && AE::timer $i, $i, sub { + $w->handle; + $con->dispatch; + }; } sub timeout_on {