Blob Blame History Raw
2004-12-16  Matthias Clasen  <>

	* Bump version

	* === Released 2.6.0 ===

	* gtk/gtkmenuitem.c: Add a forgotten cast.  (Morten Welinder) 

	* gtk/gtkfilechooserbutton.c: Add another forgotten include. (Morten

2004-12-16  Matthias Clasen  <>

	* gtk/gtkfilechooserbutton.c (dialog_response_cb): Only unblock the handlers
	if they are blocked.

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Don't
	crash if enable_search is FALSE.  (#161267, Jorn Baayen)

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_mnemonic_activate): 
	Re-fix #152925, reported by Dennis Cranston.

2004-12-15  Matthias Clasen  <>

	* gtk/gtkfilechooserbutton.c: Add missing includes.

	* Require glib 2.6.0 for 

	* gtk/gtkentrycompletion.[hc]: Make the prefix parameter 
	to the insert-prefix signal a const gchar* instead of a 
	gchar*.  (#161415, Murray Cumming)
	Also remove an unused static function.

2004-12-15  Alexander Larsson  <>

	* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info):
	Use g_filename_display_basename to calculate display name.

2004-12-15  Matthias Clasen  <>

	* gtk/ Strip out PRIVATE

	* NEWS: Updates

	* gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first) 
	(gtk_real_menu_shell_activate_current): Use 
	_gtk_menu_item_popup_submenu() to make keynav into submenus work
	instantaneously, independent of the popup delay.  (#161140)

	* gtk/gtkmenuitem.[hc]: _-prefix gtk_menu_item_popup_submenu() and
	make it non-static.

	* gtk/gtkmenuitem.c (gtk_menu_item_paint): Remove unused variables.

2004-12-15  James M. Cape  <>

	* gtk/gtkfilechooserbutton.c (struct _GtkFileChooserButtonPrivate)
	(get_icon_theme) (get_display_name_for_path) (model_get_type_position)
	(model_free_row_data) (model_add_special) (model_add_other)
	(model_add_volumes) (model_add_bookmarks)
	(model_update_current_folder) (model_remove_rows)
	(filter_model_visible_func) (combo_box_row_separator_func)
	(name_cell_data_func) (update_combo_box) (fs_volumes_changed_cb)
	(fs_bookmarks_changed_cb) (combo_box_changed_cb)
	(change_icon_size): Use a GtkComboBox in SELECT_FOLDER mode (#157726).

	* gtk/gtkfilechooserbutton.c:
	* gtk/gtkfilechooserbutton.h (gtk_file_chooser_button_new)
	(gtk_file_chooser_button_new_with_backend): Add @action to constructors
	to match other GtkFileChooser impls. API CHANGE.

	* docs/tools/widgets.c (create_file_button):
	* tests/testfilechooserbutton.c (main): Update callers.

	* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Reflect API

	* tests/testfilechooserbutton.c: Add LGPL license.
	(main): Added GOption parser for --backend and --right-to-left cmd line
	(del_pwds_parent_as_shortcut_clicked_cb) (tests_button_clicked_cb):
	Add shortcut_folders test.
	(chooser_current_folder_changed_cb) (chooser_selection_changed_cb)
	(chooser_file_activated_cb) (chooser_update_preview_cb): Print URIS,
	not filenames.

2004-12-15  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (get_is_file_filtered): Don't 
	try to filter if impl->current_filter is NULL.  (#161329, 
	R. McFarland) 

2004-12-14  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fix #145470:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_initial_focus): Queue a pending
	operation to select the first row if we are not finished loading
	(gtk_file_chooser_default_class_init): Override GtkWidget::map().
	(gtk_file_chooser_default_map): New ::map() handler; refresh the
	file and bookmark lists.

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_class_init):
	Override GtkWidget::map() and GtkWidget::unmap().
	(gtk_file_chooser_dialog_constructor): Don't call initial_focus()
	(gtk_file_chooser_dialog_map): Map the file chooser widget if
	needed.  Call initial_focus() here.
	(gtk_file_chooser_dialog_unmap): Unmap the file chooser widget.
	When we are re-mapped, the widget will get mapped as well and it
	will have a chance to refresh.

2004-12-14  Matthias Clasen  <>

	* README.win32: Fix a typo

	* Updates

	* tests/testcombo.c (main): Don't use gtk_cell_renderer_set_values().

	* gtk/gtk.symbols: 
	* gtk/gtkcellview.[hc]: Remove gtk_cell_renderer_set_value[s]
	for now.

	* Bump version to 2.6.0

	* NEWS: Updates

	* tests/testiconview.c: Test oversized items.

	* gtk/gtk.symbols: Add new symbols.

	* gtk/gtkiconview.[hc]: Make the icon view lay out its
	items in a grid, allocating multiple grid cells to oversized
	items. Also convert hardwired spacing constants into 
	properties.  (#152483)

2004-12-13  Matthias Clasen  <>

	* gtk/gtklabel.c: s/maximal/maximum/g  (#161195, David Lodge)

	* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Reintroduce
	the reverted change, since it is necessary to prevent lost
	submenus. But make it work for torn-off menus as well.

	* gtk/gtktearoffmenuitem.c (tearoff_state_changed): Fix the signature
	to avoid overwriting a pspec.  

	* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Revert a change
	which prevented torn-off menus from being shown normally.

	* gtk/gtkmenu.c (gtk_menu_scroll): Implement scroll wheel scrolling
	for menus. (#88532)

	* gtk/gtkwindow.c (gtk_window_real_set_focus): Compare only
	the HAS_DEFAULT flags.  (#160711, Tommi Komulainen)

	* gtk/gtkimage.c (gtk_image_set_property): Add a missing break
	statement.  (#161172, Damon Chaplin)

	* gtk/gtkcellrenderertext.c: Add a width-chars property like
	GtkLabel has.  (#160496, James M. Cape)

	* NEWS: Updates

	* gtk/gtkwidget.c (gtk_widget_class_init): Add some docs for
	GtkWidget::delete-event and GtkWidget::destroy-event.  (#161142,
	Paolo Borelli)

2004-12-13  Matthias Clasen  <>

	* gtk/gtklabel.[hc]: Add a max-width-chars property, which can
	be used to specify the width of the label in characters, while
	still allowing it to fall short of this length if the text
	is shorter.  (#155944, Christian Persch)

	* gtk/gtk.symbols: Add new symbols.

	* gtk/gtkuimanager.c (update_smart_separators): Don't let the
	empty menu filler affect visibility of separators.  (#160500,
	Christian Persch)

2004-12-12  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed): Pass a 
	last item to gtk_combo_box_relayout_item.  (#161050, John Finlay)

	* tests/testfilechooserbutton.c (tests_button_clicked_cb): Rename
	a local variable to avoid a conflict.  (#161109, Robert Ögren)

2004-12-12  Tor Lillqvist  <>

	* gtk/gtkaccelmap.[ch]
	* gtk/gtkfilechooser.[ch]
	* gtk/gtkfilesel.c
	* gtk/gtkfilesystemwin32.c
	* gtk/gtkiconfactory.[ch]
	* gtk/gtkicontheme.[ch]
	* gtk/gtkimage.[ch]
	* gtk/gtkimmodule.c
	* gtk/gtkmodules.c
	* gtk/gtkrc.[ch]
	* gtk/gtkuimanager.[ch]
	* gtk/gtkwindow.[ch]	
	* gtk/updateiconcache.c
	* gtk/gtk.symbols: Use gstdio wrappers. On Windows, convert
	environment variables referring to pathnames from locale encoding
	to UTF-8. As in GLib, in order to preserve Windows DLL ABI
	stability, add binary compatibility versions of functions that
	take file names as arguments, or return file names. Add a _utf8
	suffix to the "real" such functions on Windows. The ABI
	compatibility versions keep the old name.

	* gtk/ Strip PRIVATE symbols from the GNU import

	* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Implement
	file mapping on Win32.

	* gtk/updateiconcache.c: Don't crash if invoked without
	argument. Use binary mode when opening file.

	* modules/engines/ms-windows/Theme/gtk-2.0/ Install
	gtkrc in correct place, in <datadir>/themes/MS-Windows/gtk-2.0.

2004-12-12  Matthias Clasen  <>

	* gtk/gtklabel.c (gtk_label_setup_mnemonic): Fix a 
	copy-and-paste error, noticed by Robert Ögren.

2004-12-11  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level) 
	(gtk_combo_box_menu_row_changed): Only wrap if we are in the
	topmost menu.  (#160936, John Finlay)

2004-12-10  Matthias Clasen  <>

	Support no-Alt mnemnonics in menu bars  (#101309, Owen Taylor)
	* gtk/gtkwindow.c: Factor out mnemonic hash code into
	a separate file.

	* gtk/gtkmnemonichash.[hc]: Factored out mnemonic hash
	code from gtkwindow.c.

	* gtk/ (gtk_c_sources): Add gtkmnemonichash.[hc].

	* gtk/gtkmenushell.c (struct _GtkMenuShellPrivate): Give 
	menu shells their own mnemonic hash.

	* gtk/gtkmenushell.h: Add private api to support mnemonics.

	* gtk/gtklabel.c (gtk_label_setup_mnemonic): Add mnemonic to
	the menushell mnemonic hash when inside a menu.
Fri Dec 10 13:59:32 2004  Manish Singh  <>

	* gtk/gtk.symbols: add recent new functions.

2004-12-10  Matthias Clasen  <>

	* gtk/gtkwindow.c: Revert the patch which added no-alt 
	mnemonics, since it interfers badly with menus.  (#160911,
	Jonathan Blandford)

2004-12-09  Matthias Clasen  <>

	* gtk/gtklabel.c (gtk_label_class_init): Fix a property
	nick typo. 

	* gtk/gtkfilechooserdefault.c: Apply a patch to reset the 
	filter if an otherwise invisible file is selected via the 
	location popup.  (#159896, Carlos Garnacho Parro)

	Fix #145463, reported by Michael Natterer.
	* gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add an
	editing flag to keep track of when editing is done.
	* gtk/gtkcellrenderer.h:
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_stop_editing): New
	function to replace gtk_cell_renderer_editing_canceled(). 
	Deprecate gtk_cell_renderer_editing_canceled(). 

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done): 
	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_editing_done): 
	* gtk/gtktreeview.c (gtk_tree_view_stop_editing):
	Use gtk_cell_renderer_stop_editing().
2004-12-09  Matthias Clasen  <>

	* gtk/gtkliststore.h: 
	* gtk/gtkliststore.c (gtk_list_store_insert_with_values): 
	(gtk_list_store_insert_with_valuesv): Add functions which allow
	faster insertion of rows in sorted list stores.  (#160063)

2004-12-08  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Fix a typo
	in the docs.  (#160826, Jay Camp)

2004-12-08  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	* gtk/gtkfilechooserdefault.c (pending_op_process): Center the
	selected row so that it's easily visible.

2004-12-08  Matthias Clasen  <>

	Fix #111031, reported by Padraig O'Briain:
	* gtk/gtktextlayout.h: 
	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_position): 
	Add a variant of gtk_text_layout_get_iter_at_pixel() which
	returns the character at the position, not the closest
	cursor position.

	* gtk/gtktextview.h: 
	* gtk/gtktextview.c (gtk_text_view_get_iter_at_position): 
	Add a variant of gtk_text_view_get_iter_at_location() which
	returns the character at the position, not the closest
	cursor position.

2004-12-08  Matthias Clasen  <>

	* gtk/gtkaccelmap.c (internal_change_entry): Remove all 
	entries for the same key, not just the first one.  (#159498, 
	Christian Persch)

2004-12-08  Matthias Clasen  <>

	* gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): Use
	button->event_window for the fake leave event, otherwise
	the button ignores it.  

2004-12-07  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Make this
	work, no need to invert the array. 

	* gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Emit
	rows_reordered if the row has been moved.  (#160063)

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
	Don't mess up the column header state if the button release
	event is missed.  (#159640)

2004-12-07  Marco Pesenti Gritti  <>

	* gtk/gtkcellview.c (gtk_cell_view_set_background_color):
	Fix a typo in last commit

2004-12-07  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_set_background_color): Queue
	a redraw.  (#160679, Damon Chaplin)

2004-12-07  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
	Don't mess up the column header state if the button release
	event is missed.  (#159640)

	* docs/tools/widgets.h (enum): Add an ASIS widget size.

	* docs/tools/widgets.c (get_all_widgets): Add file chooser,
	font selection and color selection dialogs.

2004-12-06  Matthias Clasen  <>

	* modules/input/gtkimcontextime.c: Prevent double commits,
	don't commit when Ctrl is present.  (#160376, Kazuki IWAMOTO)

2004-12-06  Hans Breuer  <>

	* gtk/gtkcolorsel.c (key_press): Implement keynav for the color
	picker - win32 too. Fixes bug #160437.

2004-12-05  Tor Lillqvist  <>

	* demos/gtk-demo/main.c (load_file): Use g_fopen().

	* demos/gtk-demo/images.c (progressive_timeout): Use
	g_fopen(). Open png file in binary mode.

2004-12-02  Matthias Clasen  <>
	* Bump version

	* === Released 2.5.6 ===

	* NEWS: Updates

2004-12-03  Tor Lillqvist  <>

	* gdk-pixbuf/ (gdk_pixbuf.def)
	* gdk/ (gdk.def)
	* gtk/ (gtk.def): Work around gcc misfeature. At least
	gcc 3.3.1 doesn't like to do -E on files that it thinks aren't
	source files. Use redirection and '-' instead.

2004-12-02  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): 	Reinstate the previous behavior for clicking Ok after
	activating a bookmark or path bar button in folder 
	modes.  (#160044, Dennis Cranston)

2004-12-02  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fix #159656:

	* gtk/gtkfilechooserdefault.c (PendingOp): New enumeration for the
	pending operation to perform when finishing loading a folder.
	(struct _GtkFileChooserDefault): New fields 'pending_op' and
	(pending_op_queue): New utility function.
	(pending_op_process): New utility function.
	(gtk_file_chooser_default_select_path): Don't select the path
	immediately; delay it until the folder is finished loading.
	(browse_files_model_finished_loading_cb): Process the pending
	(browse_files_select_first_row): New utility function.
	(gtk_file_chooser_default_initial_focus): Use
	(gtk_file_chooser_default_should_respond): Queue an operation to
	select the first row once we load the child folder.
	(up_folder_handler): Queue an operation to select the current
	folder once we load the parent folder.
	(gtk_file_chooser_default_finalize): Free the pending_select_path.

Thu Dec  2 13:18:34 2004  Manish Singh  <>

	* gdk/x11/gdkgc-x11.c (make_fg_tile_picture): Make sure we always
	return a value. Return None in the fallthrough case.

2004-12-02  Matthias Clasen  <>

	* gtk/gtkmessagedialog.c: (setup_primary_label_font):
	Don't leak pango_font_description object (#160214, Frederic Crozat).

2004-12-01  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_row_changed): Handle the
	fact the the changed row may also be moved.  (#159387, Olivier 

2004-12-01  Tor Lillqvist  <>

	* modules/input/imime.c (im_module_create): Use the module's
	correct name in test. (#160122)

2004-12-01  Michael Natterer  <>

	* gtk/gtkuimanager.[ch]: added virtual functions
	GtkUIManager::get_widget() and ::get_action(). Moved the code from
	gtk_ui_manager_get_widget() and get_action() to the default
	implementations. Fixes bug #160096.

	(gtk_ui_manager_get_toplevels): added missing precondition check
	for GTK_IS_UI_MANAGER(self).

2004-12-01  Dom Lachowicz <>

	* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: use MS Windows button order, not Gnome HIG order
	* modules/engines/ms-windows/msw_style.c (draw_handle): Draw XP toolbar grippie handle properly
	(draw_resize_grip): Draw XP status bar grippie handle properly
	(draw_arrow): XP theme combo box arrows on toolbars

2004-11-30  Dom Lachowicz <>

	* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: MS Windows menus should not have tearoffs

Tue Nov 30 17:53:37 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (node_compare): Assign an arbitrary, but
	consistent, order to nodes that the user function compares as
	equal. Better fix for bug #157670 and a better way to make sorting

2004-11-30  Hans Breuer  <>

	* gdk/win32/gdkpixmap-win32.c : remove the disputable memset at 
	the end of gdk_pixmap_new() - on X11 the bits are not initialized 
	either - fixes bug #145107

	* gtk/gtkfilesystemwin32.c : add an idle handler to emit "volumes-changed"
	when drives are plugged in or removed. Fixes bug #137815

2004-11-30  Matthias Clasen  <>

	* gtk/gtktreesortable.c (gtk_tree_sortable_get_sort_column_id): Update 
	the documentation to specify a more useful behaviour, which can be
	implemented with the multiple special values we have now.  (#159984,
	Nicholas Rahn)

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_sort_column_id): 
	* gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id): 
	* gtk/gtkliststore.c (gtk_list_store_get_sort_column_id): Update the

Tue Nov 30 16:25:29 2004  Owen Taylor  <>

	* gtk/gtktextdisplay.c (render_para): Don't paint in the
	trailing end of a wrapped line when the selection 
	starts after the line. (#160000, Matthias Clasen)

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): pass in byte_count + 1 
	for selection_end index when the selection end is past the end of the 
	line so that render_para() can distinguish it from selection-end
	*at* the end of the line. Fixes newlines not being selected.

2004-11-30  James M. Cape  <>

	* gtk/gtkfilechooserbutton.h (gtk_file_chooser_button_get_active)
	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_class_init)
	* docs/reference/gtk/gtk-sections.txt:
	* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml:
	* gtk/gtk.symbols: removed "GtkFileChooserButton:active" property and

	* gtk/gtkfilechooserbutton.c (struct _GtkFileChooserButtonPrivate)
	(button_toggled_cb) (dialog_response_cb) (button_notify_active_cb)
	(gtk_file_chooser_button_init) (button_clicked_cb)
	(gtk_file_chooser_button_show): Use a GtkButton instead of a
	(struct _GtkFileChooserButtonPrivate)
	(gtk_file_chooser_button_destroy) (gtk_file_chooser_button_style_set)
	(gtk_file_chooser_button_screen_changed): Don't bother with the
	(remove_settings_signal) (settings_notify_cb) (check_icon_theme):
	Don't use GtkSettings at all, just call change_icon_theme() directly.
	(struct _GtkFileChooserButtonPrivate)
	(entry_changed_cb) (update_idler) (update_entry) (update_dialog)
	(dialog_selection_changed_cb) (dialog_response_cb)
	(entry_size_allocate_cb): Remove all references to the now-defunct
	entry, store the old path (to support "Cancel") in an instance member.
	(update_label_and_image) (update_label) (update_image)
	(gtk_file_chooser_button_init) (dialog_response_cb)
	(dialog_selection_changed_cb): Merge label/image updates, only display
	the filename (not the whole path, fixes #157725).
	(struct _GtkFileChooserButtonPrivate)
	(dialog_selection_changed_proxy_cb): Merge "selection-changed"
	handlers, block while dialog is visible (fixes #158482).

	* tests/testfilechooserbutton.c (delete_event_cb)
	(properties_button_clicked_cb) (print_selected_path_clicked_cb)
	(tests_button_clicked_cb) (main): Add per-chooser "tests" window,
	don't delete on WM close, update properties_button_clicked_cb()
	"delete-event" callback.

2004-11-30  Dwayne Bailey  <>

	* Added "nso" to ALL_LINGUAS.

Tue Nov 30 09:46:49 2004  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_draw_xtrapezoids)
	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_draw_xft_glyphs):
	Call gdk_x11_drawable_update_xft_clip (part of #159929,
	James Henstridge)

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs_transformed): 
	Remove unused variables.

Tue Nov 23 19:37:34 2004  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): A little bit
	of microoptimization of repeated GDK_GC_XDISPLAY()/XGC().

2004-11-30  Matthias Clasen  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_sort_column_id): 
	* gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id): 
	* gtk/gtktreesortable.c (gtk_tree_sortable_get_sort_column_id): 
	* gtk/gtkliststore.c (gtk_list_store_get_sort_column_id): 

	* NEWS: Updates.

2004-11-29  Matthias Clasen  <>

	* gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't
	do the popup-on-click handling for menubars.  (#159931, 
	Søren Sandmann)
	* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Don't 
	handle popup delay if the submenu is already mapped.	

Mon Nov 29 16:56:33 2004  Manish Singh  <>

	* gtk/gtkcellview.h: remove gtk_cell_view_set_cell_data() declaration.

2004-11-29  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	* gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle
	Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions.  This
	lets us navigate the file system more easily.
	(gtk_file_chooser_default_should_respond): If we are in
	SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is

Mon Nov 29 17:51:51 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (_gtk_sequence_sort_changed): If the item is
	already in the right place, don't move it. Bug #157670.
	* gtk/gtksequence.c (already_in_place): New function

Mon Nov 29 17:28:53 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (_gtk_sequence_sort): Take nodes in reverse
	order to make sure sort is stable.

2004-11-29  Matthias Clasen  <>

	* gtk/gtkcombobox.c (cell_view_is_sensitive): Don't call
	gtk_cell_view_set_cell_data() from here.

	* gtk/gtk.symbols: Remove gtk_cell_view_set_cell_data()

	* gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): Call 
	gtk_cell_view_set_cell_data() from here.
	(gtk_cell_view_set_cell_data): Make static.

	* gtk/gtkcombobox.c (gtk_combo_box_menu_popup): Make menu mode
	work better when resizing the combo box.

	Determine the direction of XKB groups from their content, 
	not by looking for hardcoded keymap names.  (#116626, patch by 
	Behdad Esfahbod, based on an earlier patch by Ilya Konstantinov)
	* gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Cache directions
	for XKB groups.
	(get_direction): Determine direction of group by looking at 
	directions of keysyms.
	(update_direction): Maintain the cache of group directions.
	(gdk_keymap_get_direction): Use update_direction().

	* gdk/gdkkeynames.c: Add dead_hook and dead_horn.

	* gdk/gdkkeysyms.h (GDK_dead_hook, GDK_dead_horn): Define
	these keysyms.  (#159739, Samuel Thibault)

2004-11-29  Matthias Clasen  <>

	* gtk/ (gtkalias.h): 
	* gdk/ (gdkalias.h): Use the perl found by 
	configure.  (#149826, Morten Welinder)

2004-11-28  Matthias Clasen  <>

	* gtk/gtkwidget.h (gtk_requisition_get_type): 
	* gtk/gtktypeutils.h (gtk_identifier_get_type): 
	* gtk/gtktexttag.h (gtk_text_attributes_get_type): 
	* gtk/gtkstyle.h (gtk_border_get_type): 
	* gtk/gtkfilesystemmodel.h (_gtk_file_system_model_get_type): 
	* gtk/gtkfilechooserentry.h (_gtk_file_chooser_entry_get_type): 
	* gtk/gtkfilechooserembed.h (_gtk_file_chooser_embed_get_type):
	* gtk/gtkfilechooserdefault.h (_gtk_file_chooser_default_get_type): 
	* gtk/gtkaccelmap.h (gtk_accel_map_get_type): Mark as const.

	* gtk/gtk.symbols: 
	* gtk/ Mark get_type() functions
	generated by glib-mkenums as const.

	* gdk/gdkvisual.h (gdk_visual_get_type): 
	* gdk/gdkscreen.h (gdk_screen_get_type): 
	* gdk/gdkinput.h (gdk_device_get_type): 
	* gdk/gdk.h (gdk_rectangle_get_type): 
	* gdk/gdkfont.h (gdk_font_get_type): 
	* gdk/gdkevents.h (gdk_event_get_type): 
	* gdk/gdkdrawable.h (gdk_drawable_get_type): 
	* gdk/gdkdisplay.h (gdk_display_get_type): 
	* gdk/gdkcursor.h (gdk_cursor_get_type): 
	* gdk/gdkcolor.h (gdk_color_get_type): Mark as const.

	* gdk/gdk.symbols: 
	* gdk/ (stamp-gdkenumtypes.h): Mark get_type() functions
	generated by glib-mkenums as const.

	* gtk/gtktextview.c (gtk_text_view_move_iter_by_lines): Return
	a boolean indicating whether we could do the requested move.
	(gtk_text_view_move_cursor_internal): For GTK_MOVEMENT_DISPLAY_LINES,
	move to the beginning/end of the line if we're on the first/last
	line.  (#155891, Paolo Borelli)

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
	Don't move the iter and return FALSE if trying to move up from
	the first line.

2004-11-28  Matthias Clasen  <>

	* gtk/gtkaction.c (closure_accel_activate): Don't claim to have
	handled the accelerator if the action is insensitive.  (#151541,
	Jody Goldberg)

	* docs/tools/widgets.c: Add a combo box.

2004-11-27  Matthias Clasen  <>

	* gtk/gtkcolorsel.c (key_press): Implement keynav for the color
	picker (only on X11 currently, since GDK doesn't support pointer 
	warping). Space and Return pick a color, Esc cancels the picking, 
	arrow keys move the pointer by single pixels, Alt-arrow combinations 
	move the pointer by 20 pixels.  (#135385, Frances Keenan)

Sat Nov 27 15:18:14 2004  Manish Singh  <>

	* contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c
	(rgb565amsb, rgb555msb): make proper casts in big endian cases.

2004-11-26  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_set_model): Check column types on the
	new model, and check them all.  (#159389, Olivier Andrieu)
	(gtk_icon_view_set_model): Queue a layout. (#159436, Olivier Andrieu)

	* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list_for_display): 
	Don't crash if Xlib fails to return UTF-8. (#159373, Kristian Høgsberg) 

Thu Nov 25 14:32:35 2004  Manish Singh  <>

	* gdk/
	* gtk/ filter out G_GNUC stuff when doing the compare.

	* gtk/gtkmenuitem.c (gtk_menu_shell_button_release): add
	GTK_MENU_ITEM() cast.

2004-11-25  Kjartan Maraas  <>

	* Add forgotten «nb» to ALL_LINGUAS.
	* po-properties/nb.po: Update
	* po/nb.po: Update

2004-11-24  Matthias Clasen  <>

	Open submenus on click.  (#128968, Martin Jeppesen)
	* gtk/gtkmenushell.c (gtk_menu_shell_button_release): Don't
	activate items with submenus after the timeout, just select 

	* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Make
	submenus popup immediately on click, regardless of popup 

2004-11-23  Matthias Clasen  <>

	* Rework confusing error message.  (#151742,
	Stepan Kasal)

2004-11-23  Matthias Clasen  <>

	* gtk/gtkuimanager.h (gtk_ui_manager_get_type): 
	* gtk/gtktreeview.h (gtk_tree_view_get_type): 
	* gtk/gtktreeviewcolumn.h (gtk_tree_view_column_get_type): 
	* gtk/gtktreestore.h (gtk_tree_store_get_type): 
	* gtk/gtktreeselection.h (gtk_tree_selection_get_type): 
	* gtk/gtktreemodelfilter.h (gtk_tree_model_filter_get_type): 
	* gtk/gtktreemodel.h (gtk_tree_iter_get_type): 
	* gtk/gtktoolitem.h (gtk_tool_item_get_type): 
	* gtk/gtktoolbutton.h (gtk_tool_button_get_type): 
	* gtk/gtktoggleaction.h (gtk_toggle_action_get_type): 
	* gtk/gtkthemes.h (gtk_theme_engine_get_type): 
	* gtk/gtktextiter.h (gtk_text_iter_get_type): 
	* gtk/gtksettings.h (gtk_settings_get_type): 
	* gtk/gtkselection.h (gtk_selection_data_get_type): 
	* gtk/gtkradioaction.h (gtk_radio_action_get_type): 
	* gtk/gtkmenutoolbutton.h (gtk_menu_tool_button_get_type): 
	* gtk/gtkliststore.h (gtk_list_store_get_type): 
	* gtk/gtkiconview.h (gtk_icon_view_get_type): 
	* gtk/gtkicontheme.h (gtk_icon_info_get_type): 
	* gtk/gtkiconfactory.h (gtk_icon_factory_get_type): 
	* gtk/gtkfilesystemwin32.h (gtk_file_system_win32_get_type): 
	* gtk/gtkfilesystemunix.h (gtk_file_system_unix_get_type): 
	* gtk/gtkfilesystem.h (gtk_file_folder_get_type):
	(gtk_file_info_get_type, gtk_file_path_get_type):
	* gtk/gtkfilefilter.h (gtk_file_filter_get_type): 
	* gtk/gtkfilechooserwidget.h (gtk_file_chooser_widget_get_type): 
	* gtk/gtkfilechooser.h (gtk_file_chooser_get_type): 
	* gtk/gtkfilechooserdialog.h (gtk_file_chooser_dialog_get_type): 
	* gtk/gtkexpander.h (gtk_expander_get_type): 
	* gtk/gtkentrycompletion.h (gtk_entry_completion_get_type): 
	* gtk/gtkcombobox.h (gtk_combo_box_get_type): 
	* gtk/gtkcomboboxentry.h (gtk_combo_box_entry_get_type): 
	* gtk/gtkclipboard.h (gtk_clipboard_get_type): 
	* gtk/gtkcellview.h (gtk_cell_view_get_type): 
	* gtk/gtkcellrenderertoggle.h (gtk_cell_renderer_toggle_get_type): 
	* gtk/gtkcellrenderertext.h (gtk_cell_renderer_text_get_type): 
	* gtk/gtkcellrendererprogress.h (gtk_cell_renderer_progress_get_type): 
	* gtk/gtkcellrendererpixbuf.h (gtk_cell_renderer_pixbuf_get_type): 
	* gtk/gtkcellrenderercombo.h (gtk_cell_renderer_combo_get_type): 
	* gtk/gtkcelllayout.h (gtk_cell_layout_get_type):
	* gtk/gtkactiongroup.h (gtk_action_group_get_type): 
	* gtk/gtkaction.h (gtk_action_get_type): 
	* gtk/gtkaccessible.h (gtk_accessible_get_type): 
	* gtk/gtkaccelmap.h (gtk_accel_map_get_type): 
	* gtk/gtkaccelgroup.h (gtk_accel_group_get_type): 
	* gtk/gtkmessagedialog.h (gtk_message_dialog_get_type): Mark as const.  

	* gtk/gtkicontheme.h:  Don't mark gtk_icon_theme_error_quark() 
	as const, to be consistent with all the other error_quark 
	functions. (technically they are const, but since these are 
	called only in error paths, giving the compiler better 
	optimization opportunities doesn't matter much)

	* gtk/gtk.symbols:
	* gdk/gdk.symbols: Add attribute annotations.

	* gtk/ 
	* gdk/ Keep attribute annotations, but strip PRIVATE.
	* gtk/ (gtk.def): 
	* gdk/ (gdk.def): Strip attribute annotations, but keep 

2004-11-22  Matthias Clasen  <>

	* gtk/gtktoolbar.c (gtk_toolbar_set_icon_size): Add a deprecation

	* gdk/gdkevents.c (gdk_event_get_root_coords): Handle scroll
	events.  (#159098, Felipe Heidrich)

2004-11-22  Matthias Clasen  <>

	* gtk/gtkmenuitem.c (gtk_menu_item_paint): Make the size of 
	the arrow depend only on the font size, not on the child 
	allocation.  (#131345, Morten Welinder)

	* Require Pango 1.7.0 for PangoRenderer (#159061,
	Crispin Flowerday)
2004-11-21  Sven Neumann  <>

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): removed call
	to gdk_pango_context_set_colormap() which isn't needed any longer.

2004-11-21  Hans Breuer  <>

	* gdk/ gtk/stock-icons/makefile.msc 
	  gtk/ demos/gtk-demo/ : updated

	* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_draw_glyphs_transformed()
	* gdk/win32/gdkgc-win32.c : implement _gdk_windowing_gc_get_foreground()

	* demos/gtk-demo/rotated_text.c : use G_PI

Sat Nov 20 15:13:51 2004  Owen Taylor  <>

	* gdk/gdkpango.[ch]: Add GdkPangoRenderer, a subclass of 
	PangoRenderer targeting GDK drawables. Use to implement the old
	gdk_draw_layout() and friends.

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkwindow.c gdk/gdkpixmap.c:
	Add gdk_draw_glyphs_transformed() gdk_draw_trapezoids() and
	the corresponding members of GdkDrawableClass. Add a fallback
	implementation of gdk_draw_trapezoids() in terms of pixbufs.

	* gdk/gdkwindowing.h gdk/x11/gdkg-x11.h: Add 
	_gdk_windowing_gc_get_foreground() to enable the fallback 
	trapezoid implementation.

	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkdisplay-x11.h: Implement 
	draw_glyph_transformed,	draw_trapezoids.

	* gdk/x11/gdkdrawable-x11.[ch]: Add 
	_gdk_x11_drawable_draw_xtrapezoids, _gdk_x11_drawable_draw_xft_glyphs
	for use of GdkX11Renderer.

	* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Implement

	* gdk/gdkpango-x11.c: Add GdkX11Renderer... a subclass of 
	PangoXftRenderer that does tiles/stipples and fallback rendering
	of trapezoids without the RENDER extension.

	* gdk/gdkpango-x11.c gdk/x11/gdkscreen-x11.[ch] _gdk_x11_renderer_get:
	Add _gdk_x11_renderer_get() to get a singleton GdkX11Renderer
	for the screen.

	* gdk/x11/gdkdrawable-x11.c (get_impl_drawable): Fix a None/NULL

	* gtk/gtklabel.[ch] gtk/gtk.symbols: Add gtk_label_set/get_angle(),
	and an ::angle property.

	* gtk/gtklabel.c: Remove #if 0'd dead code gtk_label_paint_word().

	* gtk/gtktextdisplay.c: Switch to using a GtkTextRenderer subclass
	of GdkPangoRenderer for drawing.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Switch to using
	gtk_attr_shape_new_with_data() to store backreferences to 
	embedded pixmaps and widgets. Leave line_display->shaped_objects
	around for backwords compatibility.

	* gdk/gdkpango.[ch] (gdk_pango_context_set_colormap): Describe
	as deprecated, remove implementation.

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Remove
	call to gdk_pango_context_set_colormap.

	* demos/gtk-demo/ demos/gtk-demo/rotated_text.c: Add
	a demo showing drawing rotated text.

	* tests/testgtk.c: Add a rotated-label test, and also a rotated
	drawing test (differs from demos/gtk-demo/rotated_text by also
	using a tile)
2004-11-21  Sven Neumann  <>

	* talk about TIFF loader, not TIFF plug-in.

2004-11-20  Matthias Clasen  <>

	* gtk/gtk.symbols: 
	* gtk/gtkdialog.h: 
	* gtk/gtkdialog.c (gtk_dialog_set_alternative_button_order_from_array): 
	Provide a non-varargs variant of gtk_dialog_set_alternative_button_order()
	for language bindings.  (#158798, John Finlay)
2004-11-20  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	* gtk/gtkfilechooserdefault.c (list_icon_data_func): Set an empty
	icon if we are on the editable row:  if we don't set the cell
	renderer at all, it will reuse the last thing it painted.

2004-11-19  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fix #158475:

	* gtk/gtkpathbar.c (make_directory_button): Make the button a drag
	(button_drag_data_get_cb): New callback to let us drag the
	button's path as a text/uri-list.

2004-11-19  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fix #141077.  Based on a patch by Christian Neumair <>:

	* gtk/gtkfilechooserdefault.c (new_folder_button_clicked):
	Desensitize the "new folder" button.
	(edited_idle_cb): Sensitize the button back.

2004-11-19  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fix #158477:

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	Remove the "save_extra_align" and "browse_extra_align" fields; use
	a single "extra_align" field.
	(save_widgets_create): Don't create the save_extra_align.
	(browse_widgets_create): Don't create the browse_extra_align.
	(gtk_file_chooser_default_constructor): Create the extra_align
	(set_extra_widget): Add the extra widget to the alignment here,
	and remove the old one if necessary.
	(update_appearance): No need to frob the extra widget's alignments
	(gtk_file_chooser_default_set_property): No need to call
	update_appearance() anymore when we set the extra widget.

2004-11-19  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_initial_focus): Don't set the cursor if
	we are still loading.

2004-11-18  Federico Mena Quintero  <>

	Merged from gtk-2-4:

	Fixes #155744:

	Try to load the whole file system model within a specified time.

	* gtk/gtkfilechooserdefault.c (set_list_model): Don't create and
	set the sort model here.  Instead, set up a timer in which we'll
	try to load the file system model.
	(load_set_model): Create and set the sort model here.
	(load_setup_timer): New function to set up a timer and switch to
	the LOAD_LOADING state.
	(load_remove_timer): New function to unset the timer and switch to
	the LOAD_FINISHED state.
	(browse_files_model_finished_loading_cb): Remove the timer if
	needed and set the file system and sort model; switch to the
	(gtk_file_chooser_default_finalize): Remove the load timer.
	(gtk_file_chooser_default_init): Start in the LOAD_FINISHED state.

Fri Nov 19 15:18:51 2004  Manish Singh  <>

	* modules/engines/ms-windows/msw_rc_style.c
	* modules/engines/ms-windows/msw_style.c
	* modules/engines/ms-windows/msw_theme_main.c
	* modules/engines/pixbuf/pixbuf-main.c
	* modules/engines/pixbuf/pixbuf-rc-style.c
	* modules/input/gtkimcontextime.c
	* modules/input/gtkimcontextxim.c
	* modules/input/imam-et.c
	* modules/input/imcedilla.c
	* modules/input/imcyrillic-translit.c
	* modules/input/iminuktitut.c
	* modules/input/imipa.c
	* modules/input/imthai-broken.c
	* modules/input/imti-er.c
	* modules/input/imti-et.c
	* modules/input/imviqr.c
	* tests/prop-editor.c
	* tests/testentrycompletion.c
	* tests/testfilechooser.c
	* tests/testmerge.c
	* tests/testtoolbar.c
	* tests/testtreecolumns.c
	* tests/testtreeview.c: get rid of unnecessary casts.

	* tests/testgtk.c (create_labels): add GTK_LABEL() casts for
	gtk_label_set_ellipsize() calls.

	* tests/testicontheme.c (main): remove unused pixbuf variable.

Fri Nov 19 14:54:09 2004  Manish Singh  <>

	* gdk/linux-fb/gdkgc-fb.c
	* gdk/win32/gdkgc-win32.c
	* gdk/win32/gdkwindow-win32.c
	* gtk/gtkaboutdialog.c
	* gtk/gtkaction.c
	* gtk/gtkactiongroup.c
	* gtk/gtkcellrendererprogress.c
	* gtk/gtkcellview.c
	* gtk/gtkcolorbutton.c
	* gtk/gtkcombobox.c
	* gtk/gtkcomboboxentry.c
	* gtk/gtkentrycompletion.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkmenutoolbutton.c
	* gtk/gtkrc.c
	* gtk/gtksettings.c
	* gtk/gtkstyle.c
	* gtk/gtktoggletoolbutton.c
	* gtk/gtktoolbutton.c
	* gtk/gtktoolitem.c
	* gtk/gtktreemodelfilter.c
	* gtk/gtktreeselection.c
	* gtk/gtktreeviewcolumn.c
	* gtk/gtkuimanager.c: get rid of unnecessary casts.

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
	cast away the const for g_value_set_enum. This is after the g_warning,
	so this is a hack to begin with.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
	add a cast to GTK_FILE_CHOOSER for impl here.

Fri Nov 19 14:52:42 2004  Manish Singh  <>

	* rm autom4te.cache, since it might interfere with
	differing autoconf versions.

2004-11-19  Christian Rose  <>

	* Added "rw" to ALL_LINGUAS.

2004-11-17  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (gtk_about_dialog_set_email_hook) 
	(gtk_about_dialog_set_url_hook): Destroy the correct 
	data.  (#158522, John Finlay)

2004-11-16  Matthias Clasen  <>

	* Use gmodule-no-export-2.0.pc, require glib 2.5.7
	(#125627, Owen Taylor)

2004-11-17  Matthias Clasen  <>

	* gtk/gtkbutton.c: Don't return a relief when a 
	widget is expected.  (#158470, Kazuki IWAMOTO)

Tue Nov 16 19:44:26 2004  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkim-x11.c gdk/x11/gdkwindow-x11.c: 
	More strict aliasing warning suppressage.

Tue Nov 16 19:26:30 2004  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display): 
	Squash strict aliasing warnings. 

2004-11-17  Davyd Madeley  <>

	* gtk/gtkfilechooserdefault.c: Allow backspace to move up the
	FileChooser tree to make it consistent with Nautilus and others.

2004-11-16  Matthias Clasen  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix a 
	copy-and-paste error.  (#158459) 

	* demos/gtk-demo/*.c: Don't include config.h in the examples.

Tue Nov 16 00:08:07 2004  Jonathan Blandford  <>

	* docs/tools/widgets.c: Update so that toplevel windows accomodate
	for the titlebar when sizing.  Also clean up statusbar

	* docs/reference/gtk/images/*png: update

2004-11-16  Matthias Clasen  <>

	* gtk/gtkcellrenderertext.c (get_layout): Don't use the foreground
	color for selected cells, Don't use the background color
	in unfocused selected cells. Also avoid creating two PangoLayouts
	per render call.  (#154615, #154611, Billy Biggs)

Mon Nov 15 19:02:07 2004  Manish Singh  <>

	* gdk/
	* gtk/ don't hardcode lengths for cut, instead split on
	the third field.

2004-11-15  Matthias Clasen  <>

	* gtk/gtkselection.c: Reduce the clipboard timeout from 300
	seconds to 30 seconds.  (#155428, Billy Biggs)

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_setting_changed): 
	* gtk/gtkbutton.c (gtk_button_setting_changed): Really free the
	list.  (#158422, Morten Welinder)

2004-11-15  Matthias Clasen  <>

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_screen_changed) 
	* gtk/gtkbutton.c (gtk_button_screen_changed): Use 
	GPOINTER_TO_UINT()/GUINT_TO_POINTER() for guints.  (#158420,
	Morten Welinder)

Mon Nov 15 17:17:17 2004  Manish Singh  <>

	* Output Makefile for the pixbuf engine directory.

	* gtk/gtk.symbols: Add gtk_button_{get,set}_image.

	* modules/engines/pixbuf/pixbuf-render.c: Replace usage of deprecated

	* modules/engines/pixbuf/pixbuf-draw.c: undef GDK_DISABLE_DEPRECATED
	for gdk_draw_string (ick).

2004-11-15  Matthias Clasen  <>

	* gtk/gtkbutton.[hc]: Add a GtkButton::image property with setter 
	and getter, which allows to construct stock-like buttons with 
	custom images and/or text.  (#62466, Jonathan Blandford, patch by
	Matthias Clasen)

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_set_image): Add 
	some more docs.

Mon Nov 15 14:25:21 2004  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_set_dirty):
	Patch from Gavin Romig-Koch <> to no longer reset
	the resized_width when marking a column dirty.

2004-11-15  Matthias Clasen  <>

	* modules/engines/ (SUBDIRS): Add pixbuf.

	* gtk/gtkbutton.c: 
	* gtk/gtkimagemenuitem.c: Don't use one signal handler per
	instance to track changes to the gtk-menu-images and
	gtk-button-images settings. Instead use a single handler which 
	iterates over the widget hierarchy. (#143668)

	* gtk/gtktreemodel.c (gtk_tree_path_prev): Return FALSE if
	depth is 0 (noticed by Tim Janik)

2004-11-15 Erwann Chenede - <>

	* gtk/gtkfilesel.c: fix unselect in multiple selection (#156805)

2004-11-15  Matthias Clasen  <>

	* gtk/gtklabel.c: Include gtkdnd.h  (#158243, Kazuki IWAMOTO)

2004-11-13  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Allow
	min == max.  (#158225, Vasco Alexandre da Silva Costa)

2004-11-12  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init): Add more docs.

	* gtk/gtkfilefilter.c (gtk_file_filter_filter): Fix typo in

	* gtk/gtklabel.c (gtk_label_do_popup): Adjust to the current
	entry popup menu.
	(gtk_label_button_press, gtk_label_button_release) 
	(gtk_label_drag_data_get): Implement DND for selectable labels.

	Make GDK+ compile with X11R5 (#148032)
	* gdk/x11/xsettings-client.c (xsettings_client_new): 
	* gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Only
	use XInternAtoms if it is available.

	* gdk/x11/gdkasync.c: Include XIproto.h if necessary.

	* Check for XInternAtoms and X headers needed for
	* Bump version.

	* === 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  <>

	* tests/ (pixbuf_threads_LDADD): Make pixbuf-threads

	* NEWS: Updates

2004-11-12  Matthias Clasen  <>

	* tests/ Add pixbuf-threads

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

2004-11-11  Matthias Clasen  <>

	* 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/ 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  <>

	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
	(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  <>

	* 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 
	(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 
	(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  <>

	* 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  <>

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

2004-11-10  Tor Lillqvist  <>

	* 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  <>

	* 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  <>

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

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

	* 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  <>

	* 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 

	* 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  <>

	* 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  <>

	* 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  <>

	* 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

2004-11-05  Matthias Clasen  <>

	* 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  <>

	* gtk/stock-icons/ Typo fix.

	* gtk/gtkaboutdialog.c: Documentation updates.

2004-11-04  Bastien Nocera  <>

	* gtk/gtkiconfactory.c: (get_default_icons): Make sure the RTL
	variants are used for media icons
	* gtk/stock-icons/ 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  <>

	* 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  <>

	* 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  <>

	* 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  <>

	* 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  <>

	* 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  <>

	* 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  <>

	* 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  <>

	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

	* 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  <>

	* 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  <>

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

	* gtk/gtktextview.c (gtk_text_view_select_all): Use 

	* 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  <>

	* 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  <>

	* gdk/makefile.msc gtk/ : 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  <>

	* 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  <>

	* 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)

2004-10-27  Matthias Clasen  <>

	* Bump version

	* === Released 2.5.4 ===

	* (EXTRA_DIST): Remove po/makefile.mingw

2004-10-28  Anders Carlsson  <>

	* gtk/gtkclipboard.c: (gtk_clipboard_set_can_store):
	* gtk/gtkclipboard.h:
	Make targets const.

2004-10-27  Matthias Clasen  <>

	* gtk/ (gtkalias.h): 
	* gdk/ (gdkalias.h): Fix srcdir != builddir build.
	(#156547, Thomas Fitzsimmons)
	* NEWS: Updates.

	* gtk/gtkclipboard.c (gtk_clipboard_set_can_store): Silently
	ignore non-CLIPBOARD clipboards.  (#156610, Christian Persch)

	* gtk/gtksettings.c: Make it build on windows. (#156618,
	Kazuki IWAMOTO)

2004-10-26  Matthias Clasen  <>

	* gtk/gtkimcontextsimple.c (check_hex): Stop preediting if strtoul 
	couldn't parse the complete preedit string.  (#156434)

	* gtk/gtkmessagedialog.c: 
	* gtk/gtkfilechooserbutton.c: Add missing includes.  (#156503, 
	Kazuki IWAMOTO)

	* gtk/gtkimage.h: 
	* gtk/gtkimage.c (gtk_image_get_icon_name): Make the icon_name 
	parameter G_CONST_RETURN.
	* gtk/gtkimage.c: It is enough to listen for screen changes and 
	style-set to catch all icon theme changes.
	(gtk_image_set_property): Reset the image size if the pixel size 
	property is changed.

	* gtk/gtk.symbols: Add new symbols.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_store_clipboard): Fix the 
	doc comment.

2004-10-26  Anders Carlsson  <>

	* gtk/gtktextbuffer.c: (gtk_text_buffer_finalize),
	(create_clipboard_contents_buffer), (clipboard_get_contents_cb),
	(clipboard_clear_contents_cb), (cut_or_copy):
	Rewrite clipboard handling so that the clipboard contents 
	won't be freed when the text buffer is finalized. Also add 
	clipboard manager support. Fixes #95496.

2004-10-25  Anders Carlsson  <>

	* gtk/gtkentry.c: (gtk_entry_completion_timeout):
	* gtk/gtkentrycompletion.c: (gtk_entry_completion_set_model),
	(gtk_entry_completion_get_model), (gtk_entry_completion_complete):
	Really handle a NULL model, fixes #137211 for real.

	* gtk/gtkfilechooserentry.c:
	Remove _clear, #137211 is fixed.

	* tests/testentrycompletion.c: (main):
	Add completion with an empty model.
2004-10-25  Carlos Garnacho Parro  <>

	Fix for #118764, David Bordoley:
	* gtk/gtkmessagedialog.[ch]
	(gtk_message_dialog_format_secondary_format): API additions to
	create HIG-like dialogs

	* demos/gtk-demo/dialog.c: Use the new API in the example

	* docs/reference/gtk/gtk-sections.txt:
	* docs/reference/gtk/tmpl/gtkmessagedialog.sgml: documented API

2004-10-25  James M. Cape  <>

	Rework of GtkFileChooserButton, some cleanups. Fixes #154388,
	#154390, #154390, #156272.

	* docs/reference/gtk/gtk-docs.sgml: Moved GtkFileChooserButton
	below GtkFileChooser.
	* docs/reference/gtk/gtk-sections.txt: Added
	gtk_label_set_width_chars(), gtk_label_get_width_chars().
	* docs/reference/gtk/gtk.types: Added
	* docs/reference/gtk/tmpl/gtkaboutdialog.sgml: Add
	"logo-icon-name" property.
	* docs/reference/gtk/tmpl/gtkcellview.sgml: Updates for properties
	(b/c of get_type() inclusion above).
	* docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml:
	* docs/reference/gtk/tmpl/gtklabel.sgml: Add "width-chars" property,
	* docs/reference/gtk/tmpl/gtkcellrenderercombo.sgml: Added.
	* gtk/gtkentrycompletion.c:
	(_gtk_entry_completion_popdown): Don't show if the entry isn't
	* gtk/gtkfilechooserbutton.[c,h]: (*): About 45%
	rewritten, adds "width-chars" property, icons, working save modes,
	volume/Home/Desktop friendly-naming support.
	* gtk/gtklabel.[c,h]:
	(gtk_label_class_init), (gtk_label_init),
	(gtk_label_get_property), (gtk_label_set_property),
	(gtk_label_get_width_chars), (gtk_label_set_width_chars),
	(gtk_label_size_request): Add "width-chars" property.
	* tests/testfilechooserbutton.c: Update, use 4 different buttons for
	the different ACTIONs.
	* gtk/.cvsignore: Ignore gtk-update-icon-cache.
	* tests/.cvsignore: Ignore testimage.

2004-10-25  Matthias Clasen  <>

	* gtk/gtkcellrenderercombo.c (find_text): Don't leak text. (#156325,
	Olivier Andrieu)

2004-10-25  Anders Carlsson  <>

	* gdk/gdk.symbols: 
	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c:
	New API to handle the clipboard manager.

	* gtk/gtk.symbols:
	* gtk/gtkclipboard.c: (gtk_clipboard_class_init),
	(gtk_clipboard_finalize), (selection_clear_event_cb),
	(clipboard_unset), (gtk_clipboard_set_text),
	(gtk_clipboard_request_targets), (gtk_clipboard_wait_for_targets),
	(clipboard_peek), (gtk_clipboard_owner_change),
	(gtk_clipboard_store_timeout), (gtk_clipboard_set_can_store),
	(gtk_clipboard_selection_notify), (gtk_clipboard_store),
	* gtk/gtkclipboard.h:
	Add API for clipboard persistence and implement it, also add
	* gtk/gtkmain.c: (gtk_main):
	Call _gtk_clipboard_store_all before exiting.
2004-10-25  Matthias Clasen  <>

	* gtk/gtkaboutdialog.h: 
	* gtk/gtkaboutdialog.c (gtk_about_dialog_set_logo_icon_name)
	(gtk_about_dialog_get_logo_icon_name): Support named icons as 
	logos.  (#156378, James Henstridge)

	* gtk/gtkdialog.c (gtk_dialog_set_alternative_button_order): Fix the 
	doc formatting.

	* gtk/gtkcellview.[hc]: Make function parameter names consistent.

	* tests/ (noinst_PROGRAMS): Add testimage.

	* tests/testicontheme.c (main): Use gtk_image_new_from_icon_name().

2004-10-25  Matthias Clasen  <>

	Add a public setting for button ordering (#74669, Owen Taylor)
	* gtk/gtksettings.c (gtk_settings_class_init): Add a 
	gtk-alternative-button-order setting.

	* gtk/gtkdialog.h: 
	* gtk/gtkdialog.c (gtk_alternative_dialog_button_order): A 
	getter for the alternative button order setting.
	* gtk/gtkdialog.c (gtk_dialog_set_alternative_button_order): 
	New function to install an alternative button order for a 

	* gtk/gtkfilesel.c (gtk_file_selection_init): 
	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): 
	* gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): 
	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
	* gtk/gtkfilechooserdefault.c (location_popup_handler): 
	Set up an alternative button order.
2004-10-25  Matthias Clasen  <>

	* gtk/gtkimage.h: 
	* gtk/gtkimage.c (gtk_image_new_from_icon_name)
	(gtk_image_set_from_icon_name, gtk_image_get_icon_name)
	(gtk_image_set_pixel_size, gtk_image_get_pixel_size):  Add a
	new type GTK_IMAGE_ICON_NAME for named icons, update the size
	and content of stock, icon set and named icon images upon style
	changes, and allow to set a fixed pixel size for named icon
	images.  (#155688, James Henstridge)

	* tests/testimage.c: Test application for theming behaviour of
	different image types and for image dnd.

2004-10-24  Matthias Clasen  <>

	* gtk/gtkcellrenderercombo.c: Use G_DEFINE_TYPE, initialize the
	has_entry property, ref the model and add a finalizer.  (#156325,
	Olivier Andrieu)
Sun Oct 24 02:56:43 2004  Jonathan Blandford  <>

	* docs/tools/widgets.c: Update GtkFileChooserButton doc shot.

2004-10-24  Matthias Clasen  <>

	* gtk/gtkicontheme.c: Use the new g_key_file api in GLib.

	* gtk/ (gtk_c_sources): Remove gtkiconthemeparser.[hc]

	* gtk/gtkiconthemeparser.[hc]: Removed.

	* gtk/gtkfilechooserdefault.c (location_popup_handler): If the
	location dialog is brought up by typing '/', insert the slash
	in the entry.  (#155370, Warren Togami)

2004-10-23  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb) 
	(trap_activate_cb): Accept shift-/ for bringing up the location
	popup, since German and French keyboards generate such 
	events.  (#154163, Frederic Crozat)

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate 
	the window if the tree is empty, to avoid resizing artifacts
	from the focus rectangle.  (#155881, Vincent Noel, patch by
	Billy Biggs)	

Sat Oct 23 16:14:37 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (_gtk_sequence_node_insert_sorted): Remove
	assertion that can get triggered by broken sort functions.

Sat Oct 23 16:07:46 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (_gtk_sequence_swap): Replace broken, overly
	clever implementation with one that works.
	* gtk/gtkliststore.c (gtk_list_store_swap): emit "rows_reordered"
	instead of "changed" twice.

	Bug 153479

Sat Oct 23 15:17:55 2004  Søren Sandmann  <>

	* gtk/gtkmenutoolbutton.c (button_state_changed_cb): Remove check
	for previous state being ACTIVE. Bug 153876.

2004-10-22  Matthias Clasen  <>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_drag_data_received) 
	(gtk_file_chooser_button_init): Use the new file DND api.

	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c (gtk_drag_dest_add_uri_targets) 

	* gtk/gtkselection.h:
	* gtk/gtkselection.c (gtk_target_list_add_uri_targets):
	(gtk_selection_data_get_uris): New functions to allow
	handling file DND "without knowing jack shit".

	* Bump glib requirement to 2.5.4.

	* gtk/gtkfilechooserdefault.c (shortcuts_drop_uris): Use

Fri Oct 22 13:25:25 2004  Owen Taylor  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Fix 
	backspacing on the empty last line of a buffer 
	Dan Williams)

2004-10-22  Matthias Clasen  <>

	* gtk/gtkdnd.c: Document how to use info with text/image 

	* gtk/gtkselection.h: 
	* gtk/gtkselection.c (gtk_target_list_add_text_targets): 
	(gtk_target_list_add_image_targets): Add info argument.
	* gtk/gtkcalendar.c (gtk_calendar_motion_notify): 
	* gtk/gtkentry.c (gtk_entry_init): 
	* gtk/gtktextview.c (gtk_text_view_init): Adjust all callers.

2004-10-22  Anders Carlsson  <>

	* gtk/gtktexttag.c: (gtk_text_tag_get_property):
	GdkBitmap is a GObject, not a boxed type.
Thu Oct 21 15:01:09 2004  Owen Taylor  <>


	* gtk/gtkentry.c: Fix checking the wrong position for
	the backspace_deletes_character PangoLogAttr.

	* gtk/gtktextbuffer.[ch] gtk/gtk.symbols (gtk_text_buffer_backspace): 
	Move backspace logic from GtkTextView to here, check 

	* gtk/gtktextview.c: Use gtk_text_buffer_backspace().

2004-10-21  Matthias Clasen  <>

	* gtk/gtkiconcache.c: Include io.h on windows.  (#156075,
	Kazuki IWAMOTO)
	(_gtk_icon_cache_new_for_path): Don't use MAP_FAILED if we don't
	have mmap.

	* gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Implement for
	cached themes.

	* gtk/gtkiconcache.h: 
	* gtk/gtkiconcache.c (_gtk_icon_cache_has_icon): New function.

	* gtk/updateiconcache.c (scan_directory): Don't skip .icon 
	files which are listed before their images.
	(foreach_remove_func): Instead filter lonely .icon files out

	* gtk/gtkicontheme.c (theme_dir_get_icon_suffix): Filter out
	the HAS_ICON_FILE flag.

2004-10-21  Matthias Clasen  <>

	* gtk/gtkiconcache.c: Make it compile without mmap() and
	add some more checks.  (#155973, Morten Welinder)

	Add convenience api for image dnd (#150165):
	* gtk/gtkselection.h: 
	* gtk/gtkselection.c (gtk_target_list_add_image_targets) 
	(gtk_selection_data_set_pixbuf, gtk_selection_data_get_pixbuf): 
	New functions to handle the image formats readable/writable 
	by gdk-pixbuf. 
	* gtk/gtkdnd.h: 
	* gtk/gtkdnd.c (gtk_drag_dest_add_image_targets) 
	(gtk_drag_source_add_text_targets): New functions to handle
	the image formats readable/writable by gdk-pixbuf. 

2004-10-20  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_new): Make
	the code clearer.  (#155239, Murray Cumming)

	* gtk/gtkicontheme.c: Small fixes.

	* gtk/gtkrc.c: Include gtkmodules.h.  (#155885, Kazuki IWAMOTO)

	* gtk/gtktoolbar.h: Add _gtk_toolbar_rebuild_menu(). (#155885)

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
	Fix a wrong blurb.  (#155838, Morten Welinder)

2004-10-19  Matthias Clasen  <>

	Implement icon theme caching.  (#154034, Martijn Vernooij,
	caching schema proposed by Owen Taylor, initial implementation
	by Anders Carlsson)
	* gtk/gtkdebug.h: 
	* gtk/gtkmain.c: Add a "icontheme" debug flag.

	* gtk/ (gtk_c_sources): Add gtkiconcache.c
	(gtk_private_h_sources): Add gtkiconcache.h
	(bin_PROGRAMS): Add gtk-update-icon-cache

	* gtk/gtkicontheme.c: Use icon caches if they are available.
	Currently, GTK+ uses the cache to get information about the
	available sizes, image file formats and .icon files. The
	actual image data, and the .icon file contents are not 
	cached yet.

	* gtk/updateiconcache.c: A cmdline utility for generating
	icon cache files.

	* gtk/gtkiconcache.h: 
	* gtk/gtkiconcache.c: The glue code to mmap an icon cache
	file and manage the information it contains.

	* tests/testicontheme.c: Add a "display" option.

2004-10-19  Matthias Clasen  <>

	* tests/testicontheme.c: Set the locale, tidy up output.

2004-10-18  Matthias Clasen  <>

	Fix #155658, Sebastien Bacher:
	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new 
	is_leader flag.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
	leader windows even if they are withdrawn.
	(gdk_window_set_group): Mark the new leader window as such. We 
	never remove the flag again, but that should a) be vanishingly
	rare and b) not a problem, since the flag just turns off an

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
	leader window as such.

2004-10-17  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
	dialogs if the main dialog is hidden. (#155084, Paolo Borelli)

2004-10-16  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (gtk_about_dialog_destroy): Don't leak
	the secondary dialogs.  (#155084, Paolo Borelli)

	* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
	focus on the ring. 

2004-10-15  Matthias Clasen  <>

	* gdk/ Include linux-fb/gdkfb.h when building
	the framebuffer backend.  (#155486, Olexiy Avramchenko)

2004-10-15  Matthias Clasen  <>

	* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED
	before emitting ::size-request, following this weeks discussion

	* gtk/gtkcellview.c (gtk_cell_view_get_size_of_row): Restore 
	the size info for the current row after measuring another 
	row.  (#154945, William Jon McCann)

2004-10-14  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): Don't
	get text unnecessarily.  (#155384, Morten Welinder)
	(gtk_file_chooser_default_finalize): Don't forget to
	unref the tooltips.  (#155412, Morten Welinder)
	(shortcuts_add_current_folder): Don't leak volume. (#155400,
	Morten Welinder)

2004-10-12  Matthias Clasen  <>

	* gtk/gtkcontainer.c (_gtk_container_queue_resize): Acknowledge 
	the fact that invariants are broken and loop all the way up to 
	the resize container.

Tue Oct 12 17:11:02 2004    <>

	* gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the
	widget for resize or emit change notification if the usize didn't
	change. this works around a buggy signal connection in #155139.

2004-10-11  Matthias Clasen  <matthias@localhost.localdomain>

	* docs/tools/widgets.c: Create scrolledwindow, statusbar, 
	scale and image images. 

2004-10-10  Matthias Clasen  <matthias@localhost.localdomain>

	* docs/tools/widgets.c: Create a toolbar, menubar, progressbar,
	notebook and messagedialog images.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_all): 
	Avoid a warning.

Sun Oct 10 11:24:56 2004  Jonathan Blandford  <>

	* gtk/gtkcontainer.h (struct _GtkContainer): add /*< private >*/

2004-10-09  Matthias Clasen  <>

	* docs/tools/widgets.c: Shrink panes and separators images to MEDIUM.

	* gtk/gtkcellview.c: Add docs.

	* gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_get_menu): Fix
	doc comment.

	* gtk/gtkactiongroup.h: 
	* gtk/gtkactiongroup.c: Reinstate the accidentally lost addition 
	of gtk_action_group_translate_string().

	* gtk/gtkaccelgroup.h: Declare gtk_accelerator_get_label.

2004-10-08  Matthias Clasen  <>

	* gdk/x11/gdkx.h: Declare gdk_x11_window_set_user_time here.

	* gtk/gtktreeview.c (gtk_tree_view_grab_notify): Don't start a 
	drag if we loose the grab.

	* gtk/gtkfilechooserdefault.c (renderer_edited_cb): Set the cell 
	renderer to inert mode to avoid bug #154921.  This fixes a crash
	which would otherwise occur if the editing is stopped for the second
	time.  (#154767, Manuel Baena García)

	* gtk/gtkdebug.h: 
	* gtk/gtkwidget.c (gtk_widget_size_allocate): Add a new debug
	flag, geometry, to debug size allocation.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Set cell data
	unconditionally.  (#152562, Federico Mena Quintero)

2004-10-08  Matthias Clasen  <>

	* gtk/gtkuimanager.c (update_node): Also update smart separators 
	if the visibility of a  menuitem with a submenu changes.  (#153791,
	Christian Persch)

2004-10-08  Matthias Clasen  <>

	* gtk/gtkentry.h:
	* gtk/gtkentry.c: 
	* gtk/gtkentrycompletion.c: 
	* gtk/gtkspinbutton.c: Share the three copies of get_borders()
	under the name _gtk_entry_get_borders().  (#116368, Owen Taylor)

2004-10-07  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (check_is_folder): Don't free 
	info too early.  (#154703, Morten Welinder)

	* gtk/gtkfilechooserdefault.c: Include gtkeventbox.h.
	(#154798, Morten Welinder)

2004-10-06  Matthias Clasen  <>

	* gtk/gtkpaned.c (gtk_paned_compute_position): Reduce rounding 
	error.  (#154658, John Cupitt)

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected): Clear
	the iter instead of returning it unmodified. (#154186, Jonathan Blandford)

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_focus): Pop up
	the completions again after tab.  (#147700, Jens Bech Madsen)

	* gtk/gtktreeview.c (gtk_tree_view_search_iter): Set the cursor
	before changing the selection to make the file chooser preview
	update work better.  (#143826, Tommi Komulainen)

2004-10-06  Matthias Clasen  <>

	* gtk/gtkrange.c (gtk_range_real_change_value): Replace a really
	gross way of rounding to a specified number of digits.  (#145232,
	Peter Zelezny, patch by Soeren Sandmann)

Wed Oct  6 00:45:04 2004    <>

	* gdk/gdkwindow.c (gdk_window_is_viewable): check the iteration window
	variable, not just the window passed in. fixes #145270.

Tue Oct  5 21:00:54 2004  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_size_allocate): reverted my last change 
	and applied owen's leaner conditional flag update which should be good
	enough to preserve resizing flag invariants.

2004-10-05  Matthias Clasen  <>

	* NEWS: Updates

Tue Oct  5 19:29:06 2004  Tim Janik  <>

	* gtk/gtkentry.h: removed redundant gtk_entry_get_layout() decl.

2004-10-05  Matthias Clasen  <>

	* gtk/gtkicontheme.c (icon_info_ensure_scale_and_pixbuf): Go back to
	not scaling up at all. Less magic.

Tue Oct  5 17:06:26 2004  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
	set on ::size-allocate, another size-request has been queued since
	::size-request and needs to be requeued.

2004-10-05  Paolo Borelli  <>

	* gtk/gtkmenutoolbutton.c: rename the activate-menu signal to
	show-menu as discussed in bug #153873.

2004-10-05  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Set 
	action_name.  (#154526, John Finlay)

	* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new_for_display): 
	Return a new reference to an existing GdkWindow if one already
	exists.  (#151378, Gustavo Carneiro)

2004-10-05  Matthias Clasen  <>

	Provide access to the string representation of accelerators used
	in GtkAccelLabel.  (#154068, John Spray)

	* gtk/gtkaccelgroup.h:
	* gtk/gtkaccelgroup.c (gtk_accelerator_get_label): New function
	to return the accelerator label used in GtkAccelLabel. 
	(gtk_accelerator_name): Update docs to point to 
	* gtk/gtkaccellabel.h:
	* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
	New auxiliary function which creates the string representing the
2004-10-05  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Resize the
	popup if a new model is set.  (#154129, Bernd Demian)

2004-10-04  Matthias Clasen  <>

	* gtk/gtkicontheme.c (icon_info_ensure_scale_and_pixbuf): 
	Make the code work as intended for unthemed icons; don't scale
	them up too much. Allow to scale them down, and do so 
	exactly.  (#154142, Ross Burton)
	(gtk_icon_info_load_icon): Amend docs.

	* gtk/gtkcelllayout.c (gtk_cell_layout_clear): Improve 
	docs.  (#154504, Dave Cook)

	* gtk/gtkwindow.c (gtk_window_set_icon_list): 
	(gtk_window_set_default_icon_list): Ref the new icons
	before unreffing the old ones.  (#154468, Morten Welinder)
	(gtk_window_realize_icon): Only set using_themed_icon if
	we actually got an icon list from the theme.  (#154472, Morten

2004-10-03  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_set_model): Reset pointers
	pointing to the old model.  (#154350)

	* gtk/gtkwindow.c (icon_list_from_theme): Don't leak the
	sizes array.  (#154310, Christian Persch)

	* gtk/gtktreeviewcolumn.c 
	Set sort_indicator to FALSE when appropriate.  (#153714, 
	Reinout van Schouwen)

	* gtk/gtktreeview.c (gtk_tree_view_search_position_func): 
	Fix positioning near the monitor boundaries.  (#154341,
	Ken Harris)

2004-10-01  Paolo Borelli  <>

	* gtk/gtkmenutoolbutton.c: deactivate the menu before setting it
	to something else. Bug #153887.

2004-10-01  Matthias Clasen  <>

	Fix bug #150790:
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): Fix the
	calculation of x_offset when ellipsized and in RTL mode.
	(gtk_cell_renderer_text_render): Fix the calculation of the layout
	width when ellipsized.  

2004-10-01  Tor Lillqvist  <>

	* gdk/win32/gdkglobals-win32.c: Set _gdk_input_ignore_wintab to
	FALSE, thus enabling tablet input by default.

	* gdk/win32/gdkmain-win32.c (_gdk_windowing_args): Accept the
	--use-wintab option again (but without effect, as this is now the
	default, see above). (#153788)

	* modules/input/gtkimcontextime.c: Numerous changes.

	Remove the ifdef UNICODE conditionals. Always use the
	wide-character Imm* API. It is present also in Windows 98 and
	Me. (Not Windows 95, but I think we don't care about that.) Using
	the multibyte API wouldn't work anyway on systems where the system
	codepage doesn't support the language the user uses an IME for, so
	for instance I wouldn't be able to test this module on my English
	Windows 2000 although I do have C, J and K IMEs available.

	Guard against IMM not being active, always check ImmGetContext()
	returning NULL. Work to some extent even without any IME. Fixes
	#153800 at least partially.

	* modules/input/imime.c (ime_info): Rename to "ime" to match the
	naming pattern of other input modules. Make it default for
	ja:ko:zh only.

2004-10-01  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Add a comment regarding
	cell renderers to the docs.

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear_attributes): 
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_clear_attributes): 
	Silently ignore info being NULL. This is unavoidable with the 
	current design where we have every implementation of layout_clear
	call layout_clear_attributes, and also delegate calls to dependent
	cell layouts.  (#154191, Martyn Russell)

2004-10-01  Matthias Clasen  <>

	* modules/input/iminuktitut.c: Fix the spelling of Inuktitut
	in several places.  (#154176, John Austin)

2004-09-30  Paolo Borelli  <>

	* tests/testellipsize.c: exit on close.

2004-09-29  Matthias Clasen  <>

	* gtk/gtkmain.c: Make --g-fatal-warnings a G_OPTION_ARG_NONE,
	since it doesn't take an argument.

2004-09-29  Christopher Blizzard  <>

	* gtk/gtkmenutoolbutton.h: Remove trailing semicolon on

2004-09-29  Paolo Borelli  <>

	* tests/testtoolbar.c: add a GtkMenuToolButton.

2004-09-29  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_move_cursor_left_right) 
	(gtk_icon_view_move_cursor_up_down): Handle an empty icon
	view gracefully.  (#152486)

	Allow keynav to selectable labels (#138085, David Hawthorne):
	* gtk/gtkdialog.c (gtk_dialog_map): Skip selectable labels when
	looking for the initial focus widget.

	* gtk/gtklabel.c (gtk_label_focus): Remove to put selectable labels 
	in the regular focus chain again.

2004-09-28  Matthias Clasen  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Don't
	reuse insensitive pixbufs across multiple rows.  (#153984, Milosz

	* gtk/gtkmain.c (gtk_parse_args): Use gtk_get_option_group() 
	to obtain an option group with correctly set pre- and post-
	parse hooks, instead of manually calling the hooks. This fixes
	a problem with setting the program class in the gdk preparse
	hook.  (#153788, Robert Ögren)

2004-09-27  Matthias Clasen  <>

	Fix #153082:
	* gtk/gtkmain.c (do_pre_parse_initialization): Don't call gdk_parse_args()
	here, we don't want to parse args twice.
	(gtk_init_with_args): Add the ugid check here as well.
	(gtk_parse_args): Add the gdk options to the main option group as well.

2004-09-27  Paolo Borelli  <>

	* gtk/
	* gtk/gtk.h:
	* gtk/gtkmenutoolbutton.[ch]: add the GtkMenuToolButton widget
	discussed in bug #151441.

	* docs/reference/gtk/gtk-docs.sgml:
	* docs/reference/gtk/gtk-sections.txt:
	* docs/reference/gtk/gtk.types:
	* docs/reference/gtk/tmpl/gtkmenutoolbutton.sgml: docs for the
	new widget.

2004-09-27  Matthias Clasen  <>

	* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_list_children): 
	Emit ::finished-loading.

2004-09-27  Roozbeh Pournader  <>
	* Added Iranian Azerbaijani (az_IR) to ALL_LINUGAS.

2004-09-27  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_append_column): Fix typo in
	docs.  (#153811, Billy Biggs)

	* gtk/gtkpathbar.h (struct _GtkPathBar): Only need a bit for

2004-09-26  Matthias Clasen  <>

	* gtk/gtknotebook.c (gtk_notebook_class_init): Add a missing _
	to the name of the has_secondary_backward_stepper property.
	Noticed by Michèle Garoche.

Sun Sep 26 02:06:43 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.h (struct _GtkPathBar): add missing structures.

2004-09-26  Matthias Clasen  <>

	* gtk/gtkpathbar.c (gtk_path_bar_check_parent_path): Scroll
	to make the current folder visible.  (#152921)

	* gtk/gtkbutton.c: Revert the button state to !button_down,
	if we're missing the release event due to grab shadowing
	or insensitivation.

	* gtk/gtkpathbar.c: Make the slider buttons scroll.

	* gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): Remove 
	debug spew.
	(bookmarks_check_remove_sensitivity): Don't free an uninitialized

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): 
	cursor_pos is in characters, not bytes.  (#153332, Owen Taylor)

2004-09-25  Robert Ögren  <>

	* gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Set
	lcSysOrgX and lcSysOrgY from device instead of hardcoding to 0,
	a further fix for bug #145467.

2004-09-25  Matthias Clasen  <>

	* gtk/gtktextiter.c (inside_word_func): Don't access 
	attr[-1].  (#153628, Padraig O'Briain)

2004-09-23  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c: Add some tooltips.

2004-09-22  Matthias Clasen  <>

	* gtk/gtkrange.c (gtk_range_map, gtk_range_unmap): 
	* gtk/gtkbutton.c (gtk_button_map, gtk_button_unmap): Remove
	unnecessary g_return_if_fail()s from virtual functions.  (#153469,
	(Tristan Van Berkom) 

	* gtk/gtkaboutdialog.c (gtk_about_dialog_finalize): Don't leak
	cursors.  (#153468, Christian Persch)

	* gtk/gtktreeview.c (gtk_tree_view_key_press): Don't leak old_text.
	(#153467, Christian Persch)

	* gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use
	bitops on booleans.
	(gtk_file_chooser_default_should_respond): Make it easier to 
	select folders in SELECT_FOLDER mode.

Wed Sep 22 00:54:34 2004  Matthias Clasen  <>

	* demos/gtk-demo/pixbufs.c (do_pixbufs): Don't leak the frame

Tue Sep 21 16:55:38 2004  Manish Singh  <>

	* tests/testtreemodel.c: #include <config.h> for HAVE_MALLINFO define,
	other minor cleanups.

Tue Sep 21 16:27:19 2004  Manish Singh  <>

	* gdk/gdk.c: remove now unused arg variables.

	* gdk/gdkinternals.h: declare _gdk_windowing_init ().

	* gtk/gtkmain.c (do_pre_parse_initialization): call gdk_parse_args ()
	here instead of gdk_pre_parse_libgtk_only (). Should fix #153082.

2004-09-21  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): 
	Don't assert that current_focus != NULL, just return FALSE.

	* gtk/gtkpathbar.c (gtk_path_bar_size_request): Give the path
	bar arrows some more space.

	* Check for mallinfo.

	* tests/testtreemodel.c: Only include malloc.h if HAVE_MALLINFO
	is defined.  (#153168, Darren Creutz)

	* gtk/gtkactiongroup.c: Fix typos in signal docs.  (#153224,
	John Finlay)

Mon Sep 20 19:44:58 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_activate_iter): Don't
	return FALSE from a void function.  (#153185, Joel Fredrikson)

2004-09-20  Matthias Clasen  <>

	* gtk/gtkbutton.c (gtk_button_class_init): Add a boolean ::displace-focus
	style property and apply child displacement to the focus rectangle 
	if it is TRUE.  (#141170, Soeren Sandmann)

Sun Sep 19 23:56:18 2004  Søren Sandmann  <>

	* gtk/gtkmenu.c (MENU_SCROLL_TIMEOUT2): Change from 50 to 20 to
	make the menus scroll faster.

2004-09-19  Matthias Clasen  <>

	* Bump version

	* === Released 2.5.3 ===

2004-09-18  Matthias Clasen  <>

	Make GtkFileChooserButton activatable via mnemonics.
	(#152925, Dennis Cranston, patch by James M. Cape)

	* gtk/gtkfilechooserbutton.c: Add a ::mnemonic-activate signal
	and a suitable default handler.

	* tests/testfilechooserbutton.c: Add a mnemonic.

2004-09-18  Matthias Clasen  <>

	Fix win32 build errors.  (#153032, #153028, Robert Ögren)

	* gdk/win32/gdkmain-win32.c: Make it compile.  

	* gtk/gtkmain.c: Include glib.h.  

2004-09-18  Federico Mena Quintero  <>

	Merged from 2.4:

	* gtk/gtkfilesystem.h: Removed the GTK_FILE_PATH() and
	GTK_IS_FILE_PATH() macros.  They are not supposed to exist, as
	GtkFilePath is not an object.  And they never worked, anyway.

2004-09-18  Marco Pesenti Gritti  <>

	* gtk/gtkentry.c: (gtk_entry_completion_key_press):

	Make numeric pad enter activate the selected completion
	entry. Fix bug 143486 reported by Edd Dumbill.

2004-09-17  Matthias Clasen  <>

	* NEWS: Updates

	* gtk/gtkfilechooserdefault.c (select_func): Scroll to the selected
	row.  (#143868, Christian Persch)

2004-09-17  Matthias Clasen  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Remove
	leftover debug code.

	Improve the behaviour of the file chooser in save mode. Fixes bugs
	#151031, #151608, #151994 reported by Owen Taylor and Alexander 
	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property): 
	(location_entry_create): Propagate the action to the file 
	chooser entries.
	(gtk_file_chooser_default_should_respond): Switch folders if 
	the user enters a directory name in the entry and clear the entry
	after switching folders.
	(gtk_file_chooser_default_should_respond, shortcuts_row_activated_cb): 
	Move focus to the file list when activating a shortcut.
	(gtk_file_chooser_default_should_respond): Handle the case where the
	user clicks on "Save" after selecting a folder in the file list.

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property): 
	Propagate the action to the file chooser entries.
	* gtk/gtkfilechooserentry.h: 
	* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action): 
	(_gtk_file_chooser_entry_get_action): New functions to propagate
	the GtkFileChooserAction of the file chooser to the file chooser 
	(check_completion_callback): If we are in save mode, only do 
	inline completion for directories. 

Fri Sep 17 11:20:03 2004  Jonathan Blandford  <>

	* gtk/gtklabel.c (gtk_label_set_markup): Add an example to the

Thu Sep 16 23:20:05 2004  Matthias Clasen  <>

	* gtk/gtkselection.c (selection_get_text_plain): 
	* gdk/x11/gdkselection-x11.c (make_list): Warn if a UTF8_STRING
	or text/plain;charset=utf-8 roperty contains invalid 
	UTF-8.  (#152845, Owen Taylor)

2004-09-16  Matthias Clasen  <>

	Fix #152760, Christian Persch:
	* gtk/gtkaboutdialog.c (gtk_about_dialog_finalize): Don't free
	private data.
	(gtk_about_dialog_set_translator_credits): Recommend the msg
	id translator-credits.
	(display_credits_dialog): Show translator credits if they're
	translated, not if they're untranslated.

Thu Sep 16 02:07:56 2004  Jonathan Blandford  <>

	* docs/tools/widgets.c (create_icon_view): load images at normal

	* docs/reference/gtk/images/*png: Update shots.

Thu Sep 16 00:33:11 2004  Jonathan Blandford  <>

	* docs/tools/widgets.c (new_widget_info): Add constrained sizing
	to the widgets.  This gives us all images running the same size,
	which will make the table layout look better.

2004-09-15  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_get_frame_extents):
	Remove bogus code that tried to do what the X11 backend does in
	its version of this function. There are no "frame windows" (for
	toplevel window decoration) on Windows. The desktop ("root")
	window is not the parent of a toplevel window. (#152481)

2004-09-15  Matthias Clasen  <>

	* NEWS: Update.

Wed Sep 15 00:57:37 2004  Matthias Clasen  <>

	* docs/tools/widgets.c: Add accel label, file button
	and icon view.

Tue Sep 14 22:01:49 2004  Matthias Clasen  <>

	* New option --disable-visibility to disable
	the use of ELF visibility attributes for PLT reduction.

	* gtk/ 
	* gdk/ Respect the DISABLE_VISIBILITY

Tue Sep 14 23:20:56 2004  Søren Sandmann  <>

	* gtk/gtkaction.c (connect_proxy): Call

	* gtk/gtktoolitem.c (gtk_tool_item_class_init): Update
	documentation for GtkToolItem::create_menu_proxy.

	* gtk/gtktoolitem.c (gtk_tool_item_rebuild_menu): New
	API to make the toolbar update itself when the proxy menu item
	for a tool item changes.

	* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Call
	gtk_tool_item_rebuild_menu here()

	* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents):
	Remove redundant check for need_label.

2004-09-14  Matthias Clasen  <>

	* gtk/gtkmain.c (do_post_parse_initialization): Remove an unused 
	variable, spotted by Morten Welinder.

	* gtk/queryimmodules.c (escape_string): Copy code from queryloaders.c
	which turns backslashes in slashes on win32.  (#152608, Kazuki IWAMOTO)

	* gtk/gtktreeview.c (gtk_tree_view_focus_to_cursor): Set the cursor
	to the first selected row instead of always to the first row if there
	is no cursor.  (#143270, Jean Bréfort)

	* tests/testfilechooser.c (main): Fix a few typos.

2004-09-13  Matthias Clasen  <>

	* gtk/gtkexpander.c: 
	* gtk/gtktreeview.c: Change the default expander size to 12 to compensate 
	for the recent change to gtk_default_draw_expander().

	* gtk/gtkstyle.c (gtk_default_draw_expander): Use a linewidth of one
	for expander sizes up to 16

	* gtk/gtkentrycompletion.c (gtk_entry_completion_get_model): Resize the
	popup if the model is replaced.  (#152333)

Mon Sep 13 09:11:53 2004  Manish Singh  <>

	* gtk/gtkrange.c: fix gtk_range_real_change_value args. Addresses part
	of #152518.

2004-09-13  Matthias Clasen  <>

	Fix some problems reported by Morten Welinder:
	* gtk/gtkfilesystem.c: Include gtkmodules.h, not gtkmain.h, since
	the modules stuff moved.

	* gtk/gtkmain.c (gtk_arg_no_debug_cb): Add a missing return

	* gtk/gtksettings.c: Add missing include. 
	(settings_update_modules): Remove an unused variable.

2004-09-13  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Improve positioning of entry completion popup.

2004-09-09  Matthias Clasen  <>

	* gtk/ 
	* gdk/ Use the short prefix "IA__" for 
	aliases instead of the long suffix "__internal_alias". 

	* tests/testfilechooser.c (main): Update sensitivity of the "Select all"

Wed Sep  8 18:38:08 2004  Soeren Sandmann  <>

	Make dropping of expandable items look nicer.
	* gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
	placeholder expand if highlight item is expanding.

	* gtk/gtktoolbar.c (toolbar_content_set_expand): New function.

	* gtk/gtktoolbar.c (toolbar_content_get_expand): Return TRUE only
	if the item is not disappering.

2004-09-07  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Use the proper node type
	for placeholders in toolbars.  (#151963, Olivier Andrieu)

	* gtk/gtkstyle.c (gtk_default_draw_expander): Draw expanders a bit 

Sun Sep  5 17:14:16 2004  Matthias Clasen  <>

	* gtk/gtkmain.c: 
	* gdk/gdk.c: 
	* gdk/x11/gdkmain-x11.c: 
	* gdk/win32/gdkmain-win32.c: Add descriptions for the 
	commandline arguments. The actual descriptions are mostly 
	taken from libbonoboui, so translators should be able to 
	copy existing translations from there.

2004-09-05  Anders Carlsson  <>

	* gdk/gdk.symbols:
	* gtk/gtk.symbols:
	Add new functions

2004-09-05  Anders Carlsson  <>

	* gdk/gdk.c: (gdk_arg_class_cb), (gdk_arg_name_cb),
	(gdk_add_option_entries_libgtk_only), (gdk_pre_parse_libgtk_only),
	* gdk/gdk.h:
	* gdk/gdkinternals.h:
	* gdk/linux-fb/gdkmain-fb.c: (_gdk_windowing_init):
	* gdk/win32/gdkmain-win32.c: (_gdk_windowing_init):
	* gdk/x11/gdkdisplay-x11.c: (gdk_display_open):
	* gdk/x11/gdkmain-x11.c: (_gdk_windowing_init):
	* gtk/gtkmain.c: (gtk_arg_debug_cb), (gtk_arg_no_debug_cb),
	(gtk_arg_module_cb), (gtk_arg_warnings_cb),
	(do_pre_parse_initialization), (do_post_parse_initialization),
	(pre_parse_hook), (post_parse_hook), (gtk_get_option_group),
	(gtk_init_with_args), (gtk_parse_args):
	* gtk/gtkmain.h:
	Make gtk argument parsing use goption. Add gtk_get_option_group and
	* tests/testtreemodel.c: (main):
	Use gtk_init_with_args.
Sun Sep  5 01:04:01 2004  Matthias Clasen  <>

	Allow sorting of tree models to be turned off 
	again.  (#151139, Torsten Schoenfeld)
	* gtk/gtktreesortable.h: 

	* gtk/gtktreestore.c (gtk_tree_store_sort): 
	* gtk/gtkliststore.c (gtk_list_store_sort): Don't sort if
	the list store is not sorted.

Sat Sep  4 23:37:56 2004  Matthias Clasen  <>

	* Fix the Solaris Xinerama checks.  (#151754)

Sat Sep  4 22:45:49 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_backspace): Don't refuse to delete
	text in passwords.  (#151723, Owen Taylor)

Sat Sep  4 16:51:00 2004  Søren Sandmann  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_prepare): Revert accidental
	change from Aug 02 that removed a flush of the X connection from
	gdk_event_prepare() causing applications to get stuck. (#151732,
	Richard Hoelscher).

Fri Sep  3 22:45:03 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (print_node): Don't print out attributes
	for the <ui> root node.  (#151752, Lorenzo Gil Sánchez)

Sat Sep  4 02:38:57 2004  Søren Sandmann  <>

	* gtk/gtktoolbar.c (position): Accelerate the animation when it
	has been running for a while. (#143647).

2004-09-03  Tor Lillqvist  <>

	* List the three theme gtkrc files separately, zip
	doesn't do anything if one of the files on its command line
	doesn't exist.

	Handle changes of screen resolution on Win32. (#151581, reported by
	Arjohn Kampman)
	* gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_init,
	_gdk_root_window_size_init): Factor out setting the root window's
	size (as the size of the union of all monitors) to a new function.

	* gdk/win32/gdkdisplay-win32.c (gdk_display_open,
	_gdk_monitor_init): Factor out the monitor query to a new

	* gdk/win32/gdkprivate-win32.h: Declare above new functions.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate,
	handle_display_change): Handle WM_DISPLAYCHANGE by calling the
	above two functions, and emitting the "size_changed" signal on our
	(only) GdkScreen.

2004-09-01  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): 
	Document the return value.

2004-09-01  Matthias Clasen  <>

	Make it possible to specify additional modules to load
	via a setting.  (#117236, Alex Graveley)
	* gtk/gtkmodules.h: 
	* gtk/gtkmodules.c: New files which contain the module
	handling code which was previously in gtkmain.[hc]. 
	Additionally, the code now looks for the gtk-modules 
	setting, which can specify additional modules to load.

	* gtk/gtkmain.c: 
	* gtk/gtkmain.h: Remove all the module handling code.

	* gtk/gtkdebug.h: Add a debug flag for modules.

	* gtk/gtk.h: Include gtkmodules.h

	* gtk/ (gtk_public_h_sources): Add gtkmodules.h
	(gtk_c_sources): Add gtkmodules.c

	* gtk/gtksettings.c: Add the gtk-modules setting.

	* gdk/x11/gdkevents-x11.c: Add the Gtk/Modules XSetting.

Wed Sep  1 19:11:44 2004  Søren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Make sure
	children of the toolbar are given positive dimensions. (149540,
	Felipe Heidrich).

2004-09-01  Matthias Clasen  <>

	* gtk/gtkfilesystemunix.c: 
	* gtk/gtkfilechooserbutton.c: Protect the unistd.h include

Wed Sep  1 02:38:48 2004  Matthias Clasen  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
	accel labels ellipsize correctly.  (#151559, Christian Persch)

Wed Sep  1 00:55:56 2004  Matthias Clasen  <>

	* gtk/gtkimage.c (gtk_image_clear): Don't leak the iter
	of a running animation.  (#151542)

Tue Aug 31 23:40:29 2004  Matthias Clasen  <>

	* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Make
	"ms-windows" the default theme on Win32.  

Tue Aug 31 23:24:49 2004  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_main_button): Only start  
	a drag if the left button is pressed.  (#151490, Frederic Croszat)

Tue Aug 31 23:20:58 2004  Matthias Clasen  <>

	* gdk/x11/gdkdnd-x11.c (gdk_drop_finish): Remove debug spew.

Tue Aug 31 17:07:41 2004  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_process_action): constrain cell area to
	passed in cell_area, #147867

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): if
	ellipsizing, get_size is only 3 chars wide.

	* docs/tree-column-sizing.png: Add Matthias's excellent image.

2004-08-28  Robert Ögren  <>

	On Win32, do not produce tablet motion or button events while a
	window is being moved or resized. (#151090, reported by	Shaneyfelt)

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkevents-win32.c: Rename the variable resizing to
	_sizemove_in_progress and make it extern.

	* gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Ignore
	motion and button events if _sizemove_in_progress is true.

2004-08-30  Tor Lillqvist  <>

	Make the ms-windows theme engine build with mingw.

	* Expand also modules/engines/ms-windows/Theme/
	Makefile and .../Theme/gtk-2.0/Makefile.

	* modules/engines/ms-windows/ Adapt for building
	inside the GTK sources.

	* modules/engines/ms-windows/*.c: Use "foo.h" style includes for
	GTK and GDK headers. Use correct path for gdkwin32.h header.

	* modules/engines/ms-windows/msw_style.c: Don't use deprecated GDK

	* modules/engines/ms-windows/xp_theme_defs.h
	* modules/engines/ms-windows/xp_theme.c: Move definitions of TMT_*
	to xp_theme.c, as they are neither in mingw's nor Platform
	SDK's tmschema.h.

	* modules/engines/ms-windows/xp_theme.c: Define _WIN32_WINNT as
	0x0501 to get the necesssary stuff from mingw's uxtheme.h.

2004-08-30  Matthias Clasen  <>

	Integrate the ms-windows theme engine (better known as Wimp)
	into the autotools build. Wimp ( 
	was written by Raymond Penners and Dom Lachowicz. The Wimp 0.6.2
	sources have been added to the GTK+ source tree in 
	modules/engines/ms-windows, and there is a ChangeLog detailing 
	the history of Wimp. (#109615, Havoc Pennington)
	* Generate modules/engines/Makefile and 

	* modules/ (SUBDIRS): Add engines.

	* modules/engines/ Compile ms-windows for win32.

2004-08-30  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler):
	Make it compile.

2004-08-27  Matthias Clasen  <>

	Fix #151112, Olexiy Avramchenko:
	* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): 
	* gtk/gtkiconview.c (scroll_timeout, layout_callback) 
	* gtk/gtkcombobox.c (list_popup_resize_idle, popdown_idle) 
	(popup_idle): Protect idle callbacks and timeouts with 

	* gtk/gtkfilechooserbutton.c (update_dialog_idle): New function to
	call update_dialog() from an idle with the necessary protection.

Mon Aug 30 01:34:42 2004  Matthias Clasen  <>

	Changes to make sure input methods respect the editability
	of entries and text views. #114173, Noah Levitt.
	* gtk/gtkentry.c (popup_targets_received): Make the Input 
	Methods menuitem insensitive if we're not editable.

	* gtk/gtkentry.c (gtk_entry_delete_surrounding_cb): 
	* gtk/gtkentry.c (gtk_entry_preedit_changed_cb): 
	* gtk/gtkentry.c (gtk_entry_commit_cb): Don't change anything 
	if we're not editable.

	* gtk/gtkentry.c (gtk_entry_focus_out): 
	* gtk/gtkentry.c (gtk_entry_focus_in): Only send focus_in and
	focus_out to the im context if we're editable.

	* gtk/gtkentry.c (gtk_entry_set_property): Reset the im context
	if the entry just became non-editable.

	* gtk/gtktextview.c (gtk_text_view_delete_surrounding_handler): 
	Use gtk_text_buffer_delete_interactive() to not delete
	non-editable portions of text.

2004-08-30  Tor Lillqvist  <>

	* modules/input/ (im_ime_la_LIBADD): Link with -limm32.

	* modules/input/gtkimcontextime.c: Use quotes in #includes, to
	find headers when building inside GTK+ sources.

2004-08-27  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c (GdkDragContextPrivateWin32): Add
	drop_failed, like in the X11 backend. Nothing sets it, though.
	(gdk_drag_drop_succeeded): Copy from X11 backend.

Thu Aug 26 23:58:11 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't crash
	if model is not set. Noted by Mariano Suarez-Alvarez.

Thu Aug 26 22:44:12 2004  Matthias Clasen  <>

	Provide information about how an adjustment change in a range 
	widget happened. Add a "change-value" signal which reports how 
	a user is interacting with the range, whether they are clicking 
	on a stepper or the trough, or dragging the slider.  (#133263,
	Thomas Fitzsimmons)

	* gtk/gtkmarshalers.list: Add signal type BOOLEAN:ENUM,DOUBLE.
	* gtk/gtkrange.c (gtk_range_class_init): Add "change-value"
	(gtk_range_internal_set_value): Rename to
	gtk_range_real_change_value.  Add GtkScrollType parameter.  Emit
	the change-value signal when the range's value changes.
	(update_slider_position, gtk_range_scroll_event, step_back,
	step_forward, page_back, page_forward, scroll_begin,
	scroll_end): Change gtk_range_internal_set_value to
	* gtk/gtkrange.h (struct _GtkRangeClass): Declare change_value

2004-08-26  Matthias Clasen  <>

	* modules/input/ Build on Windows.

	* modules/input/gtkimcontextime.h: 
	* modules/input/gtkimcontextime.c: 
	* modules/input/imime.c: 
	* modules/input/imm-extra.h: Add the IME input method for Win32
	written by Takuro Ashie and Kazuki IWAMOTO. The code was previously
	hosted at  (#135195)

2004-08-26  Bill Haneman <>

	* gtk/gtktreeview:
	If a multi-selection list contains only one item,
	select it on cursor_up or cursor_down.
	Fixes bug #131226.
	[patch from Padraig O'Briain]

2004-08-26  Matthias Clasen  <>

	Make gdk_window_process_[all]_updates() respect 
	update_freeze_counter  (#144272, Soeren Sandmann)
	* gdk/gdkwindow.c (gdk_window_schedule_update): New function to
	install an idle for gdk_window_update_idle() if one isn't there
	(gdk_window_process_updates): Only process the updates if the
	window isn't frozen.
	(gdk_window_invalidate_maybe_recurse): Schedule an update when
	(gdk_window_thaw_updates): Use gdk_window_schedule_update() instead
	of directly installing the idle.

2004-08-22  Robert Ögren  <>

	On Win32, make graphical tablets work on multi-monitor systems.
	(#145467, reported by buttknock1@ya...)

	* gdk/win32/gdkinput-win32.c (gdk_input_translate_coordinates):
	Use dimensions of _gdk_parent_root as screen size.
	(gdk_input_get_root_relative_geometry): Get coordinates relative
	to GDK root window instead of Win32 coordinates.
	(_gdk_input_other_event): Updated accordingly.

Wed Aug 25 17:24:17 2004  Manish Singh  <>

	* gdk/x11/gdkfont-x11.c: remove unused gdk_font_charset_for_locale()

	* gdk/x11/gdkinput-x11.c (_gdk_input_common_init): remove unused
	variables num_extensions and extensions.

	* gtk/gtkhsv.c: remove unused gtk_hsv_get_focus_gc() function.

Wed Aug 25 17:14:58 2004  Manish Singh  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_activate): initialize
	path so we don't potentially use an undefined pointer.

	* gtk/gtkfilechooserdefault.c (shortcuts_list_create): add G_CALLBACK
	cast for tree_view_keybinding_cb.

	* gtk/gtkfilechooserdefault.c (location_entry_create): cast to
	GTK_FILE_CHOOSER_ENTRY for _gtk_file_chooser_entry_set_file_part()

	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_start_editing):
	cast to GTK_COMBO_BOX for gtk_combo_box_set_active_iter() call.

	* gtk/gtkselection.c (selection_get_text_plain): make len a gsize,
	since that's what g_convert_with_fallback() expects.

Wed Aug 25 16:14:34 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_activate): activate the
	typeahead entry on enter.

2004-08-25  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_attach_to_widget): Steal ATTACHED_MENUS
	list so its tail isn't freed when we re-set it, noticed
	by Hans Petter Jansson.

	* gtk/gtksizegroup.c (gtk_size_group_add_widget): Fix
	a typo, noticed by Tim Janik.

Wed Aug 25 15:15:56 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (gtk_path_bar_size_allocate): Change the Down
	button to be end-justified, so that clicking on it is a stable

Tue Aug 24 02:06:37 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c
	(gtk_tree_view_real_expand_collapse_cursor_row): Don't handle the
	event if we have no children.

	* gtk/gtkfilechooserdefault.c (trap_activate_cb):
	(tree_view_keybinding_cb):Since GtkTreeView has a keybinding
	 attached to '/', we need to catch keypresses before the TreeView
	 gets them.
	(gtk_file_chooser_default_class_init): add '/' to be a keybinding
	to the C-l dialog.
	(location_entry_create): Clear the text to "" when loading a file.
	This has a much better feel than putting the currently selected
	* #include <errno.h>

2004-08-25  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (check_is_folder): Use get_file_info() rather 
	than trying get_folder() and checking for an error directly because older 
	versions of the gnome-vfs backend don't return an error 
	immediately.  (#150852, Zack Cerza )

2004-08-25  Matthias Clasen  <>

	* Post-release version bump.

	* === Released 2.5.2 ===

	* gdk/
	* gtk/ Make work during make distcheck.
	* docs/RELEASE-HOWTO: Add hint about doing make check 
	before make distcheck.
	* gtk/gtk.symbols: Add some missing symbols.

	* gtk/gtkiconview.c: Add some missing statics.

2004-08-24  Matthias Clasen  <>

	* NEWS: Updates for 2.5.2

Wed Aug 25 00:22:48 2004  Søren Sandmann  <>

	* gtk/gtksequence.c: Remove debug spew

Wed Aug 25 00:09:07 2004  Søren Sandmann  <>

	* gtk/gtkliststore.c (gtk_list_store_move_after): Fix logical
	errors in gtk_list_store_move_before/after(). (#150983, patch by
	Robert Ögren).

Tue Aug 24 21:46:42 2004  Søren Sandmann  <>

	* gtk/gtksequence.c (_gtk_sequence_move): Just return if the
	parameters are identical. (#150159, Robert Ögren)

2004-08-24  Matthias Clasen  <>

	* gtk/gtkaction.c (connect_proxy, disconnect_proxy): Handle 
	action_group being NULL.  (#150869,  Tommi Komulainen)

2004-08-24  Matthias Clasen  <>

	* gdk/gdkimage.c (allocate_scratch_images): Use the correct 
	index variable.  (#150941, Tommi Komulainen)

2004-08-24  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_node_queue_redraw): Take header
	height and adjustment into account.  (#136496, Pawek Salek)

Mon Aug 23 17:19:19 2004  Jonathan Blandford  <>

	* docs/tools/ (clean-local): add the doc shooter to the
	docs dir as an uninstalled helper tool.

2004-08-23  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Make it compile.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a 
	user_time field.

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Update
	(show_window_internal): Update the user time when re-mapping a
	toplevel window.  (#150502, Elijah Newren)

2004-08-23  Matthias Clasen  <>

	Fix #150822, reported by Christian Persch
	* gtk/gtklabel.c (gtk_label_ensure_layout): Set the layout width
	appropriately when ellipsized.
	(gtk_label_size_allocate): Only set the layout width if there
	is a layout.

2004-08-23  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Support the latest
	EWMH additions to the _NET_ACTIVE_WINDOW client message 
	format.  (#150668, Elijah Newren)

Mon Aug 23 01:17:59 2004  Matthias Clasen  <>

	* gdk/gdkrgb.c (gdk_rgb_xpixel_from_rgb_internal): Set unused
	bits in pixel to 1s in case they are used as alpha; copying
	code from gdk_colormap_alloc_colors().  (#150466, Rich Wareham)

2004-08-22  Philip Langdale  <>

	* gtk/gtkaction.c (gtk_action_disconnect_proxy): Two signals
	(gtk_action_sync_property and gtk_action_sync_sensitive) were
	not being correctly disconnected, leading to actions continuing
	to affect disconnected proxies. (#150607)

2004-08-22  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_new_internal,
	gdk_window_new, gdk_window_set_skip_taskbar_hint): Don't show TEMP
	windows in the Task Manager. Implement by calling
	gdk_window_set_skip_taskbar_hint(TRUE) on them. (#145481, Tim

	* gdk/win32/gdkdisplay-win32.c (enum_monitor, gdk_display_open):
	Report whole of (primary) monitor, including any taskbars.
	Excluding the taskbar area from the "root window" reported to GDK
	doesn't seem to be that useful although gdk/win32 had been doing it
	for a very long time. (#149013, see also #145467 and #148526)

Sun Aug 22 16:55:15 2004  Soeren Sandmann  <>

	* gtk/gtkexpander.c
	* gtk/gtkalignment.c: 
	* gtk/gtktexttag.c
	Make enums match property names. Found by a script by Tommi

	* gtk/gtkpaned.c (gtk_paned_class_init): fix min/max mixup.

Sun Aug 22 16:09:49 2004  Soeren Sandmann  <>

	* gtk/gtkliststore.h (struct _GtkListStore): 
	* gtk/gtkliststore.c (gtk_list_store_init): 
	* gtk/gtkliststore.c (gtk_list_store_insert): 
	* gtk/gtkliststore.c (gtk_list_store_remove): 
	Restore length field; PyGTK and maybe others use it directly.

Sun Aug 22 15:46:56 2004  Soeren Sandmann  <>

	* gtk/gtkpaned.c (gtk_paned_class_init):

	* gtk/gtkfontbutton.c (gtk_font_button_class_init):

	Both pointed out by Tommi Komulainen.

Sun Aug 22 13:44:53 2004  Soeren Sandmann  <>

	* gtk/gtkpaned.c (gtk_paned_class_init): Use PROP_MAX_POSITION,
	not PROP_MIN_POSITION for the max_position property. Fix pointed
	out by Tommi Komulainen.

Sun Aug 22 13:32:33 2004  Soeren Sandmann  <>

	* gtk/gtkliststore.c (gtk_list_store_insert): Normalize the
	position so we don't create paths with off-list
	indices. (#150320).

Sun Aug 22 12:04:59 2004  Soeren Sandmann  <>

	* gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Use the
	correct tree path (#150289, Morten Welinder).

Sun Aug 22 00:08:44 2004  Matthias Clasen  <>

	Fix #150406, reported by Fernando San Martín Woerner, patch
	by Gustavo Carneiro.
	* gtk/gtkentrycompletion.c 
	(gtk_entry_completion_default_completion_func): Check that 
	column is of type G_TYPE_STRING before proceeding.

Sat Aug 21 23:52:13 2004  Matthias Clasen  <>

	* gtk/gtktreestore.c (gtk_tree_store_swap): Don't use an 
	uninitialized tree iter.  (#150414, Torsten Schoenfeld)

Sat Aug 21 23:29:54 2004  Matthias Clasen  <>

	Fix #150738, Tomislav Jonjic.
	* gtk/gtktoolitem.h (GTK_IS_TOOL_ITEM_CLASS): 
	* gtk/gtktoolbutton.h (GTK_IS_TOOL_BUTTON_CLASS): 
	* gtk/gtktoggleaction.h (GTK_IS_TOGGLE_ACTION_CLASS): 
	* gtk/gtkseparatortoolitem.h (GTK_IS_SEPARATOR_TOOL_ITEM_CLASS): 
	* gtk/gtkradiotoolbutton.h (GTK_IS_RADIO_TOOL_BUTTON_CLASS): 
	* gtk/gtkradioaction.h (GTK_IS_RADIO_ACTION_CLASS): 
	* gtk/gtkuimanager.h (GTK_IS_UI_MANAGER_CLASS): 
	* gtk/gtkaction.h (GTK_IS_ACTION_CLASS): Fix macro definitions.

Wed Aug 18 17:25:26 2004  Manish Singh  <>

	* demos/testpixbuf-save.c
	* demos/gtk-demo/hypertext.c: Get rid of some unnecessary casts.

	* demos/gtk-demo/appwindow.c: Make activate_email and activate_url
	match the arguments for GtkAboutDialogActivateLinkFunc.

Wed Aug 18 16:18:00 2004  Manish Singh  <>

	* gtk/gtktreeview.c (gtk_tree_view_row_inserted): Initialize height
	from fixed_height before we do anything, so it always has a valid

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): Fix call
	to gtk_tree_model_get (missing "," in param list).

2004-08-18  Federico Mena Quintero  <>

	Merged from 2.4:

	Fixes #149251:

	* gtk/gtkfilechooserdefault.c: Renamed SHORTCUTS_COL_PATH to
	easily whether the SHORTCUTS_COL_DATA points to a GtkFilePath or a
	(shortcuts_model_create): Create a boolean column for
	(shortcuts_reload_icons): Simplify with the use of the
	SHORTCUTS_COL_IS_VOLUME column.  Don't leak the pixbuf.
	(shortcuts_insert_path): Add the SHORTCUTS_COL_IS_VOLUME data.
	(shortcuts_free_row_data): New helper function; frees the data
	columns for an iter.
	(shortcuts_remove_rows): Don't take a callback for freeing the
	data; free everything here instead.  Use
	(volume_remove_cb): Removed.
	(remove_bookmark_cb): Removed.
	(remove_row_cb): Make this a single generic function to delete
	(shortcuts_add_volumes): Use remove_row_cb().
	(shortcuts_add_bookmarks): Likewise.
	(struct _GtkFileChooserDefault): Removed the
	shortcuts_current_folder_is_volume field.
	(shortcuts_add_current_folder): Oops, don't free the volume.
	(remove_current_folder_cb): Removed.
	(shortcut_find_position): Simplify through the use of the
	(remove_selected_bookmarks): Assert that we don't get a volume.
	(shortcuts_reorder): Likewise; also, plug a leak.
	(gtk_file_chooser_default_remove_shortcut_folder): Simplify
	through the use of shortcuts_remove_rows().
	(gtk_file_chooser_default_list_shortcut_folders): Assert that we
	don't get a volume.
	(shortcuts_activate_iter): Simplify.
	(home_folder_handler): Simplify by using
	(shortcuts_free): New function; frees all the data columns.
	(gtk_file_chooser_default_finalize): Unref the
	shortcuts_filter_model and the shortcuts model data first.

Wed Aug 18 08:31:17 2004  Manish Singh  <>

	* gtk/gtkiconview.c: Applied patch from Olivier Andrieu to fix
	bug #150440.

	* gtk/gtkicontheme.c (gtk_icon_theme_init): xdg_data_dirs should
	match constness attributes of g_get_system_data_dirs ().

2004-08-17  Matthias Clasen  <>

	* gtk/gtkicontheme.c (gtk_icon_theme_init): Look up icon themes in the 
	directories specified in the icon theme spec: $HOME/.icons, 
	$XDG_DATA_DIRS/icons, /usr/share/pixmaps. Note that GTK+ used to also look 
	in $GTK_DATA_DIR/icons, $GTK_DATA_DIR/pixmaps and /usr/share/icons.  (#148694)

	* gtk/gtkframe.c (gtk_frame_paint): Take widget->state into account when
	painting the shadows.  (#150351, Tim Janik)

2004-08-17  Matthias Clasen  <>

	* gtk/ No need for INCLUDE_INTERNAL_SYMBOLS anymore.

	* gdk/gdk.symbols: Don't use #if defined().

	* gdk/ (gdkalias.h): 
	* gtk/ (gtkalias.h): Don't use cpp to filter gtk.symbols.

	* gdk/ 
	* gtk/ Move the #ifdef processing into the perl script, and
	keep the #ifdefs which differentiate between platforms.

	* gtk/ (gtk_private_h_sources): Remove gtkinternals.h, it is no 
	longer needed.

2004-08-17  Matthias Clasen  <>

	* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
	rtl testing.

	* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
	(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
	(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
	(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
	seems to expect a path, not an uri.
	(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
	info if it is NULL. 

	* gtk/gtkfilechooserbutton.h: Minor stylistic changes.

2004-08-17  Matthias Clasen  <>

	* gtk/gtkfilechooserbutton.[hc]: New widget to go along with 
	GtkFontButton and GtkColorButton for use in preference dialogs.
	Replaces GnomeFileEntry.  (#148108, James M. Cape)

	* gtk/gtk.h: Include gtkfilechooserbutton.h

	* gtk/ (gtk_public_h_sources): Add gtkfilechooserbutton.h
	(gtk_c_sources): Add gtkfilechooserbutton.c

	* gtk/gtk.symbols: Add the GtkFileChooserButton symbols.

	* gtk/gtkfilechooserutils.[hc]: Make the delegate quark available. 

	* gtk/gtkfilechooserentry.[hc] (_gtk_file_chooser_entry_new): Allow
	to suppress tab-eating using the new eat_tabs argument. Adjust all

	* tests/testfilechooserbutton.c: Test for GtkFileChooserButton.

	* tests/ (noinst_PROGRAMS): Add testfilechooserbutton

2004-08-16  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_render_icon): Doc update.

	* gtk/gtkiconfactory.c (render_icon_name_pixbuf): When the size is -1,
	use the available size closest to 48.  (#150147)

	* gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes): Actually return
	a pointer to the beginning of the sizes array, not the end.

2004-08-16  Morten Welinder  <>

	* tests/testtreemodel.c (test_run): Comment out mallinfo stuff.
	Fix g_print %-strings.

	* gtk/gtksequence.c (_gtk_sequence_set): Fix C99ism.

2004-08-16  Christian Rose  <>

	* Added "bs" to ALL_LINGUAS.

Mon Aug 16 01:35:25 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.[hc]: Add a ::focus-on-click property and
	change the default behaviour to focus on click.

	* gtk/gtkbutton.c (gtk_button_set_focus_on_click): Typo fix.

Mon Aug 16 01:03:08 2004  Matthias Clasen  <>

	* gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset): 
	(gtk_text_iter_set_visible_line_index): Count from the 
	beginning of the line, not from the current position.  (#150101,
	Torsten Schoenfeld)

2004-08-15  Tor Lillqvist  <>

	* Fix typo. The gtk.immodules file had never been
	included in my zipfiles...!

	* gtk/gtkfilesystemwin32.c (extract_icon): Improve handling of
	icon alpha channel (on Windows XP) and mask (older Windows
	versions). (#148641, Tim Evans)

Sun Aug 15 02:31:55 2004  Matthias Clasen  <>

	* gtk/gtkfilesystemunix.c (get_icon_type_from_stat): Make 
	the use of S_ISFIFO and S_ISSOCK conditional.  (#150146,
	Gustavo Carneiro)

2004-08-14  Tor Lillqvist  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_append_home,
	shortcuts_append_desktop, set_local_only)
	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_render_icon)
	* gtk/gtkpathbar.c (find_button_type, _gtk_path_bar_set_file_system): 
	Guard against g_get_home_dir() returning NULL. (#150007)

Sat Aug 14 17:56:33 2004  Soeren Sandmann  <>

	* gtk/gtkentry.c (gtk_entry_get_pixel_ranges): New function. 

	* gtk/gtkentry.c (in_selection): New function using
	gtk_entry_get_pixel_ranges() to determine whether a click is in
	the selection. Improve entry behavior wrt. dragging and
	selecting. Bug #143249.

Sat Aug 14 17:53:46 2004  Soeren Sandmann  <>

	* Require glib 2.5.2
	* gtk/gtksequence.[ch]: New internal data structure.

	* gtk/gtkliststore.[hc]: Reimplement in terms of new data
	* tests/ (testtreemodel_SOURCES):
	* tests/testtreemodel.c: New test program written by Matthias.

2004-08-13  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_style_set): 
	Don't install the settings_notify_cb from here, since it
	may be called before the first screen_changed signal, 
	confusing the logic in gtk_file_chooser_screen_changed().
	(#148803, Abel Daniel)

	* gtk/gtkcombobox.c: Make re-sensitivation work
	in menu mode.

	* gtk/gtkaction.c (gtk_action_new): Fix the docs.

Fri Aug 13 01:06:56 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_row_inserted): 
	Make fixed height mode handle insertions.  (#135955, 
	Michael Vogt, testcase by Tim-Philipp Müller, fix by
	Pawel Salek)

Fri Aug 13 00:40:18 2004  Matthias Clasen  <>

	* gtk/gtkhandlebox.c: Add missing include.

Thu Aug 12 23:52:12 2004  Matthias Clasen  <>

	Fix #149547, Markus Lausser:
	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): 
	* gtk/gtkcombobox.c (gtk_combo_box_size_request): Don't 
	crash if size_request or size_allocate are called early.

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Protect
	against being allocated too small.

Thu Aug 12 21:02:57 2004  Matthias Clasen  <>

	* demos/gtk-demo/appwindow.c (about_cb): Adjust to GtkAboutDialog 
	API changes.

	* gtk/gtkaboutdialog.h: 
	* gtk/gtkaboutdialog.c (gtk_about_dialog_set_email_hook): 
	(gtk_about_dialog_set_url_hook): Add callback data and destroy notify 
	for language bindings.  (#149999, Olivier Andrieu)

2004-08-12  Matthias Clasen  <>

	* gtk/gtkfilesystem.c: Underscore-prefix gtk_file_system_module_get_type().
	* gtk/gtkfilechooserdefault.c: Underscore-prefix shortcuts_model_filter_get_type().

	* gtk/gtkimmodule.c: Make gtk_im_module_get_type() static.
	* gtk/gtk.symbols:
	* gtk/gtkinternals.h: Remove the no longer exported get_type functions.

Thu Aug 12 01:35:46 2004  Matthias Clasen  <>

	* gtk/gtkiconview.c: Make the icon view accessible by
	implementing the necessary ATK interfaces.  (#149728,
	Padraig O'Briain)

Thu Aug 12 00:02:29 2004  Matthias Clasen  <

	* gtk/gtkaction.c (gtk_action_new): Link to information about
	allowed action names.  (#149620, David Malcolm)

Wed Aug 11 23:14:25 2004  Matthias Clasen  <>

	* gtk/gtk.symbols: 
	* gtk/gtkaction.h:
	* gtk/gtkaction.c (gtk_action_set_sensitive): 
	(gtk_action_set_visible): Add setters for the ::sensitive
	and ::visible properties of GtkAction.  (#149622, David Malcolm)

2004-08-11  Federico Mena Quintero  <>

	Fix #149422, #143457:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_should_respond): Rewrite to take the
	current focus into account, the contents of the save entry, and
	the last focus for the shortcuts list.
	(switch_to_selected_folder): We don't need an assertion on the
	action here.

Wed Aug 11 20:56:00 2004  Matthias Clasen  <>

	* gtk/gtkinternals.h: 
	* gtk/gtk.symbols: Add shortcuts_model_filter_get_type.

	* gtk/ Check all symbols.

Wed Aug 11 19:20:34 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row): 
	Don't start a drag if the treeview is only a 
	drag destination.  (#149836, Pawel Salek)

2004-08-11  Matthias Clasen  <>

	* gtk/gtktreedatalist.[hc]: 
	* gtk/gtkliststore.c:
	* gtk/gtktreestore.c: Underscore-prefix 

	* gtk/gtk.symbols: Remove gtk_tree_data_list_compare_func.

	* gtk/ No need to include gtktreedatalist.h 
	any more.

2004-08-10  Matthias Clasen  <>

	* gdk/ 
	* gtk/ Define TESTS, not TEST, so that make check
	actually triggers

	* gdk/ 
	* gtk/ Include glib.h before using glib symbols. D'oh.

	* gdk/ 
	* gtk/ Protect gtkalias.h by G_HAVE_GNUC_VISIBILITY.
	* gtk/ Include gtkalias.h in the generated
	sources gtkmarhalers.c and gtkmarshal.c.

	* gtk/ Cosmetic fix.

	* gdk/ Remove the . which was accidentally added
	to SUBDIRS. Include gdkalias.h in the generated sources 
	gdkenumtypes.c and gdkmarshalers.c.

	* gdk/ Cosmetic fix.

	* gdk/ Add gdkalias.h to BUILT_SOURCES.

2004-08-09  Hans Breuer  <>

	* gtk/ : autogenerate gtk.def, cleanup

	* gdk/win32/gdkwindow-win32.c gdk/win32/gdkevents-win32.c : 
	removed long time unused ifdef/ed code (WITHOUT_WM_CREATE), 
	removed duplicated call to gdk_window_set_cursor()

Mon Aug  9 15:41:17 2004  Matthias Clasen  <>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT 
	entries.  (#145519, Arjan van de Ven)
	* gdk/ Add rules to generate gdk.def and 
	gdkalias.h from gdk.symbols, and make make check check 
	the abi with

	* gdk/gdk.symbols: New file. Definition of the GDK ABI.
	The file can be processed by cpp to filter out certain 
	subsets of symbols.

	* gdk/ New file. Script to check the actually 
	symbols exported from against the symbols
	found in gdk.symbols.

	* gdk/ New file. Perl script to generate the 
	header containing the alias definitions for internally used 
	exported symbols from a list of symbols.

	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h
2004-08-09  Morten Welinder  <>

	* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): Fix C99ism.

Mon Aug  9 15:27:01 2004  Matthias Clasen  <>

	* gtk/ Also revert 

Mon Aug  9 15:19:34 2004  Matthias Clasen  <>

	* gdk/gdk.h: 
	* gdk/gdkrgb.h: Add the exported functions 
	gdk_rgb_colormap_ditherable(), gdk_pointer_grab_info_libgtk_only(),
	gdk_keyboard_grab_info_libgtk_only() to the appropriate

Mon Aug  9 14:24:46 2004  Matthias Clasen  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse): 
	Make static.

Mon Aug  9 12:48:04 2004  Matthias Clasen  <>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT 
	entries.  (#145519, Arjan van de Ven)
	* gtk/ Add rules to generate gtk.def and 
	gtkalias.h from gtk.symbols, and make make check check 
	the abi with
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add and

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain 
	subsets of symbols.

	* gtk/ New file. Script to check the actually 
	symbols exported from against the symbols
	found in gtk.symbols.

	* gtk/ New file. Perl script to generate the 
	header containing the alias definitions for internally used 
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
Mon Aug  9 11:49:46 2004  Matthias Clasen  <>

	* gtk/gtkmain.c: Only undef gtk_init_check and gtk_init on win32.

Mon Aug  9 10:50:05 2004  Matthias Clasen  <>

	* gtk/gtkentry.h: Add gtk_entry_layout_index_to_text_index() 
	and its inverse. The have always been exported and are meant
	to be public.
Mon Aug  9 00:28:34 2004  Matthias Clasen  <>

	* gtk/gtkicontheme.c (load_svg_at_size): Don't leak the 
	file contents.

Mon Aug  9 00:13:03 2004  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (icon_set_new_from_pixbufs): Don't
	leak the icon source.

Sun Aug  8 23:46:20 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): Don't
	leak a reference to the pixbufs.

Sun Aug  8 23:36:55 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Ref
	and sink the column.
	(gtk_combo_box_menu_destroy): Unref the column.

Sun Aug  8 23:35:00 2004  Matthias Clasen  <>

	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): 
	(gtk_drag_dest_add_text_targets): Don't leak a reference 
	to the target list.

Sun Aug  8 22:52:26 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (find_menu_by_path): Don't stumble over
	separators which are not backed by model rows.

Sun Aug  8 11:01:23 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active): Don't leak
	the path.

2004-08-08  Hans Breuer  <>

	* gtk/gtkdnd.c (gtk_drag_dest_set) : take targets into
	account again to allow dnd of other things than text

	* gdk/win32/gdkselection-win32.c : offer windows bitmap to
	be pasted from clipboard (makes The GIMP 2.1's 
	"File/Acquire/Paste as New" work, only using gtk+ API) 

Sun Aug  8 01:32:36 2004  Matthias Clasen  <>

	* gtk/gtk.def: Add gtk_cell_renderer_progress_get_type.

Sun Aug  8 01:29:08 2004  Matthias Clasen  <>

	* gtk/gtk.def: Replace duplicate gtk_tree_view_get_hover_expand
	by gtk_tree_view_set_hover_expand.

Sun Aug  8 01:23:08 2004  Matthias Clasen  <>

	* gtk/gtk.def: Remove the static function gtk_menu_get_private.

2004-08-07  Tor Lillqvist  <>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Don't hardcode
	mapping of VK_DECIMAL to GDK_KP_Decimal. Instead, let ToAsciiEx()
	map it to what's printed on the keypad decimal key for the current
	input locale (keyboard layout). (#149404)

Sat Aug  7 18:19:03 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (save_folder_combo_create): 
	(shortcuts_list_create): Use GtkTreeViewRowSeparatorFunc 
	instead of GtkCellRendererSepText.  (#147864)

	* gtk/gtkcellrendererseptext.[hc]: Removed.

	* gtk/ Remove gtkcellrendererseptext.[hc]
Sat Aug  7 18:15:15 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_deleted): 
	(gtk_combo_box_menu_row_changed): Correctly handle
	insertion and deletion of separators in menu mode.

2004-08-07  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (handle_configure_event,
	gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
	top-level window coordinates, not just in generated
	events. (#148526, Robert Ögren)

Sat Aug  7 01:26:08 2004  Matthias Clasen  <>

	Make the column drag code a bit more robust (still scary, 
	though).  (#106992, Christian Biere)
	* gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): Assert
	that cur_reorder is NULL here.

	* gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column): 
	Reset cur_reorder to NULL, and only hide drag_highlight_window 
	if it exists.  

2004-08-06  Federico Mena Quintero  <>

	Fix #144232:

	* gtk/gtkfilechooserdefault.c (save_widgets_create): Use a
	GtkFileChooserEntry for the file name, rather than a GtkEntry.
	(update_chooser_entry): Set the contents of the file chooser entry
	rather than the plain entry's.
	(gtk_file_chooser_default_set_current_folder): Set the new folder
	on the save entry.
	(gtk_file_chooser_default_set_current_name): Set the name on the
	file chooser entry.
	(check_save_entry): Use the file chooser entry rather than the
	plain entry.

	* gtk/gtkfilechooserentry.c
	(_gtk_file_chooser_entry_set_base_folder): Call
	gtk_file_chooser_entry_changed() so that we recompute the current
	folder based on the new base folder.

2004-08-06  Hans Breuer  <>

	* gdk/win32/gdkwindow-win32.c : make it compile and more
	similar to the X11 implementation [backward compatibility
	for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702), 
	use the *screen* function variants, dont reparent already 
	(get_visible_region) : take the win32 part into account
	(_gdk_windowing_window_destroy) : remove from handle table

	* gdk/win32/gdkdisplay-win32.c : added 
	gdk_display_(request|supports)_selection_notification ()
	with a currently mostly pointless implementation ;-)

	* gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
	plugs memory leak
	(gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY

	* gtk/ demos/gtk-demo/ 
	  gtk/stock-icons/makefile.msc tests/makefile.msc : updated

	* gdk/gdk.def gtk/gtk.def : updated externals

	* tests/testiconview.c : remove unneeded dirent.h inclusion

2004-08-06  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): Fix
	an off-by-one error.  (#141809, Markku Vire)

	* gtk/gtkdnd.c (gtk_drag_dest_set, gtk_drag_source_set): Really
	fix the initialization of the target list.

	Support XDND v5. (#10220, Owen Taylor)
	* gdk/x11/gdkdnd-x11.c: Record the XDND version and whether the
	drop was successful in the GdkDragContextPrivateX11 struct.
	(xdnd_finished_filter): Store the success status of the drop
	for an XDND version 5 interaction. For other versions, always
	assume the drop was successful.
	(xdnd_check_dest): Return the protocol version.
	(_gdk_drag_get_protocol_for_display): Return the protocol version.
	(gdk_drag_find_window_for_screen): Store the used protocol version
	in the GdkDragContext.
	(xdnd_send_enter): Send the used protocol version from the context,
	instead of hardwiring 3.
	(xdnd_enter_filter): Accept protocol versions >= 3 and store the
	used protocol version in the context.

	* gdk/gdkdnd.h: 
	* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): New function
	to find out whether a drop was successful.

2004-07-28  Robert Ögren  <>

	* gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Set x_root
	and y_root in button and motion events from the tablet. (#148715)

Thu Aug  5 19:58:08 2004  Soeren Sandmann  <>

	* gtk/gtkplug.c (gtk_plug_realize): Call

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Make
	noop if gdk_window_enable_synchronized_configure() has not been

2004-08-04  Matthias Clasen  <>

	* gtk/gtkfilechooser.[hc]: Add setter and getter for the 
	::show-hidden property.  (#145610, Jeff Franks)

	* tests/testiconview.c: Add buttons to select and unselect all
	nodes, make the popup menu actually work.

	* gtk/gtkiconview.c: Make GTK_SELECTION_BROWSE work as intended,
	let button 3 presses through to the app, to make popup menus

	* tests/ Add testiconview.
	* tests/testiconview.c: A test for GtkIconView
	* tests/gnome-textfile.png: ...which uses this image.

Wed Aug  4 01:37:57 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c: 
	* gtk/gtktreestore.c: 
	* gtk/gtktreemodelfilter.c: 
	* gtk/gtknotebook.c: s/childs/children/g.

Wed Aug  4 01:04:48 2004  Matthias Clasen  <>

	Fix #133446, noticed by Christian Persch:
	* gtk/gtkaction.c (gtk_action_class_init): Add a new boolean 
	property ::visible-overflown. 
	* gtk/gtkaction.c (gtk_action_create_menu_proxy): Don't create 
	a menu proxy if visible_overflown is FALSE.  

Tue Aug  3 20:16:26 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.[hc]: Make the the GtkAction{Toggle,Radio,}Entry*
	arguments to the gtk_action_group_add_..._actions() functions const, 
	since the most common use case is to use a static array.  (142334, 
	Mariano Suarez-Alvarez)

Tue Aug  3 20:03:33 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (get_node): Make gtk_ui_manager_add_ui()
	accept paths with a leading "/ui".  (#149077, David Malcolm)

Tue Aug  3 19:59:29 2004  Matthias Clasen  <>

	* gtk/gtkiconview.c: Fix some warnings.

Tue Aug  3 18:38:40 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c: Correct the return type
	of gtk_tree_model_filter_get_flags().  (#149195, Morten Welinder)

Tue Aug  3 18:16:55 2004  Matthias Clasen  <>

	Fix #149191, reported by Morten Welinder:
	* gtk/gtkmain.c: Include gtkclipboard.h,
	* gtk/gtkwidget.h: Declare _gtk_widget_grab_notify, not

Tue Aug  3 14:50:14 2004  Matthias Clasen  <>

	* gtk/gtkicontheme.c (add_size): Add missing parens.
	(#149190, Morten Welinder)

Tue Aug  3 14:29:49 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill): Remove 
	accidentally committed debug code.

Tue Aug  3 01:19:12 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item): Optimize 
	for the case that row_column and col_column are unset.  
	(#148868, Lorenzo Gil Sánchez)

Mon Aug  2 21:52:45 2004  Soeren Sandmann  <>

	* gdk/x11/gdkwindow-x11.c (ensure_sync_counter): New
	function. Make sure the sync counter is recreated when a window is
	reparented to become a toplevel. (#148358)

2004-08-02  Matthias Clasen  <>

	* tests/testcombo.c: Some trees in combo boxes.

	* gtk/gtkcombobox.c: Rework the combo box to handle 
	tree models.  (#139582, Matt Walton)
	* gtk/gtktreeview.h: 
	* gtk/gtktreeview.c: 
	* gtk/gtktreeprivate.h: Add a new boolean property 
	::hover-expand and make the treeview expand/collapse rows
	on mouseover if it is set.

	* gtk/gtkiconview.h: Remove some erroneous declarations.

	* gtk/gtkcellview.c (gtk_cell_view_set_cell_data): Don't
	crash if the displayed row is gone.

2004-08-02  Morten Welinder  <>

	* gtk/gtkentry.c (gtk_entry_motion_notify): C99ism.

Mon Aug  2 01:30:03 2004  Matthias Clasen  <>

	* gtk/gtktextview.[hc]: 
	* gtk/gtkentry.[hc]: Add a new binding signal ::backspace,
	bind it to the backspace key, and make it pay attention 
	to the Pango backspace_deletes_character 
	attribute.  (#119891, Noah Levitt, patch by Theppitak 

Mon Aug  2 01:02:57 2004  Matthias Clasen  <>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): 
	(gdk_check_wm_desktop_changed): Add missing error 
	traps.  (#149011, Thomas Leonard)

Mon Aug  2 00:21:26 2004  Matthias Clasen  <>

	* gtk/gtktextview.c (blink_cb): Add the same warning
	that the blink_cb() in GtkEntry already has.  (#148733)

Mon Aug  2 00:12:16 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_class_init):
	(gtk_entry_set_alignment): Document the xalign property
	and its getter and setter as 2.4 additions.  (#148978,
	Axel Simon)

Mon Aug  2 00:11:31 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): 
	* gtk/gtkactiongroup.c (gtk_action_group_class_init): Use
	canonical signal names in doc comments, since gtk-doc won't
	pick up signal docs with underscores.  

2004-08-01  Matthias Clasen  <>
	* Post-release version bump

	* === Released 2.5.1 ===
Thu Jul 29 16:36:42 2004  Jonathan Blandford  <>

	* gtk/gtktreeprivate.h: New arguments

	* gtk/gtktreeview.c:
	(gtk_tree_view_class_init): Add key_release callback
	(gtk_tree_view_init): Initialize timeout handler
	(gtk_tree_view_unrealize): clear timeout if needed
	(gtk_tree_view_key_press): Typeahead support
	(gtk_tree_view_key_release): Not used yet -- will be needed for
	(gtk_tree_view_search_entry_flush_timeout): Remove typeahead entry
	in a timeout.
	(gtk_tree_view_start_interactive_search): Typeahead support added.
	(gtk_tree_view_search_dialog_hide): Clear timeout and text when we

Sat Jul 31 23:17:44 2004  Matthias Clasen  <>

	* NEWS: Updates

Sat Jul 31 01:13:01 2004  Matthias Clasen  <>

	* gtk/gtkwindow.c: 
	* gtk/gtkentry.c: 
	* gtk/gtkaction.c: Use the canonical form of signal names 
	after "notify::". Otherwise, no notification arrives. 
	GObject should have a warning for that, really.  (#148879, 
	Lorenzo Gil Sánchez)

Sat Jul 31 00:42:08 2004  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_above): Don't
	set both states at once.  (#148789, Matthew Garrett)

2004-07-30  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Don't forget to destroy the row separator
	function user data when the combo box is destroyed.

2004-07-30  Matthias Clasen  <>

	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c: Change the api for separators to use a 
	separator function instead of a boolean column.

	* tests/testcombo.c: Update to match the api change.

Fri Jul 30 02:21:41 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Fix the positioning of the popup. 

Fri Jul 30 00:56:31 2004  Matthias Clasen  <>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_active_changed): 
	Implement this in terms of gtk_combo_box_get_active_iter(),
	instead of gtk_combo_box_get_active().

2004-07-29  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
	a field for an "add to shortcuts" menu item.
	(popup_menu_detach_cb): Clear out the field.
	(file_list_build_popup_menu): Only build the menu here.
	(file_list_update_popup_menu): Build the menu, then update the
	sensitivity of its items.
	(file_list_popup_menu): Use file_list_update_popup_menu().
	(bookmarks_check_add_sensitivity): Also set the sensitivity of the
	popup menu item.  Correctly handle the case for a *single* file.
	Simplify a bit.
	(bookmarks_add_selected_folder): New helper function; code moved
	over from add_bookmark_button_clicked_cb().
	(add_bookmark_button_clicked_cb): Use the function above.
	(selection_check): Rather than returning a boolean value for
	emptiness, actually return the number of selected rows.  Also,
	simplify a bit.
	(get_selected_path): New helper function.

2004-07-29  Anders Carlsson  <>

	* demos/gtk-demo/
	* demos/gtk-demo/clipboard.c: (copy_button_clicked),
	(paste_received), (paste_button_clicked), (do_clipboard):
	Add clipboard demo.
2004-07-28  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	Store signal IDs in gulongs, not guints!
	(gtk_file_chooser_default_hierarchy_changed): We now monitor the
	focus widget on our toplevel to know which widget was last focused
	at the time our "should_respond" method gets called.
	(shortcuts_activate_selected): New helper function.
	(shortcuts_get_selected): New helper function.
	(remove_selected_bookmarks): Use shortcuts_get_selected().
	(bookmarks_check_remove_sensitivity): Likewise.
	(shortcuts_reorder): Likewise.
	(shortcuts_activate_iter): Renamed from shortcuts_activate_item().
	Activate by iter, not by item number.
	(save_folder_combo_changed_cb): Use shortcuts_activate_iter().
	(shortcuts_row_activated_cb): Likewise.
	(gtk_file_chooser_default_should_respond): If the last focused
	widget on the toplevel was the shortcuts list, activate the
	selected shortcut.

2004-07-28  Matthias Clasen  <>

	* gdk/linux-fb/gdkprivate-fb.h: Make the fb backend compile against
	current freetype.  (#148558, Nicolas Deves)

	* gtk/gtktreeview.c: Replace the EXPANDER_MAX macro by 
	ROW_HEIGHT.  (#145528)

	* gtk/gtkuimanager.c: Warning fixes.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Fix
	prototype mismatch.  (#148589, Nicolas Deves)

2004-07-28  Anders Carlsson  <>

	* gdk/x11/gdkdrawable-x11.c (gdk_draw_rectangle_alpha_libgtk_only): 
	Cast to 32-bit integers when premultiplying, suggested by Keith Packard.

2004-07-27  Anders Carlsson  <>

	* demos/gtk-demo/iconview.c: (do_iconview):
	Change selection mode to multiple.
	* gdk/gdkdrawable.h:
	* gdk/linux-fb/gdkdrawable-fb2.c:
	* gdk/win32/gdkdrawable-win32.c:
	* gdk/x11/gdkdrawable-x11.c: (gdk_x11_draw_image),
	(get_impl_drawable), (gdk_x11_draw_pixbuf),
	Add gdk_draw_rectangle_alpha_libgtk_only which uses 
	XRenderFillRectangle on X11. It's stubbed out on the 
	Win32 and fb backends.
	* gtk/gtkiconview.c: 
	Use gdk_draw_rectangle_alpha_libgtk_only here.

2004-07-27  Anders Carlsson  <>

	* gtk/gtkaboutdialog.c: (gtk_about_dialog_init),
	(text_view_style_set), (add_credits_page),
	(display_credits_dialog), (display_license_dialog):
	Remove dialog separators, fix text view background setting,
	use Close buttons instead of OK buttons.
2004-07-27  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory): 
	Add a frame around the C-f popup to stop it from merging visually
	in whatever is underneath.

	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): New 
	function necessary to make GtkComboBox accessible.  (#132847, 
	Padraig O'Briain)

Tue Jul 27 02:34:06 2004  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_dispose): Hide parentless
	windows when disposing them.  (#133231, Michael Natterer)

2004-07-26  Matthias Clasen  <>

	* gtk/gtklabel.c (gtk_label_class_init): Expand the documentation
	for GtkLabel::ellipsize.

Mon Jul 26 00:38:27 2004  Matthias Clasen  <>

	Make the GtkComboBox in list mode scroll if the list is too
	large to fit in the popup.  (#135543)

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add a 
o	scrolled window to the popup in list mode.
	(gtk_combo_box_list_position): Calculate the height of the
	popup so that it fits on the screen, set the scrollbar policy
	of the scrolled window appropriately.
	(gtk_combo_box_popup): Use the height calculated by 
	(gtk_combo_box_remeasure): Don't add unnecessary padding.
	(gtk_combo_box_size_request): But add the focus with here.
	(gtk_combo_box_list_setup): Connect to enter notify on the 
	popup window to activate auto scrolling.
	(gtk_combo_box_list_enter_notify): Activate auto scrolling.
	(gtk_combo_box_list_button_pressed): Setup a timeout for
	auto scrolling. 
	(gtk_combo_box_list_scroll_timeout): Timeout function for
	auto scrolling.
	(gtk_combo_box_list_auto_scroll): Scroll the list when the 
	pointer leaves the window.
Sun Jul 25 19:51:17 2004  Matthias Clasen  <>

	* gtk/gtknotebook.c (gtk_notebook_scroll): Ignore scroll
	events from the content of the page.  (#148409, Gabriel 
	de Perthuis)

Sat Jul 24 21:38:12 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (internal_insert_element): Warn if you try to
	add a tool item to a toolbar using the deprecated API.

Fri Jul 23 13:04:10 2004  Matthias Clasen  <>

	* gtk/gtkdnd.c (gtk_drag_dest_set): Revert the change to
	initialize target_list to an empty list instead of NULL,
	since it broke tree dnd.  (#148215, Ernst Persson)

	* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets): 
	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): Instead 
	handle target list being NULL here.

2004-07-23  Dafydd Harries  <>

	* gtk/gtkradioaction.c:
	* gtk/gtkradiobutton.c:
	* gtk/gtkentry.c:
	* gtk/gtkmisc.c:
	Improve various translatable messages. (#137616)

Fri Jul 23 11:11:10 2004  Matthias Clasen  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
	Align the entry in the same way as the cell.  (#136749)

Fri Jul 23 11:01:00 2004  Matthias Clasen  <>

	* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
	Don't iterate too far up. (#147965, Olivier Sessink)

Fri Jul 23 10:28:43 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_finalize): 
	* gtk/gtkradioaction.c (gtk_radio_action_finalize): 
	* gtk/gtkfontsel.c (gtk_font_selection_finalize): 
	* gtk/gtkcellview.c (gtk_cell_view_finalize): 
	* gtk/gtkcalendar.c (gtk_calendar_finalize): 
	* gtk/gtkactiongroup.c (gtk_action_group_finalize): Remove
	unnecessary checks.  (#148175, Morten Welinder)

Thu Jul 22 01:42:16 2004  Matthias Clasen  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
	Add a new :ellipsize property which controls ellipsization of the 
	rendered text.  (#144835, Vincent Untz, patch by Jonathan Blandford
	and Anders Carlsson)
	* gtk/gtkfilechooserdefault.c (create_file_list): Use ellipsization
	for the name column.

Thu Jul 22 01:21:28 2004  Matthias Clasen  <>

	* gtk/gtkfontsel.c (gtk_font_selection_init): Add additional
	accessability relations.  (#141804,  Padraig O'Briain)

Thu Jul 22 01:16:23 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Avoid some warnings.

Thu Jul 22 01:05:16 2004  Matthias Clasen  <>

	* Require Pango 1.5.1 (for ellipsisation).

	* gtk/gtklabel.h: 
	* gtk/gtklabel.c (gtk_label_class_init): Add a new :ellipsize
	property which controls ellipsization of the label.  (#125250, 
	Tim Van Wassenhove, patch by James M. Cape)

	* tests/testellipsise.c: Simple test for ellipsizsation.

Wed Jul 21 22:46:27 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_new_text): Don't leak the
	list store.  (#148134, Crispin Flowerday)

Wed Jul 21 22:35:47 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_destroy): Don't leak the
	menu.  (#148110, Tommi Komulainen)

Wed Jul 21 22:24:10 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_finalize): Don't leak
	tree model and tree row reference.  (#148125, Crispin Flowerday)

Wed Jul 21 22:17:06 2004  Matthias Clasen  <>

	* tests/testcombo.c (main): Don't leak models.  (#148128,
	Tommi Komulainen)

Wed Jul 21 21:26:08 2004  Matthias Clasen  <>

	* gtk/gtkviewport.c (viewport_set_adjustment): Don't leak
	the adjustments.  (#148089, Tommi Komulainen)

Wed Jul 21 21:20:21 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't leak
	the adjustments.  (#148073, Tommi Komulainen)

Wed Jul 21 21:04:50 2004  Matthias Clasen  <>

	* gtk/gtktoolbar.c (gtk_toolbar_finalize): Don't leak the 
	arrow.  (#148064, Tommi Komulainen)

2004-07-21  Matthias Clasen  <>

	* gtk/gtkcalendar.c: Use the new text target functionality
	in GtkTargetList instead of hardcoding a subset of text targets.

Tue Jul 20 23:11:23 2004  Matthias Clasen  <>

	* gdk/x11/gdkevents-x11.c: Hook up gtk-menu-bar-accel to
	an XSetting, Gtk/MenuBarAccel.  (#120859, Scott James Remnant)

Tue Jul 20 22:26:29 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserutils.h: 
	* gtk/gtktoolbutton.c: 
	* gtk/gtktoolbar.c: 
	* gtk/gtkicontheme.c: 
	* gtk/gtkcalendar.c: 
	* demos/gtk-demo/ui_manager.c: 
	* demos/gtk-demo/appwindow.c: Remove trailing commas
	from enumerations.  (#148035)

2004-07-20  Federico Mena Quintero  <>

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Fix the
	documentation comment for the editing-started signal.

	* gtk/gtkmarshalers.list: Added VOID:OBJECT,STRING for

2004-07-20  Matthias Clasen  <>

	* tests/testactions.c (main): 
	* tests/testmerge.c (main): Add some refcount debugging.

	* gtk/gtkuimanager.c (update_node, free_node): Ref an sink
	all proxies, so that we can properly clean up floating proxies
	which the app didn't adopt.  (#147926, Tommi Komulainen)

2004-07-20  Matthias Clasen  <>

	Allow custom initialization of cell editables.  (#147221)
	* gtk/gtkcellrenderer.h (struct _GtkCellRendererClass): 
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Add a 
	::editing-started signal as a hook for setting up the 
	(gtk_cell_renderer_start_editing): ...and emit it here.

Mon Jul 19 23:51:50 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Set drag_pos
	before grabbing the focus, since we may reenter into 
	gtk_tree_view_motion_resize_column() which requires drag_pos
	to be set.  (#147913, Guilherme Salgado, patch by John Finlay) 

Mon Jul 19 23:51:50 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_enter_notify): Don't
	use uninitialized node pointer.  (#147911, Peter Zelezny)

Tue Jul 20 04:34:56 2004  Soeren Sandmann  <>

	* Bump version number

Sun Jul 18 17:21:10 2004  Soeren Sandmann  <>

	* === Released 2.5.0 ===

	* NEWS: updates

	* tests/testcombo.c: Fix compilation

2004-07-19  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_popup_completion):
	Fix doc comment.
2004-07-19  Matthias Clasen  <>

	Make GtkCellView public, since people seem to have uses for it, 
	it is clean API and we were just conservative in not making it 
	public initially. At the same time, get rid of GtkCellViewMenuItem,
	which doesn't have any function which can't be served by a
	GtkMenuItem with a GtkCellView child.  (#136637, Padraig O'Briain)

	* gtk/gtk.h: Include gtkcellview.h

	* gtk/ (gtk_public_h_sources): 

	* gtk/ (gtk_private_h_sources): 
	(gtk_c_sources): Remove gtkcellviewmenuitem.[hc]
	* gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by
	GtkMenuItem with a GtkCellView child.

	* gtk/gtkcellviewmenuitem.[hc]: Removed.

2004-07-19  Matthias Clasen  <>

	Support inline autocompletion in entries  (#135953)
	* gtk/gtkentryprivate.h: 
	* gtk/gtkentrycompletion.h: 
	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): 
	Add a new signal ::insert-prefix which can be used to override 
	the default inline-completion behaviour. Add two new boolean
	properties, :popup_completion and :inline_completion which
	determine how the possible completions should be presented.
	(gtk_entry_completion_insert_prefix): New function to request
	a prefix insertion. 

	* gtk/gtkentry.c: Add the necessary glue for inline completion. 

Sun Jul 18 15:28:24 2004  Soeren Sandmann  <>

	* gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
	empty target list if targets is NULL.

	* Add check for X11/extensions/sync.h. (#147416,
	Morten Welinder)

Sun Jul 18 01:24:31 2004  Matthias Clasen  <>

	* NEWS: Updates for 2.5.0

Sat Jul 17 23:11:04 2004  Matthias Clasen  <>

	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_class_init): 
	* gtk/gtkiconview.c (gtk_icon_view_set_orientation): 
	* gtk/gtkiconview.c (gtk_icon_view_get_orientation): 
	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size): 
	* gtk/gtkiconview.c (gtk_icon_view_layout_single_row): 
	Add a new :orientation property to determine whether text
	is positioned below or beside icons.  (#147463)

Sat Jul 17 23:03:30 2004  Matthias Clasen  <>

	* gtk/gtkiconview.c (gtk_icon_view_paint_item): 
	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size): 
	* gtk/gtkiconview.c (gtk_icon_view_layout_single_row): Draw 
	focus indicator outside the selection, respect focus 
	line width.  (#147460) 

Sat Jul 17 01:17:33 2004  Matthias Clasen  <>

	* gdk/x11/gdkdnd-x11.c (xdnd_check_dest): Fix a warning

Sat Jul 17 00:48:27 2004  Matthias Clasen  <>

	Support text/plain selection target  (#55117, Owen Taylor)
	* gtk/gtkselection.h: 
	* gtk/gtkdnd.h: 
	* gtk/gtkselection.c (gtk_target_list_add_text_targets): 
	* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets): 
	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New
	functions to facilitate handling of text targets.

	* gtk/gtkentry.c: 
	* gtk/gtktextview.c: Use the new text target handling 
	functions instead of hardwiring the list of supported
	text targets everywhere.

	* gtk/gtkselection.c (gtk_selection_data_get_text): 
	Support the targets text/plain, text/plain?charset=utf-8
	and text/plain?charset=<LOCALE-CHARSET> as outlined in
	For text/plain send only ASCII, but accept 8-bit text 
	and treat it as ISO-8859-1 as specified by the Xdnd spec.
	Always send CRLF terminators. Accept either and convert
	into the native terminator for the platform.
Fri Jul 16 23:20:34 2004  Matthias Clasen  <>

	Support themed window icons.  (#92346, Calum Benson)
	* gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes): New 
	function to obtain information about the sizes in which an
	icon is available.  

	* gtk/gtkwindow.h: 
	* gtk/gtkwindow.c (gtk_window_class_init): 
	(gtk_window_get_icon_name): Add an "icon_name" property
	(gtk_window_set_default_icon_name): ...and a default icon name. 
	(update_themed_icon): New auxiliary functions to create a 
	list of all available sizes of a themed icon and update the
	window icon list from it.

2004-07-16  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_scroll_event): Make 
	scrolling work if no item is selected.
	(gtk_cell_editable_key_press): Don't eat space.

	Add a combo box cell renderer (#139347, Lorenzo Gil Sanchez)
	* gtk/gtkcellrenderercombo.[hc]: New Files.

	* gtk/gtk.h: 
	* gtk/ (gtk_public_h_sources, gtk_c_sources): 
	Add the new files.

	* gtk/gtkcombobox.[hc]: Implement GtkCellEditable, add a 
	:has-frame property for suppressing the frame around 
	the child and redo the size allocation logic to take 
	focus width into account.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): 
	Acknowledge the GtkComboBox:has-frame property and make
	the entry fill its allocation vertically.

	* gtk/gtkmarshalers.list: Add BOOLEAN:STRING.
	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Queue
	a draw here to keep non-widget windows from leaving 
	shadows behind.

2004-07-16  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_forall): Don't iterate
	multiple times over some of the children. 

Thu Jul 15 22:19:40 2004  Matthias Clasen  <>

	Fix #60128, #58307, #144706:
	* gtk/gtkstyle.c (gtk_style_real_copy): Handle references
	to bg_pixmaps properly.
	(gtk_style_real_unrealize): Don't keep dangling references
	to the bg_pixmaps.  
	(gtk_style_attach): Split the loop into two loops, first 
	looking for a matching style, then for an empty one.
	(gtk_style_duplicate): Add comments explaining the handling
	of style->styles.

Thu Jul 15 20:31:28 2004  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (start_spinning): Install the timeout
	before changing the value, so that a ::value_changed handler
	has a chance to remove it.  (#122427, Elke Meier)

Thu Jul 15 19:20:05 2004  Matthias Clasen  <>

	* gdk/x11/gdkgtk+/im-x11.c (_gdk_x11_initialize_locale): 
	* gtk/gtkcalendar.c (gtk_calendar_class_init): Use 'cannot'
	instead of 'can not' in messages.  (#144226, Morten Welinder)

2004-07-15  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): 
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): 
	Correct the declared default values of several properties
	to be in sync with the actual initial values.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): 
	Make spacing a property, correct the declared default values 
	of several properties to be in sync with the actual initial 
	values.  (#147654, Matthias Clasen)

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Don't reparent
	back to menu->toplevel if it is already gone because we're
	shutting down.  (#147656, John Cupitt)

2004-07-14  Federico Mena Quintero  <>

	Fix #126295:

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw a focus
	indicator along the edge of the bin_window when the tree is empty.
	(grab_focus_and_unset_draw_keyfocus): New helper function.
	(gtk_tree_view_button_press): Remove a bit of superfluous code.
	Use the helper function to save on duplicated code.
	(gtk_tree_view_button_press): Grab the focus if the tree is empty.
	(gtk_tree_view_focus): Allow focusing into an empty tree.

2004-07-14  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (add_credits_page): Don't use
	gcc extensions for the ternary ?: operator.  (#147590,
	Damien Carbery)

2004-07-14  Federico Mena Quintero  <>

	Fix #144405, patch by Padraig O'Briain <>:

	* gtk/gtkfilechooserdefault.c (shortcuts_list_create): Set the
	accessible object name for the tree view.
	(create_file_list): Likewise.

Tue Jul 13 21:53:08 2004  Matthias Clasen  <>

	* gtk/gtkicontheme.c (free_unthemed_icon): Don't leak
	no_svg_filename.  (#147399, Kjartan Maraas)

2004-07-13  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): 
	Make this work in RTL context.

2004-07-13  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_activate_volume): Set a
	busy cursor while mounting the volume.  Also, ref the chooser
	while mounting, as we may re-enter.  Fixes #139376.

2004-07-13  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): 
	Prepare to handle composite implementations of
	GtkCellEditable, but recursively poking at
	allocation->y (hack stolen from GtkCList).
	(check_expander_max): Tweak the warning.

	* gtk/gtkmain.h: Add gtk_parse_args(), its a public 
	function.  (#147476, Owen Taylor)

	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't
	crash if unrealized.

Tue Jul 13 01:50:06 2004  Matthias Clasen  <>

	* gtk/gtkaboutdialog.c (display_credits_dialog): Don't
	display untranslated translator credits. 

Tue Jul 13 01:15:05 2004  Matthias Clasen  <>

	* gtk/gtkiconview.c: Some documentation updates.

Tue Jul 13 00:40:29 2004  Soeren Sandmann  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Do an
	empty begin_paint_region()/end_paint() for windows without

	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_unset_bg,
	_gdk_x11_window_tmp_reset_bg): Remove checks for EXPOSURE_MASK.

2004-07-12  Matthias Clasen  <>

	* demos/gtk-demo/appwindow.c: Use a GtkAboutDialog.

	* gtk/gtkaboutdialog.h: 
	* gtk/gtkaboutdialog.c: New widget: GtkAboutDialog.

	* gtk/ (gtk_public_h_sources, gtk_c_sources): 
	* gtk/gtk.h: Add GtkAboutDialog. (#109435, Paolo Borelli,
	patch by Matthias Clasen)

	* gtk/gtkrc.c (_gtk_rc_init): Apply the gtk-default-menu-item-style 
	to cell view menu items as well.  (#147405, John Cupitt)

	* gtk/gtkentrycompletion.c: Warning fixes.  (#147420,
	Morten Welinder)

	* gtk/gtkcombobox.c (gtk_combo_box_destroy): Pop down 
	first. (#147399, John Cupitt)

Mon Jul 12 01:56:26 2004  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents): 
	Include the update_counter check in the HAVE_XSYNC condition,
	since update_counter isn't present in the !HAVE_XSYNC case.

Mon Jul 12 00:52:04 2004  Matthias Clasen  <>

	* gtk/stock-icons/ 
	* gtk/stock-icons/stock_about_{16,24}.png: 
	* gtk/stock-icons/stock_connect_{16,24}.png: 
	* gtk/stock-icons/stock_disconnect_{16,24}.png: 
	* gtk/stock-icons/stock_edit_{16,24}.png: 
	* gtk/stock-icons/stock_media_forward_{16,24}.png: 
	* gtk/stock-icons/stock_media_next_{16,24}.png: 
	* gtk/stock-icons/stock_media_pause_{16,24}.png: 
	* gtk/stock-icons/stock_media_play_{16,24}.png: 
	* gtk/stock-icons/stock_media_previous_{16,24}.png: 
	* gtk/stock-icons/stock_media_record_{16,24}.png: 
	* gtk/stock-icons/stock_media_rewind_{16,24}.png: 
	* gtk/stock-icons/stock_media_stop_{16,24}.png: 
	* gtk/gtkstock.h (GTK_STOCK_ABOUT): 
	* gtk/gtkstock.h (GTK_STOCK_CONNECT): 
	* gtk/gtkstock.h (GTK_STOCK_DISCONNECT): 
	* gtk/gtkstock.h (GTK_STOCK_EDIT): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_FORWARD): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_NEXT): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_PAUSE): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_PLAY): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_PREVIOUS): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_RECORD): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_REWIND): 
	* gtk/gtkstock.h (GTK_STOCK_MEDIA_STOP): 
	* gtk/gtkiconfactory.c (get_default_icons): 
	* gtk/gtkstock.c (builtin_items): Add a number of new stock 
	items.  (#102530, #68015, #109811, Jordi Mallach, Benjamin Otte,
	Michael Opdenacker)

Sun Jul 11 15:24:03 2004  Soeren Sandmann  <>

	Bug 143330, support update counter spec.
	* Add check for the Sync extension

	* gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and

	* gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
	* gtk/gtkwindow.c (gtk_window_realize): Automatically enable
	synchronized configures.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
	and pending counter values. 

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
	* gdk/x11/gdkwindow-x11.c
	(gdk_window_enable_synchronized_configure): New function.
	* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
	Delete update counter.
	* gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
	_NET_WM_SYNC_REQUEST when Sync is available

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
	value for use by gdk_window_configure_finished() when receiving

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
	extension is available
	* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
	_NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.

	* gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
	stubs for enable_synchronized_configure() and configure_finished()

Sat Jul 10 23:35:13 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (paste_received): Make middle-button pasting
	work as expected inside the entry.  (#116789, Scott Bronson)

Sat Jul 10 22:13:53 2004  Matthias Clasen  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): Update 
	clipboards.  (#142805, Mikael Hallendal)

Sun Jul 11 01:38:48 2004  Soeren Sandmann  <>

	* gtk/gtkpaned.c (gtk_paned_expose): Remove clip-region computing
	code. Just use &paned->handle_pos.

Sun Jul 11 01:12:50 2004  Soeren Sandmann  <>

	Bug 144271
	* gtk/gtknotebook.c (gtk_notebook_size_allocate): Remove an
	unnecessary redraw..

	* gtk/gtknotebook.c (gtk_notebook_page_allocate): Remove some
	incorrect redraws.

Sat Jul 10 01:33:25 2004  Matthias Clasen  <>

	* docs/RELEASE-HOWTO: Updates.

Sat Jul 10 01:55:29 2004  Soeren Sandmann  <>

	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{re|un}set_bg):
	Insert checks for root window. The root window is never mapped.

Sat Jul 10 01:06:05 2004  Soeren Sandmann  <>

	* gdk/x11/gdkwindow-x11.c (post_unmap): Fix a warning
	* gdk/x11/gdkwindow-x11.c (show_window_internal): Actually unset

Sat Jul 10 00:37:45 2004  Soeren Sandmann  <>

	Bug 113310.
	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{un|re}set_bg):
	New functions that can do a recursive unset/reset bg.

	* gdk/x11/gdkgeometry-x11.c: Remove

	* gdk/x11/gdkwindow-x11.c (pre_unmap, post_unmap): New functions
	called before and after unmapping a window. They unset the
	background of all other windows to prevent flicker from the X
	server repainting the background. post_unmap() also invalidates
	the parent of the unmapped window to draw it without roundtrips.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Unset
	background of newly mapped windows and all desendants to prevent
Fri Jul  9 15:33:55 2004  Manish Singh  <>

	* gdk/gdkevents.c: have a dummy case GDK_OWNER_CHANGE in switch
	statements to avoid gcc warnings about not all enum values handled.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): ignore should live in 
	#ifdef HAVE_XFIXES.

Fri Jul  9 23:26:09 2004  Soeren Sandmann  <>

	(Bug 113340)

	* gdk/x11/gdkwindow-x11.h (struct _GdkWindowImplX11): Add an
	"override_redirect" bit.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set it here.
	* gdk/x11/gdkwindow-x11.c (gdk_window_move, gdk_window_resize,
	Update the local size/position cache
	immediately for override redirect windows.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Invalidate
	newly mapped child and override redirect windows.

2004-07-09  Federico Mena Quintero  <>

	Fixes #137031:

	* gtk/gtkfilesystemunix.c (get_fallback_icon): New helper
	function, fetches a stock icon as a fallback.
	(gtk_file_system_unix_volume_render_icon): Fall back to a stock
	(gtk_file_system_unix_render_icon): Fall back to a stock icon.
	Use helper functions rather than being a mega-function.
	(get_icon_name_for_directory): Renamed from
	(get_icon_type_from_path): New helper function; code pulled out
	from gtk_file_system_unix_render_icon().
	(get_special_icon): Likewise.
	(get_icon_for_mime_type): Likewise.

2004-07-09  Federico Mena Quintero  <>

	* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Fix typo; tmp_event ->

2004-07-09  Matthias Clasen  <>

	* gtk/gtktooltips.c (gtk_tooltips_paint_window): Use the 
	requisition of the widget instead of relying on the style
	drawing function to supply the size of the drawable.  (#146531)	

2004-07-09  Matthias Clasen  <>

 	Make GtkEntry work harder to protect passwords:  (#143955,
	Morten Welinder)
	* gtk/gtkentry.c (gtk_entry_destroy): Add a destroy handler
	to clear the password even if the widget is leaked.

	* gtk/gtkentry.c (gtk_entry_real_delete_text): 
	* gtk/gtkentry.c (gtk_entry_finalize): Zero out the memory
	before freeing it.
	* gtk/gtkentry.c (gtk_entry_real_insert_text): Zero and free
	the old memory instead of just reallocating it.

	* gtk/gtkentry.c (gtk_entry_create_layout): Don't leak text
	direction information for passwords.

2004-07-09  Matthias Clasen  <>

	* gtk/gtkstyle.c: Fix some cases where style functions were 
	not handling widget == NULL properly.  (#146282)

Thu Jul  8 22:38:58 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c: Improve the EXPANDER_MAX warning.

2004-07-08  Federico Mena Quintero  <>

	Fix #139290:

	* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Add a
	GError argument.  Do check for errors when getting the
	GtkFileFolder:  get the folder and read the children before
	actually creating the model.  Removed obsolete code that handled
	roots-changed on the file system.
	(file_model_node_get_info): Assert that we don't reach the old
	case to display file system roots.
	(roots_changed_callback): Removed.

	* gtk/gtkfilechooserdefault.c (set_list_model): Add a GError
	argument, and a boolean return value.  Return an error if we
	cannot create the file system model.  On error, set a NULL model
	on the tree.
	(gtk_file_chooser_default_set_current_folder): Use the error value
	from set_list_model().
	(gtk_file_chooser_default_set_property): Set the show_hidden
	property only if the browse_files_model exists.
	(gtk_file_chooser_default_unselect_path): Only operate if the
	browse_files_model exists.
	(check_preview_change): Check whether we have the sort_model.
	(change_folder_and_display_error): Copy the path we get passed
	before using it.  There's a comment in there that explains why we
	need to copy it; basically, if the passed path belongs to the
	model, the model may go away in the middle of this function and
	we'll be left with a dangling pointer.
	(install_list_model_filter): Assert that the model is not NULL.
	(set_current_filter): Check whether the model exists.

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected): Don't
	g_return_if_fail if the model is NULL.
	(gtk_tree_selection_get_selected_rows): Likewise.
	(gtk_tree_selection_count_selected_rows): Likewise.
	(gtk_tree_selection_selected_foreach): Likewise.
	(gtk_tree_selection_path_is_selected): Likewise; rather just
	return FALSE.
	(gtk_tree_selection_select_all): Likewise.
	(gtk_tree_selection_unselect_all): Likewise.
	(gtk_tree_selection_select_range): Do g_return_if_fail() if the
	model is NULL.
	(gtk_tree_selection_unselect_range): Likewise.

	* gtk/gtkfilesystemunix.c (fill_in_names): Return immediately if
	g_dir_open() fails:  there is no need to set the error ourselves,
	as g_dir_open() already does it.

2004-07-08  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Allow
	to restore the default search function.  (#145365, John Finlay) 

	* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Don't leak 
	references to the drag context.  (#144324, Alex Larsson)

Thu Jul  8 00:31:34 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Stop editing
	when a new model is set.  (#145566, Dmitry M. Shatrov)

Wed Jul  7 23:44:32 2004  Matthias Clasen  <>

	* gtk/gtkimage.c (gtk_image_expose): Make sure that subpixbufs
	are properly aligned for gdk_pixbuf_saturate_and_pixelate(),
	in order to avoid rendering artifacts from misaligned 
	pixelation patterns.  (#145585, Felipe Heidrich, Billy Biggs)

2004-07-07  Matthias Clasen  <>

	* gtk/gtktreeview.c: 
	* gtk/gtktreeview.h: Small documentation fixes.

2004-07-07  Matthias Clasen  <>

	Support separators in combo boxes and more generally in tree 
	views  (#135873):
	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
	Add a ::row-separator-column property with getter and setter, 
	which can indicate a boolean model column to determine which
	rows are separators. 

	* gtk/gtkcombobox.c: Display separator rows as separator menu 
	items in menu mode, and by using the new treeview separator 
	functionality in list mode.

	* gtk/gtktreeview.h: 
	* gtk/gtktreeprivate.h:
	* gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func): 
	* gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func): 
	Add a callback to determine whether a row is a separator.
	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): 
	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
	* gtk/gtktreeview.c (validate_row): Use the new callback
	to determine whether a row is a separator, and draw it
	as a separator then. Since separators should take up less
	vertical space than regular rows, this requires removing
	the redundant MAX(...,expander_size) calls which appear in
	many places. Instead, the MAX() is now only done in 
	validate_row(), and only if the row is not a separator.
	To catch possible side effects of this intrusive change,
	I have left EXPANDER_MAX() calls in place of the MAX() calls
	which will emit a warning if something breaks. They should
	be removed before 2.6.

	* gtk/gtktreeselection.c (row_is_selectable): Don't let 
	separator rows be selected.
	* tests/testcombo.c (create_blaat): Add a separator column.

Tue Jul  6 22:58:00 2004  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Fix
	a 64bit alignment issue.  (#144302, Sunil)

2004-07-07  Tor Lillqvist  <>

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text)
	* gdk/win32/gdkfont-win32.c (gdk_text_extents)
	* gdk/win32/gdkproperty-win32.c (find_common_locale,
	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Use
	g_utf8_to_utf16() instead of the removed _gdk_utf8_to_ucs2() (see

	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init)
	* gdk/win3/gdkprivate-win32.h: Add a variable for the TARGETS
	atom. Initialize it. Declare it. Drop the variable for the

	* gdk/win32/gdkim-win32.c (gdk_wcstombs): Don't return UTF-8. This
	function is supposed to return the string in the locale's charset
	and encoding. Use g_convert().

	(gdk_mbstowcs): Similarily, don't take an UTF-8 string, but a
	string in the locale's charset. Use g_convert().

	(_gdk_ucs2_to_utf8, _gdk_utf8_to_wcs, _gdk_utf8_to_ucs2):
	Delete. The UCS-2 functions didn't handle surrogates anyway. Use
	GLib's UTF-16 functions instead. Windows uses UTF-16.

	* gdk/win32/gdkprivate-win32.h: Remove declarations of the deleted
	functions mentioned above.

	* gdk/win32/gdkproperty-win32.c (gdk_property_change): Use CF_TEXT
	also if the string is of type STRING, i.e. ISO-8859-1, and the
	current codepage is 1252, and contains no C1 chars. Accept
	also UTF8_STRING.

	* gdk/win32/gdkselection-win32.c (_gdk_selection_property_store):
	Mark as static. When storing STRING data, convert to
	Latin-1. (#140537)
	(gdk_selection_owner_set_for_display): Now that STRING is always
	ISO-8859-1, use UTF8_STRING when sending the selection request
	to ourselves.

	(gdk_selection_convert): Handle also UTF8_STRING. (#140537, John

	(gdk_text_property_to_text_list_for_display): Make work more like
	X11 version. Do obey the encoding parameter.

	gdk_utf8_to_compound_text_for_display): Don't even pretend
	supporting COMPOUND_TEXT.

	(gdk_utf8_to_string_target): Convert to ISO-8859-1, like on X11.

	(sanitize_utf8): Zero-terminate string.

2004-07-06  Matthias Clasen  <>

	* gtk/stock-icons/ Add stock_file_16.png, 
	stock_file_24.png, stock_directory_16.png and stock_directory_24.png.

	* gtk/gtkiconfactory.c (get_default_icons): New stock icons as 
	fallbacks for gtkfilechooser. Currently these are the same images
	as the "new" and "open" items...

Tue Jul  6 10:00:22 2004  Jonathan Blandford  <>

	Fix for #136496, Pawel Salek:
	* gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a redraw on
	a node when it changes in fixed_height mode.

	(gtk_tree_view_node_queue_redraw): new function to queue a redraw
	on a node.

2004-07-06  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_position): Make sure 
	private->monitor_num is a valid monitor number before 
	using it.  (#139187, Michael Natterer)

Tue Jul  6 02:00:28 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c (popup_position_func): 
	* gtk/gtkentry.c (popup_position_func): 
	* gtk/gtktextview.c (popup_position_func): Improve positioning
	of keyboard-activated menus with Xinerama.

Tue Jul  6 00:29:03 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (do_updates): 
	(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE() 
	when called from an idle handler.  (#145429, Jan-Marek Glogowski)

Mon Jul  5 23:47:38 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserutils.c (delegate_notify): Use
	the less efficient g_object_interface_find_property () instead
	of the param_id range check, since the GParamSpecs we're 
	dealing with are the overridden onces on the interface, whose
	param_id is always zero.  (#145312, Alex Roitman, fix proposed
	by Owen Taylor)

2004-07-05  Lorenzo Gil Sanchez  <>

	* gtk/gtklayout.c (gtk_layout_add): added a default method for the add
	virtual method of GtkContainer.
	(gtk_layout_class_init): assign gtk_layout_add to the 'add' virtual
	method slot of the container class.

2004-07-05  Anders Carlsson  <>

	* gtk/gtkiconview.c: (gtk_icon_view_set_markup_column):
	* gtk/gtkiconview.h:
	Use gint, not int in gtk_icon_view_set_markup_column,
	(Paolo Maggi)
2004-07-05  Anders Carlsson  <>

	* gtk/gtkiconview.c: (gtk_icon_view_class_init),
	* gtk/gtkiconview.h:
	Add an "activate_cursor_item" action signal
	and bind it to the return key.
2004-07-04  Anders Carlsson  <>

	* demos/gtk-demo/
	* demos/gtk-demo/gnome-fs-directory.png:
	* demos/gtk-demo/gnome-fs-regular.png:
	* demos/gtk-demo/iconview.c: (load_pixbufs), (fill_store),
	(sort_func), (create_store), (item_activated), (up_clicked),
	(home_clicked), (do_iconview):
	Add a simple file browser based on the icon view.
	* gtk/gtk.h:
	Add gtk/gtkiconview.h
	* gtk/gtkiconview.c: (gtk_icon_view_layout),
	(gtk_icon_view_item_new), (gtk_icon_view_item_activated):
	Fix a few bugs discovered while writing the demo.
2004-07-04  Anders Carlsson  <>

	* gtk/
	* gtk/gtkiconview.c
	* gtk/gtkiconview.h:
	Add GtkIconView to the build, remove debugging output.
Sun Jul  4 01:29:35 2004  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_drag_data_get): 
	(gtk_calendar_drag_data_received): Fix off-by-one error.  
	GDate month is one-based and GtkCalendar month is zero-based.  
	(#145134, William Jon McCann)

Sun Jul  4 01:11:07 2004  Matthias Clasen  <>

	* gtk/gtktreestore.c (gtk_tree_store_move): Don't crash if
	somebody tries to move a node after itself in a list of 
	length 1.  (#145291, Sampo Nurmentaus)

Sat Jul  3 23:43:23 2004  Matthias Clasen  <>

	* docs/faq/gtk-faq.sgml: 
	* gtk/gtkwindow.c: Fix links to  (#145210,
	Billy Biggs)

Sat Jul  3 02:09:51 2004  Matthias Clasen  <>

	* gtk/gtksocket.c (gtk_socket_end_embedding): Reset current_width
	and current_height to 0 when ending the embedding.  (#143675,
	Nickolay V. Shmyrev)

Sat Jul  3 01:48:19 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_move_visually): Let the cursor move
	to the right end of the entry text, even if it ends in combining
	marks.  (#141728, Theppitak Karoonboonyanan)

Fri Jul  2 23:34:33 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Unset the displayed
	row when unsetting the model.  (#138560, Christian Persch)

Fri Jul  2 23:01:07 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (update_menu_sensitivity): Don't crash if there
	are no items.

Fri Jul  2 22:41:27 2004  Matthias Clasen  <>

	* gtk/gtkimage.c (gtk_image_expose): Properly align mask and
	pixbuf if a subarea is exposed.  (#135423, fix by John Ehresman)

Fri Jul  2 21:40:21 2004  Matthias Clasen  <>

	* gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events
	to the event mask, set a scroll_event handler.
	* gtk/gtknotebook.c (gtk_notebook_scroll): Handle scroll events
	by switching tabs.  (#145244, Gabriel de Perthuis)

2004-07-02  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): 
	Make sure we check for a NULL model first.

2004-07-01  J. Ali Harlow  <>

	* gdk/win32/gdkinput-win32.c (_gdk_input_ungrab_pointer): Fix
	win32 build problem w/o wintab.  Fixed #145242

2004-06-30  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Use
	g_return_if_fail to make sure that the model is a GtkTreeModel.

Sat Jun 26 17:41:10 2004  Soeren Sandmann  <>

	* gtk/gtk[hv]separator.c (gtk_[hv]separator_expose): Draw line with the
	current state, not GTK_STATE_NORMAL

	* gtk/gtkframe.c (gtk_frame_paint): Fix a rounding error

Sat Jun 26 15:07:25 2004  Soeren Sandmann  <>

	* gtk/gtkstyle.c, gtk/gtkrc.c: small color tweak. (#141173)

Sat Jun 26 01:15:40 2004  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (set_initial_hints): Handle
	Billy Biggs)

Sat Jun 26 01:04:31 2004  Matthias Clasen  <>

	* gtk/gtkiconfactory.c (clear_cache): Prevent unwanted 
	recursion by resetting icon_set->cache before freeing
	the cache.  (#144947, Tim Janik)

Sat Jun 26 00:40:02 2004  Matthias Clasen  <>

	* gtk/gtkiconfactory.c (render_icon_name_pixbuf): 
	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): 
	* gtk/gtkstyle.c (gtk_default_render_icon): Accept a NULL 

Sat Jun 26 00:04:36 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model): 
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the 
	last change in the docs.

Fri Jun 25 23:35:42 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
	NULL to unset the model.  (#137211, patch by  Mariano Suárez-Alvarez)

Fri Jun 25 23:33:05 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
	placement policy for GtkComboBoxEntry to be: if it fits below, 
	place below, if it fits above place above, else place in the 
	larger space and scroll so that the scroll arrow appear at the
	far end.  (#144362, David A. Knight)

Fri Jun 25 22:49:58 2004  Matthias Clasen  <>

	* gtk/gtktreestore.c (gtk_tree_store_move): Avoid uninitialized
	use of &parent_iter. (#145007, John Finlay)

2004-06-25  Bastien Nocera  <>

	reviewed by: Matthias Clasen  <>

	* gdk/x11/gdkkeys-x11.c: (get_symbol), (update_keymaps),
	(gdk_keymap_lookup_key), (translate_keysym): fix keys parsing when
	the number of keysyms per keycode is odd. Fixes #144808.

2004-06-25  Matthias Clasen  <>

	* gtk/gtkfontbutton.c (gtk_font_button_update_font_info): Avoid
	a crash if the font doesn't exist.  (#144967, Yevgen Muntyan) 

Fri Jun 25 00:32:15 2004  Matthias Clasen  <>

	* gtk/gtktreestore.c (gtk_tree_store_swap): Commit the change
	which was mentioned below.

Thu Jun 24 23:35:09 2004  Matthias Clasen  <>

	* gtk/gtknotebook.c (gtk_notebook_class_init): Fix a typo,
	string change.  (#139503, Baris Cicek)

2004-06-22  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a Save
	or an Open stock button for the C-l dialog depending on the action
	in which the file chooser operates.  Fixes #141753.

2004-06-22  Federico Mena Quintero  <>

	Fixes the GTK+ part of #142308:

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_filename_to_path):
	Use filename_to_path().
	(gtk_file_system_unix_uri_to_path): Likewise.
	(filename_to_path): Use remove_trailing_slash().

2004-06-22  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): Improve docs
	for the ::move_cursor signal.

	* gtk/gtkaccelmap.c (_gtk_accel_path_is_valid): Accept
	"<WINDOWTYPE>" as a valid accel path.  (#144427, Philip 

	* gtk/gtkselection.c (GTK_SELECTION_MAX_SIZE): Make sure 
	this gets defined for all backends, so linux-fb has a 
	chance of compiling.

	* gdk/x11/gdkgc-x11.c: 
	* gdk/gdkgc.c: Move function docs inline, add hints about 
	obtaining rgb colors from gcs.  (#144688, Steve Chaplin)

	* gtk/gtktreestore.c (gtk_tree_store_swap): Make this work
	for children of the root.  (#139785, Jean-François Wauthy,
	patch by John Finlay)

	* gtk/gtkicontheme.h (GTK_ICON_THEME_GET_CLASS): Typo
	fix.  (#144750, Jeff Franks) 

2004-06-21  Michael Natterer  <>
	Merge from stable:

	* gdk/x11/gdkdrawable-x11.[ch]: made convert_format() utility
	function public as _gdk_x11_convert_to_format().

	* gdk/x11/gdkcursor-x11.c (create_cursor_image): premultiply
	the pixels from the GdkPixbuf when putting them in the
	Xcursor image. Fixes bug #144350.

2004-06-16  Federico Mena Quintero  <>

	* gtk/gtkfilesystemmodel.c (do_files_added): When inserting a
	visible node, free the old path before creating the new one.
	Fixes #144356.

Tue Jun 15 01:10:32 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Make GtkComboBox work without model.  
	(#144198, Mariano Suárez-Alvarez)
Fri Jun 11 22:05:56 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserdefault.c: Don't use
	contractions like "don't" or "isn't" in error messages.
	It isn't nice to use them in log entries either...
	(#137774, Morten Welinder, patch by Alexander Winston)

2004-06-11  Federico Mena Quintero  <>

	Fixes #143578:

	* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_add_editable):
	Don't ref the editable node.
	(_gtk_file_system_model_remove_editable): Don't unref the editable node.
	(_gtk_file_system_model_remove_editable): Ahem, free the node.

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	Added fields for edited_idle and edited_new_text.
	(renderer_edited_cb): Queue the
	creation of the folder in an idle handler.
	(renderer_editing_canceled_cb): Likewise for the cancellation.
	(gtk_file_chooser_default_finalize): Free the impl->edited_new_text.

Thu Jun 10 22:12:26 2004  Matthias Clasen  <>

	* gtk/gtkmain.c (gtk_parse_args): Typo fix.

2004-06-10  Federico Mena Quintero  <>

	Fixes #144110, patch by Bastien Nocera <>.

	* gtk/gtkfilechooser.c (gtk_file_chooser_list_shortcut_folders):
	Refer to gtk_file_chooser_add_shortcut_folder().
	(gtk_file_chooser_list_shortcut_folder_uris): Refer to

Thu Jun 10 00:36:15 2004  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_main_button): Start 
	the drag before focusing the
	* gtk/gtkcalendar.c (gtk_calendar_state_changed): Stop
	a beginning drag if the widget becomes insensitive.

Thu Jun 10 00:09:06 2004  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_button_press): Start 
	spinning before calling arrow_action(), so that a signal
	handler triggered from arrow_action() has a chance to 
	stop the spinning.  (#143966, Davyd Madeley)

Wed Jun  9 23:11:23 2004  Matthias Clasen  <>

	* gtk/gtkstyle.c (_gtk_style_init_for_settings): Fix a 
	typo.  (#144070, Kent Sandvik)

Thu Jun 10 00:22:51 2004  Soeren Sandmann  <>

	* gtk/gtkmenu.c: Revert the "drag select" part of
	#141169. (#144011).

Mon Jun  7 23:07:40 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): Handle
	priv->model being NULL.  (#143856, Mariano Suárez-Alvarez)

2004-06-07  Federico Mena Quintero  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Revert the patch
	from 2003/Sep/12.  This kept DnD in tree views within modal
	dialogs from working, which is especially bad for the file
	chooser.  Fixes #135168.

Sun Jun  6 23:57:21 2004  Matthias Clasen  <>

	Make the entry context menu work in editable text cells. The changes
	are based on a patch by Kristian Rietveld, which implemented an 
	approach outlined by Owen Taylor.  (#50075)
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event): 
	Ignore focus out if the entry menu is posted.
	(gtk_cell_renderer_text_populate_popup): Mark the entry menu as 
	posted, and set up a signal handler to clear the flag if the menu 
	is unmapped.
	(gtk_cell_renderer_text_popup_unmap): Clear the in_entry_menu flag, 
	set up a timeout to stop editing if the focus is lost.
	(popdown_timeout): Stop editing if the entry doesn't have focus anymore.
	(gtk_cell_renderer_text_start_editing): Connect to the populate_popup 
	signal on the entry and keep a pointer to the entry.
	(gtk_cell_renderer_text_editing_done): Disconnect from popuplate_popup, 
	clear the pointer to the entry.

Sun Jun  6 23:24:43 2004  Matthias Clasen  <>

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Improve the description
	of the ::language property.  (#143802, Owen Taylor)

Sat Jun  5 23:07:30 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c: (gtk_entry_completion_init),
	(_gtk_entry_completion_popup), (_gtk_entry_completion_popdown):
	* gtk/gtkentryprivate.h: Add an ignore_enter flag and
	use it as in the menu code to avoid the initial selection if
	the window pops up under the pointer.  (Anders Carlsson)

Sat Jun  5 20:05:39 2004  Soeren Sandmann  <>

	* tests/testmerge.c: Add a checkbox to queue an
	merge/unmerge. Patch from Matthias Clasen.

	* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Add a new flag
	(rebuild_menu): New function that rebuilds the overflow menu and
	makes sure it doesn't start or end with a separator.
	(toolbar_content_new_compatibility): Set the rebuild_needed flag
	(gtk_toolbar_size_allocate): Only show the overflow arrow when we
	have actually overflown an item with a proxy menu item. Also make
	sure we rebuild the menu if needed.

	Fix #125504, #142377, #143463
	* gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose):
	Obey the "priv->draw" flag. (#143692)

2004-06-04  Matthias Clasen  <>

	* docs/widget_geometry.txt: Add a note about the !CAN_FOCUS
	quirk in the button size allocation code.

	* gtk/gtkbutton.c (gtk_button_size_allocate): Give the space
	requested for drawing the focus indicator to the child in the
	!CAN_FOCUS case. This should fix issues which the Gimp has with 
	the button allocation changes in 2.4.2.

Thu Jun  3 21:17:29 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_completion_timeout): Calculate the
	length of the entry contents in characters, not in bytes.

	* gtk/gtkentry.c (paste_received): Don't pop up the completion
	window on paste, noticed by Anders Carlsson.

Thu Jun  3 20:56:19 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the allowed
	values and default value for the ::active property.  (#143669,
	Olivier Andrieu)

2004-06-03  Michael Natterer  <>

	* gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition()
	instead of accessing item->image->allocation.width/height
	directly. Makes widgets which only have a requisition set using
	gtk_widget_set_size_request() work and fixes bug #142789.

Thu Jun  3 08:07:59 2004  Soeren Sandmann  <>

	* gtk/gtkmenu.c: Revert previous commit. It caused the problem
	of sticky right click menus to return.

Wed Jun  2 01:56:02 2004  Soeren Sandmann  <>

	* gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
	better handle the "click" case. bug  Better fix for #141169.

2004-06-02  Federico Mena Quintero  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_init): Bail out if the
	model is empty.  Fixes #143536.

2004-06-02  Matthias Clasen  <>

	* gtk/gtkfontsel.c (gtk_font_selection_size_focus_out): Don't
	close the dialog on focus out of the size entry.  (#143505, 
	David Hawthorne)

2004-06-02  Federico Mena Quintero  <>

	Fix #138807.

	* gtk/fnmatch.c (_gtk_fnmatch): Take a no_leading_period argument.
	(gtk_fnmatch_intern): Likewise; also implement this option.

	* gtk/gtkprivate.h (_gtk_fnmatch): Updated prototype.

	* gtk/gtkfilesel.c (find_completion_dir): Pass TRUE for the
	no_leading_period argument of _gtk_fnmatch().
	(attempt_file_completion): Likewise.

	* gtk/gtkfilefilter.c (gtk_file_filter_filter): Pass FALSE for the
	no_leading_period argument of _gtk_fnmatch().

Wed Jun  2 00:47:11 2004  Matthias Clasen  <>

	* gtk/gtkselection.c (_gtk_selection_request): Remove leftover
	debug code.

Wed Jun  2 00:13:57 2004  Matthias Clasen  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_select_range): Don't
	allow unless selection mode is multiple.  (#142634, John Finlay)

Tue Jun  1 23:00:20 2004  Matthias Clasen  <>

	* gtk/gtktoolbar.h: 
	* gtk/gtktoolbar.c: 
	* gtk/gtkentrycompletion.h: 
	* gtk/gtkentrycompletion.c: 
	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c: Rename function parameters from
	index to index_ to prevent clash with BSD index().  (#143001)

Tue Jun  1 22:45:42 2004  Matthias Clasen  <>

	* gtk/gtkmenu.c (get_accel_path): Handle accel_closure being
	NULL on an accel label. (#139641, Sam Stephenson, patch by 
	Michael Natterer)

Tue Jun  1 22:19:55 2004  Matthias Clasen  <>

	* gtk/gtkicontheme.c (theme_subdir_load):  Prevent icon 
	lookup finding icons in the wrong prefix.  (#143328,
	Mark McLoughlin)

Wed Jun  2 00:39:58 2004  Soeren Sandmann  <>

	Bug #141169.

	* gtk/gtkmenushell.c (gtk_menu_shell_button_release): Make menus
	only stay up if you release within 500 milliseconds.
	(gtk_menu_shell_button_press): Set the activate_time to the event
	time when a button is pressed.

	* gtk/gtkmenu.c (gtk_menu_motion_notify, gtk_menu_enter_notify):
	Interprete button releases as activate when we have seen both an
	enter an a motion event.

2004-06-01  Federico Mena Quintero  <>

	* gtk/gtkfilesystemmodel.c (do_files_removed): Don't insert a
	dummy node if there is no parent node.  Fixes #143362.

2004-05-31  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (renderer_edited_cb): Change to the
	newly-created folder.  Fixes #138932.
	(trap_activate_cb): Only return TRUE if we did handle the event.
	Fixes #143359; patch by

Mon May 31 02:39:32 2004  Matthias Clasen  <>

	* gtk/gtkimage.c (gtk_image_new_from_pixmap): Fix typo in 
	docs.  (#142892, Tommi Komulainen)

Mon May 31 02:16:37 2004  Matthias Clasen  <>

	* gtk/gtkhandlebox.c: Make detached handleboxes work when their
	parent is minimized, porting the fix from 1.2.  (#1923, #57182)

Mon May 31 02:03:17 2004  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_show): Make moving realized, 
	unmapped windows work. 

Mon May 31 00:27:33 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserutils.c (_gtk_file_chooser_set_delegate): Fix
	a typo.

Mon May 31 00:23:55 2004  Matthias Clasen  <>

	* gtk/gtkfilechooser.c (gtk_file_chooser_set_preview_widget): 
	Refer to ::update-preview, not ::selection-changed.

2004-05-29  Christian Rose  <>
        * Added "tk" to ALL_LINGUAS.
Fri May 28 15:00:01 2004  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_set_parent): Add informative
	messages for common problems.  (#137974, Owen Taylor)

Fri May 28 14:20:17 2004  Matthias Clasen  <>

	* gdk/x11/gdkevents-x11.c: Fix off-by-one allocation 
	errors. (#143337, Billy Biggs) 

Thu May 27 16:36:22 2004  Owen Taylor  <>

	* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): Set
	bits within visual->depth that aren't used for color to
	1s, in case they are alpha.

2004-05-27  Anders Carlsson  <>

	* gtk/gtkfilechooserdefault.c (save_folder_combo_create): 
	Make separator rows insensitive.

Thu May 27 00:48:16 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_text_column): 
	Add more docs.

Thu May 27 00:45:07 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.h:
	* gtk/gtkentrycompletion.c (gtk_entry_completion_get_text_column): 
	Getter for text_column. Also make ::text_column a property.

Thu May 27 00:11:01 2004  Matthias Clasen  <>

	* gtk/gtkmenuitem.c (gtk_menu_item_size_request): Fix a typo.

Thu May 27 00:07:47 2004  Jonathan Blandford  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the
	signal if the box exists.

Wed May 26 23:26:51 2004  Matthias Clasen  <>

	Support insensitive cells in tree views and combo boxes:
	* gtk/gtkcellrenderer.h: 
	* gtk/gtkcellrenderer.c: Add a ::sensitive property.

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): 
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): 
	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): 
	Support drawing insensitive.

	* gtk/gtkcellview.h: 
	* gtk/gtkcellview.c (gtk_cell_view_get_cell_renderers): New 
	function to obtain the cell renderers from a cell view. Also
	export gtk_cell_view_set_cell_data().

	* gtk/gtktreeselection.c (tree_column_is_sensitive):
	* gtk/gtktreeselection.c (row_is_selectable): Helper functions
	to determine whether all visible cells in a row are insensitive
	and whether a row is selectable. A row is not selectable if the 
	user function says so or if all visible cells are insensitive.
	* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): 
	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node): 
	Use row_is_selectable().
	* gtk/gtkcombobox.c (row_is_sensitive): 
	* gtk/gtkcombobox.c (tree_column_row_is_sensitive): 
	* gtk/gtkcombobox.c (menu_row_is_sensitive): Helper functions
	to determine row sensitivity in menu or list mode.

	* gtk/gtkcombobox.c (update_menu_sensitivity): Helper function
	to set up sensitivity menu items from the underlying rows.

	* gtk/gtkcombobox.c (gtk_combo_box_popup): 
	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): Use
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Setup the cell
	data funcs.

	* gtk/gtkcombobox.c (gtk_combo_box_key_press): Skip insensitive

	* tests/testcombo.c (main): Make some rows insensitive.

2004-05-26  Robert Ögren  <>

	* gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Send key
	modifiers (shift, ctrl etc) in button and motion events from the
	tablet. (#143240)

2004-05-26  Robert Ögren  <>

	* gdk/win32/gdkinput-win32.c (gdk_device_get_state): Simple
	implementation for extended input devices using last known 
	device state (#143237)

Tue May 25 21:54:00 2004  Matthias Clasen  <>

	* gtk/gtkframe.c: Move docs inline, fixing them on the
	way.  (#143029, Steve Chaplin)

2004-05-11  Robert Ögren  <>

	* gdk/win32/gdkevents-win32.c (propagate): Don't propagate mouse
	events to windows that want extended input events. (#142943)
	(gdk_event_translate): Move check for extended input devices to
	propagate, new parameter to propagate.
	(gdk_pointer_grab, gdk_display_pointer_ungrab): Enable calls to
	_gdk_input_(un)grab_pointer. (#142943)

	* gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Check for
	input grab. [Fix missing update of impl in "dijkstra" event
	propagation loop] Drop the parallel "impl" pointer, just use a
	cast. Don't propagate beyond windows that want normal input
	events. (#142943)
	(gdk_input_grab_pointer, gdk_input_ungrab_pointer): Limited
	implementation of input grab. (#142943)

2004-05-22  Tor Lillqvist  <>

	* gdk/win32/gdkinput-win32.c (print_lc): Remove duplicated
	line. (Spotted by Benoît Carpentier.)

2004-05-18  Matthias Clasen  <>

	* Check for XFIXES extension.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add 
	a gboolean have_xfixes member.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
	XFIXES events and set have_xfixes.

	* gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
	(GdkEventOwnerChange): New event struct for owner change events.
	(GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate 
	XFixesSelectionNotify events into GdkEventOwnerChange events.
	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
	(gdk_display_request_selection_notification): New api 
	to support selection ownership notification.

	* gtk/gtkclipboard.h:
	* gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
	api to handle owner change events.
	(clipboard_peek): Refactored out the body of 
	gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().

	* gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
	by calling _gtk_clipboard_handle_event().

2004-05-18  Matthias Clasen  <>

	* gtk/gtkintl.h: Include glib/gi18n-lib.h and only define
	the P_() macros ourselves.

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Restrict the width of the popup to be no larger than the
	monitor.  (#142678, DmD Ljungmark)

	* gtk/gtkbutton.c: Go back to the initial fix for the 
	focus-overdrawing problem, which was actually correct 
	according to docs/widget_geometry.txt.

	* gtk/gtkarrow.c (gtk_arrow_class_init): Bump the initial
	arrow size from 11 to 15 to compensate for that.

	* gtk/gtktextview.c (gtk_text_view_class_init): Document the
	arguments of the ::move-cursor signal.  (#142725)

2004-05-17  Matthias Clasen  <>

        Merged from 2.4:
	* gtk/gtkbutton.c (gtk_button_size_request) 
	(gtk_button_size_allocate, _gtk_button_paint): Allocate
	space for the focus rectangle only if necessary.  (#142668,
	Michael Natterer)

Sun May 16 23:11:47 2004  Matthias Clasen  <>

	Merged from 2.4:
	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove two useless 
	lines.  (#142479, Morten Welinder)

Sun May 16 22:27:17 2004  Matthias Clasen  <>

	* gtk/gtkintl.h (Q_): Add a Q_() macro. 

	* gtk/gtkcellrendererprogress.h: Remove GTK_PROGRESS_CELL_UNKNOWN
	and GTK_PROGRESS_CELL_FAILED. With the ability the set the label,
	they are not really needed.

	* gtk/gtkcellrendererprogress.c: Use the xpad and ypad properties
	instead of hardwired padding, use Q_() for the default label, 
	compute a reasonable minimal size.  (#142571, #142572, #142573,
	Tommi Komulainen, Christian Persch)
2004-05-15  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c: Put back the ref_count field in the
	GdkDragContextPrivateWin32 struct (but inside ifdef OLE2_DND this
	time). It is used by the OLE2_DND code, which is unfinished and
	presumably horribly broken, but still, let's not make it not
	compile on purpose. Silence some gcc warnings in the OLE2_DND

2004-05-14  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_tree_window_to_tree_coords): 
	New function to go from tree window to tree coordinates, kept
	static for now until we figure out the multiple coordinate
	system mess in GtkTreeView API-wise.
	(gtk_tree_view_scroll_to_cell): Transform the coordinates 
	from tree window to tree coordinates, using the new function.
	Previously, the x coordinate was wrongly transformed. (#142494)

	* gdk/gdktypes.h (GdkModifierType): Add a comment about unused

	* gtk/gtkstock.c (real_add, gtk_stock_lookup): Use an unused
	modifier bit to mark stock item which need to be freed 
	eventually.  (#140654, Michal Pasternak, Scott Tsai)

2004-05-11  Robert Ögren  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Add missing
	call to g_object_ref in Wintab code. (#138341)

	* gdk/win32/gdkinput-win32.c: Fix numerous Wintab problems
	including unallocated buffers for event->motion.axes and
	event->button.axes, unsigned wraparound problem in the code for
	detecting missing press/release events and assigning min instead
	of max when setting up axes.

2004-05-12  Matthias Clasen  <>

	* tests/testtreeedit.c: Add a progress column.

	* gtk/ Add gtkcellrendererprogress.[hc] in the right

	* gtk/gtk.h: Include gtkcellrendererprogress.h.

	* gtk/gtkcellrendererprogress.[hc]: A progress cell renderer,
	based on the one found in Epiphany.

2004-05-11  Michael Natterer  <>

	* gtk/gtkcombobox.c (gtk_combo_box_popup)
	(gtk_combo_box_menu_button_press): don't allocate the popup
	smaller than the combobox. Fixes bug #59660.

2004-05-11  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Revert the
	previous change to this function, clarify the docs instead.

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use

	* gtk/gtktreeview.c: Make hover selection work for 

Tue May 11 00:38:25 2004  Matthias Clasen  <>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init): 
	Document the ::toggled signal.

Mon May 10 23:04:25 2004  Soeren Sandmann  <>

	* gtk/gtkwidget.h: Add prototype for _gtk_widget_grab_notify()

2004-05-10  Matthias Clasen  <>

	* gtk/gtkwindow.c (get_screen_icon_info): Make static.

	* gdk/gdkdisplay.c (singlehead_...): 
	* gdk/x11/gdkkeys-x11.c (get_effective_keymap): 
	* gdk/x11/gdkgeometry-x11.c (expose_serial_predicate): 
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Make static.

	* gtk/gtktreeview.c (gtk_tree_view_set_fixed_height_mode): Add a 
	note about COLUMN_FIXED restriction.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press): 
	Set the entry in the default handler of the ::match-selected signal.

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't
	do the move-selected-item below pointer thingie, do the 
	place-below-or-above one.

	* tests/testentrycompletion.c: Make the second example use the 
	::match-selected signal to make it actually work.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): 
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
	mode.  (#127648, Dave Bordoley)

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c: Add a new property "hover_selection", which 
	when TRUE makes the selection follow the mouse. Also add setter
	and getter for the fixed_height property.

2004-05-10  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_popup) 
	(gtk_combo_box_menu_button_press): Make sure the menu pops up
	as wide as the combobox.  (#59660, Havoc Pennington)

2004-05-10  Matthias Clasen  <>

	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu 
	mode). Add a new property, add-tearoffs, for this.  (#135956)

	* gtk/gtkfontsel.c (list_row_activated): Make Return activate the
	default button.  (#118921)

Mon May 10 15:03:50 2004  Soeren Sandmann  <>

	* gtk/gtkwidget.c (_gtk_widget_grab_notify): New internal function
	that emits the grab notify signal.
	* gtk/gtkmain.c (gtk_grab_notify_foreach): Use it here.

Mon May 10 00:48:08 2004  Matthias Clasen  <>

	* gtk/gtkmenu.c: Make destruction of a torn off menu work 
	like un-tearing off.

Sun May  9 21:05:38 2004  Matthias Clasen  <>

        Merge from 2.4:

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): 
	Allow to suppress the stock accelerator by using "".  (#142196,
	David A Knight)
Sun May  9 02:01:13 2004  Matthias Clasen  <>

        Merge from 2.4:
	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): 
	In list mode, accept the same mouse/wheel bindings on 
	the cellview as on the button.  (#136967)

Sun May  9 01:25:37 2004  Matthias Clasen  <>

	* gtk/gtkiconfactory.c (add_to_cache): Actually count the
	cached icons.  (#135888, Crispin Flowerday)

Sun May  9 00:03:03 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
	that we actually return menus for nodes of type menu, not the
	menuitems they're attached to.

Sat May  8 22:50:55 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_set_translation_domain): 
	Add a note regarding UTF-8 requirements, proposed by 
	Mariano Suárez-Alvarez.

Sat May  8 22:43:11 2004  Matthias Clasen  <>

	* gtk/gtktearoffmenuitem.h: 
	* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
	into the GtkTearoffMenuItem struct, since it is used
	by the Gimp, and keep it synchronized with the 
	tearoff_state property of the parent menu.

2004-05-08  Hans Breuer  <>

	* gtk/gtkfilesystemwin32.c (extract_icon) : finally also
	create the correct mask for 'pseudo mime' icons

	* gdk/win32/gdkwindow-win32.c(show_window_internal) : also
	take focus_on_map into account

	* gtk/gtkselection.c : g_message() only with DEBUG_SELECTION

	* gtk/gtkactiongroup.c gtk/gtkcombobox.c : 
	... must return a value

	* gdk/gdk.def gtk/gtk.def demos/gtk-demo/ : updated

2004-05-07  Matthias Clasen  <>

	* gtk/gtkbutton.c (gtk_button_size_allocate): Don't let the child
	draw over the focus rectangle.

	* gtk/gtkhsv.c: Draw focus indication in the color wheel using
	standard focus style.  (#63071, Bill Haneman, idea for new
	style by Owen Taylor)

	* gtk/gtkstyle.c (gtk_default_draw_focus): Support drawing on
	focus on the colorwheel via details.

2004-05-06  Matthias Clasen  <>

        Merge from 2.4:
	* gtk/gtkcombobox.c (gtk_combo_box_menu_state_changed): Remove
	this no longer needed signal handler.  (#141817, Paul Pogonyshev)

Fri May  7 00:41:46 2004  Matthias Clasen  <>

	* gtk/gtktearoffmenuitem.h: 
	* gtk/gtktearoffmenuitem.c: Make the tearoff 
	functionality model/view, the tearoffmenuitem being
	the view and the tearoff_state property of the menu
	being the model.  (#101185, Owen Taylor)

	* gtk/gtkmenu.c: Add a tearoff_state property.

Thu May  6 23:52:13 2004  Matthias Clasen  <>

	Merge from 2.4:

	* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Also 
	popup the submenu for items in torn off menus.  (#122051)

2004-05-06  Sven Neumann  <>

	* gtk/gtkexpander.c (gtk_expander_size_allocate): in RTL mode,
	position the title lable next to the arrow just as we do for LTR
	rendering. Fixes bug #141825.

2004-05-06  Matthias Clasen  <>

	* docs/RELEASE-HOWTO: Document the new policy of
	bumping version numbers after release.

	* Bump version number to 2.5.0.

2004-05-06  Padraig O'Briain  <>

	* gtk/gtkmenu.h:
	* gtk/gtkmenu.c: Add new function gtk_menu_get_for_attach_widget.
	(bug #113112).

Thu May  6 00:24:11 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.h: 
	* gtk/gtkactiongroup.c (gtk_action_group_translate_string): 
	New function to translate a string with translate_func.

Thu May  6 00:02:21 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_get_wrap_width): 
	(gtk_combo_box_get_column_span_column): Add missing getters
	for readwrite properies. (#135649)

Wed May  5 23:42:42 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.h: 
	* gtk/gtkcombobox.c (gtk_combo_box_get_active_text): 
	Add gtk_combo_box_get_active_text() convenience 
	function. (#136372, Christian Neumeir, patch by Olivier Andrieu) 

2004-05-05  Elijah Newren  <>

	Changes to support do-not-focus-on-map hint in conjunction with
	_NET_WM_USER_TIME (#115650):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field focus_on_map
	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
	and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_new):
	Initialize the focus_on_map field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map): 
	* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the focus_on_map field, but don't use it yet
	to actually implement noinput windows. The X implementation sets
	_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).

	* gdk/x11/gdkwindow-x11.h: 
	* gdk/x11/gdkevents-x11.c (set_user_time): 
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): 
	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): 
	since we want that function to be part of the public API.

Wed May  5 22:20:21 2004  Matthias Clasen  <>

	Merge from 2.4:
	* gtk/gtkiconfactory.c (icon_source_clear): Don't
	call g_free() on a pixbuf.  (#141961, Crispin Flowerday) 

2004-05-05  Matthias Clasen  <>
	Merge from 2.4:
	* gtk/gtkuimanager.c (print_node): Make the output 
	parseable.  (#141929, Sven Neumann)

2004-05-05  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add
	multi-monitor offset. (#141842, John Ehresman)

2004-05-04  Federico Mena Quintero  <>

	Fixes #139562, based on a patch by Christian Neumair.

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
	a filter_combo_hbox field to contain the filter combo.
	(show_filters): Show/hide the filter_combo_hbox.
	(create_filename_entry_and_filter_combo): Removed.
	(file_pane_create): Create the filter_combo_hbox here.

2004-05-04  Matthias Clasen  <>

	* modules/input/gtkimcontextxim.c: Fix the recent
	string_conversion_callback change to work on 
	Solaris.  (#141190, Padraig O'Briain)

	* gtk/gtkselection.c: Disable debug logging again.

2004-05-03  Matthias Clasen  <>

	* gtk/gtkselection.c: Make the chunk size for 
	incremental transfers depend on the maximal request 
	size, capped at 256k. This should allow most selections
	to be transferred nonincrementally, avoiding many
	roundtrips and protocol overhead.

2004-05-03  Federico Mena Quintero  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Call
	g_signal_new() correctly and initialize the signal fields.  Fixes
	#141749; patch based on Michael Natterer's.

u2004-05-03  Matthias Clasen  <>

	* gtk/gtkselection.c (_gtk_selection_request): Fix
	a debug message to show correct information.
	(_gtk_selection_incr_event): Make INCRemental transfer
	of MULTIPLE targets work. This was broken since 1997!

2004-05-02  Hans Breuer  <>

	* gdk/win32/gdkdrawable-win32.c (draw_segments) : don't
	modify the passed in GdkSegment(s) in place, we may get
	them again to draw at the same place. Fixes bug #129095, 
	bug #137177, ...
	(draw_segments) draw the end pixel again to get the 
	pixmap mask right, fixes bug #126710, #130202

	* gdk/win32/gdkwindow-win32.c : use SetForegroundWindow,
	fixes bug #106013, John Ehresman

	* gtk/ : don't try to link gtk.res but
	use gtk-win32.res (as supposed to be fixed below :)

2004-05-01  Hans Breuer  <>

	* tests/ : tests/makefile.msc is in CVS for
	a long time, finally added to EXTRA_DIST : fixes bug 
	#141334, John Ehresman

2004-04-30  Matthias Clasen  <>

	* === Released 2.4.1 ===

	* Version 2.4.1, interface age 1. 

	* NEWS: Updates

2004-04-29  Federico Mena Quintero  <>

	Fixes #140412.

	* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New
	function; moved the code over from
	(remove_selected_bookmarks): Now, getting a non-removable bookmark
	is not an error, as we may be called as a result of hitting the
	Delete key.
	(shortcuts_key_press_event_cb): New handler; delete the bookmark
	if the user presses Backspace, Delete, or KP_Delete.

2004-04-29  Matthias Clasen  <>

	* gtk/gtkaction.c (closure_accel_activate): Use
	_gtk_action_emit_activate() instead of directly
	emitting the activate signal.  (#141429, Jody Goldberg)

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): 
	Warn people when the accelerator can not be 
	parsed.  (#141429, Jody Goldberg)

2004-04-29  Matthias Clasen  <>

	* tests/testentrycompletion.c (main): Add a missing 
	cat.  (#141070, Chris Sherlock)  

	* gtk/gtkrc.c (gtk_rc_check_pixmap_dir): Remove unused
	variable.  (#141022, Chris Sherlock)
	* gtk/gtkcombo.c (gtk_combo_popup_list): Add a missing
	cast.  (#141013, Chris Sherlock)

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Remove
	unused variable.  (#141011, Chris Sherlock)

2004-04-29  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Plug memory
	leak. (#140775, John Ehresman)

Thu Apr 29 01:09:50 2004  Matthias Clasen  <>

	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1
	to index the cached gcs, not depth.  (#139494)

2004-04-28  Matthias Clasen  <>

	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Docs typo fix.

Sun Apr 25 15:36:02 2004  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget): Fix
	cut'n'paste-o from previous commit. (#141046, Torsten Schoenfeld).

2004-04-24  Theppitak Karoonboonyanan  <>

	Patch to add support for string conversion callbacks to
	GtkIMContextXIM (#101814)

	* modules/input/gtkimcontextxim.c: Set the string conversion callback
	if supported by the XIC.

	(struct _GtkIMContextXIM): Add string_conversion_callback member.

	(struct _GtkXIMInfo, setup_im): Check and keep flag inidicating
	whether string conversion callback is supported.

	(gtk_im_context_get_ic, +set_string_conversion_callback,
	+string_conversion_callback): Also initialize string conversion
	callback, if supported, along with the IC initialization.

	* modules/input/imxim.c: Make "xim" module default for Thai as well.

2004-04-23  Matthias Clasen  <>

	* gtk/gtkclipboard.c (gtk_clipboard_wait_for_targets): Correctly
	initialize targets.  (#139883, John Finlay)

	* gdk/gdkdraw.c (gdk_draw_drawable): Small doc improvement. 

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows): 
	Don't recommend gtk_tree_row_reference_new_proxy().  (#138309,
	Tim-Philipp Müller)

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_cell_data): 
	Remove an excessive g_return_if_fail().

	* gdk/x11/gdkevents-x11.c (set_user_time): Make set_user_time()
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): 
	_-prefix calls of gdk_x11_window_set_user_time().

2004-04-22  Matthias Clasen  <>

	* gtk/gtkuimanager.c (update_node): Make sure the separators 
	used to demarkate placeholder ends don't show up on 
	show_all().  (#140496, Murray Cumming)

	* gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons
	work with negative increments.  (#137975, Tim Gerla)

Wed Apr 21 21:38:03 2004  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget,
	gtk_tool_button_set_icon_widget): Remove the old widget from the
	tool button before overwriting it with the new widget.

	(#140508, Todd Goyen)
2004-04-22  Tor Lillqvist  <>

	Fix the file chooser on Windows. I can't make it misbehave or
	crash any more now. But presumably there are still corner cases
	not handled. I haven't really checked behaviour of UNC paths, for

	* gtk/gtkfilesystemwin32.c: Accept both backslash and slash in
	several places. Use G_IS_DIR_SEPARATOR macro (which could be added
	to GLib in 2.6).

	(gtk_file_system_win32_get_parent): Like the Unix version, assert
	filename is absolute, and avoid one unnecessary string allocation
	and freeing.
	(canonicalize_filename,gtk_file_system_win32_parse): Handle drive
	letters more correctly.

	(gtk_file_system_win32_render_icon): Assure correct syntax is used
	for root folder of a drive. (#137962, Morten Welinder)

	(filename_is_some_root): New function that accepts also root
	without any drive specified.

	(filename_is_drive_root): Rename from filename_is_root.

	* gtk/gtkfilechooserentry.c (completion_match_func): Casefold on

2004-04-21  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_completion_timeout): Pop down the 
	completion window if there are no completions anymore.

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Don't call gtk_tree_view_scroll_to_cell() on an empty tree view. 
	It doesn't like that.  (#140642, Christian Persch)

	* demos/gtk-demo/expander.c (do_expander): A new demo.

	* demos/gtk-demo/ (demos): Add expander.c.

2004-04-20  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_allocate_children): Make
	sure anchored children get size allocated, even if the layout
	is valid.  (#122323, Andrew E. Makeev)
	(gtk_text_view_scroll_hpages): Don't scroll to cursor position
	if we already have pending scrolls. Bandaid fix for #78513.

Mon Apr 19 17:59:17 2004  Owen Taylor  <>

	* Update libpng and libjpeg URLs, remove
	note about building without since that's not the normal

Sun Apr 11 09:45:11 2004  Owen Taylor  <>

	* gtk/gtkicontheme.c (load_themes): Fix a couple of typos in
	handling of SVG/non-SVG unthemed icons.

2004-04-19  Morten Welinder  <>

	* gtk/gtktoolbar.c (gtk_toolbar_focus): Don't leak list of
	children.  (#140523)

2004-04-19  Matthias Clasen  <>

	* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
	Don't stop the iteration up to the tag_root too 
	early.  (#109945, Dongho Shin)

Sun Apr 18 17:06:03 2004  Soeren Sandmann  <>

	* gdk/x11/gdkkeys-x11.c (get_effective_keymap): Make
	gdk_keymap_translate_keyboard_state() handle NULL
	keymaps. (#139715, Torsten Schoenfeld).

Sun Apr 18 16:59:21 2004  Soeren Sandmann  <>

	* Don't erase GDK_EXTRA_CFLAGS. Fixes bug 139586,
	reported by Pedro RODRIGUEZ, about compilation problems when
	Xcursor is installed in a non-standard location.

Sun Apr 18 16:15:15 2004  Soeren Sandmann  <>

	Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah
	* gdk/x11/gdkwindow-x11.[ch]: Add new internal function
	_gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field

	* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of
	precached atoms.
	* gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the
	property on user interaction.

2004-04-15  Federico Mena Quintero  <>

	* gtk/gtkfilesel.c (open_new_dir): Tell the user to use

	* gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the
	code from gtkfilesel.c to parse a "text/uri-list" blob.  Fixes

2004-04-15  Matthias Clasen  <>

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): 
	* gtk/gtkbutton.c (gtk_button_class_init): Doc fixes.

2004-04-14  Matthias Clasen  <>

	* gtk/gtkcombobox.c: 
	* gtk/gtkwidget.c: 
	Make all style properties readonly.

2004-04-14  Matthias Clasen  <>

	* gtk/gtkcolorsel.c: Add a11y relations between the color
	wheel and the spin buttons.  (#132745, Padraig O'Briain)

	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): Document
	the meaning of size == -1.

	* gtk/gtkwidget.c (gtk_widget_render_icon): Explicitly accept  
	a size of -1.  (#137436, Brian Cameron)

	* gtk/gtkcombobox.c: Make the arrow and separator regular
	children of an hbox inside the button, and propagate state
	changes from the button to the cell view.  (part of the fix
	for #138650, should also fix #137535)

	* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
	state to gtk_cell_renderer_render() when prelighted. (part 
	of the fix for #138650)

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): 
	Use PRELIGHT state when appropriate.  (part of the fix for 

	* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit 
	out warnings if called before the combo box is 
	realized.  (#139742, Philip Langdale)

Wed Apr 14 03:45:39 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose
	events to children.

Wed Apr 14 03:32:58 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (make_directory_button): remove spurious

Tue Apr 13 16:19:23 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (make_directory_button): patch from Owen to
	make the buttons sized by a bold label.  This makes the text
	'swim' a little, but stops the buttons from resizing, #137210

2004-04-13  Matthias Clasen  <>

	* gtk/gtkuimanager.c (get_child_node): Don't crash if a node 
	has no name.
	(start_element_handler): Accept separators without unique 
	names.  (#133302, Anders Carlsson)

	* gtk/gtkactiongroup.c (gtk_action_group_add_action): Document
	possible accelerator gotcha when using this function.  (#139641, 
	Christian Persch)

	* gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak
	list nodes.  (#138862, Morten Welinder)

Tue Apr 13 12:24:49 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused
	(gtk_tree_view_button_press): If we activated the row we don't
	want to grab focus back, as moving focus to another widget is
	pretty common, #138458

2004-04-12  Federico Mena Quintero  <>

	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Added
	documentation to all the signals.

2004-04-12  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
	model if it is NULL. (#139770)

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
	a shadow inside the scrolled window, add it around the vbox.

	* gtk/gtkentryprivate.h: 
	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Return a boolean indicating whether the popup is positioned above 
	or below. Scroll the completions to the beginning or the end, 
	depending on the positioning.

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
	wrap around in the entry completion popup, and allow GDK_UP to 
	enter the popup.  (#137440)

2004-04-12  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is 
	there before using it.

Sun Apr 11 15:08:45 2004  Jonathan Blandford  <>

	* gtk/gtktreeprivate.h: Moved search entries into priv data.

	* gtk/gtktreeview.c: Prep for type-ahead support.

	(gtk_tree_view_destroy): Destroy the search window explicitly.
	(gtk_tree_view_key_press): Minor change; prep for type-ahead
	(gtk_tree_view_ensure_interactive_directory): New function
	(gtk_tree_view_focus_out): Rework to handle new entry life-cycle.
	(gtk_tree_view_real_start_interactive_search): rework
	(gtk_tree_view_search_dialog_hide): ditto
	(gtk_tree_view_search_delete_event): ditto
	(gtk_tree_view_search_button_press_event): ditto
	(gtk_tree_view_search_key_press_event): ditto
	(gtk_tree_view_search_move): ditto
	(gtk_tree_view_search_init): ditto

	* gtk/gtktreeviewcolumn.c:
	(gtk_tree_view_column_cell_layout_clear): remove unused variable.

	* tests/testfilechooser.c: (main): change

2004-04-11  Hans Breuer  <>

	* gdk/win32/gdkspawn-win32.c : workaround for bug #137496,
	the real fix would involve just another small API breakage,
	i.e. gdk_spawn_* using GPid not just gint.

	* gtk/ : build gtk-win32.res, not gtk.res

2004-04-10  Tor Lillqvist  <>

	* gdk/win32/gdkkeys-win32.c (gdk_keymap_translate_keyboard_state):
	If both Shift and CapsLock pressed, ignore the shift only for
	letters (that would have been affected by the CapsLock). (#139095)

	* gdk/win32/gdkglobals-win32.c: Disable tablet support by default,
	seems to be even buggier now than it used to be. (#138341)
	Initialize _gdk_input_ignore_wintab to TRUE.

	* gdk/win32/gdkmain-win32.c: Add --use-wintab switch and
	GDK_USE_WINTAB environment variable to turn on tablet support.

2004-04-09  Christian Persch  <>

	* gtk/gtkuimanager.c: (gtk_ui_manager_insert_action_group),
	(gtk_ui_manager_remove_action_group): Terminate
	g_object_[dis]connect() calls with NULL instead of 0.
	Fixes #138997.

2004-04-09  Guntupalli Karunakar  <>

        * Added "gu" (Gujarati) to ALL_LINGUAS.

2004-04-07  Federico Mena Quintero  <>

	Fix #132500.

	* gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the
	passed-in 'str' is not NULL.

	* gtk/gtkfilesystemunix.c (expand_tilde): New helper function;
	expands "~/" or "~foo/" at the beginning of a filename.
	(gtk_file_system_unix_parse): Use expand_tilde() before doing
	anything else.

	* gtk/gtkfilechooserentry.c
	(gtk_file_chooser_entry_maybe_update_directory): Take in a
	force_reload argument.
	(gtk_file_chooser_entry_changed): If gtk_file_system_parse()
	returns an error, set the file_part_pos to -1.
	(load_directory_callback): Only populate the model if the
	file_part_pos is not -1.

2004-04-06  Pablo Saratxaga  <>

	* Added Icelandic (is) to ALL_LINGUAS

2004-04-05  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a
	title for SAVE and CREATE_FOLDER modes.  Fixes #137272.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look
	for G_DIR_SEPARATOR in the display_name, and err out if it is
	present; use the same error message as Nautilus.  Fixes #136467.

	* gtk/gtkfilechooserdefault.c (file_pane_create): Make the
	new-folder button say "Create Fo_lder" rather than "Create
	_Folder", so that the mnemonic doesn't conflict with the "Save in
	_folder" label.  Fixes #136975.

2004-04-05  Federico Mena Quintero  <>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the
	buttons.  Also, free them correctly upon failure.  Based on a
	patch by Morten Welinder, fixes #137956.

2004-04-05  Anders Carlsson  <>

	* gdk/gdk.c (gdk_arg_context_parse): Handle '--' correctly.

Fri Apr  2 17:57:33 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height
	correctly for fixed height when inserting a node, #138082

2004-04-01  Federico Mena Quintero  <>

	Fix #136077.

	* gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
	"child_is_hidden" boolean argument to the "path-clicked" signal.

	* gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
	(make_directory_button): Take a file_is_hidden argument; put it in
	the ButtonData.
	(_gtk_path_bar_set_path): See whether each path component path is
	a hidden file.
	(gtk_path_bar_class_init): Add the file_is_hidden argument to the
	"path-clicked" signal.
	(button_clicked_cb): See if the downwards button represents a
	hidden file for the file_is_hidden argument in the signal

	* gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): If we fail to switch
	folders, don't try to select the path in the file system model.
	Also, return the result from _gtk_file_system_model_path_do().
	(gtk_file_chooser_default_select_path): Turn on show_hidden in the
	file system model if we are asked to select a hidden file.
	(path_bar_clicked): Show hidden files based on whether the
	immediate downwards folder in the path bar is a hidden file
	(struct _GtkFileChooserDefault): Added fields
	browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
	(create_file_list): Set an object data key of
	"GtkFileChooserDefault" on the tree view so that we can find the
	impl from the popup menu callbacks.  Also, hook up to the
	"button-press-event" and "popup-menu" signals in the file list to
	bring up a popup menu.
	(list_popup_menu_cb): New callback.
	(list_button_press_event_cb): New callback.

	Fix #138763:

	* gtk/gtkfilesystemmodel.c
	(_gtk_file_system_model_new): Oops, connect_object to

2004-03-31  Tor Lillqvist  <>

	* Move AC_CANONICAL_HOST earlier, before the check
	for native Win32. (#136559, J. Ali Harlow)

	* gdk/win32/gdkdrawable-win32.c (draw_arc): Use X11 semantics for
	angles. Thanks to Tim Newsham.

2004-03-29  Federico Mena Quintero  <>

	Fix #137520.

	* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
	for an ::is_finished_loading() method and a ::finished_loading()
	signal at the end of the struct.

	* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
	"finished-loading" signal.
	(gtk_file_folder_is_finished_loading): New function.

	* gtk/gtkfilesystemunix.c
	(gtk_file_folder_unix_is_finished_loading): Implement.

	* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
	slot for a "finished-loading" signal.
	(gtk_file_system_model_class_init): Create the "finished-loading"
	(struct _GtkFileSystemModel): New field
	idle_finished_loading_source.  We emit the "finished-loading"
	signal in an idle if the root folder was done loading right in
	_gtk_file_system_model_new(), so that the caller has a chance to
	connect to the signal.
	(_gtk_file_system_model_new): Connect to the normal signals of the
	folder even if the initial _list_children() fails.  Also, see if
	the folder is finished loading; connect to the "finished-loading"
	signal otherwise.
	(gtk_file_system_model_finalize): Remove the idle handler.

	* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
	and connect to the model's "finished-loading" signal.
	(get_toplevel): New helper function.
	(error_message): Use get_toplevel().
	(trap_activate_cb): Likewise.
	(location_popup_handler): Likewise.
	(set_busy_cursor): New function.
	(browse_files_model_finished_loading_cb): New callback.

2004-03-25  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (check_preview_change): Just use the
	file under the cursor; we don't need the logic from
	GtkFileSelection after all.  Fixes #132255.

2004-03-25  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
	location entry with the display name of the file under the cursor
	for Open mode, or the typed filename in Save mode.

2004-03-24  J. Ali Harlow  <>

	* gtk/gtkfilesystemwin32.c
	(filename_is_root): Bare drive designators (eg., "c:") are
	no longer considered as root filenames.  Fixed #137942

2004-03-24  J. Ali Harlow  <>

	* gtk/gtkfilesystemwin32.c
	(gtk_file_system_win32_create_folder): Invert test for error in
	mkdir.  Fixes #137945

2004-03-24  J. Ali Harlow  <>

	Fixed #138004 using Federico's code from #132327.

	* gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a
	folder_hash field to keep a list of live folder objects.
	(gtk_file_system_win32_init): Create the folder_hash.
	(gtk_file_system_win32_finalize): Destroy the folder_hash.
	(gtk_file_system_win32_get_folder): Ref and return an existing
	folder if we have it around, otherwise return a new folder object.
	(struct _GtkFileFolderWin32): Add a field for the parent file system.
	(gtk_file_folder_win32_finalize): Remove the folder from the file
	system's hash table.
	(gtk_file_system_win32_create_folder):  Emit "files-added" on the
	newly-created folder's parent.  Fixes #138004.

2004-03-24  J. Ali Harlow  <>

	* gtk/gtkfilesystemwin32.c
	(gtk_file_system_win32_get_folder): Test that path is actually
	a directory and throw error if not. Fixed bug #137950

2004-03-22  J. Ali Harlow  <>

	* gtk/gtkfilesystemwin32.c
	(gtk_file_system_win32_volume_get_display_name): Ignore empty
	volume labels; assume that GetVolumeInformation would fail if
	GetVolumeInformationW does; catches a small memory leak;
	pass the buffer size to GetVolumeInformationW in wide
	characters instead of bytes. Fixes bug #137543
	(list_volumes): Cope with the theoretical possibility of
	more than 26 logical drives. Fixes bug #137940
	(bookmarks_serialize): Now actually removes bookmarks.
	Fixes bug #137943

2004-03-22  Guntupalli Karunakar  <>

        * Added "pa" (Punjabi) to ALL_LINGUAS.

2004-03-21  Tor Lillqvist  <>

	* gtk/gtkfilesystemwin32.c
	(gtk_file_system_win32_volume_get_base_path): Include the
	backslash. Otherwise gtk_file_system_win32_path_to_uri() returns
	NULL for a volume base path, as g_filename_to_uri() requires an
	absolute path, and just a drive letter and colon isn't. (#137543)

2004-03-20  Hans Breuer  <>

	* gtk/gtkfilesystemwin32.c : applied the undisputable and
	required [due to recent gtkfilesystem internal api semantic 
	changes] part of patches to fix bug #137543 (Tor Lillqvist,
	J. Ali Harlow)

	* gdk/gdkevents-win32.c (handle_configure_event) :
             (gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
	GdkWindowObject::x, y with screen coords to make 
	gdk_window_get_position () return the right thing and thus fix
	drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)

2004-03-19  Federico Mena Quintero  <>

	* Revert the patch to #137520, as 2.4.1 is for conservative bug
	fixes only.  The patch is attached to the bug report, for

2004-03-19  Morten Welinder  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Test existance of
	the path after checking for locality, if needed.

2004-03-19  Federico Mena Quintero  <>

	Fix #137520.

	* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
	for an ::is_finished_loading() method and a ::finished_loading()
	signal at the end of the struct.

	* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
	"finished-loading" signal.
	(gtk_file_folder_is_finished_loading): New function.

	* gtk/gtkfilesystemunix.c
	(gtk_file_folder_unix_is_finished_loading): Implement.

	* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
	slot for a "finished-loading" signal.
	(gtk_file_system_model_class_init): Create the "finished-loading"
	(struct _GtkFileSystemModel): New field
	idle_finished_loading_source.  We emit the "finished-loading"
	signal in an idle if the root folder was done loading right in
	_gtk_file_system_model_new(), so that the caller has a chance to
	connect to the signal.
	(_gtk_file_system_model_new): Connect to the normal signals of the
	folder even if the initial _list_children() fails.  Also, see if
	the folder is finished loading; connect to the "finished-loading"
	signal otherwise.
	(gtk_file_system_model_finalize): Remove the idle handler.

	* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
	and connect to the model's "finished-loading" signal.
	(get_toplevel): New helper function.
	(error_message): Use get_toplevel().
	(trap_activate_cb): Likewise.
	(location_popup_handler): Likewise.
	(set_busy_cursor): New function.
	(browse_files_model_finished_loading_cb): New callback.

Thu Mar 18 12:10:45 2004  Owen Taylor  <>

	* gtk/gtktreeitem.c (gtk_tree_item_forall): Include 
	eventbox for expander. (#137564, reported by
	Jacques Garrigue)

2004-03-18  Guntupalli Karunakar  <>

	* mr.po: Added "mr" for Marathi to ALL_LINGUAS.

2004-03-17  Morten Welinder  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free
	volumes not actually put into the shortcut list.

	* tests/prop-editor.c (object_changed): Plug leak.

	* tests/testfilechooser.c (main): Plug some leaks and expose

	* tests/prop-editor.c (create_prop_editor): Don't leak the tooltip
	object.  Fixed #136652.

	* gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we
	have no screen.  Fixes #137260.
	(shortcuts_add_bookmark_from_path): Simplify using check_is_folder
	thereby fixing leak.  Fixes #137259.

	* gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the
	slider buttons have been destroyed.
	(gtk_path_bar_remove): Make this work for slider buttons too.
	Fixes #137257

2004-03-15  Morten Welinder  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_bookmark_from_path):
	Sanitize and plug leak.
	(check_icon_theme): Only do something if the widget has a screen.

Wed Mar 17 01:20:28 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): 
	Move the repositioning logic from _gtk_entry_completion() popup
	over here. Fixes #137355, reported by Niklas Knutsson.