Re: GnomePixmap vs. the old gnome_create_* functionality




> Tom Tromey <tromey@creche.cygnus.com> writes:
> > The problem is that many Gnome widgets use capabilities that can't be
> > expressed in the .defs file.  For instance neither arrays of strings
> > nor GLists can be handled.

I was thinking about hacking up code to do this while updating
gtk.defs earlier, but I had a concern that some Gtk routines might not
copy incoming arrays or GLists, and that this would make garbage
collection fail miserably. Marius, since you're reading this and are
probably more familiar with Gtk internals (or anyone else who would
know), do such routines conventionally copy the data, take ownership
(i.e. user code should not free, will be freed by the widget) or
depend on the user to free the data later when not in use? Only the
last would be losing. If the last is not the case, I (or someone else)
can probably hack up the support pretty easily; otherwise (or worse
yet, if it's inconsistent) it will take some hackery. Hmm, I see now
there is a mention of the problem below. I'll look at the code to
figure this out later this week, but perhaps someone more knowledgable
could tell me.

Vollmer Marius <mvo@zagadka.ping.de> wrote:
> But now that people have more experience with CORBA: Is it possible to
> use CORBA for C<->Scheme interfaces?  Without rewriting the existing C
> API of gtk?.

It would be possible, but startlingly less efficient, at least without
a custom stubber that knew a lot about the organization of Gtk,
because CORBA does not normally support implementation inheritence.

> Inout parameters are difficult for Guile because we don't yet have a
> way to return multiple values.  But R5RS is out now (I haven't had a
> look), and we can just implement what they say about multiple return
> values.

> Inout parameters are difficult for Guile because we don't yet have a
> way to return multiple values.  But R5RS is out now (I haven't had a
> look), and we can just implement what they say about multiple return
> values.

I would suggest using lists or continuations until guile has R5RS
multiple value support; either of these should allow pretty small
changes in the API when multiple values can be supported.

 - Maciej



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