2001-12-31 Havoc Pennington <hp@pobox.com>
* gtk/gtktextbtree.c (gtk_text_btree_node_view_check_consistency):
fix an incorrect assertion that the "valid" flag is always correct
in a node and add explanatory comment. This keeps me from
reproducing #59101, but I'm remembering that 59101 was actually
about incorrect pixel totals, so I'm not sure 59101 is actually
fixed. May just have stopped happening due to some change in
how C-k works.
2001-12-31 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_start_selection_drag): extend
selection if shift is down, bug #50939
(gtk_text_view_button_press_event): add double/triple click
selection to the current selection if shift is down
2001-12-31 Havoc Pennington <hp@pobox.com>
* gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index): fix
to use ensure_byte_offsets not ensure_char_offsets, patch
from Padraig O'Briain bug #67356
2001-12-28 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkfont-win32.c: Use G_N_ELEMENTS().
(unicode_classify): Don't return -1 on encountering an
unclassified character, but play it safe and return U_BASIC_LATIN.
Thu Dec 27 16:05:30 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
of misc->xpad/ypad consistent with GtkLabel. Do
directional flipping when interpreting misc->xalign/yalign.
Fix off-by-one error for negative x,y. (#67472, reported
by Mathieu Lacage)
Thu Dec 27 15:45:41 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style_internal):
Remove optimization that was causing problems because
we called gtk_widget_size_request() before we called
gtk_widget_queue_resize() so RESIZE_NEEDED was not
set. Optimization shouldn't mattter now that we
are smart about needlessly size requesting or allocating
widgets. (#67598, reported by Jacob Berkman)
Thu Dec 27 15:38:20 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_stop_navigating_submenu_cb):
Call gdk_window_get_pointer() on menu->bin_window not
menu->window, so we get the correct window for the
menu item. (#65213, Guillermo S. Romero)
Thu Dec 27 15:13:44 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_title): Allow unsetting
the title by setting to NULL. Move docs inline.
Update the title if the tearoff window already
exists. Code cleanup. (Fixes#65190, reported by
Vitaly Tishkov.)
Thu Dec 27 14:04:22 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_key_press_event):
gtk/gtkplug.c (gtk_plug_key_press_event): Don't do
special handling of key presses unless we are doing
iter-app embedding. (Fixes#67590, Anders Carlsson)
Thu Dec 27 16:37:04 2001 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted),
(gtk_tree_model_sort_sort_level),
(gtk_tree_model_sort_insert_value): fix a few places where
I was confused between modelsort iters and other iters. This was
really going to happen someday ;)
Wed Dec 26 23:41:41 2001 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_rows_reordered): ensure
we are unprelighted before reordering
* gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): we
need to break out of the for loop, not return
* gtk/gtktreemodelsort.c: more fixage and cleanups. It seems to
be pretty stable now, though it still needs some more code
cleanups.
Wed Dec 26 12:32:31 2001 Owen Taylor <otaylor@redhat.com>
* docs/Changes-2.0.txt: Document the fact that
gtk_paned_set_handle_size() has been removed.
* gtk/gtkpaned.h Remove gtk_paned_handle_size() compat macro,
since it pointed to gtk_paned_set_handle_size(), which
was removed. (#66760, Matt Wilson)
Wed Dec 26 12:28:24 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_highlight): Connect
gtk_drag_hightlight_expose _after_, so it works with
widgets that paint there entire background. (#66735)
Wed Dec 26 12:17:06 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkplug.c (gtk_plug_size_allocate): Assign the
allocation to widget->allocation. (Fixes#67290,
Chris Phelps.)
Wed Dec 26 11:49:01 2001 Owen Taylor <otaylor@redhat.com>
(#67542, reported by Anders Carlsson)
* gtk/gtkstyle.c (gtk_style_real_init_from_rc): Merge
rc_style->font_desc with defaul style instead of replacing
it.
* gtk/gtkrc.c (gtk_rc_style_real_merge): Allow partial
font descriptions in RC styles by calling
pango_font_description_merge().
Sat Dec 22 12:38:03 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: 1.3.12, interface, binary age 0.
* configure.in: Require new versions of Glib, Pango, ATK.
* NEWS: Updated.
* configure.in: Make explicit what libtool we are executing.
(Tomas Ogren)
* gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes.
* gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix
parameter names for docs.
Sat Dec 22 22:35:29 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_realize)
gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK.
* gtk/gtkentry.c (gtk_entry_key_release)
gtk/gtktextview.c (gtk_text_view_key_release_event): Pass
key release events to the input method.
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Handle release of Control/Shift to end hex sequence.
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Handle key releases as well as presses.
Tue Dec 18 16:07:28 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.h (struct _GdkKeymapClass): Fix
prototype for direction_changed. (Reported by
Jeff Franks.)
2001-12-06 Havoc Pennington <hp@redhat.com>
Add Unicode control char menu, based on patch from Dov.
Bug #63495
* gtk/gtkentry.c (gtk_entry_commit_cb): share code via
gtk_entry_enter_text
(gtk_entry_enter_text): function to do "typing in text"
(popup_targets_received): add the Unicode menu items
* gtk/gtktextview.c (popup_targets_received): add missing mnemonic
on Input Methods item, and add the unicode menu items.
* gtk/gtktextutil.h, gtk/gtktextutil.c: private utilities to be
used in GtkEntry and GtkTextView - may become public later.
2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
assorted G_OBJECT casts where unnecessary.
* gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
resp.
* gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
gdk_pixbuf_unref.
* Makefile.am, pixops/Makefile.am: Compile everything with
-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
* gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
* io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
* demos/testpixbuf-drawable.c, demos/testpixbuf-save.c,
demos/testpixbuf-scale.c, demos/testpixbuf.c: Call g_object_ref
and g_object_unref instead of gdk_pixbuf_ref and gdk_pixbuf_unref
resp.
Thu Dec 13 20:37:27 2001 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_button_press): do not try
to find the clicked node in the tree when tree == NULL
Wed Dec 12 17:22:45 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
Reset the existing slave before removing it to give
it a chance to commit and emit "preedit_changed"
in case there was still a preedit string.
Wed Dec 12 16:43:10 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_unrealize): Remove
validate_rows_timer in unrealize. Reported by Matthew Wilson.
Wed Dec 12 16:18:26 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_realize): Remove support for
"prepainting" the menu before realizing other than
via gtk_style_set_background() - this was broken when
we added menu scroll support.
* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
window in the expose event -- fixes problem with border
flashing during scrolling.
Wed Dec 12 15:11:49 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Support
using names/nicks for the gdk_settings values for enum valued
types. (#57678, reported by Anders Carlsson)
Wed Dec 12 15:01:33 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_set_tab_label): keep in sync
with insert_page_menu. Code duplication is bad.
* gtk/gtklabel.c (gtk_label_mnemonic_activate): Whoops -- got the
wrong fix yesterday.
2001-12-12 James Henstridge <james@daa.com.au>
* gtk/gtkmenu.c (gtk_menu_key_press): check GTK_MENU_ITEM
(menu_item)->accel_path first when looking up the accel path.
Tue Dec 11 18:55:16 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtklabel.c (gtk_label_mnemonic_activate): Small fix to let
mnemonics work with notebooks.
Tue Dec 11 15:25:06 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Change
bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
Makes some flicker while scrolling go away.
2001-12-11 Michael Natterer <mitch@gimp.org>
* demos/testpixbuf-save.c: added new keyboard shortcut 'a' which
adds alpha to the pixbuf; re-load the saved pixbuf and
pixel-by-pixel compare it with the original one.
2001-12-10 jacob berkman <jacob@ximian.com>
* gdk/x11/gdkinput-xfree.c (_gdk_input_grab_pointer):
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab):
(gdk_keyboard_grab): do not grab things if the nograb debug flag
is set
* gdk/gdkinternals.h:
* gdk/gdk.c: add nograbs debug flag to disable grabs of the
keyboard / mouse
2001-12-10 Anders Carlsson <andersca@gnu.org>
* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Return
if edited_column is NULL, also grab focus before removing
the cell_editable.
Sun Dec 09 15:06:51 2001 George Lebl <jirka@5z.com>
* gtk/gtkrange.c (gtk_range_calc_layout): check for 0 value on the
denominator in the horizontal case just like we do in the vertical
case (why I didn't notice that there were two cases the first time
around is beyond me:). Also fix indentation in the vertical case.
Sat Dec 8 16:12:10 2001 Christopher Blizzard <blizzard@redhat.com>
* gdk/gdk.c (gdk_init_check): Fallback to setting the prgname to
"<unknown>" if someone doesn't pass in a valid argc. (Patch from
Fabrice Bellet <fabrice@gnu.org>, #54127).
Sat Dec 8 10:04:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkrbtree.c (_gtk_rbtree_debug_spew): Add debug spew to lots
of places, so that people with crashy trees can just run their
program with GTK_DEBUG=TREE.
2001-12-08 Anders Carlsson <andersca@gnu.org>
* tests/testgtk.c (layout_expose_handler): Don't return TRUE
since then the default GtkLayout expose handler won't be called.
Fri Dec 7 23:42:50 2001 Jonathan Blandford <jrb@webwynk.net>
* gtk/gtktreeview.c (validate_rows_handler): remove
g_return_if_fail.
* gtk/gtktreeview.c (validate_visible_area): Patch from Manish
Singh <yosh@gimp.org> to fix bug when rendering Tree with an
empty model.
Fri Dec 7 20:06:14 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (validate_visible_area): get logic right,
#66249
* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): fix bug where
removing a node ended up with a corrupt tree. Really really nasty
bug.
(_gtk_rbtree_debug_spew): new debug helper function
(_fixup_validation): new inline function to clean up code
readability a lot.
Fri Dec 7 16:05:22 2001 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c: Display the XIM
status callbacks with a popup window. (Patch from
HideToshi Tajima, #50628, somewhat modified.)
Fri Dec 7 12:07:15 2001 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: each source generation rule needs to use its own
temporary file, to avoid clashes for parallel builds. fixed rules
for gtkmarshalers.h and gtkmarshalers.c to use their own temp files.
2001-12-07 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new): fix up my list of
"cursors that are actually useful" in gdk_cursor_new() docs
Thu Dec 6 23:09:21 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Fix errors
in computing the size of the second child.
Thu Dec 6 16:50:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c: Make button 1 clicks on the trough
do pages, button 3 steps. (Patch from Hans Breuer
#63735)
2001-12-04 Manish Singh <yosh@gimp.org>
* gtk/gtkmain.c
* gtk/queryimmodules.c: g_module_symbol takes a gpointer *, not just
a gpointer.
* gtk/gtkwidget.c (gtk_widget_push_composite_child): minor cosmetic
correction to docs.
* demos/gtk-demo/item_factory.c: add GTK_WINDOW() cast
2001-12-04 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): remove
g_assert_not_reached() that was bogus, since we demand-create the
tag info. reported by Chris Phelps
Jump through assorted hoops to fix bug from Chris Phelps where
removing tags from the table resulted in btree trying to
access tag->table
* gtk/gtktextbuffer.c: set up mechanics of adding/removing
ourselves to the tag table
* gtk/gtktexttagtable.c (_gtk_text_tag_table_add_buffer)
(_gtk_text_tag_table_remove_buffer): private cruft to
let us notify buffer of disappearing tags
* gtk/gtktexttag.h: remove BTreeNode typedef from this public
header, put it in tagprivate
* gtk/gtktextbtree.c (_gtk_text_btree_new): don't connect to
tag_removed; it's emitted too late.
(_gtk_text_btree_notify_will_remove_tag): rename tag_remove_cb to
this
Padding for ABI-compat expansion
* gtk/gtktexttag.h (struct _GtkTextAttributes): pad this
(struct _GtkTextAppearance): one pad in here too
* gtk/gtktextlayout.h (struct _GtkTextLayoutClass): padding here
* gtk/gtktextview.h (struct _GtkTextViewClass): more padding,
since action signals etc. seem pretty likely
* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): padding
* gtk/gtktexttag.h (struct _GtkTextTagClass): padding
* gtk/gtktexttagtable.h (struct _GtkTextTagTableClass): padding
Tue Dec 4 12:16:31 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_set_property_value):
Simplify, make more efficient and fix memory leak
when turning quark into a string. (#66103, HideToshi
Tajima)
Tue Dec 4 12:06:13 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorsel.c: Ref and sink priv->tooltips in
init() and unref priv->tooltips in destroy rather
than calling gtk_object_destroy() which has no
effect on memory management. (#66104, HideToshi
Tajima)
* gtk/gtkcolorsel.c (palette_set_color): Use g_object_set_data_full()
so we free the when the object is freed. (Fixes memory
leak, #66096, HideToshi Tajima)
* gdk/gdkevents.c (gdk_synthesize_window_state): Use
a full GdkEvent structure to avoid reads of uninitialized/
invalid memory in gdk_event_put() (#65877, patch
from Hidetoshi Tajima)
Tue Dec 4 11:06:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenuitem.c: Revert my last mistaken change -
toggle-size-request doesn't take a requisition.
* gtk/gtkmenuitem.c (gtk_menu_item_class_init): Fix
reference to marshaler that no longer exists.
Mon Dec 3 16:39:17 2001 Owen Taylor <otaylor@redhat.com>
Patch from Bill Haneman (with many modifications) to make
the focus color work on dark themes and to make the
focus line width configurable. (#61079, #63074)
* gtk/gtkwidget.c: Add style properties,
::focus-widget, ::focus-line-width, and ::focus-padding.
* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
state argument as well so we can use fg[STATE] to
draw instead of always drawing with black.
Cange paint_focus() to respect GtkWidget::focus-width
and GtkWidget::focus-line-pattern. Fix continuity
problem where the default 1-1 stipple had a blob
in one corner and a gap in the other. Change the
interpretation of x/y/width/height to be the bounding
box of the focus rect instead of the rectangle
passed to gdk_draw_rectangle.
* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
and ::focus-line-padding.
* gtk/gtkentry.c: Handle :;focus-width property; cleanup
and remove duplicated code; fix drawing of focus rectangle
when interior-focus = FALSE. (#63072, #63073)
* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
Range and TreeViewColumn will need more extensive fixing.
* gtk/gtkcolorsel.c: Honor focus line attributes when
drawing the focus on the color swatches. (#63071)
* gtk/gtkhsv.c: Honor focus line attributes when
drawing the focus for the ring and triangle.
* docs/widget_geometry.txt: Start at documenting how
various widgets are drawn.
* gtk/gtkbutton.c (_gtk_button_paint): Export
_gtk_button_paint() librarywide, so we don't have
duplicate a bunch of code in gtktogglebutton.c.
* gtk/gtktogglebutton.c: Use _gtk_button_paint().
Mon Dec 3 21:04:13 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmarshalers.list: remove VOID:BOXED,POINTER and
NONE:POINTER.
and now everyone else has to recompile their GTK too.... (-:
Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
we use pointers, we should free the previous pointer first (if
it exists), before we set a new pointer. (#64726)
* gtk/gtktreeprivate.h: get rid of cursor_drag
* gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
for cursor_drag
(gtk_tree_view_bin_expose): don't directly return in the while
loop
(gtk_tree_view_class_init): indentend expanders by default
(gtk_tree_view_header_focus): only give the button focus
if it's clickable, visible and the column is reorderable
(#65539)
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
create and free cursor
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
some bugs with size requisition. (From Bill Haneman)
* gtk/gtkcalendar.c: Draw headers and selection in
base/text[SELECTED] instead of fg/bg[SELECTED].
* gtk/gtkcalendar.c: Miscellaneous cleanups to drawing
code and formatting.
2001-12-03 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (set_window_height):
(set_window_width): Hmm, setter functions normally assign the new
value to the object field. Reported by Chris Phelps.
Fri Nov 30 16:12:21 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.c: Patch from Hidetoshi Tajima to fix
bad match error when target drawable is not the
same depth as the root window. (#65841)
* HACKING: Update.
Thu Nov 29 21:35:56 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkmenu.c (gtk_menu_motion_notify): add checks for
empty menu items to behave like insensitive items (#59456)
* gtk/gtkmenuitem.c (gtk_real_menu_item_activate_item): select
next item if the first item in the menu is a tear off item
(#59456-2, suggestion by Matthias Clasen)
* gtk/gtkmenushell.c (gtk_menu_shell_button_press),
(gtk_menu_shell_button_release), (gtk_menu_shell_entry_notify),
(gtk_menu_shell_leave_notify), (gtk_real_menu_shell_move_current),
(gtk_real_menu_shell_activate_current): add check, so empty
menu items behave like insensitive items (#59456)
* gtk/gtkmenuitem.[ch]: add _gtk_menu_item_is_selectable to make
the checks more readable ...
* gtk/gtkmenushell.c (gtk_menu_shell_button_press),
(gtk_menu_shell_button_release): causes the menu to dropdown if the
caption is clicked again (#64977)
2001-11-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment):
assertion here that we were at the end iterator was not correct;
change code to move us to the end iterator. bug #65731