Filling in the details.
This commit is contained in:
		
							
								
								
									
										194
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										194
									
								
								ChangeLog
									
									
									
									
									
								
							@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,195 @@
 | 
			
		||||
Wed Dec 17 20:59:52 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdkinput.c gdk/gdkinput.h gdk/gdkinputcommon.h
 | 
			
		||||
	  gdk/gdkinputxfree.h gdk/gdkinputgxi.h gdk/gdkinputnone.h.
 | 
			
		||||
	  gtk/gtkinputdialog.h gtk/testinput.c
 | 
			
		||||
	Added support for device keys mapping to key events.
 | 
			
		||||
	Fixed various bugs.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:53:00 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h: Changed gdk_get_event to remove
 | 
			
		||||
	predicate filtering, and to allocate the events.
 | 
			
		||||
	Added gdk_event_get_graphics_expose for scroll handling.
 | 
			
		||||
	* gtk/gtkmain.c gtk/gtktext.c:
 | 
			
		||||
	Use above changes. Interface change for gtk_get_current_event.
 | 
			
		||||
	* testgtk.c
 | 
			
		||||
	Added another test to test new scrolling mechanism.s
 | 
			
		||||
	* gdk/gdk.c gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: 
 | 
			
		||||
	Added beginnings of event filtering. Removed obsolte
 | 
			
		||||
	OtherEvent mechanism.
 | 
			
		||||
	* gdk/gdk.c: Combined FocusIn/FocusOut events. Now ignore
 | 
			
		||||
	focus events which aren't for window itself. (Only pay
 | 
			
		||||
	attention to NotifyAncestor/Inferior/Nonlinear)
 | 
			
		||||
	* gtk/gtkwindow.c gtk/gtkwindow.h: Virtualize set_focus 
 | 
			
		||||
	function so it can be overridden.
 | 
			
		||||
	* gtk/gtkwidget.c: Reparenting should now work for
 | 
			
		||||
	containers. (Guillaume Laurent <glaurent@worldnet.fr>)
 | 
			
		||||
	* gdk/gdkgc.c: By default, GraphicsExpose events are now
 | 
			
		||||
	_not_ generated.
 | 
			
		||||
	* gtk/testselection.c: Suppress a warning, fix a bug?
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 20:47:42 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
	* configure.in, glib/configure.in: 
 | 
			
		||||
	Remember if user set CFLAGS, so we can set it for --enable-debug
 | 
			
		||||
	  only if they didn't. 
 | 
			
		||||
	Added missing quotes. )Raphael.Quinet@eed.ericsson.se)
 | 
			
		||||
	Only use -DX_LOCALE if setlocale doesn't work.
 | 
			
		||||
	* gdk/gdki18n.h: Simplified system for trying to get iswalnum() -
 | 
			
		||||
	include <wctype.h> if present, otherwise <wchar.h> if present.
 | 
			
		||||
	
 | 
			
		||||
