forked from AuroraMiddleware/gtk
Filling in the details.
This commit is contained in:
parent
d5d01a5af9
commit
26be2f7003
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>
|
Loading…
Reference in New Issue
Block a user