Re: Property bag / Evolution breakage



Mike Kestner <mkestner ameritech net> writes:

> Federico Mena Quintero wrote:
> 
> > -       g_return_if_fail (prop->type != value->_type);
> > +       g_return_if_fail (prop->type == value->_type);
> > 
> >         prop->set_prop (pb, value, prop->idx, prop->user_data);
> > 
> > that seems to break all of Evolution's components because their URIs
> > are set via property bags.  I don't know if the old code worked purely
> > by chance:  in the context of property bags, can you compare typecodes
> > purely by pointers to them?
> 
> Interesting bug.  The basic types were broken by != since they are
> declared in ORBit so the pointer is equal.  For user defined typecodes
> that obviously isn't guaranteed.
> 
> Comparing type->kind doesn't get us much closer because of the struct
> and sequence types.  Do we need a type equality function in ORBit?

Well, that's supposed to be CORBA::TypeCode::equal (which is how you compare
typecodes according to that book in which I just looked) and this also seems
to exist in ORBit.

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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