question about gclosures



The following code works:

// GtkTextView *tv;
g_signal_connect(G_OBJECT(tv),"button-press-event",G_CALLBACK(click_link),NULL
);


However, I'm writing gtk2 bindings for pike, and use the following:

// signal_connect function for pike language binding
// blah blah
GClosure *gc=g_cclosure_new_swap(G_CALLBACK(my_signal_func_wrapper),
user_data,(GClosureNotify)my_free_func);
g_closure_set_marshal(gc,my_marshaller);
int id=g_signal_connect_closure(G_OBJECT(obj),signal_name,gc,1);
// more stuff...end of function

Now, using this code to connect my signals (in pike) seems to be working with all signals so far, except for 
the button-press-event above.

I connect "destroy" to the window, and it calls my marshaller (I put debug statements in).  But, the 
button-press-event doesn't call my marshaller at all, so it doesn't even get to the rest of the signal 
handler.

I know it works with clicked, destroy, delete, notify, and others.

Is there a possibility that I am missing something?  I'm continuing my debugging, but I'm not sure where to 
go to next...

 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]