Re: default signal closure via bindingset



muppet <scott asofyet org> writes:

We're supposed to do all the
type registration when loading the module, before any code using the
things gets called.

It's not possible for a new fundamental type to exist without the
registration?

That sounds like it could be a problem.  We use the presence of a
return value pointer to determine whether we're supposed to expect any
return values, but here they've passed ...  *brane asplode*

The g_signal_chain_from_overridden in GSignal.xs looks suspiciously like
it may do the same return_value typed as G_TYPE_NONE ...

        if (return_value) {
                /* Try to cover for people doing strange things */
                if (G_TYPE_NONE == G_VALUE_TYPE (return_value))
                        return_value = NULL;

A good way to get G_DISCARD.  That'd be for both
gperl_signal_class_closure_marshal() and gperl_closure_marshal() would
it?  There's no call for the two to differ is there?

-- 
"Above all else don't make me picture your hides."



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