Re: [g-a-devel]active-descendant-changed signal and at-spi



Hi Padraig,

On Fri, 2002-12-06 at 09:58, Padraig O'Briain wrote:
> I have managed to add support to at-spi for active-descendat-changed signal 
> which does not crash the application. Comments requested.
...
> -spi_init_any_object (CORBA_any *any, CORBA_Object o)
> +spi_init_any_object (CORBA_any *any, CORBA_Object *o)
>  {
>    CORBA_Environment ev;
>    CORBA_exception_init (&ev);
> +  
>    any->_type = TC_CORBA_Object;
> -  any->_value = CORBA_Object_duplicate (o, &ev);
> +  any->_value = o;

	That is in fact correct. The way to think of what you need to ram into
an any's _value is (perhaps) this:

	"I want to pass a pointer to a struct element"

	This is because everything is recursively marshalled, and it makes
struct/union/sequence/array marshalling trivial. 

	Thus in a struct we have:

struct {
	CORBA_long   a;
	CORBA_Object b;
	CORBA_double c;
	CORBA_any    d;
	CORBA_char  *e;
};

	Thus we need _value to be either a CORBA_long *, a CORBA_Object *, a
CORBA_double *, a CORBA_any * or a CORBA_char _**_ :-)

	HTH - and good work,

	Regards,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




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