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



On Fri, 2002-11-29 at 13:05, Padraig O'Briain wrote:
> The only interesting thing in the active-descendant-changed signal is the object 
> which is the new active descendant.
> 
> Do I need to call BONOBO_OBJECT_REF (spi_accessible_new()) on it and stick it 
> into the any_data field?

If you did, you of course would need to unref it again after the event
emission since at the moment listeners are not guaranteed to do the
unref (and it would be more traffic over the wire anyway).  

You will note that at the moment the code to do this lives in
spi_atk_signal_emit_event (and, in turn, in spi_init_any_object () which
it calls); there's some commented-out stuff for the child-changed
signal, and presumably we'd need to add code to handle the
active-descendant-changed signal as well.  As Michael has pointed out
recently, the existing code is not the correct way of doing this (see
below), which is the main reason the implementation is commented out
until somebody has time to do this thoughtfully and properly.

For the cases where the Any contains an object reference I think we
should not take ownership of the reference or increment it; this has the
disadvantage that the listener must make sure the object is still alive
before using the reference, but the advantage of preventing leaks and
extra CORBA traffic if the listening client doesn't choose to use the
reference.

In the meantime if you just add the signal listener, we can handle the
any_data initialization in the emission handler (above), just as we
intend to for child-changed events once we get spi_init_any_object()
fixed.

-Bill

> Padraig
> 
> > Subject: Re: [g-a-devel]active-descendant-changed signal and at-spi
> > To: "Padraig O'Briain" <Padraig Obriain Sun COM>
> > Cc: accessibility mailing list <gnome-accessibility-devel gnome org>
> > Mime-Version: 1.0
> > Content-Transfer-Encoding: 7bit
> > 
> > Hi Padraig,
> > 
> > On Wed, 2002-11-27 at 11:48, Padraig O'Briain wrote:
> > > I am trying to figure out what needs to change in at-spi to support 
> > > active-descendant-changed signal.
> > > 
> > > It looks like a signal handler for it needs to be added to the bridge.
> > 
> > 	Quite.
> > 
> > > What should happen when the signal is emitted?
> > 
> > 	You get to make up some string name for it; ram whatever detail you
> > think is useful into the event structure; and do an emitv of some sort
> > in the handler.
> > 
> > 	HTH,
> > 
> > 		Michael.
> > 
> > -- 
> >  mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot
> > 
> 
> _______________________________________________
> Gnome-accessibility-devel mailing list
> Gnome-accessibility-devel gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel





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