Re: [g-a-devel]AtkObject Life Cycle



>Hi Marc,
>
>On Mon, 2002-02-11 at 18:15, Marc Mulcahy wrote:
>> How does it ensure that the AtkObjects get destroyed?
>
>	It seems Bill's answer boils down to 
>
>	"the widget holds a cached ref, so just do the set_name and
>	  unref and it'll be ok"

Yes, except you don't want to unref since the 'get' methods
don't increment the reference count.  

>	which seems fair; more interesting is:
>
>> Refcounting is more straightforward when the assistive 
>> technology invokes the creation of accessibles, but seems a bit more merky 
>> when the applications themselves create them.
>
>	I wonder what happens when you start doing this atk_whatever_set_name
>etc. when the gail module has not been loaded; ie. what accessible do
>you get back from the factory, what if accessibility is suddenly
>switched on subsequently.

That's something we thought about but did no engineering for yet.  At the 
moment the result is that any plain-vanilla accessibles already created (by 
the default factory) just hang around, and only newly created accessibles are 
gail-enabled.

My previous thought was that "later on" if we ever want to turn on gail 
support on a running application (which I think is an infrequent situation but 
not impossible), we can do something like:

* factory knows about the objects it created
* it merges their non-default properties into new instances
* it replaces the source widget's AtkObject data with the 
  new instances and destroys the old ones
  
  This could be triggered by atk_registry_set_factory_type when an
  explicitly set factory type for an object is replaced.
  
  It's not obvious how to best inform an AT that this has happenned, but it 
may be unimportant to do so, since the AT would presumably be 
loaded/initialized only *after* gail support was turned on, and therefore 
would have no stale objects in its cache.

All this sounds like a significant amount of code but no new API.

Regards,

Bill

>	It seems there's no way around that issue (?)
>
>	Regards,
>
>		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

------
Bill Haneman x19279
Gnome Accessibility / Batik SVG Toolkit
Sun Microsystems Ireland 




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