Marshalling CClosures



[please CC replies to cactus cactus rulez org as I am not subscribed to
this list]

Is there something special I need to do to a CClosure to make it work?
While trying to GClosureize libbonobo's API in the last minute, I tried
using this construct:
	bonobo_event_source_client_add_listener
	    (BONOBO_OBJREF (es),
	     g_cclosure_new (G_CALLBACK (event_cb), mask, NULL),
	     mask, &ev);

(bonobo_event_source_client_add_listener's second argument is a plain
GClosure*)
However, when trying to invoke the closure via
		g_closure_invoke (listener->priv->event_callback,
				  NULL,
				  4,
				  arguments,
				  NULL);
I get the following error message:

(process:23945): GRuntime-CRITICAL **: file gclosure.c: line 420
(g_closure_invoke): assertion `closure->marshal || closure->meta_marshal'
failed

Looking at g_cclosure_new I indeed have no idea where the marshaller
should be set for CClosures, so I guess the warning is right -- but how do
I fix it?

-- 
   .--= ULLA! =---------------------.   `We are not here to give users what
   \     http://cactus.rulez.org     \   they want'  -- RMS, at GUADEC 2001
    `---= cactus cactus rulez org =---'
I'm going to live forever, or die trying!





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