bonobo-hunkajunk.patch
- From: Nat Friedman <nat helixcode com>
- To: Elliot Lee <sopwith redhat com>
- Cc: Miguel de Icaza <miguel nuclecu unam mx>, gnome-components-list gnome org
- Subject: bonobo-hunkajunk.patch
- Date: Thu, 9 Dec 1999 21:50:40 -0500 (EST)
Elliot Lee writes:
> This patch:
> . Allows conditionally using OAF instead of GOAD.
Having oaf support sounds nice, but I really don't like having all
those ifdefs sprinkled all over the code. Since oaf provides a
superset of gnorba's functionality, and bonobo actually uses that
superset, I'm not sure how to avoid that, though.
> . Changes the scheme name for moniker URI's from "moniker_url" to
> "moniker".
This makes sense, I always found that weird.
> . Allows getting at the gnome_object_base_epv/gnome_object_epv again,
> so that it is convenient to use them when the epv does not need
> modifying. (oops I will remove the gnome_object_get_epv()
> "fixing" from here)
This is incorrect, as you've introduced a semantic inconsistency
between gnome_object_get_epv(), and all of the other epv-getting
functions (e.g. gnome_embeddable_get_epv()). The other _get_epv()
functions return a freshly-allocated and filled epv structure, and the
user is allowed to suppose that he can modify them. But this is not
so with your modified gnome_object_get_epv().
So, how about something like this:
POA_GNOME_Unknown__epv *
gnome_object_get_epv (gboolean fresh)
{
POA_GNOME_Unknown__epv *epv;
if (! fresh && (gnome_object_epv != NULL))
return gnome_object_epv;
epv = g_new0 (POA_GNOME_Unknown__epv, 1);
epv->ref = impl_GNOME_Unknown_ref;
epv->unref = impl_GNOME_Unknown_unref;
epv->query_interface = impl_GNOME_Unknown_query_interface;
if (! fresh)
gnome_object_epv = epv;
return epv;
}
> . Remove a check from gnome_object_add_interface that prevented me
> from adding an interface to a GnomeBonoboWidget's
> control-frame.
Sorry, you can't use gnome_object_add_interface() after an
aggregate object has already been exposed to the ravages of the World
Out There (although I admit I can't see where the hell the
ControlFrame is getting that second reference). You'll have to
connect to the QI signal and return the new interface there. I can't
think of another way.
> . Fix some crashes from passing g_new'd memory to CORBA.
You mean the exceptions? Thanks.
Nat
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]