]> Pileus Git - ~andy/gtk/blobdiff - ChangeLog.pre-2-0
A couple of compiler warning fixes, GtkCList signal changes, changed
[~andy/gtk] / ChangeLog.pre-2-0
index 1418048a9f9396d13205cde55f7e5507ebdbb99b..fe9e992217c23d6d799d4f6eb95c97824d3342b6 100644 (file)
@@ -1,3 +1,933 @@
+Wed Feb 18 01:09:56 PST 1998  Jay Painter <jpaint@serv.net>
+       * gdk/gdk.c: fixed ambigous else compiler warning
+       * gtk/gtkgamma.c: fixed ambigous else compiler warning
+       * gtk/gtkclist.h:
+       * gtk/gtkclist.c: new signals which break everything! (yeah!)
+       * gtk/gtkfilesel.c: fixed to use new clist signals
+
+Wed Feb 18 04:38:24 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkwidget.h:
+       * gtk/gtkwidget.c:
+         new signal GtkWidget::set_parent. this signal will be emitted once a
+         widget gets a new/no parent assigned (i.e. from gtk_widget_unparent
+         and gtk_widget_set_parent).
+
+Wed Feb 18 02:58:50 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtktooltips.h:
+         new functions gtk_tooltips_data_get and
+         gtk_tooltips_set_tip, gtk_tooltips_set_tips is discouraged now.
+       (_GtkTooltips): removed some fields that were never used.
+         changed boolean fields to one bit size, to pack together with
+         the delay field.
+       (_GtkTooltipsData): added tip_private, renamed tips_text to
+         tip_text.
+       * gtk/gtktooltips.c:
+         (gtk_tooltips_data_get): new function to retrive the
+         _GtkTooltipsData structure of a widget.
+       (gtk_tooltips_set_tip): new function for more extensible tooltips
+         settings than gtk_tooltips_set_tips which is discuraged now.
+         removed a bug that caused a stale object_data key to a
+         _GtkTooltipsData structure.
+         removed a bug that caused tips falsly to come up for a grab widget
+         on widgets where events were grabbed from.
+
+1998-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+       * gdk/gdkcc.c: Added some missing newlines on debug messages.
+
+Tue Feb 17 05:41:31 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkentry.c (gtk_entry_init): invoke gtk_entry_grow_text already
+         in this place, so the application will never see entry->text==NULL.
+         (see also ChangeLog entry from Tue Feb 11 1997 on this).
+
+        * gtk/gtkcheckbutton.c:
+        * gtk/gtkradiobutton.c:
+        * gtk/gtktogglebutton.c:
+          applied patch to fix draw_indicator behaviour from Lars Hamann
+          and Stefan Jeske.
+
+        * gtk/gtkmain.h:
+        * gtk/gtkmain.c (gtk_grab_get_current): new function
+          that returns the current grab widget or NULL.
+
+        * gdk/gdkwindow.c (gdk_window_shape_combine_mask): remove
+          shape mask if mask==NULL (provided by Stefan Wille).
+
+Tue Feb 17 00:06:26 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkpaned.c, gtk/gtk[hv]paned.c: (gtk-fortier-980215-0)
+         From Patrice Fortier <Patrice.Fortier@aquarel.fr>
+
+         Add a widget->window for paned windows, so they
+         can be reparented properly.
+
+Mon Feb 16 23:47:09 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkviewport.c: (gtk-fortier-980130-0)
+         From Patrice Fortier <Patrice.Fortier@aquarel.fr>
+       
+         Eliminate some extra expose events for viewports.
+         (To be conservative, I set the user's event mask for
+          both widget->window, and viewport->bin_window  -owt)
+
+Mon Feb 16 23:12:14 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkmain.c: Make timeout and idle insertion code
+         use g_list_insert_sorted().
+
+Mon Feb 16 17:35:17 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtktreeitem.c: Use gtk_signal_default_marshaller,
+         for expand/collapse signals.
+
+Fri Feb 13 19:08:51 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkclist.c (check_exposures): check for clist !REALIZED.
+       (draw_rows): bail out if the widget isn't drawable.
+       (hadjustment_value_changed): 
+       (vadjustment_value_changed): bail out if clist isn't drawable.
+
+       * gdk/gdk.c (graphics_expose_predicate): check for private != NULL.
+       (gdk_event_get_graphics_expose): check for window != NULL.
+
+Fri Feb 13 00:33:26 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/testgtk.c (shape_create_icon): Realize window before
+         creating xpm so it gets the right colormap/visual,
+         instead of the default one.
+
+Thu Feb 12 23:59:49 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
+         gtk/gtkselection.[ch] gdk/gdk.[ch] gtktypeutils.h 
+         
+         Replaced all _interp functions with _full functions.
+         (_interp functions left in for compatibility until 0.99.5). 
+         Difference: _full functions take _both_ a C-language callback and a
+         marshaller, and simply ignore the C-language callback
+         if the marshaller is present. This allows the destroy notification
+         to be used without marshalling.
+
+         gtk_selection_add_handler[_full]() regularized to agree
+         with other callbacks.
+       
+         Also, added gtk_input_add_full() to the header file. 
+         (gtk_input_add_interp() was never there)
+
+       * gtk/gtkmain.[ch] gtk/gtkwidget.c: Idle functions are now prioritized.
+         Added new function gtk_idle_add_priority to create
+         an idle with a specified priority (default is zero)
+         constants #defined - GTK_PRIORITY_[HIGH/INTERNAL/DEFAULT/LOW]
+         (redraws, resizes run at GTK_PRIORITY_INTERNAL)
+       
+       * gtk/gtkentry.c gtk/testselection.c: changes to keep up with change
+         to gtkselection.c. 
+
+       * gtk/gtkentry.c gtk/gtkinputdialog.c gtk/gtklist.c
+         gtk/gtklistitem.c gtktree.c gtk/gtktreeitem.c testgtkrc:
+
+         Change style->white to style->base[] where appropriate.
+         Change the default style to make this apparent. (Yes, its
+         ugly... it can be removed later)
+       
+Tue Feb 10 15:01:44 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkobject.c gtk/gtkobject.h: Add a DestroyNotify
+       field, and gtk_object_set_data_full() to match.
+
+       * gtk/gtkobject.c (gtk_object_finalize): ObjectData structures
+       were being added to a free list, then forgotten about. Just
+       rely on GMemChunk instead.
+
+2018-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+       * gtk/gtkclist.c:
+       * gtk/gtkentry.c: 
+       * gtk/gtkfixed.c:
+       * gtk/gtkhandlebox.c:
+       * gtk/gtknotebook.c:
+       * gtk/gtkpaned.c:
+       * gtk/gtkpreview.c:
+       * gtk/gtkrange.c:
+       * gtk/gtkruler.c:
+       * gtk/gtktext.c:
+       * gtk/gtkviewport.c:
+       Fixed unrealize handler to comply with the
+       documentation (which mentions the right thing to do).
+
+Wed Feb 11 00:18:31 1998  Tim Janik  <timj@gimp.org>
+
+       * docs/refcounting.txt: backed out the section "Gnits to care about".
+       * docs/developers.txt: new file, kinda developers FAQ.
+
+       * gtk/gtksignal.c: new function gtk_signal_handler_pending() returning
+         the id of the next handler pending for that signal or 0.
+         put struct GtkHandler back into gtksignal.c along with
+         gtk_signal_get_handlers.
+
+Tue Feb 10 07:12:07 1998  Tim Janik  <timj@gimp.org>
+
+        * gtk/gtksignal.h:
+        * gtk/gtksignal.c:
+        ok, there have been several severe bugs in the signal handler
+        referencing and ->next connection stuff. these bugs caused
+        invokations of handlers that are disconnected and - worse -
+        destroyed already. invokation of *destroyd* handlers mean:
+        anything can be executed , because the handler structure can just
+        as well be realocated.
+        at the cost of an extra ->prev field per handler we should have a
+        reasonable stable system now, because of the various places that
+        can cause a handler to be disconnected (*any* handler invokation can
+        cause *any* or *all* handlers to be disconnected, there is no way
+        around a doubly linked list, actually handler disconnection has never
+        worked correctly because of this.
+        handlers are connected together via a *doubly* linked list now, and it
+        is *not* valid to remove a handler out of this list untill all its
+        references have been droped, i.e. handler->ref_count==0.
+        to prevent emissions of disconnected but still referenced handlers,
+        disconnected handlers are simply marked as blocked and get an id of 0
+        which is an invalid signal handler id.
+        the handler->id has been changed to have 28 significant bits (using
+        alignment gaps), since 65536 (old range: guint16) signal connections
+        (as a total) can easily be reached by complex applications.
+        this whole handler thingy is at least as tedious as writing doubly
+        linked list implementations ;)
+
+Mon Feb  9 23:08:16 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwidget.c (gtk_widget_unparent): Check for
+         the RESIZE_NEEDED flag and remove the widget from the list.
+         Remove the check from gtk_widget_destroy (no longer needed).
+
+       * Unrealize widget _before_ calling "destroy" signal, and
+         unset VISIBLE flag.
+
+       * Unrealize child widgets _after_ unrealizing parent to improve
+         visual appearance.
+
+Mon Feb  9 16:42:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
+
+       * gtk/gtksignal.c (gtk_signal_get_handlers): no longer a private
+       routine;
+       gtksignal.h: export gtk_signal_get_handlers and GtkHandlers type. 
+
+Sun Feb  8 07:06:54 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkmenu.c (gtk_menu_get_attach_widget): new function to return
+         the widget that the menu is attached to.
+
+Sat Feb  7 11:33:08 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gdk/gdkgc.c (gdk_gc_copy): use a mask of 0xffffffff
+         instead of 0xffff, since there are 22 flags currently
+         defined. (From: Jon Trowbridge <trow@emccta.com>)
+
+         Changed to something better. ~((~1) << GCLastBit)
+                  (From: from Daniel Stephens <daniel@cheeseplant.org>)
+       
+Sat Feb  7 02:29:01 1998  Tim Janik  <timj@gimp.org>
+
+       * gdk/gdk.c (gdk_event_translate): don't wipe out window_private's x
+         and y coordinates if the configure notify is only about resizing,
+         query the correct origin instead.
+
+Wed Feb  4 23:05:28 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
+
+       * gtk/gtkmenufactory.c: menufactories now ref&sink the menus they
+       create
+
+Thu Feb  5 02:13:08 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtklist.h:
+       * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function
+         to perform the same actions as gtk_list_remove_items, but
+         supply the removed widgets with an additional reference count.
+
+       * gtk/gtkmain.c (gtk_main_iteration_do): ignore events
+         with event_widget == NULL, since they are bogus events
+         from destroyed GdkWindows, exept for the case where
+         event->type==GDK_PROPERTY_NOTIFY. Always handle expired
+         timeout functions when returning from this function.
+
+       * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events
+         if event->window == NULL. Also, if this function couldn't handle
+         the event for any reason (including failing assumptions), make
+         the return value to look as if the event had been handled to
+         avoid further processing (and warnings).
+         
+       * gtk/gtkwidget.h:
+       * gtk/gtkwidget.c: remove gtk_widget_sink, because there is
+         no point in providing such a function.
+
+       * gdk/gdk.c (gdk_init): changed options `-name' and `-class'
+         to `--name' and `--class', because the old names would
+         confuse getopt(). these arguments have been introduced in the
+         changes from gtk+970916 to gtk+970925 without a ChangeLog entry,
+         changing argument names is painful, it would be nice if people
+         would care about compatibility and consistency in the first place!
+
+Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
+       
+       * docs/widget_system.txt: new file containing notes about
+         the inner workings of the widget system of GTK+, a widget
+         flag description and certain invariants about widget states.
+       
+       * docs/refcounting.txt: moved file (previously REFCOUNTING)
+         introducing The Reference Counting Scheme of GDK an GTK+.
+         lots of additions/corrections.
+
+        * gtk/gtksignal.c (gtk_signal_real_emit): for the emission
+          of AFTER signals, fetch the objects signals via
+          gtk_signal_get_handlers again. some handlers might have
+          been removed or added. not doing this would mess up the
+          memchunk allocation of signal handlers (this had been
+          triggered by multiple *_while_alive connections), bad, bad, bad!
+          (gtk_handlers_run): do the referencing on signal handlers
+          unconditionally, the invokation of AFTER handlers will now take
+          care of modified lists.
+
+        * gtk/gtksignal.h: added gtk_signal_connect_while_alive.
+
+Tue Feb  3 15:34:27 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gdk/gdkcolor.c (gdk_colormap_get_system): Only query
+         the colormap for GRAYSCALE and PSEUDOCOLOR visuals,
+         and don't ask for more than 256 colors in any case.
+
+       * gdk/gdkwindow.c (gdk_window_internal_destroy): Remove
+         the input window information when we destroy the window,
+         not when we are notified of it.
+
+       * gdk/gdkinputcommon.h (gdk_input_device_new): Work around
+         bug in XFree86 3.3.1's handling of Wacom macro buttons.
+         by assumming no device will report exactly 25 buttons.
+
+       * gdk/gdkinputcommon.h (gdk_input_common_other_event): Fill
+         in string translation for generated key press events,
+         do sanity checking on received key codes.
+
+       * gdk/gdkcc.c (gdk_color_context_new): Allocate enough
+         room for a GdkColorContextPrivate, not just for a 
+         GdkColorContext.
+
+Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/testgtk.c: don't add the same menu to different menuitems/
+         optionmenus.
+
+       * gtk/gtkmenuitem.h:
+       * gtk/gtkmenuitem.c: new function gtk_menu_item_remove_submenu ro
+         be consistent with optionmenu. use gtk_menu_attach_to_widget/
+         gtk_menu_detach for setting/removing the submenu.
+         invoke gtk_widget_destroy(submenu) in destructor to be consistent
+         with other destructors.
+
+       * gtk/gtkoptionmenu.h: 
+       * gtk/gtkoptionmenu.c: attach/detach to menu widget via
+         gtk_menu_attach_to_widget/gtk_menu_detach.
+         invoke gtk_widget_destroy(menu) in destructor to be consistent
+         with other destructors.
+
+       * gtk/gtkmenu.h: 
+       * gtk/gtkmenu.c: new functions gtk_menu_attach_to_widget
+         and gtk_menu_detach that correspond to the action of
+         gtk_widget_set_parent and gtk_widget_unparent.
+
+       * gtk/widget.c: few fixups.
+
+Tue Feb  3 00:12:00 1998  Owen Taylor  <owt1@cornell.edu>
+       * gtk/gtktable.c 
+         Fixed problem with division by zero in row/column-spanned
+         tables. Also removed a bunch of conditionals by making
+         the observation that x/1 == x.
+
+Mon Feb  2 04:15:08 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkwindow.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkmain.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkcontainer.c:
+       * gtk/gtkprivate.h (GTK_PRIVATE_UNSET_FLAG) (GTK_PRIVATE_UNSET_FLAGS): 
+         changed name to reflect that these macros in fact can't operate on
+         multiple flags.
+
+       * gtk/gtktoolbar.c: fixed destroy handler, so it doesn't
+         segfault with the new refcounting scheme anymore.
+
+       * gtk/gtkhandlebox.c:
+       * gtk/gtkclist.c:
+       * gtk/gtkentry.c:
+       * gtk/gtkrange.c:
+       * gtk/gtktext.c:
+       * gtk/gtkviewport.c:
+         enforced
+                 gdk_window_set_user_data (window, NULL);
+         gdk_window_destroy (window);
+         window = NULL;
+         throughout the code.
+
+       * gtk/gtkmain.c (gtk_propagate_event): fixed a bad, bad referencing
+         bug that could caused unreferencing of finalized objects.
+
+       * gtk/testgtk.c: destroy fileselection on "OK" (this triggered the
+         above mentioned bug).
+
+       * gtk/gtkwidget.h:
+       * gtk/gtkwidget.c:
+       * gtk/gtkobject.h:
+       * gtk/gtkobject.c:
+         implemented and object reference tracer (gtk_trace_referencing) which
+         is activated if GTK_TRACE_OBJECTS is defined (currently per default).
+         in gdb: set the static variable `gtk_trace_object' to point to the
+         object that you want to have reference traced.
+
+       * gtk/gtkfileselection.c: few cleanups.
+
+       * gtk/gtkcolorsel.c:
+       * gtk/gtkcombo.c:
+       * gtk/gtkobject.c:
+       * gtk/gtkselection.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkwindow.c:
+         cleanups with key name spaces.
+
+       * gtk/gtkcombo.c: fixed destruction bug with popwin.
+
+       * gtk/gtkcontainer.h: 
+       * gtk/gtkcontainer.c: GTK_RESIZE_NEEDED is a private flag now.
+         (gtk_container_register_toplevel): new function.
+         (gtk_container_unregister_toplevel): new function.
+
+       * gtk/gtkmain.c: GTK_LEAVE_PENDING is a private flag now.
+
+       * gtk/gtkmenu.c: call gtk_container_register_toplevel in
+         gtk_menu_class_init instead of this dirty gtk_widget_set_parent(,NULL)
+         hack. new default handler gtk_menu_destroy for calling
+         gtk_container_unregister_toplevel. removed GTK_ANCHORED, GTK_UNMAPPED.
+
+       * gtk/gtkobject.h: macro cleanups, added GTK_DESTROYED flag.
+
+       * gtk/gtkobject.c: only emit DESTROY signal if !GTK_OBJECT_DESTROYED
+         (object).
+
+       * gtk/gtkprivate.h: new file that will not be automatically included.
+         it holds the private flags for GtkWidget along with it's SET/UNSET
+         and examination macros.
+
+       * gtk/gtkwidget.c: private flags: GTK_RESIZE_NEEDED, GTK_REDRAW_PENDING,
+         GTK_RESIZE_PENDING, GTK_IN_REPARENT, GTK_USER_STYLE. GTK_ANCHORED is
+         replaced by GTK_TOPLEVEL. added missing UNSET for GTK_IN_REPARENT.
+         removed the gtk_widget_set_parent(, NULL) hack for toplevels.
+         upon destroy free memory for widgets with GTK_WIDGET_HAS_SHAPE_MASK.
+
+       * gtk/gtkwidget.h: split up the widget flags into a public and a private
+         portion. added an extra field private_flags to GtkWidget without making
+         it bigger by using an alignment gap of 16 bit. macro cleanups.
+
+       * gtk/gtkwindow.c: removed GTK_ANCHORED. new function gtk_window_destroy
+         for calling gtk_container_unregister_toplevel. removed the
+         gtk_widget_set_parent(,NULL), call gtk_container_register_toplevel
+         instead. remove GTK_UNMAPPED. GTK_RESIZE_NEEDED is private now.
+
+       * gtk/gtksignal.c (gtk_signal_disconnect): removed a bug on
+         removal that cut off the handler list -> living_objects == 0
+         with testgtk. made some warnings more descriptive.
+         new function gtk_signal_connect_object_while_alive, which
+         will automatically destroy the connection once one of the objects
+         is destroyed. didn't include this before removal of the above
+         mentioned bug.
+
+Sat Jan 31 23:55:03 1998  Tim Janik  <timj@gimp.org>
+
+       * ChangeLog entry for Friday (incorporation of Marius Vollmer's
+         reference counting revolution, plus various fixups and additions
+         from myself).
+
+       * gdk/gdk.h:
+       * gdk/gdkgc.c: new functions gdk_gc_ref/gdk_gc_unref.
+
+       * gdk/gdkprivate.h: cleanups on ref_count field sizes.
+
+       * gtk/gtkadjustment.c (gtk_adjustment_set_value): new function for
+         emission of GtkAdjustment::value_changed signal.
+
+       * gtk/gtkbin.c:
+       * gtk/gtkcolorsel.c:
+       * gtk/gtkcurve.c:
+       * gtk/gtkentry.c:
+       * gtk/gtkframe.c:
+       * gtk/gtkinputdialog.c:
+       * gtk/gtklabel.c:
+       * gtk/gtkpixmap.c:
+       * gtk/gtkpreview.c:
+       * gtk/gtkrange.c:
+       * gtk/gtktable.c:
+       * gtk/gtkwindow.c:
+         replaced functionality of gtk_*_destroy by gtk_*_finalize.
+
+       * gtk/gtkbox.c:
+       * gtk/gtkbutton.c:
+       * gtk/gtkfixed.c:
+       * gtk/gtkmenushell.c:
+       * gtk/gtknotebook.c:
+       * gtk/gtkpaned.c:
+       * gtk/gtkscale.c:
+         removed default destroy handler.
+
+       * in general: reference parent->window for NO_WINDOW widgets.
+         set user data of a GdkWindow to NULL before destruction.
+       
+       * gtk/gtkbutton.c: use gtk_widget_unparent instead of gtk_widget_destroy
+         in *_set_arg.
+
+       * gtk/gtkcontainer.c: provide other containers with a default destroy
+         handler that will destroy all children.
+         new function gtk_container_foreach_interp.
+         new field resize_widgets.
+
+       * gtk/gtklist.c: handle destruction of children in gtk_list_destroy.
+         replaced occourances of gtk_widget_destroy with gtk_widget_unparent.
+         reference children that are in the selection list.
+
+       * gtk/gtkmain.c: reference grab widgets.
+         (gtk_get_event_widget): check for event.window != NULL. Note: this
+         function may return NULL now!.
+         (gtk_propagate_event): much simplified by using proper reference
+         counting.
+
+       * gtk/gtkmenu.c: introduce GTK_TOPLEVEL, and gtk_widget_set_parent(,
+         NULL) hack.
+
+       * gtk/gtkmenuitem.c: gtk_widget_(un)ref the submenu.
+
+       * gtk/gtkmenushell.c: check for return value of gtk_get_event_widget.
+
+       * gtk/gtknotebook.c: proper gtk_widget_unparent()ing.
+
+       * gtk/gtkobject.c: new functions gtk_object_finalize,
+         gtk_object_notify_weaks, gtk_object_debug, gtk_object_sink,
+         gtk_object_weakref, gtk_object_weakunref. implementation of the new
+         reference counting scheme for gtkobjects (consult gtk+/REFCOUNTING).
+
+       * gtk/gtkoptionmenu.c: proper reference counting for option_menu->menu.
+
+       * gtk/gtkscrolledwindow.c: new finalize handler for proper referencing
+         of the subwidgets.
+
+       * gtk/gtksignal.c: internal representation of signal_type is now 16 bit
+         instead of 13 bits. this is needed because of user signals.
+         new functions gtk_signal_handler_ref and gtk_signal_handler_unref
+         (replacement for gtk_signal_handler_destroy).
+         gtk_signal_emit, gtk_signal_emit_by_name, gtk_signal_real_emit used
+         to return the existence of a GtkObject. this will always be TRUE now,
+         therefore the return value is now void.
+
+       * gtk/gtktooltips.h:
+       * gtk/gtktooltips.c: GtkTooltips is now a descendant of GtkData and
+         therefore a real GtkObject.
+
+       * gtk/gtktree.c: reference changes similar to thos in gtklist.c.
+
+       * gtk/gtktreeitem.c: reference th e pixmaps properly.
+
+       * gtk/gtktypeutils.h:
+       * gtk/gtktypeutils.c: new function gtk_arg_copy() to conform to
+         the requirements of gtk_object_get().
+
+       * gtk/gtkviewport.c: finalize handler for proper referencing of the
+         adjustments.
+
+       * gtk/gtkwidget.c: substituted VISIBILITY_NOTIFY_EVENT by NO_EXPOSE_EVENT.
+         added finalize handler. added gtk_widget_ref/gtk_widget_unref.
+         new functions gtk_widget_idle_draw and gtk_widget_idle_sizer, that
+         will handle all widgets that are currently in either queue.
+         referencing all over the place. changes because gtk_signal_emit
+         returns void now. moved queue removal into the destroy handler.
+         gtk_widget_real_unrealize propagates now down the tree. new flag
+         GTK_TOPLEVEL. new function gtk_widget_destroyed for connection to the
+         destroy signal of a widget. this function nullifies the widgets
+         structure pointer, look at gtkmain.c for an example on this.
+
+       * gtk/gtkwindow.c: new functions gtk_window_activate_focus,
+         gtk_window_activate_default. for activation of the appropriate
+         children. changes to the resizing code because there is a new
+         field resize_widgets in GtkContainer now.
+
+       * gtk/testgtk.c: some changes because of all the above ;)
+
+Sat Jan 31 21:26:27 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwidget.c: Added a new GTK_IN_REPARENT flag and revised
+         gtk_widget_reparent so that the child would not be unrealized
+         unnecessarily. Changed gtk_widget_unrealize () to recursively
+         unrealize the children (since the child windows will be 
+         destroyed too.)
+
+Sat Jan 31 00:05:34 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkcombo.c: changed to use g_strcasecmp
+       * gtk/gtkobject.c: #include <stdlib.h> for atexit
+
+Sat Jan 31 00:13:33 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkstyle.c: Backed out change to close polygons
+         since it caused problems for the Notebook.
+
+Fri Jan 30 22:28:09 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkclist.{c,h}:
+          - Conformity to new reference counting schemes
+          - Font and color information is no-longer taken from
+            the (possibly unitialized) style before the widget
+            is realized, but is obtained when needed. (Fixes
+            problems with non-default styles)
+          - white_gc => base_gc where appropriate
+          - Handle graphics expose events correctly (or as
+            correctly as anywhere else) so that scrolling when
+            overlapped works.
+
+Fri Jan 30 21:32:11 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwidget.c (gtk_widget_init): Don't replace the object
+       flags, augment them. (Otherwise we'll clear the FLOATING flag)
+
+Fri Jan 30 17:41:06 1998  George Lebl  <jirka@5z.com>
+
+       * gtk/gtktable.c: fixed round-off error in calculation
+         of tabels with a lot of cells
+
+Fri Jan 30 08:51:16 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
+
+       * gdk/gdkcc.c (gdk_color_context_get_pixel): red/green/blue
+       parameters are now expected to be in [0, 65535], to be consistent
+       with the rest of Gdk.
+       (gdk_color_context_get_pixels): Made it use 16-bit color values as
+       well.  Fixed mdist=1000000 buglet (it should start with at least
+       0x1000000).
+       (gdk_color_context_get_pixels_incremental): Same as
+       gdk_color_context_get_pixels().
+
+Thu Jan 29 22:57:39 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkstyle.c (gtk_default_draw_polygon): Close
+         the polygon if it isn't already. (To match gtk_draw_polygon)
+         Simplified logic. (Appearance could probably be
+         improved for objects with gradual curves by adding in
+         some intermediate edge coloration)
+
+Thu Jan 29 21:36:14 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtksignal.c (gtk_signal_query): new function to gather
+         information about a certain signal.
+
+       * gtk/gtksignal.c (gtk_signal_newv): new function similar to
+         gtk_signal_new().
+
+       * gtk/gtksignal.c (gtk_signal_real_emit): check for function_offset
+         == 0.
+
+       * gtk/gtksignal.c (gtk_signal_connect_by_type): perform a signal
+         id lookup on the parent as well.
+
+       * gtk/gtkobject.c (gtk_object_class_add_user_signal): new
+         function for implementation of user defined signals.
+       * gtk/gtkobject.c (gtk_object_class_add_signals): free old
+         signal id array.
+
+       * gtk/gtkobject.h: this holds the typedefs for GtkSignalFunc and
+         GtkSignalMarshaller now, because they are used for
+         gtk_object_class_add_user_signal.
+
+       * gtk/gtktypeutils.c (gtk_type_class_init): reset object_class->signals
+         and object_class->nsignals for new object classes.
+
+Tue Jan 27 15:52:48 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
+
+       * gtk/gtkhandlebox.c (gtk_handle_box_realize): The auto_shrink
+       policy of the floating window is now set to TRUE.  This fixes the
+       problem of the floating window being too big when the handlebox
+       child is small.
+       (gtk_handle_box_motion): Now we use GDK_POINTER_MOTION_HINT_MASK
+       to improve movement.
+
+Tue Jan 27 14:15:50 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+        * docs/gtkfaq.sgml: more additions/changes Tony Gale.
+
+Mon Jan 26 17:12:12 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+       * docs/gtkfaq.sgml: additions/changes from new FAQ maintainers
+          Nathan Froyd and Tony Gale.
+
+Mon Jan 26 16:54:02 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+       * docs/gtk.texi: additions/changes from Gregory A. McLean
+
+Mon Jan 26 02:15:29 1998  Tim Janik  <timj@gimp.org>
+
+       * gdk/gdkdraw.c:
+       * gdk/gdkgc.c:
+       * gdk/gdkimage.c:
+       * gdk/gdkinput.c:
+       * gdk/gdkpixmap.c:
+       * gdk/gdkproperty.c:
+       * gdk/gdkselection.c:
+       * gdk/gdkwindow.c: added a bunch of checks for window != NULL and
+         private->destroyed.
+
+Sun Jan 25 19:15:32 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkwidget.h (enum): added new widget flag GTK_LEAVE_PENDING.
+       * gtk/gtkmain.c (gtk_main_iteration_do): if a widget has
+         GTK_LEAVE_PENDING set, send it its LEAVE_NOTIFY event, regardless
+         of a grab or sensitivity.
+         changed the compression code for enter/leave notify events to
+         free *both* compressed event, and removed an unneccessary call
+         to g_list_remove.
+
+       * ChangeLog: finally catched up with the recent changes on my part.
+
+       * gtk/gtkobject.h: new element n_args in GtkObjectClass.
+       * gtk/gtkobject.c (gtk_object_query_args): this function now returns
+         the arguments in the correct order.
+
+        * gtk/gtkbox.c:
+       * gtk/gtkbutton.c:
+       * gtk/gtkcontainer.c:
+       * gtk/gtkframe.c:
+       * gtk/gtklabel.c:
+       * gtk/gtkobject.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkwindow.c: various fixes and additions to the gtk_*_set_arg
+         and gtk_*_get_arg() functions.
+
+       * gdk/gdk.h:
+       * gdk/gdk.c (gdk_pointer_is_grabbed): new function.
+
+       * gtk/gtkmain.h:
+       * gtk/gtkmain.c: implementations of gtk_invoke_key_snoopers(),
+         gtk_key_snooper_install() and gtk_key_snooper_remove(). this
+         mechanism allowes applications to track global hot keys that need
+         to bypass accelerator tables and else key processing stuff.
+
+Thu Jan 22 18:58:44 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
+
+       * gdk/gdkcc.c: Switched the file to GNU indentation, for consistency.
+
+       * gdk/gdktypes.h (struct _GdkColorContext): Picky, picky... fix
+       two lines with wrong indentation :-)
+
+Thu Jan 22 02:32:06 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
+
+       * gtk/Makefile.am: Fixed the call to runelisp to use $(SHELL).
+         (Cannot rely on the script having execute permissions.)
+
+Wed Jan 21 17:29:54 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+       * Released 0.99.3
+
+Wed Jan 21 01:32:21 1998  Tim Janik  <timj@psynet.net>
+
+       * gtk/gtkwidget.h:
+       * gtk/gtkwidget.c: changed the state_changed signal to take an
+         extra argument `old_state'.
+         removed `gtk_widget_restore_state'.
+         changed `gtk_widget_set_state' and `gtk_widget_set_sensitive' to use
+         only one function `gtk_widget_propagate_state' to iterate down the
+         tree. this causes GtkWidget::state_changed to be invoked on state
+         changes and on sensitivity changes. some comment cleanups.
+
+Tue Jan 20 16:38:52 1998  Owen Taylor  <owt1@cornell.edu>
+       * gtk/gtkcombobox.{c,h}: removed
+         gtk/gtkcombo.{c,h}: added [Paolo Molaro's version]
+         gtk/testgtk.c: changed to use new version
+         gtk/Makefile.am gtk/gtk.h
+       
+Mon Jan 19 20:10:19 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+       * gdk/gdk.h Fixed typo where strdup was used instead of g_strdup
+          (found by Frank Neumann)
+
+Mon Jan 19 16:21:00 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
+
+       * gtk/gtktoolbar.c (gtk_toolbar_class_init): Set
+       container_class->focus to NULL.  Widgets in the toolbar should not
+       get the focus via the normal key bindings (no toolkit does this,
+       and it makes sense).
+
+       * gtk/testgtk.c (create_toolbar): Removed the GTK_PIXMAP casts to
+       match Eckehard's new prototypes.
+
+       * gtk/gtktoolbar.h: Switched the order of the tooltip_text and
+       widget parameters to the gtk_toolbar_*_widget() functions, to be
+       friendlier to the C++ bindings.  This is per request of Guillaume
+       Laurent.
+
+Mon Jan 19 09:16:38 1998  Tim Janik  <timj@psynet.net>
+
+       * gtk/gtkmain.c (gtk_grab_add) (gtk_grab_remove): this is a stack
+         of grabbing widgets now, having unique entries. the GTK_HAS_GRAB
+         flag of a widget is set while it is on the stack (wasn't
+         implemented before).
+
+Mon Jan 19 00:46:18 1998 MET  Eckehard Berns  <eb@berns.prima.de>
+
+       * gtk/gtktoolbar.[ch]: changed
+         gtk_toolbar_{append,prepend,inser]_item to accept any GtkWidget
+         as icon to allow more flexibility
+
+Sun Jan 18 16:54:55 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+       * gtk/gtkstatusbar.[ch] added new widget, the statusbar
+
+Sun Jan 18 09:57:00 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkdrawingarea.c
+         gtk/gtkentry.c gtk/gtkeventbox.c gtk/gtkfixed.c
+         gtk/gtkhandlebox.c gtk/gtkhscale.c gtk/gtkhscrollbar.c
+         gtk/gtkitem.c gtk/gtklist.c gtk/gtkmenushell.c gtk/gtkmisc.c
+         gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtkpreview.c
+         gtk/gtkprogressbar.c gtk/gtkruler.c gtk/gtktext.c gtk/gtktree.c
+         gtk/gtkviewport.c gtk/gtkvscale.c gtk/gtkvscrollbar.c
+         gtk/gtkwidget.{c,h}
+
+       Added gtk_widget_set_parent_window() and 
+       gtk_widget_get_parent_window(). All widgets should use:
+       
+          gtk_widget_get_parent_window() instead of widget->parent->window.
+       
+       Any widget that wants to have children not in the parent window,
+       should use gtk_widget_set_parent() in their realize() and
+       add() routines. 
+
+       CList and Viewport widgets changed to do this. (Viewport
+       widget using code from gtk-fortier-980117-0.patch.)
+
+Sat Jan 17 23:56:02 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkobject.c:
+          renamed g_string_equal => g_str_equal
+          renamed g_string_hash => g_str_hash
+
+Sun Jan 18 03:57:52 1998  Tim Janik  <timj@psynet.net>
+
+       * gtk/gtkframe.c: gtk_*_get_arg() and gtk_*_set_arg() implementations.
+       * gtk/gtkobject.c: new arg `GtkObject::object_signal' similar to
+         `GtkObject::signal'. check for class type in gtk_object_{setv|getv}.
+
+       * gtk/gtkobject.c:
+       * gtk/gtksignal.c:
+       * gtk/gtktypeutils.h:
+       * gtk/gtktypeutils.c: added GTK_TYPE_DOUBLE.
+
+       * gtk/gtkwidget.c: new args `has_focus' and `has_default'.
+       * gtk/gtkwindow.c: new arg `window_position'.
+
+       * gtk/gtkbox.h:
+       * gtk/gtkbox.c: new functions gtk_box_reorder_child,
+       gtk_box_query_child_packing and gtk_box_set_child_packing to
+       allow modification of the child linkage after the widget tree
+       is setup.
+
+       * gtk/gtkbox.c:
+        * gtk/gtklabel.c:
+        * gtk/gtkwindow.c:
+       * gtk/gtkwidget.c:
+        * gtk/gtkobject.c: gtk_*_get_arg() and gtk_*_set_arg() fixes
+          and implementations.
+       
+Sat Jan 17 18:06:35 1998  Owen Taylor  <owt1@cornell.edu>
+       * gdk/gdk.c (gdk_events_pending): Take putback events into
+         account
+
+       * gdk/gdk.c (gdk_event_free): Handle dropdataavaible memory
+         allocation correctly. (Incompatible change: client must
+         _not_ fre event->data and event->data_type.)
+
+       * gdk/gdk.c (gdk_event_translate): Changed DND dragging
+         so that we don't ungrab pointer when we reenter window
+         to prevent extra Enter/Leave effects which had bad
+         effects.
+          Changed drag zone handling to not send uncessary
+         DragEnter events.
+          Fixed EnterNotify/LeaveNotify handling. (Only pay
+         attention to events on window, don't specify these
+         events to XGrabPointer - that isn't valid, and handle
+          reverse the sense of the handling of LeaveNotify.)
+
+       * gdk/gdkwindow.c (gdk_window_remove_filter): Free removed
+         filter.
+
+       * gtk/gtk.defs (GdkFont): gdk_font_free => gdk_font_unref
+
+       * gtk/gtkmain.{c,h} (gtk_events_pending): new function - apps
+         should use this instead of gdk_events_pending.
+
+       * gtk/gtkvbbox.h: Fixed a duplication in the headers.
+
+       * gtk/testgtk.c (dnd_drop): Don't free the drop data,
+         it belongs to the event.
+
+Sat Jan 17 13:26:15 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+
+       * gtk/gtkentry.[ch]:  Applied patch from <lupus@lettere.unipd.it> 
+          which adds gtk_entry_set_max_length function.  This was 
+          part of gtk-lupus-970112-0.
+
+       * gtk/testgtk.c: Applied gtk-wille-980113-0 which fixes 
+          a problem with a shaped widget keeping grab forever
+          when double clicked.
+     
+        * docs/gtk.texi: patch from Gregory McLean <gregm@randomc.com>
+          to add some on aspect_frame, button_box, and color_selection
+          widgets
+
+Sat Jan 17 06:24:05 1998  Tim Janik  <timj@psynet.net>
+
+       * gtk/gtktypeutils.h (gtk_type_get_arg): new function.
+       * gtk/gtkobject.h (gtk_object_query_args): new function.
+       * gtk/gtkobject.h (gtk_object_getv): new function.
+       * gtk/gtkwidget.h (gtk_widget_get): new function.
+
+Fri Jan 16 00:36:31 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
+
+       * gtk/gtkhandlebox.c: Now we use a GtkWindow of type
+       GTK_WINDOW_DIALOG as a destination for reparenting the child of
+       the handle box.  This solves the problem of having X calls in
+       Gtk.  It also makes the handle box work with KWM, OLVWM, 4Dwm (so
+       I expect mwm to work as well).  I hadn't noticed that previously
+       it only worked with fvwm and twm.
+
+       * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
+       real_parent field, as it is never used.
+       (struct _GtkHandleBox): Added a float_window field.  This is a
+       GtkWindow to where the child is now reparented.
+
+       * gtk/gtkhandlebox.c: Lots of changes all over the place.  Now the
+       widget has two windows.  The steady_window stays put in the parent
+       container, and the widget->window is the one that gets
+       reparented.  Now that window is transient, in compliance with the
+       ICCCM, instead of an OverrideRedirect window.
+
+       We have two windows so that we can properly receive Expose events
+       for the thin 3D line that marks the place where the handlebox is
+       docked.
+
+       * gtk/gtkhandlebox.h (struct _GtkHandleBox): Added fields for
+       dragging (mouse position information).  Added fleur_cursor so that
+       we look pretty.  Added steady_window field; it is the window that
+       actually stays on the parent (widget->window is the one that gets
+       reparented).
+
+Thu Jan 15 19:03:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
+
+       * gtk/gtkclist.c (gtk_clist_set_column_width): Call
+       gtk_clist_size_allocate_columns every time the column
+       configuration changes. 
+
 Fri Jan 16 01:55:17 1998  Tim Janik  <timj@psynet.net>
 
        * improved the gtk_widget_set handling. removed GtkArgFunc and added
@@ -13,6 +943,9 @@ Fri Jan 16 01:55:17 1998  Tim Janik  <timj@psynet.net>
 
        * gtk/gtkobject.c: bug fixes and changes in the assertion system for
          arg handling. changed g_print() warning calls to real g_warning()s.
+         
+       * changed all *_get_type() functions to initialize GtkTypeInfo
+         correctly with GtkArgSetFunc and GtkArgGetFunc fields.
 
 Thu Jan 15 00:44:27 PST 1998 Jay Painter <jpaint@serv.net>
        * gtk/gtkentry.[ch]: Change window cursor to "I"
@@ -93,6 +1026,10 @@ Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
        * glib/testglib.c: Added g_[s]list_insert_sorted function
        and appropriate tests in testglib
 
+Tue Jan  6 17:09:46 1998  Owen Taylor  <owt1@cornell.edu>
+       * gtk/gtknotebook.h gtk/gtknotebook.c
+          Added "switch_page" signal. (gtk-hamann_jeske-971212-0.patch)
+
 Tue Jan  6 17:07:29 1998  Owen Taylor  <owt1@cornell.edu>
        * gtk/gtkentry.c gtk/gtkentry.h gtk/testgtk.c : 
           Fixed problem with deleting while text is selected.
@@ -106,6 +1043,9 @@ Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
 Sat Jan  3 15:39:45 PST 1998 Jay Painter <jpaint@serv.net>
        * gtk/testgtk.c: better CList test
 
+Sat Jan  3 11:09:51 CST 1998 Shawn T. Amundson <amundson@gimp.org>
+       * GTK+ 0.99.2 Released
+
 Sat Jan  3 11:09:51 CST 1998 Shawn T. Amundson <amundson@gimp.org>
 
        * gtk/gtkscrolledwindow.c: initialize scrollbar_spacing