I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it. Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.
1998-11-30 Elliot Lee <sopwith@cuc.ml.org>
* {gdk,gtk}/*.c: Make read-only data structures "static const" to
allow them to be shared, mainly including (but not limited to) the
GtkTypeInfo structures for each class.
* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
Sat Jul 4 13:16:24 1998 Tim Janik <timj@gtk.org>
* gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
functions.
* gdk/gdkwindow.c:
* gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
to XFree() calls.
Sun Jun 28 04:29:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
fucntions from all parent types upon class initialization.
* gtk/gtkcontainer.c:
(gtk_container_get_type): announce gtk_container_base_class_init to
the type system.
(gtk_container_base_class_init): new function to feature base class
initialization.
(gtk_container_get_child_arg):
(gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
and set_child_arg methods of the class indicated through the argument
name.
* gtk/gtkobject.c:
(gtk_object_base_class_init): new function to feature base class
initialization.
(gtk_object_init_type): announce gtk_object_base_class_init to the type
system.
(gtk_object_class_init): setup the get_arg and set_arg pointers for
GtkObjectClass.
(gtk_object_setv):
(gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
instead of bothering the type system with this.
* gtk/gtkaccellabel.c:
* gtk/gtkbutton.c:
* gtk/gtkradiobutton.c:
* gtk/gtktable.c:
* gtk/gtktogglebutton.c:
* gtk/gtktipsquery.c:
* gtk/gtkbox.c:
* gtk/gtkpacker.c:
* gtk/gtkwidget.c:
* gtk/gtkwindow.c:
* gtk/gtkframe.c:
* gtk/gtkmisc.c:
* gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
functions wrt GtkTypeInfo initialization. changed a lot of the set/get
arg functions to take a GtkObject argument.
gtk/gtkadjustment.c:
gtk/gtkalignment.c:
gtk/gtkarrow.c:
gtk/gtkaspectframe.c:
gtk/gtkbbox.c:
gtk/gtkbin.c:
gtk/gtkcheckbutton.c:
gtk/gtkcheckmenuitem.c:
gtk/gtkclist.c:
gtk/gtkcolorsel.c:
gtk/gtkcombo.c:
gtk/gtkctree.c:
gtk/gtkcurve.c:
gtk/gtkdata.c:
gtk/gtkdialog.c:
gtk/gtkdrawingarea.c:
gtk/gtkeditable.c:
gtk/gtkentry.c:
gtk/gtkeventbox.c:
gtk/gtkfilesel.c:
gtk/gtkfixed.c:
gtk/gtkfontsel.c:
gtk/gtkgamma.c:
gtk/gtkhandlebox.c:
gtk/gtkhbbox.c:
gtk/gtkhbox.c:
gtk/gtkhpaned.c:
gtk/gtkhruler.c:
gtk/gtkhscale.c:
gtk/gtkhscrollbar.c:
gtk/gtkhseparator.c:
gtk/gtkimage.c:
gtk/gtkinputdialog.c:
gtk/gtkitem.c:
gtk/gtkitemfactory.c:
gtk/gtklist.c:
gtk/gtklistitem.c:
gtk/gtkmenu.c:
gtk/gtkmenubar.c:
gtk/gtkmenuitem.c:
gtk/gtkmenushell.c:
gtk/gtknotebook.c:
gtk/gtkoptionmenu.c:
gtk/gtkpaned.c:
gtk/gtkpixmap.c:
gtk/gtkpreview.c:
gtk/gtkprogressbar.c:
gtk/gtkradiomenuitem.c:
gtk/gtkrange.c:
gtk/gtkruler.c:
gtk/gtkscale.c:
gtk/gtkscrollbar.c:
gtk/gtkscrolledwindow.c:
gtk/gtkseparator.c:
gtk/gtkspinbutton.c:
gtk/gtkstatusbar.c:
gtk/gtktext.c:
gtk/gtktoolbar.c:
gtk/gtktooltips.c:
gtk/gtktree.c:
gtk/gtktreeitem.c:
gtk/gtkvbbox.c:
gtk/gtkvbox.c:
gtk/gtkviewport.c:
gtk/gtkvpaned.c:
gtk/gtkvruler.c:
gtk/gtkvscale.c:
gtk/gtkvscrollbar.c:
gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
match the modified GtkTypeInfo structure.
Tue May 12 19:37:55 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
that Sopwith missed when changing stat => lstat.
Tue May 12 19:19:29 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
* gdk/gdk.c: Print sizeof() results
as g_print("%ld", (glong)sizeof(foo)), to deal with
sizeof() being long on Alpha's.
* gtk/testgtk.c: include <string.h> for strlen
Tue May 12 19:22:58 1998 Owen Taylor <otaylor@gtk.org>
* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
GPOINTER_TO_[U]INT for storing small integers integers
inside pointers.
* glib/testglib.c: Print sizeof() results
as g_print("%ld", (glong)sizeof(foo)), to deal with
size_t being long on Alpha's.
Wed Mar 18 11:09:10 1998 Owen Taylor <owt1@cornell.edu>
( From: James Henstridge <james@daa.com.au> )
* gtk/gtkclist.c: Don't remove, then destroy labels in
gtk_clist_set_column_[*], just remove them.
* gtk/gtkmain.c (gtk_invoke_timeout_function): call
marshal when appropriate, not function.
Tue Mar 17 14:15:07 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c (create_main_window): Alphabetize tests
* gtk/gtk[hv]paned.c: Change division on resize if
necessary to keep handle visible.
* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
_init() functions.
* gtk/gtkscrolledwindow.c: Added missing _construct()
functions.