[g-a-devel]Re: a more substantial bug report ...



Michael Meeks wrote:
> 
> Hi Bill,
> 
> On Wed, 2002-03-13 at 22:42, Bill Haneman wrote:
> > I committed a few fixes for nasty bugs.  However I don't seem to have
> > solved the root cause of this problem.
> 
>         Ok - I had another look, and getting a bit bleary eyed. I think the
> problem is here:
> 
> SpiAccessible *
> spi_accessible_construct (GType type, AtkObject *o)
> {
>     SpiAccessible *retval;
>     CORBA_Environment ev;
> 
>     CORBA_exception_init (&ev);
> 
>     g_assert (o);
>     g_assert (g_type_is_a (type, SPI_ACCESSIBLE_TYPE));
> 
>     if ((retval = g_hash_table_lookup (get_public_refs (), o)))
>       {
>         bonobo_object_ref (BONOBO_OBJECT (retval));
>         return retval;
>       }
>     else
> 
>         The first path is called - since we're getting a new SpiAccessible for
> the AtkObject - this is a problem since we're assuming that the returned
> type will be of 'type' but in fact we're asking for it to be a different
> [libgail-gnome] type now instead.

But doesn't "g_type_is_a" work OK for derived types?
The types in question should indeed be subtypes of 
SPI_ACCESSIBLE_TYPE.

?

Or does g_type_is_a not work this way?

Forgive me, I'm getting pretty bleary too :-)

-Bill



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