gtk_widget_new (GTK_TYPE_WIDGET_NEW, NULL);



We recently added in CVS the G_TYPE_FLAG_ABSTRACT flag to
a bunch of abstract types, including GtkWidget 
(abstract == not intended to be created, but only derived
from).

This turns out to break libgnomeui, which does
in gnome-client.c:

  if (!client_grab_widget)
    client_grab_widget = gtk_widget_new (GTK_TYPE_WIDGET, NULL);

(Instead of using, say, a GtkInvisible or not-shown GtkWindow, 
as might be expected)

I consider this usage basically broken ... but if this
type of thing is common, then we probably need to leave
it working.

Opinions on whether we should:

 - Just fix libgnomeui?
 - Back out all the G_TYPE_ABSTRACT additions?
 - Just back out the GtkWidget change, since we have an
   example of breakage but leave the others?

  (GdkDrawable, GdkGC, GtkButtonBox, GtkBin, GtkBox,
   GtkCellRenderer, GtkContainer, GtkIMContext, GtkItem,
   GtkMenuShell, GtkMisc, GtkObject, GtkOldEditable,
   GtkPaned, GtkRange, GtkScale, GtkScrollbar, GtkSeparator)

Thanks,
                                        Owen



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