Fri Jan 4 01:36:48 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): Optimize
a little bit. (More for consistency than because it
makes much of a difference.)
Thu Jan 3 22:18:15 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
(_gdk_x11_have_render): Private function to tell if we have RENDER
extension.
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
None if we don't have RENDER extension.
* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
use Xft unless we have render extension.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
Handle missing render extension.
* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
gdk/gdkinternals.h: Add a private copy_to_image() virtual function
to the GdkDrawable vtable that extends get_image() to allow
copying onto existing images. Make the default implementation of
get_image() use this so that backends don't have to implement
both. Add private wrapper _gdk_drawable_copy_to_image().
* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
copy_to_image() semantics, speed up by using ShmPixmaps and
XCopyArea when possible, XFlush() after ungrabbing the server,
generally redo the logic once again.
* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
_gdk_windowing_bits_per_depth(): Function to convert from depth to
bits-per-pixel. (We assume only one bpp per depth - X requires
this.)
* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
scratch image code into a generic _gdk_image_get_scratch() chunk
of code that we can use other places we need scratch images.
* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
Add _gdk_image_new_for_depth() as the backend
to _gdk_image_new() to allowing creating images with
a depth and no visual.
* gdk/gdkpixbuf-drawable.c: Fix so that getting
parts of images not at 0,0 actually works.
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c:
- Add a new GdkDrawableClass vfunc _draw_pixbuf, and
_gdk_draw_pixbuf() [ will be made public later ], to allow
backends to accelerate drawing pixbufs.
- Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
to be the default implementation.
- Update docs for gdk_pixbuf_render_to_drawable_alpha().
- Optimize the default implementation by using
_gdk_image_copy_to_pixmap() and scratch shared images, and
special casing the compositing.
* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
with alpha using the RENDER extension.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
Optimize by _gdk_image_copy_to_pixmap() and scratch images.
* tests/testrgb.c: Add test for speed of alpha composition,
reduce the number of iterations since alpha composition
can be a bit slow.
* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap):
Private function to get a ShmPixmap for an image, if possible.
Thu Dec 27 18:12:55 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Fix
problem where retrieved atoms weren't properly returned.
2002-01-03 Anders Carlsson <andersca@gnu.org>
* gtk/gtktextview.c (gtk_text_view_key_press_event): When
tab is pressed and the text view isn't editable,
move the focus instead.
2002-01-03 Anders Carlsson <andersca@gnu.org>
* gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
_gtk_tree_view_queue_draw_node.
(gtk_tree_view_row_has_child_toggled): Only redraw one node.
* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func):
sort_column_id can be 0.
* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
Only redraw one the node being selected.
* gtk/gtktreeprivate.h: Add _gtk_tree_view_queue_draw_node.
Wed Jan 2 23:09:06 2002 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c (_gtk_container_queue_resize): don't ignore
realized but visible && !mapped resize containers (which is
possible with unset CHILD_VISIBLE now).
2002-01-02 jacob berkman <jacob@ximian.com>
* gtk/Makefile.am (LDFLAGS): automake still doesn't support
libsomething_la_LDFLAGS, so fix the build again
2002-01-01 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_expose_event): propagate
exposes to no window children not in the buffer window.
(gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab
- is this the right way to do it?
(gtk_text_view_focus): add focus method, just chains up for now,
I'm not sure why the GtkContainer implementation doesn't work
* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill
in the text line for the child anchor segment
* tests/testtext.c (do_add_focus_children): add another test
example (to put focusable buttons into the widget)
2002-01-01 Havoc Pennington <hp@pobox.com>
* gtk/framebuffer.sgml: move README.linux-fb in here
* gtk/tmpl/gtkpreview.sgml: explain what to use instead
* gtk/tmpl/gtkseparator.sgml: typo fix
* gtk/tmpl/gtkstock.sgml: add some overview docs
* gtk/Makefile.am (content_files): add new files
* gtk/changes-1.2.sgml: move Changes-1.2.txt in here
* gtk/changes-2.0.sgml: move Changes-2.0.txt in here
* gdk/tmpl/threads.sgml: mention gdk_threads_init() in the
overview docs, copy in the examples from the FAQ
* gtk/gtk-docs.sgml: change DTD to 3.1, and add
question_index.sgml and changes-1.2, changes-2.0
* gtk/tmpl/gtkdrawingarea.sgml: fixups to reflect 2.0 changes
* gtk/question_index.sgml: new section with question-based
index of the manual
* gtk/text_widget.sgml: fix some cross-references
2002-01-01 Havoc Pennington <hp@pobox.com>
* docs/README.linux-fb: note that this file is obsolete
* docs/Changes-2.0.txt, docs/Changes-1.2.txt: Add notes to these
files that they should not be edited and look in the reference
manual instead. Probably these files should just be replaced by
the note, and their main contents deleted.
* gtk/gtktextview.c: docs
* gtk/gtktextmark.c: docs
* gtk/gtktextchild.c: docs
* gtk/gtktextbuffer.c: docs stuff
* gtk/gtkclipboard.c (gtk_clipboard_get): fool with docs to maybe
give people more leads in sorting out PRIMARY vs. CLIPBOARD
2002-01-01 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (changed_handler): Replace call to
gtk_widget_size_request() that expected to actually compute the
request with a direct use of widget_class->size_request, so we get
our size request right; fixes remaining part of #63065 reported by
Matthias Clasen
2001-12-31 Havoc Pennington <hp@pobox.com>
* tests/testtext.c (do_insert_and_scroll): remove backward_char
since we no longer have bogus newline
(dialog_response_callback): remove another backward_char horkage,
reported by Matthias Clasen #63065
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
Wed Nov 28 20:05:44 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Remove
improper use of g_locale_to_utf8() to convert from
latin-1, and do it the easy way by building the string
correctly in the first place.
Wed Nov 28 19:34:15 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_change, gdk_property_get):
Convert atoms to and from atoms for properties of type XA_ATOM.
(#65555, patch from Hidetoshi Tajima)
Wed Nov 28 18:37:04 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.[ch] (gtk_socket_add_id): Rename 'id' parameter
to avoid problems with Objective C.
Wed Nov 28 18:19:12 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_hints): Move
accounting of menu->tearoff_scrollbar width to here
and make sure we have the correct requisition.
* gtk/gtkmenu.c (gtk_menu_position): Fix fixme
by using gtk_window_move().
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Force
the requisition to be updated by calling
gtk_widget_size_request() (#65440)
* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_activate):
queue resize before calling gtk_menu_set_tearoff_state().
Wed Nov 28 22:20:44 2001 Kristian Rietveld <kristian@planet.nl>
* demos/gtk-demo/editable_cells.c: fix typo
* demos/gtk-demo/list_store.c (add_columns): remove call to
gtk_tree_view_column_set_clickable which didn't make sense
2001-11-28 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_paint): put the warning
explaining the validation error in front of the G_BREAKPOINT
* gtk/gtkrange.c (gtk_range_adjustment_value_changed): call
process updates with include_children = FALSE instead of TRUE, so
we redraw the range only, not the whole darn window. Making
GtkRange a NO_WINDOW widget had weirdly caused the text widget
Trace/breakpoint trap bug to become much easier to trigger.
Tue Nov 27 20:17:55 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_activate):
Notify on the ::active property _here_, not in
gtk_check_menu_item_set_active.
Sun Nov 25 21:19:02 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c: Add long, but horribly sketchy
comment about what is going on in this file.
* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
x/y problem.
Sun Nov 25 18:59:19 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkoptionmenu.c (gtk_option_menu_calc_size):
Calculate size based on the _child_ of the menu item,
not the menuitem. (#65005, Damon Chaplin)
* gtk/gtklistitem.c (gtk_list_item_new_with_label): Add
some extra vertical padding to the label widget ... restores
GTK+-1.2 spacing. (#65085, Damon Chaplin.)
2001-11-26 Tor Lillqvist <tml@iki.fi>
* demos/pixbuf-demo.c
* demos/gtk-demo/pixbufs.c: M_PI -> G_PI.
* demos/gtk-demo/main.c (read_line): No flockfile() or
getc_unlocked() on Win32.
2001-11-25 Tor Lillqvist <tml@iki.fi>
* configure.in
* acconfig.h: As we now use GDir, no need to check for dirent.h.
Sun Nov 25 23:18:39 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtktexttag.c (gtk_text_tag_set_property): free font_desc
when finished (#65266)
Sun Nov 25 23:16:29 2001 Kristian Rietveld <kristian@planet.nl>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): free
data after we set the property. (#65264)
Sun Nov 25 23:14:06 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkbutton.c: add destroy method so label_text gets freed
if it has been allocated (#65268)
Sat Nov 24 22:05:27 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't
deactivate menu when menu_item isn't sensitive (#61389)
Sat Nov 24 15:35:26 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtktreemodel.c (gtk_tree_model_foreach): free path before
we return (in case of a failure here)
Fri Nov 23 19:22:50 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c: Handle events in windows other
than widget->event_window properly. (#65079, reported
by Damon Chaplin)
* gdk/gdkevents.c (gdk_event_get_coords): Fix x/y bug.
Fri Nov 23 18:57:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmessagedialog.c (gtk_message_dialog_init): Align
the image at the top, #65020, request from Seth Nickell)
Fri Nov 23 18:49:53 2001 Owen Taylor <otaylor@redhat.com>
* gtk/{gtkclist,gtkctree.c} (draw_row): Remove some strange
arithmetic that was resulting in rows being drawn too low.
(#65001, reported by Damon Chaplin)
Fri Nov 23 18:36:42 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_button_press): Offset
invalidated range correctly.
* gtk/gtkclist.c (hadjustment_value_changed): Fix scrolling
of title window. (#65001, reported by Damon Chaplin)
* gtk/gtkcombo.c (gtk_combo_button_event_after): Replace
horrible hack with use of ::event_after.
Thu Nov 22 15:01:03 2001 Owen Taylor <otaylor@redhat.com>
* Version 1.3.11
* configure.in (ATK_REQUIRED_VERSION): Require
GLib-1.3.11, Pango-0.22, ATK-0.7.
* tests/prop-editor.c (property_widget): Restore
to working as well as it did before.
* gtk/gtklistitem.h: Mark deprecated since it is
an integral part of GtkList.
* demos/gtk-demo/demo-common.h: New header file,
for a common functions not important to the meat
of the demos.
* demos/gtk-demo/main.c (demo_ifind_file): Add a utility
function to search for a file used by the demo.
* demos/*.c: Use demo_find_file.
2001-11-23 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkfont-win32.c (gdk_font_from_description) :
reflect Pango API change
* gtk/gtk.def : updated externals
* gtk/gtkfixed.c (gtk_fixed_get_has_window) : use
g_return_val_if_fail() to avoid 'function must return a value'
* gtk/gtkrc.c : added spaces to fix small coding style issues
* gtk/gtkwidget.c : ... and linebreaks. Also a static for
'static correctness'
* gtk/makefile.msc.in : temporary(?) disable gtk<plug|socket>
because they only can be build on win32 after applying my patch
Wed Nov 21 22:55:37 2001 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.c (gtk_button_map): raise event window afte
children, in order for the input pnly window to stay *above*
children.
Wed Nov 21 22:44:27 2001 Tim Janik <timj@gtk.org>
* tests/testtreeview.c: make hackery worse ;) by checking fundamental
type walks againts G_TYPE_FUNDAMENTAL_MAX.
* tests/prop-editor.c: disable type hackery.
Wed Nov 21 11:41:29 2001 Owen Taylor <otaylor@redhat.com>
* tests/testgtk.c (create_tooltips): Ref-sink the tooltips object.
* gtk/gtktoolbar.c (gtk_toolbar_init): Ref-sink the tooltips object.
* gtk/gtkfilesel.c (open_new_dir): Fix some constness warnings.
* gtk/gtkaccelgroup.c: Rename gtk_accel_groups_from_acceleratable()
back to gtk_accel_groups_from_object(), change @acceleratable
parameter to gtk_accel_groups_activate() accordingly.
* gtk/gtkaccelmap.c (gtk_accel_map_lookup_entry): Remove
left-over comment about quark return.
* gtk/gtkaccelmap.h: Fix spelling of gtk_accel_map_foreach_unfiltered().
* gtk/gtk-boxed.defs (GtkIconSource): added as a boxed type.
(Patch from Matt Wilson)
* gtk/gtkobject.c (gtk_object_finalize): Warn if a floating
object is finalized.
Tue Nov 20 21:25:08 2001 Tim Janik <timj@gtk.org>
* applied patch from owen to get rid of accel map notifiers.
changed things to fix reentrancy and API as discussed on gtk-devel.
* gtk/gtkaccelgroup.[hc]:
(gtk_accel_group_finalize): unregister this accel group from all
accel map paths.
(accel_closure_invalidate): handle invalidation of closures by
disconnecting their accelerators.
(quick_accel_add): move closure connection and changed notification
into this function to reduce code duplication. don't emit change
notification on closurers without accelerators.
(quick_accel_remove): rewrite, do the exact opposite of quick_accel_add
for a GtkAccelGroupEntry.
(gtk_accel_group_connect): get rid of the accel_path_quark argument.
(gtk_accel_group_connect_by_path): new function to add accelerators
with an accel path.
(gtk_accel_group_disconnect_closure): new function, disconnect a
closure from of an accel group.
(gtk_accel_group_disconnect): loop over all closure for a accel_ley,
accel_mods pair and remove them.
(_gtk_accel_group_reconnect): new function that basically does
gtk_accel_group_disconnect_closure() and
gtk_accel_group_connect_by_path() once an accel path changed.
(gtk_accel_groups_disconnect_closure): remove this, there's
gtk_accel_group_disconnect_closure().
* gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now,
nuke notifiers.
(_gtk_accel_path_is_valid): make this non-static for
gtkwidget.c and gtkaccelgroup.c assertions.
(gtk_accel_map_add_notifer): removed this function.
(gtk_accel_map_remove_notifer): same.
(_gtk_accel_map_add_group):
(_gtk_accel_map_remove_group): (un-)register accel groups, with
accel paths for correct propagation.
(gtk_accel_map_add_entry): return void.
(gtk_accel_map_lookup): return gboolean instead of GQuark.
* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always
set accel_path on widgets.
* gtk/gtkwidget.[hc]:
(accel_path_changed): got rid of this, changes are handled by
accel maps internally now.
(_gtk_widget_set_accel_path): get things to work without notifiers.
(gtk_widget_list_accel_closures): list accel closures of a widget.
* gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed.
Tue Nov 20 23:01:01 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path):
replace gboolean free_last in the function parameters with
gint depth. Changes to reflect new situation.
* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper):
replace gboolean free_last, with gint depth, add gint current_depth.
Changes to reflect new situation.
* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): changes
to reflect new situation
* gtk/gtktreemodel.c (gtk_tree_row_reference_free): ditto
Tue Nov 20 12:37:10 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_paint): Fix problem
where notebook gap was double shifted by allocation.x/y
* gtk/gtknotebook.c (gtk_notebook_unmap): Chain up
to unmap children.