2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.5 ===
	
	* gtk/gtkwindow.c (gtk_window_activate_key_after): Add parentheses 
	around comparison in operand of &.

	* gtk/gtkcalendar.c: Replace a non-ASCII character in a comment.

2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am (pixbuf_threads_LDADD): Make pixbuf-threads
	link.

	* NEWS: Updates

2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am: Add pixbuf-threads

	* tests/pixbuf-threads.c: Test loading images in multiple
	threads.

2004-11-11  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Check for uxtheme.h  (#157967, J. Ali Harlow)

	* modules/engines/ms-windows/xp_theme.c: Use HAVE_UXTHEME_H
	to protect the #include <uxtheme.h> 

	* docs/tools/Makefile.am: Don't try to build doc-shooter on 
	Windows.  (#157979, J. Ali Harlow) 

	* gtk/gtkfilefilter.c: Don't try to use xdgmime on 
	Windows where we don't build it.   (#157944, J. Ali Harlow)

	* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Also
	reserve space for the resize grip if the grip_window is not
	realized yet.  (#158010, Christian Persch)
	(gtk_statusbar_button_press): Only start a resize if the
	button press comes from the grip_window.  (#158011, Christian Persch)

2004-11-11  Tor Lillqvist  <tml@iki.fi>

	Fix for #137551, by Robert Ögren:

	* gdk/win32/gdkevents-win32.c (generate_focus_event): New function.

	(gdk_keyboard_grab, gdk_keyboard_ungrab): Generate focus change
	events.
	
	(gdk_event_translate): Check for keyboard grabs and not pointer
	grabs when handling WM_{SET,KILL}FOCUS. Use generate_focus_event().

2004-11-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.c (update_node): Remove two more places
	where we were unconditionally setting "visible", causing
	unnecessary notifications.
	(update_node): Fix some C99isms.

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display): 
	(gtk_clipboard_get): Clarify the docs.  (#156638, Torsten 
	Schoenfeld)
	(gtk_clipboard_finalize): Warn if the clipboard is still in
	its displays clipboard list.

	Considerably speed up GtkUIManager, by changing the semantics
	of the dirty flag. It is now propagated up the tree, and
	update_node() doesn't descend into clean subtrees.  (#143668,
	Dave Neary, Michael Natterer, Sven Neumann, fix proposed
	by Soeren Sandmann)
	
	* gtk/gtkuimanager.c (node_prepend_ui_reference): Only prepend 
	a new node reference if the merge_id is different. Take a GNode,
	so we can walk up the tree, adjust all callers. 
	(node_remove_ui_reference): Only mark a node dirty if the first 
	ui reference is removed. Take a GNode here as well for 
	consistency. 
	(update_node): Don't descend into clean subtrees.
	(mark_node_dirty): New function to mark a node and its 
	predecessors dirty.

Thu Nov 11 11:34:32 2004  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkfilechooserbutton.c (update_idler): return FALSE instead
	of TRUE.  This is just a quick fix to prevent the idle from
	looping indefinitely.

2004-11-11  J. Ali Harlow  <ali@juiblex.co.uk>

	* gdk/Makefile.am:
	* gdk-pixbuf/Makefile.am:
	* gtk/Makefile.am (gtk.def): Use embedded tab rather than '\t'
	escape sequence. (#157949)

2004-11-10  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (_gdk_win32_get_next_tick): 
	Event timestamps don't have to be unique. As long as they are
	nondecreasing we should be fine. Solves problems with for instance
	long menus not staying up on first click. (#152035, Robert Ögren)

2004-11-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only
	shorten the label if it actually overlaps the resize grip.
	(gtk_statusbar_size_allocate): Handle extra children
	by leaving room for the resize grip.  (#157778, Christian Persch)

	* gdk/linux-fb/*: Fix many sparse warnings.  (#157253,
	Kjartan Maraas).
	
	* NEWS: Updates

2004-11-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrange.c (gtk_range_real_change_value): Make 
	power a double.
	(gtk_range_class_init): s/digits/decimal digits/ in doc 
	comment.

	* gtk/gtkfilechooserbutton.c (update_idler): Remove debugging
	printfs. 

	* gtk/gtkicontheme.[ch]: Improve the docs.  (#157785,
	Torsten Schoenfeld)

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_geometry): Add
	a hint about using gdk_drawable_get_size() instead.

	* gtk/gtk.symbols: Add new symbols.

	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Make
	it work with *big* icon views.  (#154466)

	* tests/testiconview.c: Add a real "Add many" button.

	* gtk/gtkaction.[hc]: 
	* gtk/gtkactiongroup.[hc]: Make return types G_CONST_RETURN
	instead of const.

	* gtk/gtk.symbols: 
	* gtk/gtkaction.h: 
	* gtk/gtkaction.c (gtk_action_get_accel_path): Add
	a function to obtain the accel path of an action. (#148106,
	Michael Natterer)

	* tests/testiconview.c: Fix double-click activation.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): Raise the grip
	window when appropriate.
	(gtk_statusbar_init): Instead of cutting the text off, make
	ellipsize the label.
	(gtk_statusbar_size_allocate): Don't let the label extend
	under the resize grip.

	* gtk/gtkcombobox.c (find_menu_by_path) 
	(gtk_combo_box_menu_fill_level, gtk_combo_box_menu_row_inserted): 
	Use a row reference, not a path, to associate separators
	with their tree row.  
	
	* gtk/gtkstatusbar.c (gtk_statusbar_set_has_resize_grip): 
	Show the grip_window if necessary.  

	* gtk/gtkstyle.c (gtk_default_draw_resize_grip): Only
	clear the triangle below the grip to the background,
	not the full area. 

	* gtk/gtklabel.c (draw_insertion_cursor, gtk_label_expose): 
	Clip when drawing the cursor. This prevents bits of a
	selectable label leaking out from underneath the resize
	grip in a statusbar.  (#73359)

	* gtk/gtkstatusbar.c: Apply a patch by Owen Taylor to
	get reasonable allocations for the statusbar and its
	children.  (#73359)

	* tests/testgtk.c: Apply a patch by Soeren Sandmann to 
	test long statusbar texts.

	* gtk/gtk.symbols: Add new symbols.

	Avoid resizing GtkStatusbar if the text of the label 
	changes  (#90955, He Qiangqiang, fix proposed by 
	Owen Taylor, patch by Christian Persch)
	
	* gtk/gtklabel.[hc]: Add a boolean single-line-mode property 
	which causes the label height not to depend on the actual
	text, but only on the font.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): Turn on
	single-line-mode for the label.

2004-11-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilefilter.c (gtk_file_filter_filter): Use 
	xdg_mime_mime_type_subclass() to match mime types. This
	also gives use wildcard matching. (#143760, #141224, 
	Tommi Komulainen, David A Knight)

	* gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use 
	gtk_widget_{hide,show} instead of g_object_set (..."visible"...).

	* tests/testfilechooserbutton.c (main): Disable the SAVE 
	and CREATE_FOLDER modes.  (#157675, Christian Persch)

	* gtk/gtkaboutdialog.c (gtk_about_dialog_set_website): Hide the
	website button if the url is unset.  (#157630, John Finlay)

	* gtk/gtkaboutdialog.[hc]: Change the return types of the 
	gchar ** getters to be more const correct.  (#157566, Mariano 
	Suárez-Alvarez)

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_init): Add
	uri targets before text targets, to make file dnd work 
	better.  (#157651, Christian Persch)

	* gtk/gtktreedatalist.c: Support columns whose declared type is
	an interface better, by treating them like G_TYPE_OBJECT if
	the interface types requires G_TYPE_OBJECT.

2004-11-08  Bastien Nocera  <hadess@hadess.net>

	* gtk/stock-icons/stock_media_play_rtl_16.png:
	* gtk/stock-icons/stock_media_play_rtl_24.png: add the icons again
	with the binary flag (Closes: #157665)

2004-11-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilefilter.h:
	* gtk/gtkfilefilter.c (gtk_file_filter_add_pixbuf_formats): 
	New convenience function to add a filter for image files
	which can be loaded by GdkPixbuf. (#145388, Anders Carlsson)

	* tests/testfilechooser.c: Test the image filter.
	
	* gtk/gtkmenu.c (menu_change_screen): Remove some warnings.

	Show files in folder modes. (#157013, Nickolay V. Shmyrev)
	
	* gtk/gtkfilechooserdefault.c (create_file_list): Use a selection
	function to determine which rows can be selected.
	(update_appearance): Always show files. Also queue a redraw.
	(set_list_model): Always show files.
	(list_select_func): The selection function used for the file list.
	Don't allow to select files when in select/create folder mode.
	(list_row_activated): Don't activate files in folder modes.
	(list_icon_data_func, list_mtime_data_func, list_size_data_func): 
	Render files insensitive in folder modes.

2004-11-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property): 
	Don't support CREATE_FOLDER and SAVE for now. UI authorities
	object to it.  (#157384, Seth Nickell)

	* gtk/gtkfilechooserdefault.c (file_pane_create): Jump through
	a few hoops to make the tooltip on the filter combo box work
	a bit better. This fixes #157273 and #157074.

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end): 
	Add the ComboCellInfo to the list.  (#157528, Carlos Garnacho
	Parro)

2004-11-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_state_changed):
	Remove this unneeded function, as it breaks state propagation.

	* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_activate): 
	Queue the resize before setting the tearoff state, to 
	make sure the torn-off menu picks up the size increase due
	to the arrow in the torn off menu item.  (#157286, Adam
	Hooper, fix proposed by Owen Taylor)

	* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
	call gtk_menu_position(), since that function has issues
	when called on a menu whose parent is unrealized.  (#157354,
	Adam Hooper)

	* gtk/gtkmain.c: Document new functions.

2004-11-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/stock-icons/Makefile.am: Typo fix.

	* gtk/gtkaboutdialog.c: Documentation updates.

2004-11-04  Bastien Nocera  <hadess@hadess.net>

	* gtk/gtkiconfactory.c: (get_default_icons): Make sure the RTL
	variants are used for media icons
	* gtk/stock-icons/Makefile.am: update following the addition of
	the 2 Play icon RTL variants
	* gtk/stock-icons/stock_media_play_rtl_16.png: added
	* gtk/stock-icons/stock_media_play_rtl_24.png: added

2004-11-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): 
	Don't leak the path.  (#157301, Carlos Garnacho Parro)

	* gdk/x11/gdkdnd-x11.c (gdk_drag_motion): Handle the 
	case that the protocol version in the context is not 
	set yet.  (#157123, James Henstridge)

	* gtk/gtktreeview.c (gtk_tree_view_search_activate): Don't
	try to activate a node if the cursor is not valid.  

2004-11-03  James M. Cape  <jcape@ignore-your.tv>

	* gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
	Don't mysteriously go to the parent dir when hitting "Cancel" in
	folder mode (fixes #156971).

2004-11-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
	access label->layout directly.  (#157080, Adam Hooper)

	* gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow
	unsetting a pattern by passing NULL.  (#156720, Tristan Van Berkom)

	* gtk/gtkcombobox.c (gtk_combo_box_get_active): Don't crash 
	if the active_row reference has become invalid.  (#157156,
	Christophe Fergeau)
	
2004-11-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_activate_key_after): As
	a last stage in GtkWindow key press handing, try adding
	window->mnemonic_modifier to event->state and see if it
	matches a mnemonic. (#53709, based on a patch by
	Pasupathi Duraisamy, patch by Owen Taylor)

	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init): 
	Doc additions.

	* gtk/gtkfilechooserbutton.h: Fix trigraphs in private markers.

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_class_init): 
	Fix a doc comment.

2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Remove a debug printf().  (#157087, Christian Persch)

	* gtk/gtkicontheme.c: Actually commit the "stat less" patch
	which appeared in the ChangeLog a few days ago.

	* gtk/gtkfilechooserbutton.c: Move some docs inline.

	* gtk/gtkaboutdialog.c (gtk_show_about_dialog): Doc update.

	* gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Revalidate the
	iter.  (#156924, Murray Cumming)

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on
	broken ClientMessage events.  (#157056, Owen Taylor)

	* gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in
	the docs.  (#157044, Masao Mutoh)

2004-10-31  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Update the
	state of the cell view when the state of the button changes (to 
	get prelighted drawing right).  (#138650, Frances Keenan, 
	Christian Persch)

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Don't force the height of the action area, we don't scroll 
	it anyway, and the current way of calculating the height can lead
	to broken display.  (#156573, Christian Persch)

	* tests/testentrycompletion.c (animation_timer): Don't try to
	remove stuff from an empty model.  (#156575, Christian Persch)

	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): 
	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init): 
	Update doc comments.

2004-10-31  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c: Remove _windows_version and the
	IS_WIN_NT() macro.

	* gdk/win32/*.c: Use G_WIN32_IS_NT_BASED() from GLib instead.

2004-10-31  Matthias Clasen  <mclasen@redhat.com>

	Add api for image transfer via copy-and-paste (#156408)
	
	* gtk/gtkclipboard.c (gtk_clipboard_set_image) 
	(gtk_clipboard_request_image, gtk_clipboard_wait_for_image) 
	(gtk_clipboard_wait_is_image_available): New functions for image
	transfer.

	* gtk/gtkselection.h:
	* gtk/gtkselection.c (gtk_selection_data_targets_include_image): 
	New function, similar to gtk_selection_data_targets_include_text().

	* gtk/gtkprogressbar.[hc]: Add an ellipsize property with 
	getter and setter.  (#156845, Morten Welinder)

2004-10-29  Robert Ögren  <gtk@roboros.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_begin_resize_drag),
	(gdk_window_begin_move_drag): Implement these on win32, currently
	only for button 1. Fixes the resize grip of GtkStatusbar on 
	win32. (#143285)

2004-10-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_select_range): Redisplay
	the new selection.

	* gtk/gtktextview.c (gtk_text_view_select_all): Use 
	gtk_text_buffer_select_range().

	* tests/testtext.c: Add a "Select All" menuitem.  (#156792,
	Paolo Borelli)

	* gtk/gtkicontheme.c (insert_theme): Sort the dir_mtimes 
	list in the same way as the search path.
	(theme_subdir_load): Avoid stat()ing subdirs if the theme 
	directory doesn't exist.  (#156866)

2004-10-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize): 
	Drop the reference to the pixbuf, regardless whether it is
	a stock pixbuf.  (#156863, Philip Langdale)

2004-10-29  Hans Breuer  <hans@breuer.org>

	* gdk/makefile.msc gtk/makefile.msc.in : updated

	* gdk/win32/gdkdisplay-win32.c : dummy implementations for
	gdk_display_supports_clipboard_persistence, gdk_display_store_clipboard

	* gtk/gtkmodules.c : #include "gtkprivate.h" for GTK_LIBDIR

2004-10-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_set_text): Don't hardwire
	the supported text targets here, use 
	gtk_target_list_add_text_targets().  (#156404)

	* gtk/gtkliststore.c (gtk_list_store_reorder): Don't
	loop over the sentinel node.  (#156298, Torsten Schoenfeld)

2004-10-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use
	g_signal_connect_object() to prevent premature finalization
	of the cell_editable while the key_press_event signal is
	handled.  (#156325, Olivier Andrieu)

	* *: Clean up many sparse warnings.  (#156698, Kjartan Maraas)
	
	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect
	from the remove-widget signal after removing the signal.

	* gtk/gtkaboutdialog.c (gtk_show_about_dialog): Destroy
	the dialog with the parent.  (#156557, Paolo Borelli)