Re: [Rhythmbox-devel] IPC in Rhythmbox 0.9.0



On Thu, Sep 08, 2005 at 08:28:36AM +1000, Jonathan Matthew wrote:
>
> I think it was the addition of a couple of members to the SongInfo
> struct that broke it.  I don't think anything important was added, and
> since the bonobo interface is hopefully going away soon, reverting that
> change doesn't sound like a bad idea.

That's quite possible.  The error message my applet spits out is:

** (rhythmbox-applet:14741): CRITICAL **: song_change_cb: assertion
     `CORBA_TypeCode_equivalent (any->_type, TC_GNOME_Rhythmbox_SongInfo,
     NULL)' failed

I don't know how CORBA defines type equivalency, but apparently merely
adding a few new items broke it?

Another potential problem, depending on how CORBA works internally, is
that skip() was moved up before setRating() in the IDL.  If CORBA tracks
functions positionally instead of by name, that could cause problems for
the applet too.

My applet doesn't use any of the functions that were removed, but other
apps that interface with Rhythmbox might.

> On closer inspection, it seems I also changed the rating type from long
> to double to avoid rounding errors.  That might be slightly more
> difficult to revert, but still not too hard.
> 
> Sorry for the inconvenience.  It seemed like a good idea at the time..

Actually, I think I was the one who suggested that change back in the
beginning of the year, and it was shot down for compatibility concerns.
So I can't exactly fault you on the "seemed like a good idea" part. :-)

Would the type change cause actual errors at the Bonobo level, or just
cause warnings when compiling C code about type mismatches?  It might
not prove to be *that* big a problem, but again, I don't know much about
how CORBA works internally.

Attachment: signature.asc
Description: Digital signature



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