--- libev/ev++.h 2007/12/08 14:27:38 1.17 +++ libev/ev++.h 2007/12/11 03:18:33 1.18 @@ -22,10 +22,10 @@ ev_init (this, 0); } - void set_ (void *data, void (*cb)(EV_P_ watcher *w, int revents)) + void set_ (void *data, void (*cb)(EV_P_ ev_watcher *w, int revents)) { this->data = data; - ev_set_cb (static_cast(this), cb); + ev_set_cb (static_cast(this), cb); } template @@ -35,10 +35,10 @@ } template - static void method_thunk (EV_P_ watcher *w, int revents) + static void method_thunk (EV_P_ ev_watcher *w, int revents) { K *obj = static_cast(w->data); - (obj->*method) (*w, revents); + (obj->*method) (*static_cast(w), revents); } template @@ -48,10 +48,10 @@ } template - static void const_method_thunk (EV_P_ watcher *w, int revents) + static void const_method_thunk (EV_P_ ev_watcher *w, int revents) { K *obj = static_cast(w->data); - (obj->*method) (*w, revents); + (static_cast(w->data)->*method) (*static_cast(w), revents); } template @@ -61,9 +61,9 @@ } template - static void function_thunk (EV_P_ watcher *w, int revents) + static void function_thunk (EV_P_ ev_watcher *w, int revents) { - function (*w, revents); + function (*static_cast(w), revents); } void operator ()(int events = EV_UNDEF)