this one is actually noticable on widget destruction.
Thu May 7 10:29:24 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
signal names, e.g. "signal-name" is now an alias for "signal_name".
(gtk_signal_handler_new): allocate handlers through a global handler
structure list, that's faster than memchunks.
(gtk_emission_new): allocate emissions through a global emission
structure list, that's faster than memchunks.
Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
* gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
* ltmain.sh: added a new commandline flag -postfix similar to -release,
but will immediately change the library name.
* gdk/Makefile.am:
* gtk/Makefile.am: specify -postfix and -version-info
* configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
GTK_BINARY_AGE. calculate LT_* variables for libtool.
Wed May 6 02:16:34 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c: reimplemented the signal storage system to use a
linear array rather than a hash table.
be carefull *not* to keep any GtkSignal pointers across invokations
of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
general code cleanups, made all allocations through memchunks.
(gtk_signal_lookup): we now do the lookup of signals through a key_id
for the signal names to avoid multiple hashing of the signal name on
lookups for the several hirarchy levels of an object.
Tue May 5 15:33:27 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
checking for signal initialization in gtksignal.c.
* gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
a long debugging period ;)
Mon May 4 00:30:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
gtk_type_is_a().
* gtk/gtktypeutils.c: reimplemented the type storage system to use a
linear array rather than a hash table. it actually speeded up testgtk
for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
pointers across invokations of gtk_type_node_next_and_invalidate() and
therefore gtk_type_unique()!
* gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
inheritance of a class pointer.
(GTK_OBJECT): modifications for speedups.
(GTK_IS_OBJECT): likewise.
(GTK_OBJECT_CLASS): likewise.
(suggested by owen).
* gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
* gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
* gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
since its derivation changed 4 month ago ;(. showed up with the unique
type name checking code in gtk_type_unique().
* random guint->GtkType and macro fixups.
1998-05-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
* configure.in: Added $x_libs in the other_libraries field in the
check for XShapeCombineMask.
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
"glibconfig.h" and another about writing another IRC
client.
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
parameters to log are doubles. Digital Unix apparently
is missing the argument in its prototype.
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtklabel.c (gtk_label_state_changed): Don't
force a clear until the widget is actually on
screen.
Hopefully nothing else though CVS think there are a whole
bunch more changed files.
Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
* configure.in acheader.h gdk/gdkwindow.c
Check for Shape extension both on the client and server
side. (And, more importantly, check for the shape extension
so we may include -lXext even when compiling with --disable-xshm)
Don't set override_redirect on all shaped windows. It isn't
necessary.
* gdk/gdkwindow.c: Set ->colormap to NULL for root
and foreign windows. Use this to check if we
need to get the colormap from X.
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
between the default and the button always in GTK_STATE_NORMAL.
* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
callback.
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
Fix a buffer overflow on pixmaps that claim to have
more than 31 characters per pixel.
(gdk_pixmap_read_string): Don't wrap around strings longer
than half of address space ;-)
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
that were used for printing integers.
* */* (almost):
Style: All
int foo () { ... }
changed to
int foo (void) { ... }
^^^^^^^ This is why some many files changed
Even where there were proper prototypes elsewhere.
* gdk/gxid.c (handle_claim_device): Some extra checks.
It isn't safe against being fed bad X id's, but at
least it should be safe against deleting all your
files.
Sun May 3 19:45:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
to set the adjustments value without causing a current emission of
"value_changed" to be restarted.
* gtk/gtksignal.c: added new functions to retrive the number of
existing emissions for a certain signal.
(gtk_signal_n_emissions): new function.
(gtk_signal_n_emissions_by_name): new function.
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
set the current focus_child of a container, does proper referencing and
adjusts the vadjustment/hadjustment associated with the focus widget.
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
containers via gtk_container_set_focus_child.
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
where appropriate.
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
child since not every child removal goes through this function (this
showed up after gtk_container_set_focus_child() started to reference the
focus_child of a container).
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
of a container from gtk_container_remove into this place.
Sat May 2 22:33:45 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c: added new functions to operate on intermediate
function pointers. implemented incremental blocking.
(gtk_signal_disconnect_by_func): new function.
(gtk_signal_handler_block_by_func): new function.
(gtk_signal_handler_unblock_by_func): new function
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
Always show the scrollbars when the policy is
GTK_POLICY_ALWAYS...
Sat May 2 20:19:03 1998 Tim Janik <timj@gtk.org>
* gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
"value_changed" if we really passed a new value.
(gtk_adjustment_changed): new function to emit the "changed" signal.
(gtk_adjustment_set_value): new function to emit the "value_changed"
signal.
Fri May 1 20:25:29 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
the combo-list is empty since that will cause the combo to operate
on a non existing GtkList window.
(gtk_combo_get_pos): provide the combo list with a usfull default
height if empty.
(gtk_combo_popup_button_press): grab the focus.
(gtk_combo_activate): grab the focus.
Fri May 1 12:28:35 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkcombo.c: Further changes to the way the window
is popped up so that it will be compatible with
auto-scrolling in the future.
Fri May 1 12:06:43 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
function to reset the RC styles for a heirarchy
Clear the window background if necessary in
gtk_window_style_set.
* gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
rereads all previously read RC files.
* gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
(Should it just be called gdk_get_toplevels?)
* gtk/testgtk.c: New test to reload RC files.
Fri May 1 13:57:36 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
the GTK_ prefix (this solution involved less changes in the
gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
the mem_chunk==NULL test in gtk_clist_construct. merged in changes
from lars & stefan to support the derivation of GtkCtree.
* gtkctree.h:
* gtkctree.c:
initial import of a tree widget derived from gtkclist, courtesy
of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
it just damn rocks!
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
for us.
(gtk_list_insert_items):
(gtk_list_remove_items_internal):
(gtk_list_clear_items):
remove a possible pointer grab, we might get thrown into a loop
otherwise.
(gtk_list_button_press): grab the pointer *before* selecting the child,
because selection of items may cause the lists children to change,
resulting in a grab release.
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
children.
(gtk_list_shutdown): remove all children from the list.
(gtk_real_list_unselect_child):
(gtk_real_list_select_child): *always* put our internal structures into
sane state *before* signal emisions (i.e. list->selection updates prior
to gtk_list_item_[de]select() calls).
* gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
focused child walks out of the window.
removed CAN_FOCUS for the combo arrow's button since it doesn't react
to keyboard events ("clicked" connection is missing).
Thu Apr 30 11:18:00 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkcombo.[ch]: Allow the user to use the popup list
like a menu.
* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
to gtkitem.c so dragging can also work in lists.
* gtk/gtklist.[ch]: Track child enter events and use
those to allow dragging the selection.
Thu Apr 30 11:16:06 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c: Try enabling background pixmaps for editable text
widgets. There is a bit of flashing, but not too bad. If you
don't want the flashing, you can always not set a background
pixmap.
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c: Fixed a bug where the drawn level
was being messed up when the text was scrolled
during a deletion.
1998-04-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdk/gdk.c (gdk_event_translate): Random debugging fixed this
bug: There is no need to set the ExposureMask in the XGrabPointer
(this caused DnD programs to crash).
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
that when we are running with a non-installed colormap,
in 8-bit pseudo-color, we actually are using the system
visual. (Fixes *Bad Match* errors on Digital Unix machines
with multiple 8-bit pseudo-color visuals)
-r HEAD and -r gtk-1-0 are in sync now!
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
field to be of type guint.
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
ref_count>0;
(gtk_accelerator_table_install): keep a per object list of accelerator
tables that refer to this object.
(gtk_accelerator_table_remove): remove the accelerator table from the
per object list.
(gtk_accelerator_table_clean): warn if there are any object references
left in an accelerator table upon destruction.
(gtk_accelerator_tables_delete): new function to delete object
references from the accelerator tables associated with this object.
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
of an accelerator can be prevented by gtk_signal_emit_stop().
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
so there are no stale pointers in accelerator tables left.
this change is binary compatible, so just touch gtkaccelerator.h -r gtkwidget.h
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
visible before we unparent it.
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
running_timeouts list with the tmp_list link itself, not with a new
GList structure pointing to our link. that would fill up memory and
causes the GList.data fields of the running_timeouts list to point to
GList structures and not GtkTimeoutFunction structures which is a
*really* bad thing.
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
the above entry ;).
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
* gtk/gtkradiomenuitem.h:
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
ala gtk_radio_button_set_group.
(gtk_radio_menu_item_init): assure that we always have at least a group
that points to self.
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
added g_return_if_fail() statements.
(gtk_radio_button_init): assure that we always have at least a group
that points to self.
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
(Damon Chaplin), which i got wrong when applying Damon's patch the last
time.
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
by whoever thought that randomly changing ints to unsigned int
without reviewing the code was a good idea. It is, btw not
mentioned in the ChangeLog as usual, but I know it was not Elliot
the culprit this time.
Mon Apr 13 21:40:14 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (find_char_width): Don't read the
character past the end of the text.
* gtk/gtkrange.c (gtk_real_range_timer): If the mouse
button has been released before the timer is activated,
don't keep on scrolling.
* gdk/gdk.c (gdk_event_translate): Filter subsequent configure
events after we discard the first. Removed obsolete and
sometimes very slow GdkOtherEvent. (Left in gdktypes.h
with signal in GTK)
1998-04-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdk/gdkregion.c (gdk_region_polygon): New function; wrapper for
XPolygonRegion().
* gdk/gdk.h: Added prototype for gdk_region_polygon().
* gdk/gdktypes.h (GdkFillRule): New enum type of fill rule for polygons.
Sun Apr 12 19:35:09 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
* INSTALL: typo, gtk-1.0.0 should be gtk+-1.0.0
* README: A little more intro on what gtk is...
Sun Apr 12 22:43:22 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate):
An old allocation error.
* gtk/gtkviewport.c (gtk_viewport_add): Don't map
when adding a not-VISIBLE widget to a VISIBLE
viewport.
Sun Apr 12 20:09:40 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtklabel.[ch] (gtk_label_expose): Set a flag so
instead of clearing the area in advance. That looked
_really_ bad.
* gtk/gtkcontainer.c (gtk_container_class_init): Changed
"focus" to RUN_LAST.
* gtk/gtkentry.c (gtk_entry_realize): Fixed place
where allocation was used where requisition was meant.
(Found by David J N Begley <david@avarice.nepean.uws.edu.au>)
* gtk/gtkwindow.c (gtk_window_set_default): Fixed
assertion in when setting default to NULL>
("Damon Chaplin" <DAChaplin@email.msn.com>)
* gtk/gtkwidget.c (gtk_widget_unparent): Unset the
default widget on the toplevel, if necessary.
Sun Apr 12 02:04:21 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkpreview.c: Removed unecessary and harmful
htons/ntohs when storing properties. (X does the byte
swapping itself)
Sat Apr 11 02:01:31 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (scroll_down): Removed incorrect part of
assertion that was causing failures for scrolling a single
line very short text widget.
Sat Apr 11 01:41:55 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (expose_text): Fixed a sign problem
(typedef gint guint!). Added some checks to make sure things
are positive.
Sat Apr 11 05:51:22 1998 Tim Janik <timj@gtk.org>
* gtk/gtktooltips.c (gtk_tooltips_event_handler): don't shut down the
tooltip on expose events.
* gtk/testgtk.c (create_progress_bar): add an example tooltip.
Thu Apr 9 18:36:31 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmisc.c gdk/gdkwindow gtk/gtkentry.c gtk/testgtk.c:
Picky --enable-ansi cleanups.
* gtk/gtkstatusbar.c (gtk_statusbar_pop): Pop top message
off _belonging_to_this_context_. (gtk-d4bjorn-980409-0)
From "Damon Chaplin" <DAChaplin@email.msn.com>
* gtk/gtktable.c (gtk_table_size_request_pass3): Small fix to size
requisition code.
* gtk/gtknotebook.c: Make sure not to do things to page->tab_label
if it doesn't exist.
Thu Apr 9 14:24:35 1998 Owen Taylor <owt1@cornell.edu>
(Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)
* gtk/gtkcurve.c (gtk_curve_interpolate): Added a
missing g_free.
* gtk/gtkcurve.c (gtk_curve_graph_events): Limits
were off by one, resulting in writing past array
bounds. Removed some unused code.
* gdk/gdk.c (gdk_dnd_drag_begin): The event structure
used for gdk_event_put should be a GdkEvent, not a
subtype, since it will all be copied.
* gtk/gtkcolorsel.c: Added a unrealize handler that
unref's the GC's that were created.
* gtk/testgtk.c (clist_warning_test): ref and sink
child because it may never be added to anything.
Wed Apr 8 17:27:40 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c (gtk_widget_unparent): Make sure
widgets get removed from the resize queue before the
connection between them and the resize queue is broken
by unparenting their parent.
1998-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdk/gdk.c (gdk_event_translate): During drag and drop, set the
event mask at ButtonPress time to include ButtonPressMask and
ButtonReleaseMask, otherwise, if the button is released, and we
get a LeaveNotify event, it still thinks we are doing a drag.
Tue Apr 7 23:06:00 1998 Owen Taylor <owt1@cornell.edu>
* Changes for GTK+ 0.99.10
* examples/find-examples.sh: Script to find all the
files we need to distribute from the examples directory.
Tue Apr 7 19:36:48 1998 Owen Taylor <owt1@cornell.edu>
* gutils.c (g_direct_compare): Removed, because that's what
a NULL comparison function means. And it wasn't 64 bit safe.
Tue Apr 7 19:14:03 1998 Owen Taylor <owt1@cornell.edu>
* gdk/gdkpixmap.c: Added maximum field widths to prevent
possible '%s' scanf overflows. Replaced scanf("%c")
with getc(), Don't interpret /*/ as a full comment. Use
g_realloc/g_new.
* gtk/gtkwidget.h gtk/gtkprivate.h: Changed all flag
tests to check for ((GTK_WIDGET_FLAGS(widget) & FLAG) != 0)
instead of (GTK_WIDGET_FLAGS(widget) & FLAG)
* gtk/gtkfilesel.c: Use getwd() instead of getcwd() on
SunOS, because getcwd() hangs up in a wait4().
(Found by David Monniaux <monniaux@clipper.ens.fr>)
- Check device/inode/mtime not just inode/mtime, when
caching scanned directories.
(From: scottk@ig.utexas.edu (Scott Kempf))
* gdk/gdkpixmap.c: Check for 0 width/height when
creating pixmaps.
* gtk/*.c: Global substitution of recently introduced
"MAX (0," for allocations to "MAX (1,", since
creating a backing pixmap with a zero width or height
fails.
* gdk/gdkwindow.c (gdk_window_new): Don't set all the
WM properties for child windows. Don't set the base
size, since the value we set will be taken as a minimum
size.
Wed Apr 8 00:00:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtklabel.c (gtk_label_expose): don't take '\n' into account for
size computation (Damon Chaplin).
* gtk/gtkvscale.c (gtk_vscale_draw_value): adjusted static snprintf()
buffer size to 32 characters (Damon Chaplin).
* gtk/gtkhscale.c (gtk_hscale_draw_value): likewise.
* gtk/gtkmain.c (gtk_main_iteration_do): gdk_flush() the X-queue if
iteration_done==TRUE since we will most likely not get invoked again
(Marius Vollmer).
Mon Apr 6 23:48:29 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwindow.c (gtk_window_realize): Set the
window hints on every map so that GTK_WIN_POS_MOUSE
works correctly.
1998-04-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtktable.h:
* gtk/gtktable.c (gtk_table_set_homogeneous): Added function to
set the homogeneous flag of the table (needed by derived widgets
and such).
1998-04-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkradiobutton.h: Add prototype for gtk_radio_button_new_with_label_from_widget.
Mon Apr 6 08:05:23 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkbutton.c (gtk_button_paint): Take border in
account properly.
* gtk/gtktext.c (gtk_text_realize): Don't recompute
geometry when creating with initial 1x1 geometry,
since our calculations can't handle that. Leave
text->line_start_cache NULL as sign we don't have
a real geometry yet.
* gtk/gtkentry.c (gtk_entry_motion_notify): Use the x
value we get from gdk_window_get_pointer, not from
event->x - since we always specify OwnerGrabButtonMask
(why???), event->x can refer to another window.
Mon Apr 6 08:08:49 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml examples/helloworld/helloworld.c:
Change a missed "delete_event" return value description
from TRUE to FALSE.
Mon Apr 6 00:28:28 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkcontainer.c (gtk_container_focus_tab): Make
tab key move in reading order (left-to-right top
to bottom) - which might have been the original intended
behavior modulo sorting bugs.
* gtk-config.in: Never output -I/usr/include from --cflags
Sun Apr 5 21:47:12 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmenubar.c: Fixed bug where right justified
menu would overlap last left justified item.
Sun Apr 5 19:30:23 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkclist.c: Fixed assignment of adjustment->value
to negative values. Moved a few other allocation type things
around in ways that may or may matter. Fixed some allocation
errors (scrollbars were overlapping main window).
* gtk/gtkbutton.c (gtk_real_button_released): Small hack to keep
button labels from vanishing when the invoked operation blocks.
* gtk/gtkbox.c (gtk_box_remove): Assigning GTK_WIDGET_VISIBLE (widget)
to a gboolean (char) is _bad_. GTK_VISIBLE == 256.
Sun Apr 5 15:08:25 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c: Reverted broken implementation of removing
the current timeout/idle. Substituted a (hopefully) functional one.
Sun Apr 5 09:35:55 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_events_pending): take expired timeouts into
account, otherwise things like e.g. spin-buttons don't work.
also, count gtk_main_quit() as an event.
Sun Apr 5 08:03:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkspinbutton.c: fixed panel allocation and stacking order,
fixed the base class realization.
* gtk/gtkmisc.c: implemented widget arguments.
* gtk/gtkentry.c: fixes in _realize to behave similar to
_size_allocate.
Sat Apr 4 12:23:23 BST 1998 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml: (gtk-crichton-980403-0) subsections on
Aspect Frames and Paned widgets.
* examples/paned examples/aspectframe: new examples
Fri Apr 3 23:15:55 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c: Test for need to recompute geometry with
GTK_WIDGET_REALIZED(), not GTK_WIDGET_DRAWABLE().
1998-04-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkhandlebox.c (draw_textured_frame): New function to draw a
nifty "textured metal" frame. Could be useful in gtkstyle.c, maybe.
(gtk_handle_box_paint): Paint a handle that does not make you puke
when you look at it.
Fri Apr 3 21:03:38 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (gtk_text_realize): Call recompute_geometry()
upon realization, since it can't be done in the previous
size_allocate.
Fri Apr 3 20:36:35 1998 Owen Taylor <owt1@cornell.edu>
* gutils.c (g_parse_debug_string): Make debug string
parsine case-insensitive
Fri Apr 3 20:36:52 1998 Owen Taylor <owt1@cornell.edu>
* gdk/gdk.c gtk/gtkmain.c: Accept debug options
in the form --g[td]k[-no]-debug=xxx as well
Fri Apr 3 18:33:47 1998 Owen Taylor <owt1@cornell.edu>
* gtk-config.in: Added flags --prefix[=dir] and
--exec-prefix[=DIR] which allow querying and overriding the
configured-in prefix and exec-prefix.
* gtk.m4: Added configure flags --with-gtk-prefix=
and --with-gtk-exec-prefix= to set the --prefix and
--exec-prefix argumetns to gtk.m4
1998-03-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdk/gdkdnd.c (gdk_dnd_display_drag_cursor): First fix: Move the
window first, display it after (this removes one of the annoying
flashing effects).
Mon Mar 30 21:29:43 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c: Add a "style_set" callback, so the
font can be changed at run time. (needed for GIMP text
tool)
Tue Mar 31 01:17:23 1998 Tim Janik <timj@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): show the menu_label
unconditionally (even if it is not a default label).
(gtk_notebook_update_labels): if we have a tab_label, then use its label
as the default menu_label.
Mon Mar 30 16:35:57 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c: Improved main loop test. (Quits main
loop properly, makes it more obvious to the user
what is going on)
* gtk/gtkwidget.c (gtk_widget_unparent): Reset the
allocation _after_ clearing the window.
* configure.in: If can't find XShmAttach in Xext, check
in XextSam (for AIX).
* gtk/gtkmain.c (gtk_events_pending): Remember, small
numbers are _high_ priority for idle queues.
* gtk/gtkmain.c (gtk_handle_current_timeouts): Allow
removing the currently running timeout.
* gtk/testgtk.c (timeout_test): Use the right prototype
for callback.
Mon Mar 30 21:40:21 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.c (gtk_clist_row_from_ypixel): removed this function,
it was unneeded and not exported.
* gtk/gtkwidget.c (gtk_widget_ref) (gtk_widget_unref): don't check-cast
the widgets to volatile GtkObjects (which was there for debugging
purposes only). these functions should probably be macros, but that
would break binary compatibility again, sigh.
(gtk_widget_destroy): removed superfluous check-casts, since the
neccessary checks are done in gtk_object_destroy anyways. this should
be a macro as well but stays as a function for the above reasoonings.
Sun Mar 29 22:29:00 1998 Tim Janik <timj@gtk.org>
* gtk/gtkspinbutton.[ch] gtk/testgtk.c (gtk_spin_button_set_wrap):
Added wrapping capabilities to GtkSpinButton. New function :
gtk_spin_button_set_wrap (Lars Hamann and Stefan Jeske).
Sat Mar 28 21:18:42 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkcombo.c (gtk_combo_disable_activate):
Disconnect from combo->entry, not combo.
(From: Daniel Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>)
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm): Deal
better with xpm's with bad colors in them.
Plus, 3rd attempt to commit gtklabel changes
Fri Mar 27 21:01:17 1998 Owen Taylor <owt1@cornell.edu>
* gdk/gdk.c (gdk_event_translate): Don't call
XTranslateCoordinates on a destroyed window. (Why do we
do event processing at all on destroyed windows when we
throw out the results?)
* gtk/gtklabel.c: Clear the background when changing style/
state.
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 00:13:18 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c (gtk_propagate_event): If the widget is _not_
a descendant of a Window widget, propagate key presses like
other events.
* gtk/gtkentry.c gtk/gtktext.c: Ignore multiple simultaneous
button presses instead of treating subsequent presses as
release/press pairs for tablet compatibility.
* configure.in config.h.in: Removed inline checks, because they
are duplicated in glib.
* gtk/gtkwidget.c (gtk_widget_draw): When gtk_widget_draw ()
occurs with queued draw already in place, redraw _entire_
widget. (Pointed out by Tim Janik)
Thu Mar 26 23:12:54 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_propagate_event): make a clear distinction between
key press/release events, which will be sent to a widgets toplevel
ancestor and be forwarded from there, and all other events that need to
get propagated up the widget tree (pointed out by Owen Taylor).
Thu Mar 26 21:37:57 1998 Tim Janik <timj@gtk.org>
* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): always
display the correct active state.
* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): always
display the correct active state.
* gtk/gtkwidget.c (gtk_widget_set_arg): CAN_FOCUS and CAN_DEFAULT flag
changes need to queue a resize.
* gtk/gtkbutton.c (gtk_button_paint): take border_width into
consideration for restrict area.
* gtk/gtktogglebutton.c (gtk_toggle_button_class_init): enable the
draw_default member of GtkButton, otherwise the diplay is messed up
for CAN_DEFAULT toggles.
(gtk_toggle_button_draw_focus): always display whether the toggle button
is active or not.
* gtk/gtkwidget.c (gtk_widget_set_state):
(gtk_widget_set_sensitive):
(gtk_widget_set_parent):
(gtk_widget_propagate_state): take into consideration, whether we really
want to change childrens states, or just restauration of old states.
Thu Mar 26 15:33:50 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c: When gtk_widget_draw() is called on a
REDRAW_PENDING widget, draw it and remove it from the
queue instead of doing nothing.
* gtk/Makefile.am gdk/Makefile.am: Switch order of includes
directories, to make doubly sure that wrong glibconfig.h
isn't used. (See also glib/ChangeLog)
* gtk/gtkentry.c (gtk_entry_draw_focus): Don't draw the
cursor unless the entry is editable.
(From: Stefan Jeske <jeske@braunschweig.netsurf.de>)
Thu Mar 26 08:31:58 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_propagate_event): do not propagate unhandled key
events on widgets with parent==NULL twice.
Tue Mar 24 14:59:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtkhandlebox.h:
* gtk/gtkhandlebox.c: implemented new flag shrink_on_detach (TRUE by
default) which will cause the handle boxes requisition to collapse in
case the child is already detached.
removed duplicate ChangeLog entry from owen.
Tue Mar 24 00:17:42 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkcombo.c gtk/gtkmenu.c: Use reversed arrow for
menus ala Motif (and fix Options menus, which had X cursor
before), and show normal arrow when inside ComboBox.
* gtk/gtkfilesel.c: Various memory leaks removed, as
pointed out by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>
* docs/gtk_tut.sgml: Change compiling explaination
to refer to gtk-config.
(From: johannes@nada.kth.se (Johannes Keukelaar))
* gtk/gtkbox.c (gtk_box_remove): save the widgets visibility flag for
evaluation after the widget got destroyed, discovered by Johannes
Keukelaar <johannes@nada.kth.se>.
1998-03-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkclist.c (gtk_clist_set_row_data_full): Select the row
which got its data changed, and not (0, 0).
Mon Mar 23 12:03:03 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* examples/: added this directory with stuff from
the tutorial, updated to compile and work with recent
changes
Mon Mar 23 01:04:51 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.[ch] testgtk.c: Added optional word wrap, controlled
by new function gtk_text_set_word_wrap; and a check button
in the Text test.
* gtk/gtktext.c: First line wasn't getting updated
properly when selection was removed.
Sun Mar 22 23:33:50 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c (gtk_entry_insert_text): Fixed some
problems with !gtk_use_mb introduced in the last change.
Mon Mar 23 01:08:30 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.c (gtk_clist_class_init): leave container_class->add and
container_class->remove untouched if we don't implement them.
* gtk/gtkcontainer.c (gtk_container_class_init): add missing NULL
initialization for the class method (*foreach). implement a default
handler to output a warning for (*add) and (*remove).
Sun Mar 22 19:01:36 1998 Owen Taylor <owt1@cornell.edu>
* gdk/gdkcolor.c: Fixes to allow GTK to work with colormaps
that aren't 256 entries long. (colormap->colors is
now dynamically allocated)
Sun Mar 22 16:25:46 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c (gtk_init): fixes to locale checks
* gtk/testgtk.c (create_dnd): Create the dnd icons separately
to avoid strange interactions with shapes demo.
* gtk/gtkentry.[ch]:
- Limit the length of the text to 2048 to prevent long delays
- Fix problems with buffer overruns
- Draw only the onscreen portion of the text to prevent wrapping
of shorts in the X drawing code.
- Keep track of character positions and x-offsets to speed
up algorithms.
Sat Mar 21 19:07:01 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c (dnd_drop): Don't respond to drops when
grab is in effect. (workaround)
* gdk/gdkfont.c (gdk_fontset_load): More details on
error messages.
* gdk/gdk.c: Translate va_list to XVaNestedList instead
of just casting it.
* gtk/gtkmain.c: Make temporary copy of string returned by
setlocale, since it may be changed by subsequent calls.
Fri Mar 20 20:49:33 1998 Radek Doulik <rodo@aquarius>
* gtk/gtktoolbar.c (gtk_toolbar_insert_element): changed packing
in toolbar elements, so texts are always at the bottom
Thu Mar 19 00:37:44 1998 Tim Janik <timj@gtk.org>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_construct): perform the
neccessary checks on funtion begin. use the scrolled_window that got
passed to this function, and not a new one.
Wed Mar 18 11:09:10 1998 Owen Taylor <owt1@cornell.edu>
( From: James Henstridge <james@daa.com.au> )
* gtk/gtkclist.c: Don't remove, then destroy labels in
gtk_clist_set_column_[*], just remove them.
* gtk/gtkmain.c (gtk_invoke_timeout_function): call
marshal when appropriate, not function.
Tue Mar 17 14:15:07 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c (create_main_window): Alphabetize tests
* gtk/gtk[hv]paned.c: Change division on resize if
necessary to keep handle visible.
* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
_init() functions.
* gtk/gtkscrolledwindow.c: Added missing _construct()
functions.
Wed Mar 18 17:38:25 CET 1998 Paolo Molaro <lupus@debian.org>
* gtk/gtkentry.[ch]: checked in gtk_entry_set_max_length
(it truncates the texts if it's longer, now)
Wed Mar 18 02:06:52 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c (gtk_container_border_width): use the resize queue.
* gtk/gtkwindow.c (gtk_window_set_arg): gtk_window_set_hints() after
setting certain arguments, so they actually take affect.
(gtk_window_set_policy): likewise.
Tue Mar 17 22:45:39 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_get_arg): return real boolean values
not just numbers.
* gtk/gtktogglebutton.c (gtk_toggle_button_set_state): check
state for != 0, otherwise we get strange results.
Tue Mar 17 01:55:00 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c gtk/gtkentry.c: Try to guess if we can
use the mb* functions safely. (For glibc, they do
UTF-8). Heuristic is (X_LOCALE && locale != C/POSIX)
|| (mblen("\xc0", MB_CUR_MAX) == 1).
(From: "Richard Lloyd" <rkl@csc.liv.ac.uk>)
* gdk/gdk.c (gdk_ic_get_attr): Use an intermediate
variable to avoid taking the address of the result
of va_arg.
* gtk/gtkentry.c gtk/gtkeditable.c gtkobject.c
gtk/testselection.c: signedness fixups
* gtk/gtkcontainer.c: Fixed implicit cast between
gpointer and func pointer by changing.
* gtk/gtkcombo.c, gtk/gtkentry.c, gtk/gtktext.c:
static void forward declaration vs. void actual fixed
* gtk/testgtk.c: Limit total number of tree items to 10,000
Tue Mar 17 16:19:47 1998 Tim Janik <timj@gimp.org>
* gdk/gdk.c:
* gdk/gdkvisual.c: changed some debugging messages to be prefixed
by "Gdk:".
* gtk/gtkwidget.c (gtk_widget_real_draw): applied
gtk-shige-980317-0.patch.gz to set all event fields, but modified
the event.send_event field to be set to TRUE, since the event is not
really comming from the server.
* gtk/gtkwindow.c (gtk_window_init): applied gtk-ograf-980317-1.patch.gz
which cares about an initial setting of program name and program class.
* gdk/gdk.c (gdk_init): applied gtk-ograf-980317-0.patch.gz, which
strips leading pathnames from gdk_progname.
Tue Mar 17 12:36:35 1998 Tim Janik <timj@gimp.org>
* gtk/gtkstyle.c (gtk_default_draw_arrow): fixed a bug about drawing
GTK_ARROW_LEFT, correction from Damon Chaplin <DAChaplin@email.msn.com>.
Tue Mar 17 02:02:02 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdk/gdk.c (gdk_dnd_drag_leave): Use StructureNotifyMaskMask as
the mask, as this enables an application listening to those events
to catch the root events. Thanks to Maciej for pointing us in the
right direction.
(gdk_dnd_drag_enter): Likewise.
(gdk_dnd_drag_leave): Likewise.
* gdk/gdkwindow.c (gdk_window_dnd_data_set): Likewise.
Mon Mar 16 22:31:02 1998 Federico Mena <federico@nuclecu.unam.mx>
* gdk/gdkwindow.c (gdk_window_xid_at): Use signed integers so that
testing will not fail for windows that are off-screen.
(gdk_window_xid_at_coords): Only considers visible windows.
Tue Mar 17 03:56:13 1998 Tim Janik <timj@gimp.org>
* gtk/gtkspinbutton.h: exported gtk_spin_button_spin since it is
used in testgtk, and besides that.
* gtk/testgtk.c: created a new "test" cursors, which showes different
types of GdkCursors and is a very simple example at using the drawing
area.
Tue Mar 17 03:56:13 1998 Tim Janik <timj@gimp.org>
* gtk/gtkspinbutton.h: exported gtk_spin_button_spin since it is
used in testgtk, and besides that.
* gtk/testgtk.c: created a new "test" cursors, which showes different
types of GdkCursors and is a very simple example at using the drawing
area.
Mon Mar 16 18:19:31 GMT 1998 Tony Gale <gale@gimp.org>
* docs/gtkfaq.sgml:
- new question on modal windows
- new question on updating progressbars
- update all the links to gtk.org
Mon Mar 16 09:15:03 GMT 1998 Tony Gale <gale@gimp.org>
* docs/gtk_tut.sgml:
- New subsection on colourselection from Tom Bech <tomb@ii.uib.no>
- Moved fileselection text to Miscallaneous Widgets section
- Started new section on the Text widget
- Removed Viewport, Paned, HPaned and VPaned from list of
NO_WINDOW widgets.
Mon Mar 16 01:33:36 1998 Owen Taylor <owt1@cornell.edu>
* gtk-config.in: Added trailing newline, hopefully will
fix the problem with esac disappearing.
* gtk/Makefile.am (test-debug): Improved test targets
will work with --enable-shared
[From: Raja R Harinath <harinath@cs.umn.edu>]
* gtk.m4: Not all shells understand $(...). Use `...` instead.
[From: Raja R Harinath <harinath@cs.umn.edu>]
- use AM_PATH_PROG instead of AM_CHECK_PROG, so the user
can specify programs not in their path.
* Makefile.am: added gtk.m4 to EXTRA_DIST
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted
the last change, since it broke click-select-click menus for gimp.
Sun Mar 15 20:13:42 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmain.c (gtk_quit_destructor): removed the ugly check whether
we need gtk_widget_destroy or gtk_object_destroy. these functions are
by no means allowed to act differently!
* gtk/gtkmisc.c (gtk_misc_set_alignment): check for _DRAWABLE instead
of _VISIBLE to operate on widget->window.
(gtk_misc_set_padding): likewise.
* gtk/gtkwidget.c: slightly reordered object arguments.
* gtk/gtkobject.c (gtk_object_setv):
* gtk/gtkobject.c (gtk_object_getv):
operator `!' has precedence over `&'.
Sun Mar 15 13:25:28 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h: added new flag GTK_EXCLUSIVE_GRAB.
* gtk/gtkmain.c: allow exclusive grabs.
* gtk/gtkmenu.c: grab exclusively.
* gtk/gtkmenushell.c: grab exclusively.
* gtk/gtkmenushell.c: don't activate insensitive menu items when
in click-selects mode.
* gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): activate submenus
on popup.
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't take
*additional* button presses into account.
* gtk/gtkmenushell.c (gtk_menu_shell_button_press): don't take
foreign button releases into account.
oh boy, please check this out people, hope i covered all cases.
Sun Mar 15 08:27:06 1998 Tim Janik <timj@gimp.org>
* gtk/gtktipsquery.c (gtk_tips_query_set_labels): changed run type
of GtkTipsQuery::widget_entered to GTK_RUN_LAST, so it can be overidden
by the user.
Sat Mar 14 10:10:46 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmain.c (gtk_main): fixed a bug with invoking the quit handlers
that could cause them to be removed wihout being invoked.
Sat Mar 14 14:36:40 PST 1998 Shawn T. Amundson <amundson@gimp.org>
* Released 0.99.6
* gdk/gtk_tut.sgml:
* gdk/gtk_tut_it.sgml: fixed Ian Main's e-mail address
Sat Mar 14 13:26:09 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtktext.c: Some cleanups of signedness
warnings
* gtk/gtkhandlebox.h: Changed gint ... : 1 to guint ... : 1
1998-03-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtktoolbar.c (gtk_toolbar_insert_element): Moved the
gtk_signal_connect of the specified callback into the big switch()
for buttons. We don't want to connect to the "clicked" signal of
a custom widget or a space element, because it may not have one.
(gtk_toolbar_insert_element): Extra sanity check; if the type is
GTK_TOOLBAR_CHILD_WIDGET, then the specified widget must not be NULL.