+Wed Feb 25 13:50:05 GMT 1998 Tony Gale <gale@gimp.org>
+
+ * docs/gtkfaq.sgml: added questions on:
+ - Why don't the contents of a button move when
+ the button is pressed?
+ - How do I catch a double click event in
+ a list widget?
+ - When compiling GTK+ I get an error like:
+ make: file `Makefile' line 456: Syntax error
+ Removed questions on menus which are covered in the
+ tutorial.
+
+ Added link to HTML versions of FAQ and Tutorial on my
+ web site.
+
+Tue Feb 24 22:47:01 1998 Owen Taylor <owt1@cornell.edu>
+
+ * gtk/gtktext.c: Added some support for i18n. The support
+ for input methods, including preedit, is there, but input
+ is ignored unless it comes one byte at a time, so the
+ CJK locales won't really work. Fixing that would require
+ variable-width character support in the Text widget, which
+ is probably the wrong approach. Eventually we'll probably
+ want to go to UCS-4 internally.
+
+ Also, revised key press handling, which should improve
+ the forwarding of non-handled keypresses to the toplevel,
+ and make adding selection handling easier.
+
+ * gtk/gtkentry.c: Minor changes so that C-d, etc delete
+ the selection if there is one.
+
+ * gdk/gdk.c (gdk_ic_get_events): Check the result of
+ XGetICValues - it is failing for some reason, and
+ causing some warnings to be printed.
+
+Mon Feb 23 15:41:13 1998 Owen Taylor <owt1@cornell.edu>
+
+ * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events
+ that just move the window, and don't resize it. Because we need
+ to make sure that a widget gets redrawn after a size_allocate -
+ and that only happens when the configure event changes the size
+ of the window. Plus, it's inefficient.
+
+Mon Feb 23 15:45:37 1998 Marc Ewing <marc@redhat.com>
+
+ * gtk/gtktoolbar.h:
+ * gtk/gtktoolbar.c:
+ Added gtk_toolbar_*_element() functions. Rewrote others
+ to simply call gtk_toolbar_insert_element() to do the
+ work.
+ Added two new GtkToolbarChildType options: TOGGLEBUTTON and
+ RADIOBUTTON, available through the gtk_toolbar_*_element() functions.
+
+Mon Feb 23 13:44:10 1998 Tim Janik <timj@gimp.org>
+
+ * gtk/gtkstatusbar.h:
+ * gtk/gtkstatusbar.c:
+ (re-)implemented the statusbar widget. my first intend was to fix the
+ code, but then there was nothing to fix.
+
+Sun Feb 22 20:42:04 1998 Marc Ewing <marc@redhat.com>
+
+ * gtk/gtkclist.c (gtk_clist_insert): Allow inserts
+ on empty clists.
+
+Sun Feb 22 14:28:43 1998 Owen Taylor <owt1@cornell.edu>
+
+ * gtk/gtkmain.c (gtk_events_pending): Count idle handlers
+ at internal priority as pending events.
+
+Sun Feb 22 00:20:12 MET 1998 Eckehard Berns <eb@berns.prima.de>
+
+ * gdk/gdkcc.c (gdk_color_context_query_colors): fixed a bug for mode
+ GDK_CC_MODE_TRUE, when on a 24-bit visual on a 32-bit mashine.
+
+Sat Feb 21 15:33:20 1998 Tim Janik <timj@gimp.org>
+
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c: renamed signal GtkWidget::set_parent to
+ GtkWidget::parent_set. since it's purpose is pure notification,
+ it should have been named this way in the first place.
+
+Sat Feb 21 12:06:11 1998 Scott Goehring <scott@poverty.bloomington.in.us>
+
+ * gtk/gtkentry.c (gtk_entry_set_text): Added a test for passing a
+ NULL text pointer.
+
+Sat Feb 21 14:49:17 1998 Tim Janik <timj@gimp.org>
+
+ * gtk/gtkobject.h:
+ * gtk/gtkobject.c: gtk_object_query_args takes an additional pointer
+ now which if supplied will point to an array holding the sequential
+ argument ids.
+
+ * gtk/gtktree.c: fix emission of selection_changed signal, supplied
+ by Bolliet Jerome.
+
+ * gtk/gtktreeitem.c: inline the plus and minus pixmaps, supplied by
+ Bolliet Jerome.
+
+ * gtk/gtknotebook.c: do a resize when a page is removed and don't
+ refer to the removed page on the switch signal, supplied by Lars Hamann
+ and Stefan Jeske.
+
+ * gtk/gtktoolbar.h:
+ * gtk/gtktoolbar.c:
+ gtk_toolbar_append_item, gtk_toolbar_prepend_item,
+ gtk_toolbar_insert_item, gtk_toolbar_append_widget,
+ gtk_toolbar_prepend_widget, gtk_toolbar_insert_widget: take an additional
+ gchar *tooltip_private_text as argument to fully support the underlying
+ call to gtk_tooltip_set_tip.
+
+Fri Feb 20 16:44:57 GMT 1998 Tony Gale <gale@gimp.org>
+
+ * docs/gtkfaq.sgml: added to list of GTK apps, added permissions notice
+ new GDK section - needs some Q&A's added
+
+Fri Feb 20 06:40:00 1998 Tim Janik <timj@gimp.org>
+
+ * gtk/gtktipsquery.h:
+ * gtk/gtktipsquery.c:
+ New widget GtkTipsQuery for letting the user query tooltips of widgets.
+
+ * gtk/testgtk.c: add example for GtkTipsQuery.
+
+ * gtk/gtk.h: include gtk/gtktipsquery.h.
+
+ * gtk/gtklabel.c: enable default constructing.
+
+
+Thu Feb 19 18:53:51 1998 Larry Ewing <lewing@discord.isc.tamu.edu>
+
+ * removed g_warnings from the common XShm failure cases in gdkimage.c
+
+1998-02-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
+
+ * gtk/gtkcombo.c (gtk_combo_entry_key_press): Added M-p and M-n
+ key equivalents for up and down keys. Just for us Emacs weenies :-)
+
+Thu Feb 19 12:18:24 1998 Owen Taylor <owt1@cornell.edu>
+
+ * gtk/testgtk.c : Use POINTER_MOTION_HINT when dragging
+ shapes around.
+ (gtk-wille-980203-0
+ Stefan Wille <1wille@vsys1.informatik.uni-hamburg.de>)
+
+ * gtk/gtktext.c : Fixes to inserting and deleting characters
+ on line breaks.
+ (gtk-magnus-980210-0 Magnus Hulthen <magnus@axiom.se>)
+
+ * glib/configure.in glib/glibconfig.h.in: the value of
+ ---enable_debug is written into glibconfig.h so everything
+ is recompiled when it changes. (HACK)
+
+ * gtk/gtkmain.c gdk/gdk.c docs/debugging.txt:
+ Added --gdk-no-debug and --gtk-no-debug switches. Effect
+ of switches is no cumulative.
+
+Thu Feb 19 06:56:52 1998 Tim Janik <timj@gimp.org>
+
+ * gtkbox.c:
+ * gtkbutton.c:
+ * gtkcontainer.c:
+ * gtkframe.c:
+ * gtklabel.c:
+ * gtkobject.c:
+ * gtkwidget.c:
+ * gtkwindow.c:
+ present the argument access masks on their announcement.
+
+ * gtk/gtkobject.h:
+ * gtk/gtkobject.c:
+ (gtk_object_add_arg_type): take an additional argument describing
+ the access mask of the new arg. this can be of GTK_ARG_READABLE,
+ GTK_ARG_WRITABLE or GTK_ARG_READWRITE (the latter is an alias for
+ the two previous ones).
+ (gtk_object_query_args): provide an access_mask array if desired.
+
+ * gtk/gtkwidget.c (gtk_widget_real_realize):
+ realized the assumtion that widget is a NO_WINDOW widget
+ in actuall code.
+
+ * gtkwindow.c:
+ slight changes to gtk_window_configure_event that will make
+ the resizing behaviour a little less odd.
+ sigh, for some (buggy) reason, there are still container resizes
+ triggered by manual resizing to very small window sizes.
+ the cointainer resizes will cause gtk_real_window_move_resize to
+ be invoked, which makes the app look like it wants to fight the users
+ resizing action. ;(
+
+Thu Feb 19 01:11:48 1998 Owen Taylor <owt1@cornell.edu>
+
+ * configure.in gdk/gdk.[ch] gdk/gdkcc.c
+ gdk/gdkglobals.c gdk/gdkinputcommon.h gdk/gdkprivate.h
+ gdk/gdkvisual.c glib/configure.in glib/glib.h
+ glib/gutils.c gtk/Makefile.am gtk/gtkmain.c
+ gtk/gtkobject.[ch] gtk/gtkdebug.h docs/debugging.txt
+
+ New system for controlling debugging:
+
+ * --enable-debug=[no/yes/minimum]
+ * G_DISABLE_ASSERT and G_DISABLE_CHECKS for glib
+ * G_NO_CHECK_CASTS to control cast checking
+ * G_ENABLE_DEBUG enables run time checking which controls:
+ Object tracing
+ Showing events
+ Miscellaneous g_print's in GDK
+ And is controlled by --gdk-debug/GDK_DEBUG, --gtk-debug/GTK_DEBUG
+ * debug_level and show_events are gone from GTK
+
+ See docs/debugging.txt for details.
+
+ And some fixups to the configure.in's so '-g' can be
+ overriden on the command line for --enable-debug
+
+Thu Feb 19 05:40:51 1998 Tim Janik <timj@gimp.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c:
+ applied gtk-hamann_jeske-980218-0.patch.gz, a patch from
+ Lars Hamann and Stefan Jeske which introduces major
+ usability improvements.
+ fixed bugs are:
+ - container border_width>0 does now work correctly for show_tabs==TRUE
+ and for tab_pos=GTK_POS_BOTTOM/GTK_POS_RIGHT.
+ - toggleing visibility of the tab labels works now.
+ - emission of GtkNotebook:switch_page and all page changes
+ also the signature for the GtkNotebook:switch_page signal changed,
+ callbacks should now look like:
+ gint notebook_switch_page (GtkWidget *widget, GtkNotebookPage *page,
+ gint page_num, gpointer data);
+
+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
+