Wed Dec 17 21:09:12 1997  Owen Taylor  <owt1@cornell.edu>
 | 
			
		||||
  1997-10-13  Marius Vollmer  <mvo@zagadka.ping.de>
 | 
			
		||||
 | 
			
		||||
    Bug fixes:
 | 
			
		||||
	
 | 
			
		||||
	* gtksignal.c (gtk_params_get): Initialize the GtkArg even when
 | 
			
		||||
	the return type is GTK_TYPE_NONE.
 | 
			
		||||
 | 
			
		||||
    Revamped reference counting, see the file REFCOUNTING.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (EXTRA_DIST): Added REFCOUNTING.
 | 
			
		||||
	* REFCOUNTING: New file.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.c (received_destroy_notify, window_to_destroy): Removed.
 | 
			
		||||
	(gdk_event_get): Code that deals with the above removed.
 | 
			
		||||
	(gdk_event_translate): Abort when the GdkWindow for the XEvent
 | 
			
		||||
	cannot be found.  For DestroyNotify: Do not use
 | 
			
		||||
	receive_destroy_notify and window_to_destroy but call
 | 
			
		||||
	gdk_window_destroy_notify.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h: (gdk_pixmap_destroy, gdk_colormap_destroy,
 | 
			
		||||
	gdk_fontset_free): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_unref): New prototypes.
 | 
			
		||||
	(gdk_font_free, gdk_font_unref): Renamed gdk_font_free to
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Made static.
 | 
			
		||||
	(gdk_colormap_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkfont.c (gdk_font_free): Renamed to gdk_font_unref.
 | 
			
		||||
	Handle fontsets as well.
 | 
			
		||||
	(gdk_fontset_free): Removed.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkpixmap.c (gdk_pixmap_destroy): Removed.
 | 
			
		||||
	(gdk_pixmap_ref, gdk_pixmap_unref, gdk_bitmap_ref,
 | 
			
		||||
	gdk_bitmap_ref): New functions.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkwindow.c: (gdk_window_new, gdk_window_foreign_new): Call
 | 
			
		||||
	gdk_window_ref for the pointer in the xid table.
 | 
			
		||||
	(gdk_window_internal_destroy): Renamed from gdk_window_destroy.
 | 
			
		||||
	New parameter XDESTROY that takes the role of `destroyed==2';
 | 
			
		||||
	removed special casing of `destroyed==2'.  Free dnd_data only when
 | 
			
		||||
	really destroying.  Do not touch the ref_count.  Calling
 | 
			
		||||
	gdk_window_destroy on a Pixmap is now a real error, not just a
 | 
			
		||||
	warning.
 | 
			
		||||
	(gdk_window_destroy): Just call gdk_window_internal_destroy and
 | 
			
		||||
	gdk_window_unref, as advertised in REFCOUNTING.
 | 
			
		||||
	(gdk_window_destroy_notify): New function.
 | 
			
		||||
	(gdk_window_unref): Print a warning when the ref_count is zero and
 | 
			
		||||
	the window has not been destroyed.  Should never happen.  Do not
 | 
			
		||||
	destroy the window, just free the memory.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdkprivate.h (gdk_window_real_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.c (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
	(gtk_accelerator_table_unref): Do the job of
 | 
			
		||||
	gtk_accelerator_table_destroy directly.
 | 
			
		||||
	(gtk_accelerator_table_init): Init ref_count with 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkaccelerator.h (gtk_accelerator_table_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkcurve.c, gtk/gtkgamma.c: Replaced gdk_pixmap_destroy with
 | 
			
		||||
	gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkhscrollbar.c (gtk_hscrollbar_realize): Reflect the fact
 | 
			
		||||
	that the widget->window is used as the range->trough in the
 | 
			
		||||
	ref_count.
 | 
			
		||||
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_realize): Likewise.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmain.c (gtk_main_iteration): Protect event_widget with
 | 
			
		||||
	ref/unref while handling the GDK_DELETE and GDK_DESTROY events.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenu.c (gtk_menu_set_accelerator_table): Don't do
 | 
			
		||||
	anything when the new accel_table is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenufactory.c (gtk_menu_factory_destroy): Unref
 | 
			
		||||
	factory->table if there is one.
 | 
			
		||||
	(gtk_menu_factory_create, gtk_menu_factory_create_widget): Don't
 | 
			
		||||
	ref newly created accel_table, it is now created with a ref_count
 | 
			
		||||
	of 1.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkmenuitem.c (gtk_menu_item_set_submenu):  Don't do
 | 
			
		||||
	anything when the new submenu is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkpixmap.c (gtk_pixmap_destroy): New static function.
 | 
			
		||||
	(parent_class): New global variable.
 | 
			
		||||
	(gtk_pixmap_init): Set object_class->destroy.
 | 
			
		||||
	(gtk_pixmap_set): Don't do anything about the pixmap when the new
 | 
			
		||||
	pixmap is the old one.  Likewise for the mask.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkprogressbar.c, gtk/gtkruler.c: Replaced
 | 
			
		||||
	gdk_pixmap_destroy with gdk_pixmap_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrange.c (gtk_range_set_adjustment):  Don't do
 | 
			
		||||
	anything when the new adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkrc.c: Replaced gdk_fontset_free/gdk_font_free with
 | 
			
		||||
	gdk_font_unref.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkstyle.c (gtk_style_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_styles_init): Replace gtk_style_destroy with gtk_style_unref
 | 
			
		||||
	for the cache.
 | 
			
		||||
	(gtk_style_new_from_key): Ref style before returning it when it
 | 
			
		||||
	has not been newly created.
 | 
			
		||||
	(gtk_style_destroy): Don't look at the ref_count, destroy always.
 | 
			
		||||
	Free style-font with gdk_font_unref, regardless of font->type.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.c (gtk_tooltips_real_destroy): Renamed from
 | 
			
		||||
	gtk_tooltips_destroy and made static.  Don't look at ref_count,
 | 
			
		||||
	destroy always.
 | 
			
		||||
	(gtk_tooltips_new): Initialize ref_count with 1.
 | 
			
		||||
	(gtk_tooltips_unref): Don't look at pending_destroy, destroy
 | 
			
		||||
	always when ref_count is 0.
 | 
			
		||||
	(gtk_tooltios_widget_remove): Use gtk_tooltips_destroy_data
 | 
			
		||||
	instead of hand-coded destruction.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtktooltips.h (GtkTooltips::pending_destroy): Removed.
 | 
			
		||||
	(gtk_tooltips_destroy): Removed.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkviewport.c (gtk_viewport_set_hadjustment,
 | 
			
		||||
	gtk_viewport_set_vadjustment): Don't do anything when the new
 | 
			
		||||
	adjustment is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/gtkwidget.c (gtk_widget_reparent): Protect the reparented
 | 
			
		||||
	widget with ref/unref while moving it.
 | 
			
		||||
	(gtk_widget_set_default_colormap): Replace gdk_colormap_destroy
 | 
			
		||||
	with the proper ref/unref spell.
 | 
			
		||||
	(gtk_widget_set_default_style): Don't do anything when the new
 | 
			
		||||
	style is the old one.
 | 
			
		||||
 | 
			
		||||
	* gtk/testinput.c (configure_event): Replaced gdk_pixmap_destroy
 | 
			
		||||
	with gdk_pixmap_unref.
 | 
			
		||||
	
 | 
			
		||||
    More Interpreter support:
 | 
			
		||||
 | 
			
		||||
	* gdk/gdktypes.h (GdkDestroyNotify): New type.
 | 
			
		||||
	
 | 
			
		||||
	* gdk/gdk.c (struct _GdkInput::destroy): New field.
 | 
			
		||||
	(gdk_input_add_interp): New version of gdk_input_add that follows
 | 
			
		||||
	the interp conventions for callbacks.
 | 
			
		||||
	(gdk_input_add): Implement in terms of gdk_input_add_interp.
 | 
			
		||||
	(gdk_input_remove): Call destroy notify when appropriate.
 | 
			
		||||
 | 
			
		||||
	* gdk/gdk.h (gdk_input_add_interp): New prototype.
 | 
			
		||||
 | 
			
		||||
	* gtk.defs: Updated from guile-gtk.
 | 
			
		||||
	* gtk/gtktypebuiltins.c, gtk/gtktypebuiltins.h: Regenerated.
 | 
			
		||||
	
 | 
			
		||||
	* gtk/gtkmain.c (GtkInputFunction, struct _GtkInputFunction): New
 | 
			
		||||
	types.
 | 
			
		||||
	(gtk_invoke_input_function, gtk_destroy_input_function,
 | 
			
		||||
	gtk_input_add_interp, gtk_input_remove): New functions.
 | 
			
		||||
 | 
			
		||||
Wed Dec 17 12:00:48 1997  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 | 
			
		||||
 | 
			
		||||
	* gdk/gdkcc.c: New GdkColorContext functionality!  This should
 | 
			
		||||
@ -32,7 +224,7 @@ Fri Dec 12 Owen Taylor <owt1@cornell.edu>
 | 
			
		||||
	  rectangle = NULL, remove clip mask, instead of segfaulting.
 | 
			
		||||
	* gtk/gtknotebook.c: Set clip mask before redrawing, so that
 | 
			
		||||
	  we don't overwrite things outside of exposed areas when
 | 
			
		||||
	  drawing the shadows. (Based on a patch from 
 | 
			
		||||
	  drawing them shadows. (Based on a patch from 
 | 
			
		||||
	  Lars Hamann <hamann@braunschweig.netsurf.de>, and Stefan Jeske)
 | 
			
		||||
	
 | 
			
		||||
Thu Dec 11 10:57:29 CST 1997 Shawn T. Amundson <amundson@gimp.org>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										92
									
								
								REFCOUNTING
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								REFCOUNTING
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,92 @@
 | 
			
		||||
How ref counting works within Gdk and Gtk
 | 
			
		||||
=========================================
 | 
			
		||||
 | 
			
		||||
Each data structure that provides ref counting offers a bunch of
 | 
			
		||||
functions that follow these conventions:
 | 
			
		||||
 | 
			
		||||
  *_new:      Create a new structure with a reference count of 1.
 | 
			
		||||
  *_ref:      Increase ref count by one.
 | 
			
		||||
  *_unref:    Decrease ref count by one.  If the count drops to zero,
 | 
			
		||||
              free the memory.  No user visible actions should take place,
 | 
			
		||||
              like destryoing windows, etc.
 | 
			
		||||
 | 
			
		||||
Some structures also provide a *_destroy function.
 | 
			
		||||
 | 
			
		||||
GdkWindow
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
A GdkWindow has to be explicitely destroyed with gdk_window_destroy.
 | 
			
		||||
This will send out a request to destroy this window and all its
 | 
			
		||||
children, and will decrement the ref_count of the GdkWindow by one.
 | 
			
		||||
Thus, it releases the inital reference created by gdk_window_new.
 | 
			
		||||
 | 
			
		||||
All GdkWindows are kept in a hash table to translate from their XId to
 | 
			
		||||
the actual structure and the pointer in the hash table is reflected in
 | 
			
		||||
the reference count.  When a DestroyNotify event is received for a
 | 
			
		||||
particular GdkWindow, it is removed from the hash table and the
 | 
			
		||||
ref_count is updated accordingly.
 | 
			
		||||
 | 
			
		||||
You can call gdk_window_destroy more than once on a particular
 | 
			
		||||
GdkWindow, it will only be destroyed when it hasn't been yet.  The
 | 
			
		||||
ref_count is *always* decremented, tho.
 | 
			
		||||
 
 | 
			
		||||
GdkPixmap
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
There is no gdk_pixmap_destroy function.  The Pixmap is destroyed when
 | 
			
		||||
the last reference to it vanishes.
 | 
			
		||||
 | 
			
		||||
GdkPixmaps are kept in the same hash table as GdkWindows but the
 | 
			
		||||
pointer in the hash table is *not* reflected in the ref_count.
 | 
			
		||||
 | 
			
		||||
This works only when Pixmaps never get XEvents.  I'm not sure if this
 | 
			
		||||
is the case.
 | 
			
		||||
 | 
			
		||||
GdkBitmap
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
A GdkBitmap is only another name for a special use of GdkPixmap.
 | 
			
		||||
 | 
			
		||||
GdkVisual
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
There are no *_new or *_destroy functions and the *_ref and *_unref
 | 
			
		||||
functions are noops.  GdkVisuals are static structures and thus do not
 | 
			
		||||
need reference counting.  The ref counting functions are only there
 | 
			
		||||
for extra defensive programming.
 | 
			
		||||
 | 
			
		||||
GdkColormap
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
Nothing special.  There is no gdk_colormap_destroy function.
 | 
			
		||||
 | 
			
		||||
GdkFont / GdkFontSet
 | 
			
		||||
--------------------
 | 
			
		||||
 | 
			
		||||
GdkFont and GdkFontSet are equivalent as far as ref counting is
 | 
			
		||||
concerned.  Use gdk_font_ref and gdk_font_unref for both.
 | 
			
		||||
 | 
			
		||||
There is no gdk_font_free or gdk_fontset_free function.
 | 
			
		||||
 | 
			
		||||
GtkAcceleratorTable
 | 
			
		||||
-------------------
 | 
			
		||||
 | 
			
		||||
There is no gtk_accelerator_table_destroy function.
 | 
			
		||||
 | 
			
		||||
GtkTooltips
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
There is no gtk_tooltips_destroy function.
 | 
			
		||||
 | 
			
		||||
GtkStyle
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
There is no gtk_style_destroy function.
 | 
			
		||||
 | 
			
		||||
GtkObject
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
This one is the most tricky and I'm still meditating over it.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
- Marius Vollmer <mvo@zagadka.ping.de>
 | 
			
		||||
		Reference in New Issue
	
	Block a user