Re: gtkmm: API-freeze break request: public Interface constructors.



On 9/25/07, Vincent Untz <vuntz gnome org> wrote:
> Le mardi 25 septembre 2007, à 13:09 +0200, Murray Cumming a écrit :
> > Dear release-team:
> >
> > I would like to  make a small change to the code generated for our C++
> > classes that wrap GInterfaces, such as Gtk::TreeModel, to make one of
> > their constructors public instead of protected. This is a minor API
> > addition which will break no applications. The API itself is very stable
> > and already in use.
> >
> > This is an example of such a constructor:
> >   explicit TreeModel(GtkTreeModel* castitem);
> >
> > It's usually only used by the class itself, or by derived classes. But I
> > need to make it public to allow us to create C++ wrapper instances for
> > classes that we do not wrap in C++. For instance, to allow us to get a
> > Gtk::TreeModel* that wraps an instance of FunkySomeUnexpectedTreeModel.
> > At the moment, our Glib::wrap(cobject) function returns NULL if it has
> > no specific wrapper for a CObject that implements an interface. This
> > would make the behaviour similar to that of widgets, for which we
> > already return an instance of the most derived known type.
> >
> > I'd rather not wait for GNOME 2.22 because I need to use this to fix a
> > bug in libgdamm, so I can use one its features in Glom. It's likely to
> > fix some odd errors for some other applications too.
>
> I'm not quite sure that this counts as an API addition; it could be
> considered as a bug fix, IMHO. Also, this sounds reasonable and looks
> harmless, so here's one approval from me.

Yeah, I can't think of a single thing that would break by changing
protected->public.  Approval 2 of 2.

Elijah



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