Blob Blame History Raw
Tue Mar 16 13:29:58 2004  Owen Taylor  <>

	* === Released 2.4.0 ===

	* Version 2.4.0, interface age 0; 
	require glib-2.4.0, pango-1.4.0.

	* Change gtk_binary_version to 2.4.0;
	there are some compatibility issues with older theme engines.
	* NEWS: Updates

	* Updates

Tue Mar 16 13:54:07 2004  Jonathan Blandford  <>

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Block the
	::changed handler during the ::match-selected when done by

Tue Mar 16 00:56:11 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press): 
	Block the ::changed handler during the emission of ::match-selected.
	Partial fix for #137226.

	* gtk/gtkfilechooserentry.c: Remove the no longer needed 
	no_pop_down flag.

Tue Mar 16 00:20:51 2004  Matthias Clasen  <>

	* gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new_with_backend):
	Fix a typo in the docs.

2004-03-15  Tor Lillqvist  <>

	* README.win32: Updates.

2004-03-15  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (update_appearance): Only hide the
	"create folder" button in OPEN mode; all the others should show it
	(get_paths_foreach): Handle the editable row.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
	Force a re-get of the folder so that the new directory gets added
	to its hash table of file info.

2004-03-15  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (update_from_entry): In the Save
	modes, set the Name entry of the file chooser if we get a
	nonexistent filename from the file entry.  Fixes #135911.
	(gtk_file_chooser_default_set_current_name): Oops, this should
	also work if we are in CREATE_FOLDER mode.

	* gtk/gtkfilesystem.c (gtk_file_path_real_copy): Use

	* gtk/gtkfilechooserentry.c (check_completion_callback): Free the
	path that we got from the model.
	(completion_match_func): Use DISPLAY_NAME_COLUMN rather than a
	hard-coded constant.

Mon Mar 15 13:50:14 2004  Owen Taylor  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
	Don't leak the temporary font description. (Nils O. Selåsdal)

Mon Mar 15 12:51:17 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Only show
	the title string in OPEN/SELECT_FOLDER mode as it's open-specific.
	Put a blank title for SAVE/CREATE_FOLDER; we are in string freeze,
	so we'll fix it for 2.4.1 as #137272.

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_down): calculate
	space_available correctly for RTL mode.  w/o this, you can't
	scroll down again.  Fixes #137021.

2004-03-15  Federico Mena Quintero  <>

	* gtk/gtkpathbar.c (gtk_path_bar_scroll_up): Queue a resize.
	(gtk_path_bar_scroll_down): Likewise.

Mon Mar 15 11:40:43 2004  Owen Taylor  <>

	* gtk/gtkfilechooserentry.c: Store the position of the 
	file part and use that in check_completion_callback()
	and match_selected_callback() to figure out where
	to operate on the text, rather than recomputing the

Mon Mar 15 10:35:19 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): set
	changing_folders to be true so we don't trigger a callback when we
	remove the selection
	(shortcuts_add_bookmarks): ditto

Mon Mar 15 10:47:18 2004  Owen Taylor  <>

	* gtk/gtkfilechooserentry.c: s/seperator/separator/.

Mon Mar 15 09:54:36 2004  Owen Taylor  <>

	* gtk/gtklabel.c (gtk_label_focus): Check for 
	Control-Tab or Control-Shift-Tab, not any Control-key
	as a current event ... handles the case where a dialog
	is triggered from a control accelerator better.

Mon Mar 15 08:48:48 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserentry.c (match_selected_callback): implement
	(completion_match_func): Allow surpressing popdowns.
	(maybe_append_seperator_to_path): New function to add a separator
	item to a display_name.  Bad hack.
	(check_completion_callback): Implement select-ahead as an idle.
	(add_completion_idle): new function to handle select-ahead
	(gtk_file_chooser_entry_do_insert_text): starf the select-ahead
	(gtk_file_chooser_entry_focus): Override tab for completion.
	(gtk_file_chooser_entry_activate): commit select_ahead when

	* gtk/gtkfilechooserdefault.c (location_popup_handler): grab the
	appropriate widget for the mode.

2004-03-15  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Don't just copy the whole
	GdkGCWin32 with a single assignment, that overwrites GObject's
	private data (for instance ref_count). (#137012, John Ehresman)

2004-03-15  Mark McLoughlin  <>

	* gtk/gtkfilechooserdefault.c: remove the unused "lowest_folder"
	GtkFileChooserDefault member. Leftover from my original patch
	for bug #136987.

Mon Mar 15 01:50:28 2004  Jonathan Blandford  <>

	* gtkfilechooserentry.c: Rewritten to use the GtkEntryCompletion
	API more correctly.  Now pops down the dropdown well.

	* gtkfilesystem.c (gtk_file_path_get_type): New boxed type for the

	* test/testfilechooser.c: disable preview widget temporarily.
	It's not representative of a good preview widget.

2004-03-15  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_find_current_folder):
	Renamed from shortcuts_unselect_all(); now selects the row that
	corresponds to the current folder, if any.  Fixes #135916.

	* gtk/gtkpathbar.h: Added prototypes for _gtk_path_bar_up() and

2004-03-15  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c: Surround the
	drag-outside-to-remove-bookmarks code with "#if 0" blocks; it's
	too unstable right now.

Sun Mar 14 23:36:15 2004  Owen Taylor  <>

	* gtk/gtkfilechooserdefault.c: Implement local_only by
	filtering the shortcuts and bookmarks list by 
	gtk_file_system_path_to_filename (file_system, path) != NULL.

	* gtk/gtkfilesystem.c (gtk_file_system_path_is_local): Add
	a convenience function, may by interesting to push to the 
	file system vtable later for performance.

2004-03-14  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.c (gtk_file_folder_get_info): Allow the path
	to be NULL, so that people can ask for information about a
	parent-less file system root (e.g. get_info (get_folder ("/"), NULL)).

	* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Allow
	the condition describe above.

	* gtk/gtkfilechooserdefault.c (get_file_info): Allow getting
	information of root paths.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Handle root paths correctly.

Sun Mar 14 22:32:36 2004  Owen Taylor  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Mention
	GtkTreeViewSearchEqualFunc return value oddity here as well.

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): On failure
	to get a string to compare to, return TRUE (no match), not 
	FALSE (match). Handle %NULL string values gracefully.
	Remove unused variable. (#135962, Mark McLoughlin)

2004-03-14  Morten Welinder  <>

	* gtk/gtkfilesystemunix.c: Kill some debug g_prints.

Sun Mar 14 21:03:15 2004  Owen Taylor  <>

	* gtk/gtkpathbar.[ch]: Add _gtk_path_bar_up()/

	* gtk/gtkfilechooserdefault.c: Use _gtk_path_bar_up()/
	_gtk_path_bar_down() as bindings for Alt-Up
	and new Alt-Down. (Partly based on a patch by
	Mark McLoughlin, #136987)

2004-03-14  Federico Mena Quintero  <>

	Fixes #136185, patch by Morten Welinder, with some changes.

	* gtk/gtkfilechooserdefault.c (check_is_folder): New helper function.
	(shortcuts_insert_path): Check the path first with check_is_folder().
	(gtk_file_chooser_default_set_current_folder): Likewise.
	(gtk_file_chooser_default_add_shortcut_folder): Likewise.
	(browse_widgets_create): Unref the size group.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder):
	Handle the case where the file exists but it is not a directory.
	(IconType): Add value for ICON_UNDECIDED.
	(struct stat_info_entry): New structure to hold a file's struct
	stat, its MIME type and its icon type.
	(struct _GtkFileFolderUnix): Added a hash of struct
	stat_info_entry, and flags to remember which info types we've read
	so far.
	(get_icon_type): Use a helper function for the icons-from-stat
	(gtk_file_system_unix_render_icon): Use the cached file info.
	(gtk_file_folder_unix_get_info): Put the info in the cache.
	(gtk_file_system_unix_get_folder): Create the cache of file info

	* gtk/gtkfilesystem.c (gtk_file_info_set_display_name): Handle the
	case where display_name is the same as the existing

Sun Mar 14 19:26:48 2004  Owen Taylor  <>

	#136672, reported by Christian Persch; fixes based
	on a patch by Soeren Sandmann.

	* gtk/gtkmenu.c: Change the handling of mixed gridded
	and non-gridded menu items; the old method was causing
	major performance problems even with the "avoid relayout
	on destruction" hack put in recently.

	Now we first lay out the gridded items and then put the 
	non-gridded items into empty rows / after the gridded items. 
	Layout is done in a central menu_shell_ensure_layout(). Also
	avoid emitting property notifications when we initially
	insert or attach items.
	* gtk/gtkmenushell.[ch] gtk/gtkmenu.c: Stop setting the
	unused menu_shell->menu_flag, and document it as unused
	in the header.

	* tests/testactions.c: Add a test of creating/removing
	lots of items.

	* test/testgtk.c: Add some more cruft to the menu test.

Mon Mar 15 02:36:07 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Add
	some signal docs.

Sun Mar 14 15:38:39 2004  Jonathan Blandford  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_visible_func):
	always use the match_func, even if text_column is set.

2004-03-14  Morten Welinder  <>

	* gtk/gtkfilesystemunix.c (get_parent_dir): Don't turn "/" into
	(gtk_file_system_unix_get_folder): Use the same value for lookup
	as for insertion.  Make sure we have a directory.

	* gtk/gtkfilechooserdefault.c (error_dialog): Don't crash on NULL
	path; don't crash on NULL error.

2004-03-14  Hans Breuer  <>

	gtk/gtkcombobox.c : prototype cell_view_sync_cells() before 
	first usage

	gtk/ : updated 'gtk_public_h_sources'

	tests/makefile.msc : added testspinbutton

Sun Mar 14 01:01:18 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_set_cell_data): Align
	this function with gtk_tree_view_column_set_cell_data();
	call the cell data func after setting the attributes.

Sun Mar 14 01:00:08 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_expose): One more try;
	make sure not to call gtk_cell_view_set_cell_data() when
	displayed_row is NULL.

Sat Mar 13 18:13:13 2004  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): When not
	wrapping, do the offset of the line for justification ourselves.
	(#120256, Felipe Heidrich)

Sun Mar 14 00:03:18 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_expose): Support the
	model-less use of GtkCellView shown in testcombo.c.

2004-03-13  Tor Lillqvist  <>

	* gdk/win32/gdkdisplay-win32.c: Don't undefine HAVE_MONITOR_INFO
	when compiling with gcc. Mingw's headers do have the required

	* gdk/win32/gdkdrawable-win32.c (draw_polygon): When drawing
	filled polygons, don't draw the outline, similarily as
	draw_rectangle(). Apparently GTK and GIMP don't use
	gdk_draw_polygon() much (or always draw the outline, too), as this
	has gone undetected for so long. Thanks to Bruce Hochstetler.

Sat Mar 13 15:19:17 2004  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_destroy): Remove
	the window from the toplevel_list here rather in destroy.
	While this is theoretically speaking wrong, it fits
	in better with the current reality that destroyed
	widgets are not reusable. (#126808, Michael Natterer)

Sat Mar 13 21:47:47 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_expose): Don't do anything
	beyond clearing to the background if there is no active row.
	(#137066, reported by Owen Taylor)

Sat Mar 13 21:37:44 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
	list when an item is selected via the keyboard.

2004-03-13  Anders Carlsson  <>

	* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
	(gtk_file_system_unix_create_folder), (get_parent_dir),
	(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
	Remove trailing slashes in path names.
Sat Mar 13 12:17:16 2004  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
	this a total no-op when the new or old parent is
	destroyed. (#134230, patch from Soeren Sandmann)

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
	For foreign windows in our heirarchy, call
	_gdk_windowing_window_destroy_foreign (window) and skip
	all the normal destruction logic.

	* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c:
	Move code to request destruction of a foreign window
	code into a separate _gdk_windowing_window_destroy_foreign().

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize):
	Call GDK_WINDOW_DISPLAY() on the wrapper not on the
	impl. (Also from Soeren's patch)

Sat Mar 13 10:49:46 2004  Owen Taylor  <>

	* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): For
	GTK_IS_PLUG toplevels, call gdk_window_get_origin() 
	not gtk_window_get_position, as a hackround for not
	having accurate notification of window position for
	embedded windows. (#136112, Dan Winship)

Sat Mar 13 10:34:03 2004  Owen Taylor  <>

	* gtk/gtktextview.c gtk/gtktextbuffer.c: Revert last change;
	it causes problems for pastes from other applications; see
	comments in bugzilla for #81880.

Sat Mar 13 02:55:51 2004  Matthias Clasen  <>

	Fix middle button pasting in the TextView  (#81880, reported
	by Evert Verhellen, patch by Paolo Borelli):
	* gtk/gtktextview.c (gtk_text_view_button_press_event): Retrieve 
	the insert mark and move the cursor to it making sure of also 
	scroll the window if needed.
	* gtk/gtktextbuffer.c (pre_paste_prep): Move the insert mark
	to the insertion point.

Sat Mar 13 01:38:55 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove 
	implemenatation which restores the cell_view when the custom 
	child is removed.  (#136555, Owen Taylor)

Sat Mar 13 00:07:51 2004  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_clear): 
	Keep the cell_list in a consistent state while iterating over it, 
	since clear_attributes() also iterates over it.  (another instance
	of #136585, Morten Welinder)
Fri Mar 12 17:20:15 2004  Owen Taylor  <>

	* gtk/gtkarrow.c (gtk_arrow_expose): Swap GTK_ARROW_LEFT
	and GTK_ARROW_RIGHT for GTK_TEXT_DIR_LTR. (#129159,
	Semion Chichelnitsky)

	* gtk/gtkpathbar.c gtk/gtktoolbar.c: Remove no-longer-needed 
	gtk_toolbar_direction-changed handlers and explicit
	flipping of GtkArrow widgets.

Fri Mar 12 23:37:15 2004  Soeren Sandmann  <>

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_default_realized_size_changed): Clamp the
	new size to the screen.

Fri Mar 12 15:06:44 2004  Owen Taylor  <>

	* gtk/gtkexpander.c (gtk_expander_realize): Create the
	event_window at the right size using the same logic as
	in size_allocate. (#136994, Niklas Knuttson)

2004-03-12  Federico Mena Quintero  <>

	* gtk/gtkwindow.c (gtk_window_activate_focus): Don't ignore the
	return value of gtk_widget_activate().
	(gtk_window_activate_default): Likewise.  Fixes #137008.

	* gtk/gtkfilechooserdialog.c (response_cb): Act on positive
	response IDs we recognize, rather than bailing out on cancellation
	ones.  Fixes #136237; patch by Olivier Andrieu
	(file_chooser_widget_file_activated): If the dialog doesn't have a
	default widget, try to find a suitable response widget on our own.
	People should *really* be using gtk_dialog_set_default_response(),
	but this is to help lazy programmers.

	* gtk/gtkdialog.c (_gtk_dialog_get_response_for_widget): New
	internal function.
	(get_response_data): Add a "create" argument so that we don't
	unconditionally create the response data.

2004-03-12  Morten Welinder  <>

	* tests/ Add new testspinbutton.c

2004-03-11  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
	Put the trash icon on the right for LTR locales, or on the left
	for RTL.
	(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
	(shortcuts_drag_leave_cb): Test whether the idle is present.
	(shortcuts_drag_data_received_cb): Ahem, don't assert here.

Thu Mar 11 17:51:10 2004  Owen Taylor  <>

	* modules/input/gtkimcontextxim.c (preedit_done_callback):
	Clear preedit string and emit preedit_changed as needed
	on AIX. (#130617, Philip K Warren)

2004-03-11  Morten Welinder  <>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): Plug leak.

Thu Mar 11 16:28:15 2004  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_get_toplevel): Fix attach/attach->parent
	type. (#136919, Tim Mooney)

Thu Mar 11 16:18:51 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): revert
	earlier change to insert_path so that we test that the directory

	* gtk/gtkfilechooserdialog.c
	(gtk_file_chooser_dialog_constructor): move focus.

Thu Mar 11 22:12:14 2004  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use the same
	logic as GtkEntry when calculating border width.  (#116368, reported
	by Morten Welinder)

Thu Mar 11 15:59:05 2004  Owen Taylor  <>

	* tests/testgtk.c (create_spins): Use gtk_entry_set_width_chars()
	rather than gtk_widget_set_size_request().

2004-03-11  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (remove_settings_signal): New
	function, copied from gtkpathbar.c.
	(gtk_file_chooser_default_dispose): Use remove_settings_signal()
	rather than our own code.
	(gtk_file_chooser_default_screen_changed): Use
	remove_settings_signal(); this should handle per-screen settings

Thu Mar 11 14:07:18 2004  Owen Taylor  <>

	* gtk/gtklabel.c (gtk_label_focus): Fix a missing return

Thu Mar 11 13:58:24 2004  Owen Taylor  <>

	* gtk/gtkmessagedialog.c gtk/gtklabel.c: Back out the
	put-labels-into-the-standard-focus-chain patches 
	from bug #59707.

	* gtk/gtklabel.c (gtk_label_focus): Only put the
	label in the tab chain when the control key is pressed.

2004-03-11  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (error_message_with_parent): Use a
	single OK button, not a Close button, as per the HIG.

	* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Likewise.

2004-03-11  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_motion_cb): Oops,
	initialize "action" before jumping.  Fixes #136900.

2004-03-11  Mark McLoughlin  <>

	* gtk/gtksettings.c: (apply_queued_setting): don't overwrite
	application properties. Fixes bug #136802.

2004-03-11  Dov Grobgeld  <>

	* gtk/gtktextlayer.c: (gtk_text_layout_set_buffer): Added
	call to gtk_text_layout_update_cursor_line() to solve in 
	problem of switching keyboard direction at widget creation:
	bug #136680

Thu Mar 11 10:28:30 2004  Owen Taylor  <>

	* gtk/gtkfilechooserembed.c (delegate_initial_focus): Remove
	stray 'return' statement. (#136855, David L. Cooper II)

2004-03-11  Mark McLoughlin  <>

	* gtk/gtkstyle.c: (gtk_default_draw_expander): Use the PRELIGHT
	fg color for drawing the expander when prelit. Fixes problem
	with the HighContrast theme: bug #136789.

2004-03-11  Federico Mena Quintero  <>

	Fix #135912 and #135913.

	* gtk/gtkfilechooserdefault.c
	(shortcuts_filter_model_row_draggable): Implement.
	(shortcuts_model_filter_new): New function, create a
	ShortcutsModelFilterClass derived from GtkTreeModelFilter, so that
	we can implement our own DnD interface methods.
	(shortcuts_model_create): Use shortcuts_model_filter_new().
	(shortcuts_list_create): Enable the shortcuts list as a drag
	(file_list_source_targets): Renamed from shortcuts_targets.
	(shortcuts_list_create): Change the options for
	gtk_drag_dest_set().  Connect to more drag signals so that we can
	implement drops by hand.
	(shortcuts_drag_data_delete_cb): New handler; just stop the emission.
	(shortcuts_drag_motion_cb): New handler; validate the drop.
	(shortcuts_drag_leave_cb): New handler; unset the drag_dest_row.
	(shortcuts_drag_drop_cb): New handler; just stop the emission and
	remove the idle handler for the drag cursor.
	(shortcuts_add_bookmark_from_path): Add a position argument,
	return a boolean success code.
	(shortcuts_drag_data_received_cb): Handle two cases:  1) Insert
	the bookmarks at the proper position, rather than always appending
	them to the list; 2) alternatively, reorder the bookmarks.
	(struct _GtkFileChooserDefault): New field shortcuts_drag_outside.
	(shortcuts_drag_motion_cb): Turn off impl->shortcuts_drag_outside.
	(shortcuts_drag_leave_cb): Turn on impl->shortcuts_drag_outside in
	an idle handler.
	(shortcuts_drag_end_cb): New handler; remove the selected bookmark.

Thu Mar 11 01:08:25 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (location_entry_create): up the
	width of the entry a tad.

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): use
	gtk_entry_completion_selection_changed.  Also, unref the
	completion as we were leaking a reference to it.

2004-03-10  Federico Mena Quintero  <>

	* gtk/gtkstyle.c (draw_dot): Remove spurious semicolon.  Thanks to
	Kjartan Maraas for pointing it out.

Wed Mar 10 23:40:15 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Set the
	background on the action view cell renderer here, not in init, so 
	that a) we catch style changes, and b) we get the real style, not 
	the default one. Partial fix for #127648, reported by Dave Bordoley.

2004-03-10  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
	the pointer button bits. (#136636, Dave Neary)

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
	transparent (input only) windows using SetWindowPos(). (#132331,
	John Ehresman)

	(gdk_window_set_type_hint): For splash screens, remove the resize
	handles, menu, and minimize/maximize/close buttons. (#132896)

Wed Mar 10 22:30:23 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
	cell_list in a consistent state while iterating over it, since
	clear_attributes() also iterates over it.  (#136585, Morten Welinder)

2004-03-10  Mark McLoughlin  <>

	* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate
	the expose to the label. The expose handler for GtkContainer
	already does that. Fixes bug #136719. Reported by Dennis
	Cranston, exact cause nailed down by Owen.

2004-03-10  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use an
	untranslatable "%x" for dates, rather than a custom format.  Fixes

2004-03-10  Morten Welinder  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_add_shortcut_folder): Test validity of
	path here.
	(shortcuts_insert_path): Don't check here.
	(get_file_info): Barf if name-only fails.

	* tests/testfilechooser.c (main): Add support for --multiple.

Wed Mar 10 02:41:05 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c: (gtk_path_bar_init), (gtk_path_bar_class_init),
	(remove_settings_signal), (gtk_path_bar_dispose),
	(gtk_path_bar_style_set), (gtk_path_bar_screen_changed),
	(gtk_path_bar_scroll_up), (reload_icons), (change_icon_theme),
	(settings_notify_cb), (gtk_path_bar_check_icon_theme),
	(get_button_image), (gtk_path_bar_update_button_appearance),
	(make_directory_button), (gtk_path_bar_check_parent_path): Support
	changes in icon themes.

	* gtk/gtkpathbar.h: add two elements

	* tests/testfilechooser.c: (main): use gnome-vfs method again to
	get more testing.

Wed Mar 10 01:17:40 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c: added 'Desktop' to the list of volumes.  We
	don't have any more untranlated strings in the dialog.

Wed Mar 10 00:24:24 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (error_dialog): use uri instead of
	the pathname for UTF-8 safety.

Wed Mar 10 00:10:47 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Always
	check to see if the shortcuts exists.  We don't want to put
	invalid dirs in the shortcuts pane.

Tue Mar  9 16:40:34 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	remove unneeded shortuts_swin;

Wed Mar 10 01:49:27 2004  Matthias Clasen  <>

	Fix #136614 in a better way:
	* gtk/gtkoptionmenu.c (gtk_option_menu_init): Undo the last change.
	* gtk/gtkbutton.c (struct _GtkButtonPrivate): Add a flag, align_set.
	* gtk/gtkbutton.c (gtk_button_init): Initialize align_set to 0.
	* gtk/gtkbutton.c (maybe_set_alignment): Rework to only set the
	alignment if priv->align_set is set.
	* gtk/gtkbutton.c (gtk_button_set_alignment): Set align_set to 1.

Wed Mar 10 01:21:05 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
	grid mode popups left aligned, not right aligned.

Tue Mar  9 23:09:46 2004  Matthias Clasen  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_init): Avoid centering 
	the label that is reparented from the menuitem.  (#136614, Dennis

Tue Mar  9 16:19:09 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (struct _ButtonData): Encapsulate all of the
	information about a button in a struct instead of ugly
	(gtk_path_bar_size_request): Use ButtonData.
	(gtk_path_bar_update_slider_buttons): ditto
	(gtk_path_bar_size_allocate): ditto
	(gtk_path_bar_remove): ditto
	(gtk_path_bar_forall): ditto
	(gtk_path_bar_scroll_down): ditto
	(gtk_path_bar_clear_buttons): ditto
	(button_clicked_cb): ditto.  Also, add an ignore_changes variable
	(button_data_free): destroy ButtonData
	(update_button_appearance): Use ButtonData
	(make_directory_button): ditto
	(gtk_path_bar_check_parent_path): ditto
	(_gtk_path_bar_set_path): ditto

2004-03-09  Federico Mena Quintero  <>

	Fix #136533.

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): New
	(check_icon_theme): New helper function, installs a handler for
	changes in the icon theme.
	(gtk_file_chooser_default_style_set): Use check_icon_theme().
	(gtk_file_chooser_default_screen_changed): Use check_icon_theme().
	(gtk_file_chooser_default_dispose): Disconnect from GtkSettings.
	(change_icon_theme): New function, updates impl->icon_size and
	reloads the icons.
	(struct _GtkFileChooserDefault): New field settings_signal_id.
	(struct _GtkFileChooserDefault): New field icon_size.
	(shortcuts_insert_path): Use impl->icon_size.
	(list_icon_data_func): Likewise.

2004-03-09  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (get_file_info): Handle the returned
	parent_path being NULL.  Fixes #136662.

2004-03-09  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_drag_data_received_cb):
	Stop the emission so that GtkTreeView's handler won't try to poke
	the filter model.  Fixes #136127.

Tue Mar  9 13:49:14 2004  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_paint_polygon): Fix 
	g_return_if_fail() that was checking draw_shadow.
	(#136669, Morten Welinder)

Tue Mar  9 09:57:25 2004  Owen Taylor  <>

	* === Released 2.3.6 ===

	* Version 2.3.6, interface age 0.

	* NEWS: Updates

Tue Mar  9 11:01:45 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (gtk_path_bar_finalize): unref the correct
	icon.  Reported by Michael Natterer <>.

2004-03-09  Morten Welinder  <>

	* tests/testfilechooser.c (main): Destroy widgets to reveal leaks.

Tue Mar  9 02:11:50 2004  Soeren Sandmann  <>

	* gtk/gtkmenu.c Fix bug 136446. [Marco Pesenti Gritti]
	(struct _GtkMenuPrivate): Add boolean destroying
	(gtk_menu_destroy): Set priv->destroying
	(gtk_menu_remove): don't update the table information when the
	menu is being destroyed.

	* gtk/gtkmenu.c (gtk_menu_set_monitor): Formatting fix

	* gtk/gtktoolbar.[ch]: Some formatting fixes

Tue Mar  9 01:25:10 2004  Matthias Clasen  <>

	* gtk/gtkframe.c (gtk_frame_paint): Fix a typo.

2004-03-08  Federico Mena Quintero  <>

	Fixes #136080.

	* gtk/gtkfilesystemunix.c: Only lstat() if stat() failed due to
	(filename_get_info): Likewise.

2004-03-08  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_initial_focus): Use

2004-03-08  Federico Mena Quintero  <>

	Patch "1a" from #136185, by Morten Welinder.

	* gtk/gtkfilechooserdefault.c (get_file_info): Take in an argument
	that says whether the caller just wants the display name.
	(shortcuts_insert_path): We only want the name in the call to

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't request more
	info than needed from the file_folder.

2004-03-08  Federico Mena Quintero  <>

	Fixes #136105.

	* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
	Added an ::initial_focus() method.

	* gtk/gtkfilechooserembed.c
	(_gtk_file_chooser_embed_delegate_iface_init): Set the
	initial_focus method.
	(delegate_initial_focus): Implement.
	(_gtk_file_chooser_embed_initial_focus): New function.

	* gtk/gtkfilechooserdialog.c
	(gtk_file_chooser_dialog_constructor): Call

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
	Install the ::initial_focus() handler.
	(gtk_file_chooser_default_initial_focus): Implement.

2004-03-08  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (update_from_entry): Return a
	boolean success code.
	(location_popup_handler): Refocus the file chooser if appropriate.
	Fixes #135905.
	(save_widgets_create): Don't set the text of the save_folder_label
	(update_appearance): Set the text here as appropriate for the save
	mode.  Also fixes #136387.
	(update_appearance): Don't show the Create Folder button in
	(update_appearance): Show the extra widget in all Save modes

Mon Mar  8 11:57:27 2004  Owen Taylor  <>

	* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't
	call g_signal_handler_disonnect() if priv->model is
	NULL. (#136551, Damon Chaplin)

	* gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
	Back out code to set the active item when the first
	item is added to the model; this causes problems for
	GtkComboBoxText. (#136535)

	* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy)
	* gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): 
	* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): 
	Remove calls to gtk_combo_box_unset_model.

	* gtk/gtkcombobox.c (gtk_combo_box_check_appearance): 
	Clean up handling of wrap->width > 0.

	* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't
	switch list/menu mode here.

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Protect
	against the same model being set back.

	* gtk/gtkcombobox.c (gtk_combo_box_relayout): Call
	gtk_combo_box_menu_fill() rather than duplicating
	a large chunk of code.

2004-03-08  Anders Carlsson  <>

	* gtk/gtkfilesystemmodel.c (gtk_file_system_model_get_flags): 
	If max_depth is 0 then we have a list.

2004-03-08  Morten Welinder  <>

	* gtk/gtkpathbar.c (_gtk_path_bar_set_path): If we fail, leave
	widget unchanged.  Explicitly verify final directory.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder,
	get_icon_type, filename_get_info): Protect errno.

2004-03-08  Marco Pesenti Gritti  <>

	* gtk/gtkentry.c: (gtk_entry_completion_key_press):

	When an action is selected stop the event to be propagated
	otherwise the activate signal is emitted too. (Bug #133394)

Mon Mar  8 04:50:12 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (create_path_bar): new function to
	consolidate creating the path_bar.
	(gtk_file_chooser_default_set_current_folder): no longer need to
	pass in the filesystem.

	* gtk/gtkpathbar.h: Removed unused set_pixbuf functions in favor
	of just setting the filesystem.

	* gtk/gtkpathbar.c (gtk_path_bar_finalize): Free root path and
	(get_button_image): Add images to path_bar.
	(update_button_appearance): use images
	(make_directory_button): Clasify buttons based upon location.
	(_gtk_path_bar_set_path): no longer need a file-system.  Also, add
	rerooting, #135845, #135914

	* tests/testfilechooser.c: Fix reused error handling.

2004-03-08  Anders Carlsson  <>

	* gtk/gtkfilesystemunix.c: (get_icon_for_directory),
	Use better icons for home and desktop.

2004-03-08  Anders Carlsson  <>

	* gtk/gtkfilechooserentry.c:
	Set the base folder path in the entry.
2004-03-08  Christian Neumair  <>

	* tests/testentrycompletion.c: Fix typo.

2004-03-08  Tor Lillqvist  <>

	* README.win32: Update.

	* gtk/gtk.def: Small update. Thanks to J. Ali Harlow. Re-sorted.

	* tests/testfilechooser.c: Correct localtime_r() emulation on
	Win32. Remove a couple of unnecessary Win32-only includes.

Mon Mar  8 01:06:17 2004  Matthias Clasen  <>

	* tests/testentrycompletion.c: Test dynamic addition/removal. 

Sun Mar  7 22:38:49 2004  Matthias Clasen  <>

	* gtk/gtkframe.c (gtk_frame_paint): Use ythickness, not 
	xthickness in the calculation of vertical dimensions.

Sun Mar  7 17:38:03 2004  Jonathan Blandford  <>

	* gtk/gtkbutton.c (gtk_button_class_init): actually use

	* gtk/gtkfilechooserdefault.c (error_building_filename_dialog):
	use the uri, not the path, #136317
	(renderer_edited_cb): ditto
	(shortcuts_add_bookmark_from_path): ditto
	(remove_bookmark_button_clicked_cb): ditto
	(gtk_file_chooser_default_remove_shortcut): ditto
	(update_from_entry): ditto
	(up_folder_handler): ditto

Sun Mar  7 16:07:08 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): set
	redraw_on_allocate, #135902.

	* gtk/gtkfilesystemmodel.c (model_refilter_recurse): Patch from
	Damon Chaplin to set a node to be visible before emitting the
	inserted signal, #135555.

Sun Mar  7 22:24:28 2004  Matthias Clasen  <>

	* gtk/gtkbutton.c (_gtk_button_paint): Don't use xthickness in the
	height calculation.

Sun Mar  7 14:34:04 2004  Jonathan Blandford  <>

	Fixes #121500.

	* gtk/gtkfilechooserdefault.c (trap_activate_cb): stop activate
	from unselecting rows when pressed in multiple-selection mode.

2004-03-07  Hans Breuer  <>

	* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting) :
	some more settings from system, also reflect some name changes
	done a while ago in the x11 backend

	* gdk/win32/makefile.msc : build gdkspawn-win32.c

	* gtk/gtkdnd.c : gtk_drag_source_[gs]et_target_list, added "Since: 2.4"

	* gtk/ : build gtkpathbar, link shell32.lib

	* tests/makefile.msc : some more tests get build

Sun Mar  7 03:03:57 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_paths): if action is
	SELECT_FOLDER, then return the currentd folder if none is
	(gtk_file_chooser_default_should_respond): Allow 'Ok' to be hit if
	no directory is selected in SELECT_FOLDER mode.

Sat Mar  6 23:31:18 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	remove unneeded elements.
	(tree_selection_changed): removed
	(tree_name_data_func): removed
	(gtk_file_chooser_default_finalize): don't unref dir model
	(create_folder_tree): removed
	(get_selection): no longer need to abstract away the selection
	(create_file_list): We now create a tree for all actions.
	(file_pane_create): Make one tree.
	(update_appearance) We really change the mode only, now.

Sun Mar  7 02:38:00 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_size_request): Do a 
	size_request on the button and cell_view_frame, otherwise
	their style will still be the default here in the initial 
	size_request. (#136301, Mark McLoughlin)

2004-03-06  Gustavo J. A. M. Carneiro  <>

	* gtk/gtktoolbar.c (internal_insert_element): Check return value
	of gtk_stock_lookup; if stock lookup fails, just use stock_id as
	label, instead of crashing. Fixes #136202.

2004-03-05  Federico Mena Quintero  <>

	* gdk/linux-fb/gdkglobals-fb.c: Make <config.h> the very first
	* gdk/linux-fb/gdkwindow-fb.c: Likewise.
	* gdk/linux-fb/gdkinput.c: Likewise.

2004-03-05  Federico Mena Quintero  <>

	Fixes #136082 and #135265, patch by Morten Welinder.


	* */*.c: #include <config.h>

2004-03-05  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): No need to have a
	temporary error variable.

2004-03-05  Tor Lillqvist  <>

	* Move check for native Win32 (mingw) a bit
	earlier. If Win32, disable static builds (as in GLib). Remove
	unnecessary AC_LIBTOOL_WIN32_DLL.

	* gdk/gdk.def: Add missing entries, thanks to J. Ali Harlow.

	* gdk/win32/gdkcursor-win32.c (color_is_white): const-correctness.

	(gdk_cursor_new_from_pixbuf): Copy of the non-Xcursor X11

	gdk_display_supports_cursor_color): Dummy implementations.

	gdk_display_get_maximal_cursor_size): Implement.

	* gdk/win32/gdkdisplay-win32.c (gdk_display_get_default_group):
	Dummy implementation.

	* gdk/win32/gdkevents-win32.c (gdk_net_wm_supports): Dummy

	* gdk/win32/gdkfont-win32.c (gdk_font_get_display): Implement.

	* gdk/win32/gdkinput-win32.c (gdk_input_motion_events): Remove,
	not in API.

	* gdk/win32/gdkwindow-win32.c (gdk_window_get_group): Dummy

Fri Mar  5 18:00:36 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
	to the new path.

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the
	allocation when scrolling instead of cancelling editing.

Fri Mar  5 23:52:34 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): 
	Improve the docs.  (#127727, Murray Cumming)

Fri Mar  5 23:37:16 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): Clarify the
	doc comment.  (#118602)

Fri Mar  5 22:37:15 2004  Matthias Clasen  <>

	* gtk/gtkbutton.c (gtk_button_construct_child): Don't let
	the priv->image pointer dangle.  (#136259, Padraig O'Briain)

2004-03-05  Federico Mena Quintero  <>

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserIface): Add
	gboolean return values and GError arguments to
	::set_current_folder() and ::select_path().

	* gtk/gtkfilechooser.c (gtk_file_chooser_set_current_folder):
	Return a boolean value for success/failure.
	(gtk_file_chooser_set_current_folder_uri): Likewise.
	(gtk_file_chooser_select_filename): Likewise.
	(gtk_file_chooser_select_uri): Likewise.
	(gtk_file_chooser_set_filename): Likewise.
	(gtk_file_chooser_set_uri): Likewise.
	(_gtk_file_chooser_set_current_folder_path): Likewise, plus take
	in a GError.
	(_gtk_file_chooser_select_path): Likewise.

	* gtk/gtkfilechooserutils.c (delegate_set_current_folder):
	(delegate_select_path): Likewise.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): Likewise.
	(gtk_file_chooser_default_set_current_folder): Likewise; this also
	fixes #136024.
	(error_changing_folder_dialog): New helper function.
	(change_folder_and_display_error): New helper function.
	(switch_to_selected_folder): Use change_folder_and_display_error().
	(tree_selection_changed): Likewise.
	(shortcuts_activate_volume): Likewise.
	(shortcuts_activate_item): Likewise.
	(list_row_activated): Likewise.
	(path_bar_clicked): Likewise.
	(update_from_entry): Likewise.
	(up_folder_handler): Likewise.
	(home_folder_handler): Get the home path from the shortcuts model,
	and use change_folder_and_display_error().

	* tests/testfilechooser.c (set_current_folder): New helper
	function; pops up a simple error dialog if necessary.
	(set_filename): Likewise.
	(set_folder_nonexistent_cb): Use set_current_folder().
	(set_folder_existing_nonexistent_cb): Likewise.
	(set_filename_nonexistent_cb): Use set_filename().
	(set_filename_existing_nonexistent_cb): Likewise.

Fri Mar  5 11:17:35 2004  Owen Taylor  <>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): 
	Improve the docs (reported by Vitaly Tishkov, 
	#74362) Add some comments to the code about the 
	row reference handling that are hopefully not entirely

2004-03-05  Michael Natterer  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_show_all):
	s/object/widget/. Makes it compile again.

Fri Mar  5 03:37:14 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_show_all):
	chain to the extra_widget.

Fri Mar  5 02:53:41 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
	Patch from Damon Chaplin to free models when we're finalized,

2004-03-05  Alexander Larsson  <>

	* gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path):
	Document the fact that there might not be a volume for all

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder):
	Don't assume there is a volume for all paths.

Fri Mar  5 01:45:04 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_append_paths): insert in
	the correct place instead of naïvely appending.
	(shortcuts_add_volumes): refilter the model
	(shortcuts_add_bookmarks): refilter the model
	(gtk_file_chooser_default_add_shortcut_folder): refilter the model

2004-03-04  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdialog.c (response_cb):  New handler.  Ask the
	GtkFileChooser widget if it wants to do something special rather
	than letting us terminate the dialog.
	(gtk_file_chooser_dialog_init): Connect to "response"; see the
	comment in the sources to see why we don't override the method in

	* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
	Added a ::should_respond() method.

	* gtk/gtkfilechooserembed.c
	(_gtk_file_chooser_embed_delegate_iface_init): Add a delegate for ::should_respond().
	(delegate_should_respond): New delegate.
	(_gtk_file_chooser_embed_should_respond): New function.

	* gtk/gtkfilechooserdefault.c (set_list_model, create_file_list):
	Use dashes in signal names rather than underscores.
	(gtk_file_chooser_default_init): Hook up our ::should_respond() implementation.
	(gtk_file_chooser_default_should_respond): Implement.  go into a
	folder rather than responding if we are in File mode and the
	selected file is a folder.
	(get_selection): New helper function.
	(add_bookmark_button_clicked_cb): Use get_selection().
	(bookmarks_check_add_sensitivity): Likewise.
	(gtk_file_chooser_default_get_paths): Likewise.
	(check_save_entry): New helper function.
	(gtk_file_chooser_default_get_paths): Use check_save_entry().
	(selection_check): Renamed from selection_is_folders().  Now
	checks whether the selection is empty, all files, all folders.
	(bookmarks_check_add_sensitivity): Use selection_check().

Fri Mar  5 00:05:59 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): 
	* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Connect to 
	key_press_event and handle Alt-Down/Alt-Up to show or hide the
	list popup. Also handle Down/Up/PageDown/PageUp/Home/End and 
	make them change the active item without popping up the list.
	These keybindings are inherited from GtkCombo. 

Thu Mar  4 23:15:58 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Initially 
	select the active item when using optionmenu-like positioning. 

Thu Mar  4 16:54:30 2004  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_check_pixmap_dir): Don't
	open/close the file, just check for existence
	with g_file_test(). This is considerably cheaper,
	and lack-of-permissions for pixmap dirs is 

Wed Mar  3 17:53:21 2004  Owen Taylor  <>

	* gtk/gtksocket.c (gtk_socket_class_init): Overide
	show_all/hide_all to be gtk_widget_show/gtk_widget_hide,
	since we don't want to propagate to the in-process
	plug, if any. (#122949, Michael Meeks)

Thu Mar  4 15:20:55 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (update_appearance): show the 'New
	Folder' button in SAVE mode again.

Thu Mar  4 21:53:46 2004  Matthias Clasen  <>

	* gtk/gtkiconfactory.c (copy_cache): Increment the reference
	count of the style when copying the cached icon.  (#135890, Crispin

Thu Mar  4 21:45:43 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: In list mode, set the background color 
	of the cell view to the base color of the style, instead of
	hardwiring white. (#136158)

Thu Mar  4 01:32:19 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Modified patch from
	muppet <> to keep child directories around if we
	change to a child.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_home_icon): Start of
	icon-setting functions.  Not used yet.
	(_gtk_path_bar_set_root_icon): Ditto.
Thu Mar  4 00:31:54 2004  Matthias Clasen  <>

	* gtk/gtktextview.c (extend_selection): 
	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Allow
	to select the last word in the buffer.  (#135487, Paolo Borelli)

Wed Mar  3 23:54:31 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c: Doc update.

Wed Mar  3 17:30:18 2004  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_mnemonic_activate): Check
	whether widgets are viewable, not just if they are
	mapped. (#122912, reported by Tim Evans)

Wed Mar  3 23:28:48 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active): Move the actual
	implementation into a new gtk_combo_box_set_active_internal() 
	function, which doesn't do the short-circuiting. 
	* gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted): Use
	set_active_internal() here, since the active item may change here,
	although the index is unchanged.

Wed Mar  3 23:26:49 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Reintroduce the
	traditional option menu placement of the popup for regular combo
	boxes. Grids and editable combo boxes use the combo-like placement 
	below the entry.  (#136021)
	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): 
	* gtk/gtkcombobox.c (gtk_combo_box_popup): Call gtk_menu_set_active()
	before popping up the menu, to make the placement work.
Wed Mar  3 17:20:15 2004  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_propagate_event): Special case
	scroll events so that they propagate up the widget
	heirarchy when received on insensitive widgets.
	(#101102, reported by Geoff Reedy)

Wed Mar  3 16:47:10 2004  Owen Taylor  <>

	 #109594, reported by Olivier Ripoll

	* gtk/gtkentry.c (gtk_entry_size_request): Use max of 
	width and digit width for gtk_entry_set_width_chars,
	and round up.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): Set the
	width of the entry to 7 chars.

Wed Mar  3 16:00:10 2004  Owen Taylor  <>

	* Strip out the "export-dynamic" libtool
	option from library link lines. (#124687, James Henstridge)

Wed Mar  3 16:06:03 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (save_folder_combo_changed_cb):
	Don't activate the combo if we're in the midst of changing

2004-03-03  Mark McLoughlin  <>

	* tests/testsocket_common.c: (print_hello): don't try and store
	pointers in ints. Fixes 64-bit build.

2004-03-03  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.c (gtk_file_system_get_parent): Simplify by
	not using a temporary variable, and clarify the documentation.
	Fixes #136008.

2004-03-03  Mark McLoughlin  <>

	* gtk/gtkexpander.c:
	(gtk_expander_enter_notify), (gtk_expander_leave_notify),
	(gtk_expander_set_label_widget): Set the label widget's
	state to prelight if we're prelit. Fixes bug #136078.

2004-03-03  Murray Cumming  <>

	* gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
	signal vfunc declaration, adding the first parameter, which is the
	widget emitting the signal.

2004-03-03  Morten Welinder  <>

	* tests/testfilechooser.c (update_preview_cb): Plug leak.

Tue Mar  2 23:39:55 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_default_realized_size_changed): Split
	function into realized and unrealized variants, and consolidate
	the handling fo size-changing and default changing.

	* gtk/gtkfilechooserembed.[ch] (gtk_file_chooser_embed_class_init):
	remove resizable-hints-changed, as it just complicated things.

	* gtk/gtkfilechooserdefault.c (update_appearance): Don't emit
2004-03-03  Tor Lillqvist  <>

	* gtk/gtk.def: Add a missing entry. (#135982, J. Ali Harlow)

	* NEWS: Correct spelling of my name in one place.

2004-03-02  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Handle errors in
	setting the path bar's path.  Fixes #136000, based on a patch by
	Morten Welinder.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_insert_bookmark):
	Don't free our own propagated error.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Likewise, and free the
	parent_path upon error.  Fixes #136006, patch by Morten Welinder.
	(gtk_path_bar_set_path): Unref the file_folder upon error.
	(gtk_path_bar_set_path): Return a boolean success code.

Wed Mar  3 00:28:59 2004  Matthias Clasen  <>

	* tests/testcombochange.c: Add an animation mode, to test 
	how the combobox behaves if the model changes while it is popped

Tue Mar  2 17:06:05 2004  Owen Taylor  <>

	* === Released 2.3.5 ===

	* NEWS: Updates

	* Version 2.3.5, interface age 0.
	Require glib-2.3.5, pango-1.3.5.

Tue Mar  2 23:08:12 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Avoid
	popping up the completions across the edge of the monitor.
	Part of #135561.

Tue Mar  2 16:47:40 2004  Owen Taylor  <>

	* tests/testfilechooser.c (set_filename_existing_nonexistent_cb): 
	Move the /nonexistant stuff out of the main window,
	keep the main window somewhat normal looking.

Tue Mar  2 16:18:43 2004  Owen Taylor  <>

	* gtk/gtktreestore.c (gtk_tree_store_reorder)
	* gtk/gtkliststore.c (gtk_list_store_reorder): Fix
	up the interpretation of new_order to match what
	it means elsewhere, document the meaning of new_order.

	* gtk/gtkcombobox.c (gtk_combo_box_model_rows_reordered):
	Fix interpretation of new_order.

	* tests/testcombochange.c (on_reorder): Fix interpretation
	of new_order.

	* tests/testcombochange.c (on_reorder): Fix hitting
	"reorder" with an empty list.

Tue Mar  2 21:23:30 2004  Soeren Sandmann  <>

	Patch from Frederic Crozat, test code from Jean-Philippe
	Chancelier. Fixes bug #120479.
	* gtk/gtkcombo.c (gtk_combo_popup_list): Make sure popup belongs
	to the right window group.

	* gtk/gtkmenu.c (gtk_menu_popup): Same

	* tests/testsocket.c (main): Pack the plugs into an hbox instead
	of a vbox.

	* tests/testsocket_common.c: Add a GtkMenuBar, a GtkCombo and a
	GtkComboBox to the children.

Tue Mar  2 14:38:23 2004  Owen Taylor  <>

	* gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
	If the model was empty before, select the first inserted

	* gtk/gtkcombobox.c (gtk_combo_box_model_row_deleted):
	Fix up the logic for the new row to select.

	* gtk/gtkcombobox.c (gtk_combo_box_class_init):
	Rename "appearance" property to "appears-as-list".

	* tests/testcombochange.c tests/ Test case
	for combos and dynamically changing models.

Tue Mar  2 15:19:52 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_resizable_hints): set the default
	value, spotted by Morten Welinder.

Tue Mar  2 15:03:15 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_resizable_hints): get the logic
	correct.  This will fix sizing on save dialogs.

	(save_widgets_create): set_mnemonic_widget.

2004-03-02  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): Don't update the
	save folder combo if we are already switching folders; based on a
	patch by Jonathan Blandford.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder):
	Handle failure to insert the path.  Based on a patch by Morten
	Welinder attached to bug #135380.

	* tests/testfilechooser.c (extra_widget_create): Add a bunch of
	buttons to test various things.

Tue Mar  2 20:59:23 2004  Matthias Clasen  <>

	* tests/ Add testentrycompletion.

	* tests/testentrycompletion.c: New file to test some of the
	more exotic GtkEntryCompletion features.

Tue Mar  2 14:38:10 2004  Jonathan Blandford  <>

	* tests/testfilechooser.c (main): improve tests a little.

Tue Mar  2 11:45:50 2004  Owen Taylor  <>

	* gtk/gtkcombobox.c: Always connect to the changed
	signals on the model, update the active item as
	appropriate when rows are inserted/deleted/reordered,
	re-layout the menu on ::rows-reordered.

	* gtk/gtkcellview.c (gtk_cell_view_set_displayed_row):
	Allow %NULL for path to unset and leave no current

Tue Mar  2 19:54:53 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_position): Position
	the popup above the sample if there is not enough room below.
	Part of #135543.

Tue Mar  2 19:53:36 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make the 
	frame for the list mode etched in, to give the popup a slightly
	less flat appearance. 

Tue Mar  2 17:55:31 2004  Matthias Clasen  <>

	* gtk/gtk.def: Add gtk_combo_box_entry_new_text().  

2004-03-02  Morten Welinder  <>

	* tests/testfilechooser.c (size_prepared_cb): Don't scale images
	that are small enough to fit.  Avoid using incompatibly typed data

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_resizable_hints): Test the
	resize_horizontally pointer, not the deferenced pointer.

2004-03-01  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): New
	flag shortcuts_current_folder_is_volume.
	(shortcuts_add_current_folder): Set
	impl->shortcuts_current_folder_is_volume as appropriate.
	(remove_current_folder_cb): Handle the flag.
	(shortcuts_activate_item): Likewise.
	(shortcuts_update_current_folder): Handle the
	impl->shortcuts_current_folder_active flag; only add the folder if
	it doesn't already exist in the list.
	(shortcuts_model_create): Don't insert the current folder
	separator here.
	(shortcuts_add_current_folder): Insert the separator here.
	(shortcut_find_position): Renamed from shortcut_exists(); now
	returns an index.
	(shortcuts_add_current_folder): Set the active item in the combo.

2004-03-01  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_row_activated_cb): Eep,
	use gtk_tree_model_filter_convert_iter_to_child_iter(), not the reverse.

2004-03-01  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_model_create): Don't
	unref an old model; there isn't one.  This was a leftover from
	when we recreated the model on every change.
	(save_widgets_create): Create the save folder combo.
	(shortcuts_model_create): Don't set the model on the tree view
	(gtk_file_chooser_default_constructor): Create the shortcuts model
	here, before the rest of the widgets.
	(shortcuts_list_create): Don't call shortcuts_model_create() here;
	just set the model on the tree.
	(save_folder_combo_create): New function, provided by Jonathan
	(update_appearance): Set the sensitivity of the folder combo.
	(shortcuts_activate_iter): New helper function; code moved from
	(shortcuts_activate_item): New helper function.
	(shortcuts_row_activated_cb): Use shortcuts_activate_iter().
	(ShortcutsIndex): Renamed SHORTCUTS_SEPARATOR to
	(struct _GtkFileChooserDefault): New field shortcuts_current_folder_active.
	(shortcuts_insert_separator): Add a position argument.
	(shortcuts_get_index): Handle the SHORTCUTS_CURRENT_FOLDER_SEPARATOR 
	(shortcut_exists): Ignore the current folder row.
	(struct _GtkFileChooserDefault): New field shortcuts_filter_model.
	(shortcuts_model_create): Create a filter model for the shortcuts list.
	(shortcuts_list_create): Set the model to the shortcuts_filter_model.
	(remove_bookmark_button_clicked_cb): Use the shortcuts_filter_model.
	(bookmarks_check_remove_sensitivity): Likewise.
	(shortcuts_row_activated_cb): Likewise.
	(gtk_file_chooser_default_set_current_folder): New function.
	(gtk_file_chooser_default_set_current_folder): Update the current
	folder row in the shortcuts list.

	* gtk/gtkfilechooserwidget.c
	(gtk_file_chooser_widget_constructor): Cast correctly for

Mon Mar  1 19:30:25 2004  Owen Taylor  <>

	* gtk/gtkdnd.[ch]: Add gtk_drag_source_set/get_target_list().
	(#127499, based on patch from Michael Natterer)

	* tests/testgtk.c: Fix bidi strings to display correctly
	with new auto-bidi.

Tue Mar  2 01:34:40 2004  Matthias Clasen  <>

	* gtk/gtksettings.c: Remove the include of Xft.h, which is already
	dragged in via pangoxft.h.  (#135496, David Hawthorne)

Mon Mar  1 23:52:15 2004  Tim Janik  <>

        * gtk/gtkbindings.[hc]: expose gtk_bindings_activate_event(), changed

        * gtk/gtkwindow.[hc]: added gtk_window_propagate_key_event() to expose
        the key event propagation mechanism used for focus widgets.
        (gtk_window_key_release_event): use the same key event propagation logic
        as gtk_window_key_press_event().

2004-03-01  Simon Budig  <>

	* gdk/x11/gdkinput-x11.c: X11 R6.4 specifies 15 events
	for the XInput extension. We want to see them all.
	We now get Proximity Out events again. Fixes bug #135320.

Tue Mar  2 00:47:21 2004  Matthias Clasen  <>

	* gtk/gtkimmodule.c (match_locale): Use case-insensitive
	comparison. Fixes XIM module loading on AIX.  (#131277)

Mon Mar  1 23:59:18 2004  Matthias Clasen  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
	Make it work correctly when the child model is cleared 
	completely. (#121633)

2004-03-01  Michael Natterer  <>

	* gtk/gtkfilechooserwidget.h: removed accidentially committed char
	which broke the build.

Mon Mar  1 16:51:21 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_default_size_changed): only store the size if
	we can resize in that direction.

Mon Mar  1 16:32:52 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserwidget.c
	(gtk_file_chooser_widget_new_with_backend): new function.  Long

2004-03-01  Morten Welinder  <>

	* gtk/gtkfilesystemunix.c (filename_get_info): Only stat when

	* gtk/gtkfilesystemmodel.c (file_model_node_is_visible): Simplify
	semantics and check for errors.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Propagate errors.

	* gtk/gtkfilefilter.c (gtk_file_filter_filter): Don't crash if
	display_name is NULL.

Mon Mar  1 14:16:52 2004  Owen Taylor  <>

	Based on patch by Alex Larsson

	* gtk/gtkfilechooserdefault.c: Use gtk-file-chooser-backend
	GtkSetting to set the backend if the app doesn't specify one.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c:
	Add Gtk/FileChooserBackend.

Mon Mar  1 20:32:06 2004  Tim Janik  <>

        - exit with $? instead of 1 in case of failure
        - exit with $? if ./configure failed
          (that's so && make lines work)
        - removed --enable-gtk-doc option

2004-03-01  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (list_model_filter_func): Test for
	filter_info.uri correctly.  Fixes #135379, pointed out by Damon
	(shortcuts_get_index): Compute the bookmarks index correctly.
	Fixes #135714, pointed out by Damon Chaplin.
	(gtk_file_chooser_default_list_shortcut_folders): Handle the case
	with no shortcuts, and don't run off the end of the list if there
	are no bookmarks and their separator.  Fixes #135572, patch by
	Damon Chaplin.

Mon Mar  1 12:23:06 2004  Owen Taylor  <>

	* gtk/gtklabel.c: Handle dynamically resolved bidi direction
	when drawing the cursor. (#118541)

	* gtk/gtkentry.c (get_better_cursor_x): Use entry->resolved_dir;

	* gtk/gtkentry.c (draw_insertion_cursor): Fix up
	some confusion in parameter ordering.

Mon Mar  1 12:05:54 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_resizable_hints_changed): Handle

2004-03-01  Michael Natterer  <>

	* gtk/gtktextbtree.c: removed underscores from calls to

Mon Mar  1 10:41:27 2004  Owen Taylor  <>

	Patch from Dov Grobgeld to implement auto-bidi-direction
	for GtkTextView (#118543)

	* gtk/gtktextbtree.[ch]: Resolve bidi base direction
	for each line by propagating backwards/forwards as

	* gtk/gtktextlayout.[ch] gtk/gtktextview.c: Set the 
	bidi base direction for the ;ine with the cursor from 
	the keyboard direction. Add gtk_text_layout_set_keyboard_direction().
Mon Mar  1 10:31:11 2004  Owen Taylor  <>

	* gtk/gtkentry.[ch]: Implement auto-bidi-direction,
	based on a patch from Dov Grobgeld. (#118540)

Sun Feb 29 22:01:49 2004  Owen Taylor  <>

	* gtk/gtkentry.[ch]: Add gtk_entry_set_alignment() 
	to allow right-aligned entries and a "xalign" 
	property. (#59799, patch from Egon Andersen and 
	Steffen Gutmann)

	* gtk/gtkmisc.c (gtk_misc_class_init): Use improved
	xalign property description here too.

	* tests/testtext.c: UNDERLINE_ERROR test addition
	from Nicolas Settons' patch.

Sun Feb 29 20:34:06 2004  Owen Taylor  <>

	* gtk/gtkwindow.[ch] gtk/gtkmenushell.c: export
	gtk_window_activate_key() (Request from Tim Janik)

Mon Mar  1 01:00:11 2004  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_drag_data_received): 
	Make DND operations within a buffer move the dragged 
	text instead of copying it; also make DND operations 
	a single user action for undo purposes.  (#135191, 
	#93139, reported by Tommi Komulainen, patch by Paolo Borelli
	and Paolo Maggi)

Mon Mar  1 00:51:11 2004  Matthias Clasen  <>

	* NEWS: News for 2.3.5.

Sun Feb 29 23:25:35 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_completion_key_press): 
	Fix the Shift-Tab support to go backwards.

Sun Feb 29 16:40:40 2004  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): Fix 
	capitalization to match other style properties.

Sun Feb 29 16:38:53 2004  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): Fix a
	typo in property string.

Sun Feb 29 16:35:23 2004  Owen Taylor  <>

	* gdk/gdkpango.c gtk/gtktextdisplay.c: Implement
	PANGO_UNDERLINE_ERROR (Based on a patch by
	Nicolas Setton, #114237)

	* gtk/gtktextview.c: Add a error-underline-color style

Sun Feb 29 19:04:33 2004  Soeren Sandmann  <>

	* gtk/gtkrange.c (_gtk_range_get_wheel_delta): New internal
	function returning a good step value for the mouse wheel. For
	scrollbars, base the step on page_size^(2/3), for other ranges,
	use 2 * step_increment.

	* gtk/gtkrange.c (gtk_range_scroll_event): Use it here ...

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): 
	... and here.

	* gtk/gtkmenu.c (gtk_menu_leave_notify): Fix a warning.

Sun Feb 29 01:51:27 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserembed.c
	(_gtk_file_chooser_embed_get_default_size):  Add g_return_if_fail()
	(_gtk_file_chooser_embed_get_resizable_hints): Add g_return_if_fail()

	* gtk/gtkfilechooserdialog.c
	(file_chooser_widget_default_size_changed): Get the correct
	initial size for the dialog.  Also, don't bother with
	gtk_window_set_default_size().  It's not really meaningful.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_default_size): Get the correct
	spacing for the preview_widget
	(update_preview_widget_visibility): Clear widget field after we
	destroy it.

2004-02-29  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_property): Handle
	(gtk_file_chooser_default_get_property): Likewise.
	(struct _GtkFileChooserDefault): Added fields for preview_label,
	use_preview_label, preview_display_name, preview_box.  Removed
	(set_preview_widget): Reorder the widget in relation to the label.
	(update_preview_widget_visibility): Create or destroy the preview
	(check_preview_change): Update impl->preview_display_name and the
	(find_good_size_from_style): Use the preview_box.
	(gtk_file_chooser_default_finalize): Free
	(gtk_file_chooser_default_init): Initialize

	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add a
	"use-preview-label" property.
	(gtk_file_chooser_set_use_preview_label): New function.  This sets
	whether one wants the file chooser to display a stock label with
	the previewed filename.  Apps that do really fancy previews can
	turn this off and draw the name themselves.
	(gtk_file_chooser_get_use_preview_label): New function.
	(gtk_file_chooser_get_preview_widget_active): Documentation fix.

	* gtk/gtkfilechooserutils.h (GtkFileChooserProp): Add a

	* gtk/gtkfilechooserutils.c
	(_gtk_file_chooser_install_properties): Override the
	"use-preview-label" property.

Sun Feb 29 04:43:29 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
	Shift-Tab work when the completion popup is shown.

2004-02-28  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
	the title of the filename column.
	(create_file_list): Likewise.

Sun Feb 29 03:31:42 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up 
	and Page_Down in the completion popup to move page-wise if we're

2004-02-28  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
	(list_name_data_func): Don't call the function above.
	(list_mtime_data_func): Likewise.

Sun Feb 29 02:34:35 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_position): New 
	function which calculates position and size for the popup in
	list mode. Currently it only pushes the popup horizontally 
	into the screen.

Sun Feb 29 01:10:09 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Implement the previous fix in a better way,
	small cleanups.

2004-02-28  Hans Breuer  <>

	* gtk/gtkfilesystemwin32.c : applied patch from
	J. Ali Harlow <>, fixes bug #135641

Sat Feb 28 23:30:36 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_popup): Actually resize the
	popup window before popping up.  (#135651)

Sat Feb 28 23:29:35 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_class_init): 
	* gtk/gtkcombobox.c (gtk_combo_box_init): Override the default
	handler for style_set in class_init instead of connecting to
	the signal in init. (noticed by Yosh).

Sat Feb 28 14:48:35 2004  Owen Taylor  <>

	* demos/gtk-demo/main.c (read_line): #ifdef HAVE_FLOCKFILE, 
	not #ifndef HAVE_FLOCKFILE. (#135642, J. Ali Harlow)

2004-02-28  Hans Breuer  <>

	* gtk/gtkfilesystemwin32.c : adapt to add -> insert_bookmark
	change. Also merged some crossplatform code from 
	* gtk/gtk.def : updated externals

	* gtk/ : added gtkfilechooserembed.obj

2004-02-28  Hans Breuer  <>

	* gdk/win32/gdkdnd-win32.c : set current_dest_drag to NULL
	when destroying, fixes bug #120007. Also removed the mirrored
	ref counting for deprecated gdk_drag_context_<ref|unref>()
	cause it wasn't reliable anymore anyway.

	* gdk/win32/gdkdisplay-win32.c : fix typo, which should
	have broken the win32 build for everyone not using msvc

	* gdk/win32/gdkevents-win32.c : WM_GETMINAMXINFO ensure not to
	return negative values for ptMaxTrackSize, it caused snapping
	windows to their minimum size

Sat Feb 28 01:39:01 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Support
	switching back to non-gridded mode.  (#135169)

Fri Feb 27 22:29:46 2004  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_can_activate_accel): Add "Since: 2.4".

Fri Feb 27 18:52:19 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_style_set):
	Whoops.  Didn't mean to commit the size change.

Fri Feb 27 18:46:27 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserembed.h: New private interface to help
	negotiate the default size of the widget.  Still a bit buggy, but
	better than the old behavior.

	* gtk/gtkfilechooserdefault.c: Implement the embed interface.

	* gtk/gtkfilechooserwidget.c: Proxy the embed interface.

	* gtk/gtkfilechooserdialog.c: Use the embed interface.

2004-02-27  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.c (gtk_file_system_insert_bookmark): Added a
	"position" argument.

	* gtk/gtkfilesystem.h (GtkFileSystemError): Added value for 
	(struct _GtkFileSystemIface): Added a "position" argument to the
	::insert_bookmark() method.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_insert_bookmark):
	Updated; renamed from gtk_file_system_unix_add_bookmark().  Return
	an error if the path already exists in the bookmarks list.
	(gtk_file_system_unix_remove_bookmark): Return an error if the
	path does not exist in the bookmarks list.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_bookmark_from_path):
	For now, use gtk_file_system_insert_bookmark() with -1 for the
	position.  DnD will come next.

Fri Feb 27 21:42:28 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_relayout): 
	* gtk/gtkcombobox.c (gtk_combo_box_style_set): Simplify, only 
	create a new setup if appearance actually changed.
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear): 
	* gtk/gtkcombobox.c (gtk_combo_box_get_cell_info): Make 
	these more robust.  (#127623, Damon Chaplin)

Fri Feb 27 15:06:00 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): remove
	folder-mode property.

	* gtk/gtkfilechooserutils.c
	(_gtk_file_chooser_install_properties): remove FOLDER_MODE property.

Thu Feb 26 17:38:40 2004  Manish Singh  <>

	* gtk/gtkcombobox.c: Add function declaration for

Fri Feb 27 02:33:21 2004  Matthias Clasen  <>

	* gtk/gtkentry.c (keyval_is_cursor_move): Classifiy Page Up/Down as
	cursor move, but not Home and End.

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Lets Page Up/Down
	jump to the ends of the list, not Home and End - since we're not 
	scrolling yet, a "page" is always the complete list.  (#127430, Marco
	Pesenti Gritti)

Fri Feb 27 00:39:11 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): 
	* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy): Don't let
	the priv pointers dangle.  (#127623, Damon Chaplin)

Thu Feb 26 17:31:34 2004  Manish Singh  <>

	* gdk/x11/xsettings-client.c (read_settings): fix ytpo: s/eles/else/

Thu Feb 26 19:53:32 2004  Owen Taylor  <>

	* gdk/x11/xsettings-common.h (xsettings_client_process_event): 
	Add xsettings_client_set_grab_func,
	Add xsettings_client_set_ungrab_func to the list of renames.

Thu Feb 26 19:48:39 2004  Owen Taylor  <>

	* gdk/x11/xsettings-client.c (read_settings): Fix memory leak
	in case of mismatched property type.

Thu Feb 26 18:25:57 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooser.h (GtkFileChooserAction): Add two more folder
	modes to the enum.

	* gtk/gtkfilechooser.c (gtk_file_chooser_set_folder_mode): Remove.
	(gtk_file_chooser_get_folder_mode): Remove

Thu Feb 26 17:29:04 2004  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Return
	GDK_FILTER_CONTINUE for unhandled message types.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Allow
	multiple filters for the same event type with the standard
	"GDK_FILTER_CONTINUE == pretend I wasn't here" semantics.

	* gdk/x11/gdkevents-x11.c (gdk_display_add_client_message_filter):
	Append to the filter list not prepend, since order now matters.

	* gdk/win32/gdkevents-win32.c (gdk_add_client_message_filter): 
	Append to the filter list not prepend, since order now matters.
Thu Feb 26 23:39:07 2004  Matthias Clasen  <>

	Fixes for #135333, analysed by Damon Chaplin:
	* gtk/gtkcombobox.c (gtk_combo_box_list_button_pressed): Don't
	grab here.
	* gtk/gtkcombobox.c (gtk_combo_box_popup): Do the grabs here, 
	so that we don't forget to grab when the menu is popped via
	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Don't
	ungrab here.
	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Do the ungrabs here.

Thu Feb 26 23:26:00 2004  Soeren Sandmann  <>

	* gtk/gtkstatusbar.c (set_grip_cursor): New function. Use resize
	cursors for resize grips. (Bug #129621)

	* gtk/gtktoolbar.c (gtk_toolbar_get_relief_style): Documentation
	fix - patch by Torsten Schoenfeld.

	* gtk/gtkmenubar.c (gtk_menu_bar_size_request): don't request
	space between the items. (Bug #110775)

	* gtk/gtkrc.c (_gtk_rc_init): Provide extra horizontal padding
	inside menu items that are inside a menu bar. (Bug #110775)
	* (HAVE_XCURSOR): Make XCurosr part of GDK_EXTRA_,
	not GDK_PACKAGES, to prevent applications from getting linked to
	it (Bug #119804)

	* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Put the vertical
	ipadding inside the item. (Bug #61843)

Thu Feb 26 22:56:40 2004  Matthias Clasen  <>

	* gtk/gtkwidget.c: Replace gtk_widget_get_mnemonic_widgets() 
	by list_mnemonic_widgets() in doc comments as well.

Thu Feb 26 16:36:38 2004  Owen Taylor  <>

	Fixes from Torsten Schoenfeld.

	* gtk/gtkwidget.c (gtk_widget_add_mnemonic_label): 
	Fix name in doc comment.

	* gtk/gtkwidget.h: gtk_widget_list_mnemonic_labels(),
	not get_mnemonic_labels.

Thu Feb 26 22:20:44 2004  Matthias Clasen  <>

	* gtk/gtkcomboboxentry.h:
	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new_text): New
	convenience API to construct simple text combos, implemented by
	Damon Chaplin.

	* tests/testcombo.c: Use gtk_combo_box_entry_new_text.

Thu Feb 26 22:19:29 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_new_text): Improve the docs.

Thu Feb 26 15:43:43 2004  Owen Taylor  <>

	* gtk/gtkstyle.[ch]: Export insertion cursor drawing functionality
	in a simplified form as gtk_draw_insertion_cursor().
	(#99031, request from Alex Larsson)

	* gtk/gtktextdisplay.c gtk/gtkentry.c gtk/gtklabel.c:
	Adapt to new gtk_draw_insertion_cursor().

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_class_init)
	gtk/gtkstyle.c (gtk_style_class_init): Add some missed
	Since: 2.4.

	* gtk/gtkiconfactory.c (icon_size_settings_changed)
	  gtk/gtkicontheme.c (do_theme_change)
	  gtk/gtkrc.c (_gtk_rc_context_get_default_font_name)
	* gtk/gtksettings.c (gtk_settings_notify):
	_gtk_rc_reset_styles => gtk_rc_reset_styles.

Thu Feb 26 21:52:58 2004  Matthias Clasen  <>

	Fixes for #127804 and #134722, Damon Chaplin:
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end): 
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_start): 
	Ref and sink the cell renderers here.
	* gtk/gtkcombobox.c (gtk_combo_box_finalize): Unref the cell
	renderers here, and free attributes and func_data. 

Thu Feb 26 21:41:38 2004  Matthias Clasen  <>

	* gtk/gtkrc.c (gtk_rc_reset_styles): Mark as 2.4 API addition.

Thu Feb 26 14:47:22 2004  Dom Lachowicz <>

	* gtk/gtk.def: Export gtk_rc_reset_styles()

Thu Feb 26 14:47:22 2004  Owen Taylor  <>

	* gtk/gtkrc.[ch]: Export gtk_rc_reset_styles(). 
	(Request from Dom Lachowicz, #123769)

Wed Feb 25 19:11:31 2004  Owen Taylor  <>

	* gtk/gtkradiobutton.[ch] gtk/gtkradiomenuitem.[ch]: Add a
	::group-changed signal emitted when the radio button/menu item 
	is moved from one group of radio buttons to another. 
	(#79563, based partially on a patch from Padraig O'Briain)

Thu Feb 26 13:23:47 2004  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (set_text_property): Use the right
	free() function. (#135511, George Bronnikov)

2004-02-26  Federico Mena Quintero  <>

	* Added a comment to inform translators that they
	must add .po files to both po/ and po-properties/ when they add
	new languages to ALL_LINGUAS.

Wed Feb 25 15:36:50 2004  Owen Taylor  <>

	* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text_for_display):
	Call g_convert(), not g_convert() with fallback, since Emacs is
	happier if we reject the COMPOUND_TEXT request and it can
	then ask for UTF-8. (#114527)

	* gtk/gtkselection.c (gtk_selection_data_set_text): When
	TEXT is requested, if COMPOUND_TEXT fails, fall back to STRING.

Wed Feb 25 22:35:00 2004  Tomasz Kłoczko <>

	* After changes in G_DEFINE_TYPE minimal required glib
	vesion for build gtk+ is now 2.3.3.

Wed Feb 25 16:00:40 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (update_appearance): move the
	expander code.

2004-02-25  Danilo Šegan  <>

	* (ALL_LINGUAS): po-properties/sr@ije.po added, so
	adding back sr@ije.

2004-02-25  Federico Mena Quintero  <>

	* (ALL_LINGUAS): Remove sr@ije until po-properties/
	is fixed for it.

Wed Feb 25 12:44:49 2004  Owen Taylor  <>

	* gtk/gtkstyle.[ch]: Make realize and unrealize signals. (#73310)

Wed Feb 25 12:21:32 2004  Owen Taylor  <>

	* gtk/gtkwidget.[ch] gtk/gtklabel.c: Patch from
	Padraig O'Briain to add gtk_widget_add/remove_mnemonic_label,
	gtk_widget_get_mnemonic_labels(). (#103456)

2004-02-25  Danilo Šegan  <>

	* Added sr@ije to ALL_LINGUAS.

Wed Feb 25 09:46:34 2004  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_finalize): Free 
	style->icon_factories (#130128)

Wed Feb 25 03:52:58 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c: use gtk_widget_push/pop_composite_child around
	internal buttons.

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	rename some widgets to make it clear where they are packed.
	(update_appearance): New function to handle all the 'logic' of
	layout in one place.  We aren't trying to keep all our properties
	in sync.
	(gtk_file_chooser_default_set_property): use update_appearance()

2004-02-24  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_model_create): Renamed
	from create_shortcuts_model().
	(struct _GtkFileChooserDefault): Renamed the shortcuts_tree field
	to shortcuts_list.
	(shortcuts_list_create): Renamed from shortcuts_tree_create().
	(create_file_list): Enable the tree view as a model drag source.
	(create_folder_tree): Likewise.

	* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_get_type):
	Register the drag source interface.
	(drag_source_iface_init): New function.
	(drag_source_row_draggable): New function.
	(drag_source_drag_data_get): New function.

Tue Feb 24 19:12:07 2004  Owen Taylor  <>

	* === Released 2.3.4 ===

	* Bump version to 2.3.4, fix broken
	gtk_binary_age value by copying the GLib logic
	to automatically set it to the right values.

Wed Feb 25 00:13:24 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_row_changed): 
	* gtk/gtkcombobox.c (gtk_combo_box_list_row_changed): 
	Don't resize priv->cell_view if it is NULL.  (#127804, 
	Damon Chaplin)
Wed Feb 25 00:06:50 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Add a comment about the different 
	modi of this widget. Get rid of priv->hbox, and some other
	cleanups. Make sure that gtk_combo_box_unset_model() is 
	always called before setting up a different mode. 

Tue Feb 24 17:51:49 2004  Owen Taylor  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Convert
	underscores in keyval names to spaces. (#131480)

Tue Feb 24 17:35:59 2004  Owen Taylor  <>

	* m4macros/gtk-2.0.m4: Add some quotes around ***. (#130073,
	Uwe Zeisberger)

Tue Feb 24 14:45:03 2004  Owen Taylor  <>

	* === Released 2.3.3 ===

	* Version 2.3.3, interface age 0.

	* NEWS: Finish updates for 2.3.3.

2004-02-24  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (save_widgets_create): Use a plain
	GtkEntry for the filename, not a GtkFileChooserEntry.
	(update_chooser_entry): Use gtk_entry_set_text() rather than
	(gtk_file_chooser_default_set_current_name): Likewise.
	(gtk_file_chooser_default_set_current_folder): Don't set the base
	folder of the entry, and don't call update_chooser_entry().
	(gtk_file_chooser_default_get_paths): Use the plain entry.
	(save_widgets_create): Store the "Save in Folder" label in the
	impl structure.
	(expander_activate_cb): Set the sensitivity of the label and
	(save_widgets_create): Connect to "notify::expanded" rather than
	"activate" on the expander.
	(expander_changed_cb): Renamed from expander_activate_cb().  Flip
	the conditions again...

Tue Feb 24 14:43:07 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort
	column as different if there are 3 or more visible columns.

2004-02-24  Anders Carlsson  <>

	* gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator):
	Fix compilation (#135278, Padraig O'Briain).
2004-02-24  Anders Carlsson  <>

	* gtk/gtkfilechooserdefault.c: (shortcuts_append_desktop):
	Translate the desktop label.
	(shortcuts_get_index), (shortcuts_add_bookmarks),
	(shortcuts_insert_separator), (create_shortcuts_model):
	Don't show the bookmark separator if there are no bookmarks.
Tue Feb 24 01:41:30 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (location_popup_handler): Make the
	dialog look like the nautilus dialog.
	(expander_activate_cb): get the order correct.

2004-02-23  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (list_selection_changed): Call
	(shortcut_exists): New helper function; moved the testing code
	over from bookmarks_check_add_sensitivity().
	(bookmarks_check_add_sensitivity): Check the contents of the
	selection in the file/folder list.  Use shortcut_exists().
	(shortcuts_add_bookmark_from_path): Don't insert the bookmark if
	the path is already in the shortcuts list.
	(add_bookmark_button_clicked_cb): Add the bookmarks from the list
	selection or from the current folder, as appropriate.

Mon Feb 23 21:09:06 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_pane_create): Add
	mnemonics.  Sorry translators.

Tue Feb 24 02:24:58 2004  Matthias Clasen  <>

	* NEWS: Additions. This should be complete for the main ChangeLog
	now, still need to sift through gdk-pixbuf, docs, and translations.

Mon Feb 23 19:57:45 2004  Jonathan Blandford  <>

	* gtk/gtkcellrendererseptext.c (gtk_cell_renderer_sep_get_size):
	Add a get_size implementation so that we are no longer the same
	height as text.

2004-02-24  Anders Carlsson  <>

	* gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
	(shortcuts_remove_rows), (shortcuts_append_bookmarks),
	(create_shortcuts_model), (shortcuts_tree_create),
	Improve bookmark list rendering by controlling the visibility
	of the pixbuf cell so that it will be invisible for the separator
	row, also use a list store instead of a tree store for the model
	so we won't get unnecessary space for an expander.
Tue Feb 24 01:08:27 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Add a destroy implementation in order to
	set priv->cell_view to NULL before finalize stumbles over the 
	dangling pointer. This big array of pointers into the widget 
	tree in GtkComboBoxPrivate is really fragile and should be
	cleaned up.

Mon Feb 23 17:52:43 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (main_paned_create): use a size
	group when allocating space for the buttons at the bottom just in
	case.  Also, move the filter to below the file list.

Mon Feb 23 16:52:12 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_class_init): Seth was confused by
	keybindings.  They should be Alt, not Ctl.  Also, A-Home should go
	home, not up.

Mon Feb 23 15:23:23 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Display the root a bit
	more cleanly.

	* gtk/gtkpathbar.h (struct _GtkPathBarClass): fix the signal.

2004-02-23  Federico Mena Quintero  <>

	Rework the user interface of the file chooser, as per 
	Seth Nickell's design.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_class_init): Add binding signals and bindings:
		"location-popup" - C-l
		"up-folder"      - C-Up
		"home-folder"    - C-Home
	(up_folder_handler): New function; moved the code from up_button_clicked().
	(up_button_clicked_cb): Call up_folder_handler().
	(home_folder_handler): New function.
	(location_popup_handler): New function.
	(struct _GtkFileChooserDefault): Add an hpaned field.
	(gtk_file_chooser_default_set_current_name): Check that we are in
	Save mode.
	(save_widgets_create): New function, create the widgets specific
	to Save mode.
	(main_paned_create): New function, create the hpaned's widgets here.
	(gtk_file_chooser_default_constructor): Create the open and save
	widgets, and show only one set.
	(gtk_file_chooser_default_set_property): Show/hide the save widgets.
	(gtk_file_chooser_default_get_paths): Only pay attention to the
	entry in Save mode.
	(update_chooser_entry): Update the entry only in Save mode.
	(entry_activate): Removed.

Mon Feb 23 11:20:34 2004  Owen Taylor  <>

	* Remove the check for fontconfig 
	entirely; it's not needed, since PangoXft implies that sufficiently
	new fontconfig is present.

Mon Feb 23 02:26:53 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.c (gtk_path_bar_finalize):
	for (i = 0; i < 10; i++)
	  g_print ("I will compile before committing.\n");

Mon Feb 23 02:08:42 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (file_pane_create): Use the
	GtkPathBar by default now.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path): Correctly set the
	current path from the path.
	(gtk_path_bar_class_init): new signal
	(button_clicked_cb): emit the signal when we're selected.
	(gtk_path_bar_clear_buttons): Fix a crasher when we weren't
	clearing thr first_scrolled_button.

Mon Feb 23 02:26:15 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): Fix the 
	allocation for the toggle button so that it actually shows up 
	in LTR list mode.

	* gtk/gtkcombobox.c (gtk_combo_box_set_column_span_column): 
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_span_column): 
	* gtk/gtkcombobox.c (gtk_combo_box_set_wrap_width): Add
	notification, and avoid excessive relayouting. 

Mon Feb 23 00:38:21 2004  Matthias Clasen  <>

	Fix bug 134982, reported by Morten Welinder:
	* gtk/gtkpathbar.c (gtk_path_bar_destroy): 
	* gtk/gtktooltips.c (gtk_tooltips_destroy): 
	* gtk/gtkinvisible.c (gtk_invisible_destroy): Chain up to the 
	parent's ::destroy handler.
	* gdk/gdkdisplay.c (gdk_display_dispose): Chain up to the 
	parent's ::dispose handler.

Sat Feb 21 19:09:55 2004  Manish Singh  <>

	* gtk/gtksettings.c (gtk_default_substitute): Guard the FC_HINT_STYLE
	stuff with an #ifdef, so we still build with most fontconfig versions.

Sun Feb 22 03:03:29 2004  Matthias Clasen  <>

	* gtk/gtkaction.c: (gtk_action_finalize):
	* gtk/gtkclipboard.c: (gtk_clipboard_finalize):
	* gtk/gtkentrycompletion.c: (gtk_entry_completion_class_init),
	* gtk/gtkfilechooserwidget.c: (gtk_file_chooser_widget_finalize):
	* gtk/gtkfilesystemmodel.c: (gtk_file_system_model_class_init),
	* gtk/gtkicontheme.c: (gtk_icon_theme_class_init),
	* gtk/gtktextchild.c: (gtk_text_child_anchor_finalize):
	* gtk/gtkuimanager.c: (gtk_ui_manager_class_init),
	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_finalize):
	Add chains to the parent's ::finalize() handler  (#134901, Morten Welinder,
	patch by Jan Arne Petersen)

Sun Feb 22 02:10:34 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_default_completion_func): 
	Don't crash if item is NULL.  (#131542, Dan Damian)

Sun Feb 22 02:04:03 2004  Matthias Clasen  <>

	* Add a check for a new enough fontconfig, since
	we picked up a direct dependency on it with the Xft settings.

Sun Feb 22 00:23:40 2004  Matthias Clasen  <>

	Bug 112647 (Bill Haneman, patch by Narayana Pattipati):
	* gtk/gtkcheckmenuitem.c: Introduce a new style property 
	indicator_size and use it instead of the hardcoded value.
	* gtk/gtkmenu.c (gtk_menu_size_request): Make sure each menu 
	item gets enough vertical space for the label and the indicator.

Sat Feb 21 20:20:11 2004  Soeren Sandmann  <>

	* gtk/gtksettings.c (gtk_settings_class_init): Use P_ instead of
	_ for the new Xft settings.

Sat Feb 21 20:09:53 2004  Soeren Sandmann  <>

	Bug 130790 (Federico Mena Quintero, Owen Taylor)
	* gdk/x11/gdkevents-x11.c: Add Xft XSETTINGS

	* gtk/gtksettings.c: Add new GtkSettings corresponding to the Xft
Sat Feb 21 19:18:26 2004  Soeren Sandmann  <>

	Bug 132502
	* gtk/gtkmenu.c (gtk_menu_motion_notify): Make sure we pop down
	if we enter a non-selectable menu item.

	* gtk/gtkmenu.c (gtk_menu_leave_notify): Don't pop a submenu
	when the user has left the item.

Sat Feb 21 17:57:35 2004  Soeren Sandmann  <>

	* gtk/docs: Commit auto-generated changes

Fri Feb 20 18:20:22 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c: conditional compile for GtkPathBar

	* gtk/gtkpathbar.c (gtk_path_bar_size_allocate): Clean up
	allocation code.  Works fully in RTL languages, I think.
	(gtk_path_bar_scroll_up): Scroll up.
	(gtk_path_bar_scroll_down): Scroll down.

2004-02-20  Christian Rose  <>

	* Added "en_CA" to ALL_LINGUAS.

2004-02-20  Michael Meeks  <>

	* gtk/gtktoolitem.c (gtk_tool_item_property_notify): impl.
	(gtk_tool_item_class_init): hook it up.
	(gtk_tool_item_set_proxy_menu_item): synchronize sensitivity.

	* gtk/gtktoolbutton.c (gtk_tool_button_property_notify):
	chain to parent, fix strcmp bug.

	* tests/testtoolbar.c (main): re-arrange widgets to allow
	more overflowing toolbar goodness.

2004-02-20  Alexander Larsson  <>

	* gtk/gtkfilechooserdefault.c: (shortcuts_append_desktop):
	Desktop directory is not translated.
	There might not be volumes for all paths.
	* gtk/gtkfilechooserwidget.c:
	Use gtk_file_chooser_set_current_folder to set cwd.

Thu Feb 19 19:58:53 2004  Jonathan Blandford  <>

	* gtk/gtkpathbar.[ch]: New widget to handle the path in the
	fileselector implementation.  Not hooked up to anything yet.

	* gtk/ support the path bar.

Fri Feb 20 00:21:38 2004  Matthias Clasen  <>

	* gtk/gtkstyle.c (gtk_default_draw_handle): 
	(gtk_default_draw_box): Make the paned handles gray when the the 
	widget is_focus() but not HAS_FOCUS().  (#122751, Soeren Sandmann)

Thu Feb 19 23:41:06 2004  Matthias Clasen  <>

	Fixes for #82099:
	* gdk/x11/gdkevents-x11.c: Introduce new XSettings "Gtk/ButtonImages"
	and "Gtk/MenuImages" and map them to "gtk-button-images" and 

	* gtk/gtkimagemenuitem.c: Add a boolean setting "gtk-menu-images" and 
	use it to set the visibility of the embedded image.

	* gtk/gtkbutton.c: Add a boolean setting "gtk-button-images" and use
	it to set the visibility of an embedded image.

Thu Feb 19 21:26:10 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
	Give each radio action its own value.  (#134889, Paolo Borelli)

2004-02-19  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_finalize):
	Chain to the parent's ::finalize() handler.  Fixes #134885; caught
	by Jan Arne Petersen.

2004-02-19  Mark McLoughlin  <>

	Make the entire expander widget width prelight as suggested
	by Seth in bug #134263.

	* gtk/gtkexpander.c:
	(gtk_expander_paint_prelight): impl.
	(gtk_expander_paint): use it.
	(gtk_expander_redraw_expander): don't only redraw the
	arrow when prelit.

2004-02-19  Alexander Larsson  <>

	* gtk/gtkfilechooser.c: (gtk_file_chooser_class_init):
	* gtk/gtkfilechooserutils.c:
	* gtk/gtkfilechooserutils.h:
	* gtk/gtkfilechooserwidget.c:
	Remove old file-system property.
	Add new file-system-backend string property
	* gtk/gtkfilechooserdefault.[ch]:
	Handle the file-system-backend property
	* gtk/gtkfilechooserdialog.[ch]:
	Remove old file-system property.
	Add new file-system-backend string property
	Add new function gtk_file_chooser_dialog_new_with_backend
	* gtk/gtkfilesystem.c: 
	* gtk/gtkfilesystem.h:
	Add filesystem module support.	

2004-02-18  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_tree_create): Renamed
	from create_shortcuts_tree().
	(shortcuts_pane_create): New function.
	(button_new): Renamed from toolbar_button_new().
	(shortcuts_pane_create): New function, create the whole shortcuts
	pane here.
	(current_folder_create): Renamed from toolbar_create().  Don't
	create the bookmarks buttons here.
	(file_pane_create): New function.
	(gtk_file_chooser_default_constructor): Use the new helper
	functions, and don't use an extra vbox as GtkFileChooserDefault is
	already a vbox.

Thu Feb 19 01:39:30 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.h: 
	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Add
	default handlers for all signals; for consistency and for the
	benefit of language bindings which still rely on header parsing
	to find the signals.  (#134269, Jeroen Zwartepoorte)
Thu Feb 19 00:45:02 2004  Matthias Clasen  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows): 
	Improve the efficiency here by prepending on the list and reverting
	it after the loop.  (#134435, Christian Biere)

Thu Feb 19 00:32:21 2004  Matthias Clasen  <>

	* gtk/gtkplug.c (_gtk_plug_remove_from_socket): Avoid errors when
	removing the plug from the socket.  (#128546, Christopher Blizzard)

Thu Feb 19 00:09:35 2004  Matthias Clasen  <>

	* gtk/gtkradiomenuitem.h:
	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): 
	(gtk_radio_menu_item_new_with_mnemonic_from_widget): New
	convenience functions analogous to similar API on GtkRadioButton.
	(#51700, Vitaly Tishkov, patch by Soeren Sandmann)

Wed Feb 18 17:53:27 2004  Soeren Sandmann  <>

	* gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the
	case where the background is a solid color.
	(gdk_window_clear_backing_rect): Reset the clip region after use.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Go
	back to using a scratch GC. Pointed out by Owen Taylor
	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Only use a
	scratch GC if the passed-in one is NULL

Wed Feb 18 14:27:08 2004  Soeren Sandmann  <>

	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): Reset clip
	region back to NULL on cached GC (rest of #134728)

Wed Feb 18 13:28:57 2004  Soeren Sandmann  <>

	Fix bug reported by Nam SungHyun (#134728)
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha):
	Don't use a cached GC here since the function needs to modify the
	foreground color.

	* gdk/gdkwindow.c (gdk_window_end_paint): Reset clip region back
	to NULL on the cached GC.

2004-02-17  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdialog.c
	(gtk_file_chooser_dialog_style_set): Use HIG-compliant spacings.
	This sucks a lot.

Wed Feb 18 02:03:47 2004  Matthias Clasen  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Document some
	peculiarities of the ::delete_range signal.  (#132135, Grant Gayed)

Wed Feb 18 01:44:59 2004  Soeren Sandmann  <>

	GC caching, bug #125645 (based on patch by Brian Cameron)
	* gdk/gdkscreen.h (struct _GdkScreen): Add GC cache
	* gdk/gdkscreen.c (gdk_screen_dispose): New function. Unref the
	cached GC's here.
	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): New function to
	get a scratch gc.
	* gdk/gdkinternals.h: Declare the function here

	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Use
	_gdk_drawable_get_scratch_gc() instead of creating a new GC.
	* gdk/x11/gdkgeometry-x11.c (gdk_window_copy_area_scroll): same
	* gdk/x11/gdkdrawable-x11.c (draw_with_images): same
	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): same
	* gdk/gdkwindow.c (gdk_window_end_paint): same
	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): same
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): same
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_pixmap_and_mask_for_colormap): same

Tue Feb 17 23:28:33 2004  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_init): ...and don't forget to initalize
	priv->columns to 1.

Tue Feb 17 23:11:21 2004  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_do_remove): Make sure that we keep
	priv->columns >= 1 even for empty menus, since we divide by it
	somewhere else.  (#133428, Vincent Noel)

Tue Feb 17 23:02:58 2004  Soeren Sandmann  <>

	Fix for #119722, reported by Olexiy Avramchenko, patch by Owen

	* gdk/x11/gdkprivate-x11.h (struct _GdkGCX11): Add a depth field

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Keep track of the GC's

	* gdk/x11/gdkgc-x11.c (_gdk_gc_x11_get_fg_xft_color): First query
	the colormap, if no colormap, special case depth 1, 

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Use
	_gdk_gc_x11_get_fg_xft_color() to get the foreground color.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_xft_draw):
	Special-case bitmaps without a colormap.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Use inherited
	draw_pixbuf() implementation in the bitmap case.

2004-02-17  Mark McLoughlin  <>

	* modules/input/ only reference input method
	modules we've actually built. Fixes re-build failure with
	stale hangul module lying aroung. Bug #134518.

Mon Feb 16 19:13:21 2004  Owen Taylor  <>

	* gdk/gdkdraw.c: Revert last commit, please don't commit patches
	without approval, this isn't the right way to do it.

2004-02-16  DindinX  <>

	* gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
	segments at a time, since XDrawSegments cannot handle more than this.

	fixes bug #122026.
Mon Feb 16 18:26:39 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
	gtk_tool_item_set_expand(), not gtk_tool_item_set_homogeneous()
	in the CHILD_PROP_EXPAND branch. (#134543, Damon Chaplin)

Mon Feb 16 00:04:46 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_*): 
	Split declaration and assignment of combo_box.
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Remove a 
	pointless cast

Sun Feb 15 22:08:53 2004  Matthias Clasen  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Add 
	deprecation note pointing people to GtkComboBox.

Sun Feb 15 02:49:45 2004  Matthias Clasen  <>

	* gtk/gtktreednd.c: 
	* gtk/gtktreeview.c: Document the tree DND API.

	* gtk/gtktreeview.c (gtk_tree_view_unset_rows_drag_source): 
	Call gtk_drag_source_unset().  
Sun Feb 15 00:49:59 2004  Matthias Clasen  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init): 
	Make stock_size an uint property, to allow custom icon 
	sizes. Also clarify the blurb.  (#130047, Erik Grinaker)

Sat Feb 14 11:05:26 2004  Manish Singh  <>

        * Remove unnecessary STRIP_* definitions, and GNU
        make check.

2004-02-13  Federico Mena Quintero  <>

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_add_bookmark):
	Duh, duh, duh!  Don't bail out if the bookmarks file doesn't exist
	the very first time you try to save one.

2004-02-13  Federico Mena Quintero  <>

	Fix #129020.

	* gtk/gtkfilechooserdialog.c
	(set_default_size): New function, sets a reasonable default size
	for the window.
	(gtk_file_chooser_dialog_realize): New function, call
	(gtk_file_chooser_dialog_style_set): Likewise.
	(gtk_file_chooser_dialog_screen_changed): Likewise.

	* tests/testfilechooser.c (main): Don't set a default size for the

Sat Feb 14 00:05:18 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (bsearch_elt_with_offset): 
	Use do instead of while.  (#134031, Morten Welinder);

Sat Feb 14 00:00:52 2004  Matthias Clasen  <>

	* Suppress xsltproc and xmlcatalog checks
	if enable_man=no.  (#134162, Julio M. Merino Vidal)

Fri Feb 13 23:54:48 2004  Matthias Clasen  <>

	* Remove checks for sgml2html. It was once
	used for building the linuxdoc version of the tutorial.
	Nowadays, we use db2html.  (#134164, Julio M. Merino Vidal)

Fri Feb 13 08:17:43 2004  Owen Taylor  <>

	Fix various compilation problems (#134312, David

	* gtk/gtkscale.c (gtk_scale_get_layout_offsets): Use 
	g_return_if_fail(), not g_return_val_if_fail().

	* gtk/gtkvscale.c (gtk_vscale_get_layout_offsets): 
	* gtk/gtkhscale.c (gtk_hscale_get_layout_offsets): Use 
	g_return_if_reached(), not g_return_val_if_reached().
	* gtk/gtkvscale.c (gtk_vscale_expose): Fix the types
	of some parameters.

	* gtk/gtkhscale.c (gtk_hscale_get_layout_offsets): Remove
	extra 'scale' parameter.

Thu Feb 12 21:58:20 2004  Owen Taylor  <>

        Various reentrancy fixes for widgets being destroyed
	out of focus-out-event. (#128821, Grant Gayed)

	* gtk/gtkwindow.c (_gtk_window_unset_focus_and_default): 
	Ref window and widget over callbacks.

	* gtk/gtkwidget.c (gtk_widget_hide)
	  gtk/gtkwidget.c (gtk_widget_set_child_visible):
	Ref the widget before calling _gtk_window_unset_focus_and_default(),
	since that can call user callbacks.

	* gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows):
	Do nothing if the widget isn't realized.

Fri Feb 13 01:31:44 2004  Matthias Clasen  <>

	* gtk/gtkbutton.c (_gtk_button_paint): Don't draw bevels around
	active, RELIEF_NONE buttons that aren't depressed. This improves
	the appearance of buttons in notebook tabs.  (#109213, reported
	by Benjamin Otte, patch by Rodney Dawes)

Fri Feb 13 01:06:08 2004  Matthias Clasen  <>

	* demos/gtk-demo/main.c (read_line): Protect getc_unlocked() by 
	HAVE_FLOCKFILE in all cases.  (#134205, Julio M. Merino Vidal)

Fri Feb 13 00:54:59 2004  Matthias Clasen  <>

	Fix for #104811, Padraig O'Briain:

	* gtk/gtkscale.h:
	* gtk/gtkscale.c (_gtk_scale_clear_layout): 
	* gtk/gtkscale.c (gtk_scale_get_layout_offsets): 
	* gtk/gtkscale.c (gtk_scale_get_layout): New functions to determine the
	text and its position from a GtkScale, to make it more accessible. 
	* gtk/gtkhscale.c (gtk_hscale_get_layout_offsets):
	* gtk/gtkvscale.c (gtk_vscale_get_layout_offsets): Implementations of the 
	new GtkScale vfunc.

Thu Feb 12 17:59:52 2004  Owen Taylor  <>

	* gtk/gtkicontheme.c (gtk_icon_theme_get_search_path): 
	Remove an extraneous + 1 (#134015, Torsten Schoenfeld)

Thu Feb 12 23:55:08 2004  Matthias Clasen  <>

	* gtk/gtktooltips.h:
	* gtk/gtktooltips.c (gtk_tooltips_get_info_from_tip_window): New 
	function to improve the accessibility of tooltips.  (#114851, 
	Padraig O'Briain)

Thu Feb 12 23:16:04 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_popup): 
	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Make these public and
	add docs.  (#132847)

Thu Feb 12 11:05:16 2004  Manish Singh  <>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Assign xtype using
	gdk_x11_atom_to_xatom_for_display () when type != GDK_NONE.

	* gtk/gtkselection.c (_gtk_selection_request): Use GDK_NONE in
	gdk_property_get call instead of 0.

	* docs/reference/gdk/tmpl/properties.sgml: Document the above
	as GDK_NONE instead of simply 0.

Thu Feb 12 15:46:26 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Fix up item_area
	correctly in RTL mode. (#133984, patch from Semion Chichelnitsky).

Thu Feb 12 02:22:02 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): 
	Correct the docs.

Thu Feb 12 01:17:01 2004  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_enable_model_drag_source): Call
	gtk_drag_source_set(), so that things like gtk_drag_set_icon_*() work
	for automatic DND.  (#133485, Tommi Komulainen)

Thu Feb 12 00:37:00 2004  Matthias Clasen  <>

	* gdk/x11/gdkproperty-x11.c (gdk_property_change): Fix misleading
	debug output.

2004-02-11  Federico Mena Quintero  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_map): New ::map()
	handler.  If no widget has the focus, try to give it to the
	default widget.  If there is no default widget, give it to the
	first button.  Fixes the cause for which #59707 was reopened.

2004-02-11  Federico Mena Quintero  <>

	Fixes #134051.

	* gtk/gtkicontheme.c (struct _GtkIconInfo): Remove the ref_count field.
	(icon_info_new): Don't initialize the ref_count field.

2004-02-11  Federico Mena Quintero  <>

	* gtk/gtkicontheme.c (gtk_icon_theme_prepend_search_path): Shift
	the array correctly.  Fixes #134055, patch by Tosten Schoenfeld

Wed Feb 11 02:23:39 2004  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_real_set_focus_child): Handle
	focus [hv]adjustment correctly when the focus is located deeper
	down in the hierarchy.  (#133489)

Wed Feb 11 02:06:38 2004  Matthias Clasen  <>

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Remove 
	arbitrary low upper limits on the xpad, ypad, width and height
	properties.  (#129696, John Ellis)

Wed Feb 11 01:24:20 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear_attributes): 
	Ugh. Don't try to free ints, even if they're stored in pointers.
	(#133997, Morten Welinder)

2004-02-10  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
	Free the filters.  Fixes #133547, patch by Morten Welinder

Tue Feb 10 12:02:14 2004  Owen Taylor  <>

	* gdk/x11/xsettings-client.c (read_settings): Avoid
	triggering an X error when the client->manager_window
	is None...makes logs look cleaner.

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Handle
	GDK_NONE to mean AnyPropertyType as documented. (Reported 
	by Yu Shao)

	* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window,
	gdk_x11_screen_get_window_manager_name): Fix error trap
	we've been leaking since 2002... (#129538)

2004-02-10  Federico Mena Quintero  <>

	Fixes the entry-related part of #133852.

	* gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't change
	the file part of the entry if the selected item is a folder.

2004-02-10  Federico Mena Quintero  <>

	Fixes #133995, patch by Morten Welinder <>.

	* tests/prop-editor.c (create_prop_editor): Free the title.
	(object_changed): Free the children list.

Tue Feb 10 01:58:55 2004  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_set_focus_hadjustment): 
	* gtk/gtkcontainer.c (gtk_container_set_focus_vadjustment): Document 
	these functions.

2004-02-09  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (set_list_model): Request
	GTK_FILE_INFO_ALL from the file system model, so that arbitrary
	filtering will work.  Perhaps we should have a way of aggregating
	info types to the model as filters get installed.

Mon Feb  9 22:22:19 2004  Matthias Clasen  <>

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear_attributes): 
	Ugh. Don't try to free ints, even if they're stored in pointers.

2004-02-09  Federico Mena Quintero  <>

	Fix #132256.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_paths): Read the contents of the
	filename entry in both OPEN and SAVE mode.  In multiple-selection
	mode, add this to the selection from the file/folder list.
	(struct get_paths_closure): Add a path_from_entry field.
	(get_paths_foreach): Only add the iterated path if it is not the
	same as the path from the entry.

2004-02-09  Federico Mena Quintero  <>

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): If
	the folder is already open, add the requested info types to it.

Sun Feb  8 01:28:02 2004  Manish Singh  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add appropriate
	type casts for the gtk_window_set_screen() call.

Sun Feb  8 01:44:06 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Make popups 
	come up on the same screen as the combo box.  (#133544, 
	Morten Welinder)

Fri Feb  6 23:40:24 2004  Jonathan Blandford  <>

	* gtk/gtkfilechooserdefault.c (create_file_list): clean up the
	packing of the file selector.

Sat Feb  7 01:21:09 2004  Matthias Clasen  <>

	* gtk/gtktreemodel.c (gtk_tree_model_base_init): Don't use function 
	calls in array initializers, as some compilers seem to hate this.
	(#133216, Jonas Jonsson)

Sat Feb  7 00:06:44 2004  Matthias Clasen  <>

	* gtk/gtkaccelmap.[hc]: Add change notification for GtkAccelMap,
	by on-demand instantiating a singleton object with a "changed" 

	* gtk/gtkmarshalers.list (VOID:STRING,UINT,FLAGS): Add marshaller
	for GtkAccelMap::changed.

Fri Feb  6 23:08:29 2004  Matthias Clasen  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_check): 
	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_clear_attributes): 
	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear_attributes): 
	Actually free the lists. Pointed out by Morten Welinder.
Fri Feb  6 22:38:54 2004  Matthias Clasen  <>

	* gtk/gtkcombo.c (gtk_combo_entry_key_press): Handle character 
	positions in UTF-8 strings correctly.  (#133315, Theppitak 

2004-02-06  Morten Welinder  <>

	* gtk/gtktoolbar.c (show_menu): Cleanup using
	gtk_menu_attach_to_widget.  Also fixes leak, see #133411.

2004-02-06  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free the
	list.  Fixes #133546.

2004-02-06  Federico Mena Quintero  <>

	Fix #132327.

	* gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add a
	folder_hash field to keep a list of live folder objects.
	(gtk_file_system_unix_init): Create the folder_hash.
	(gtk_file_system_unix_finalize): Destroy the folder_hash.
	(gtk_file_system_unix_get_folder): Ref and return an existing
	folder if we have it around, otherwise return a new folder object.
	(struct _GtkFileFolderUnix): Add a field for the parent file system.
	(gtk_file_folder_unix_finalize): Remove the folder from the file
	system's hash table.
	(gtk_file_system_unix_create_folder):  Emit "files-added" on the
	newly-created folder's parent.  Fixes #132327.

Fri Feb  6 00:51:57 2004  Matthias Clasen  <>

	* gtk/gtkstock.c (builtin_items): Change the labels of the 
	ZOOM_100 and ZOOM_FIT stock items to "_Normal Size" and
	"Best _Fit", to be HIG compliant.  (#124080, Mariano 

Fri Feb  6 00:45:16 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_finalize): Add a finalize 
	function to plug a few memory leaks.  (#133544, Morten Welinder)

Fri Feb  6 00:15:38 2004  Matthias Clasen  <>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_mnemonic_activate): 
	Support mnemonic_activate here as well.
	* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Focus
	the button, not the tree_view.

Thu Feb  5 23:48:19 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_mnemonic_activate): Add this
	function, to make mnemonic_activate work for combo boxes.
	(#133443, Paolo Borelli)

Thu Feb  5 22:05:52 2004  Matthias Clasen  <>

	* gtk/gtkfilesystemunix.c (bookmark_list_read): Initialize result
	to FALSE.  (#133539, Morten Welinder)

Thu Feb  5 21:36:43 2004  Matthias Clasen  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): Fix the logic
	of the depth one check.  (#133488, Christian Persch)

Thu Feb  5 01:50:19 2004  Matthias Clasen  <>

	* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_paint): Fix
	the drawing of tearoff menu items which don't come first in their
	menu.  (#33311)

Thu Feb  5 00:59:08 2004  Matthias Clasen  <>

	* gtk/gtkcombo.c (gtk_combo_entry_key_press): Use 
	g_completion_complete_utf8(). (#133313, Theppitak Karoonboonyanan)

2004-02-04  Federico Mena Quintero  <>

	Fix #59707.

	* gtk/gtklabel.c (gtk_label_focus): Removed, so we don't ignore
	the focus chain.
	(gtk_label_button_press): Fix prototype.
	(gtk_label_button_release): Likewise.
	(gtk_label_motion): Likewise.

	* tests/testgtk.c (create_message_dialog): For the dialog with

2004-02-04  Morten Welinder  <>

	* gtk/gtktoolbar.c (show_menu): Show on the right screen.  (Fixes
	bug 133411, apart from the leak.)

Tue Feb  3 13:39:27 2004  Manish Singh  <>

	* gtk/gtkadjustment.c (gtk_adjustment_new): pass value in last
	in g_object_new, since it depends on lower and upper being set.

2004-02-03  Federico Mena Quintero  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): Make the
	window not resizable.  Fixes #114032.

2004-02-03  Federico Mena Quintero  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_class_init): Add
	documentation for the use_separator style property.

2004-02-03  Federico Mena Quintero  <>

	Fix #68938.

	* gtk/gtkdialog.c (GtkDialogPrivate): New private structure for
	GtkDialog; right now it only contains an ignore_separator field.
	(gtk_dialog_class_init): Register the private structure.
	(gtk_dialog_init): Initialize the priv->ignore_separator field.
	(_gtk_dialog_set_ignore_separator): New private function.
	(gtk_dialog_set_has_separator): Ignore the setting if appropriate.

	* gtk/gtkmessagedialog.c (gtk_message_dialog_class_init): Add a
	use_separator style property.
	(gtk_message_dialog_style_set): Change the dialog's separator
	based on the style property.
	(gtk_message_dialog_init): Set the dialog box to ignore the
	separator setting.

Tue Feb  3 02:35:09 2004  Matthias Clasen  <>

	* gtk/ Build filesystemwin32.c if OS_WIN32 and
	also dist gtkfilesystemwin32.[hc].

Tue Feb  3 02:04:44 2004  Matthias Clasen  <>

	* gtk/gtklabel.c (gtk_label_ensure_layout): Right-justify labels
	in rtl mode.  (#129071,

Tue Feb  3 02:01:25 2004  Matthias Clasen  <>

	* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Exchange the
	mode.  (#107528)

Tue Feb  3 01:38:06 2004  Matthias Clasen  <>

	Clip narrow columns in rtl-oriented tree views (#128089,
	* gtk/gtkstyle.c (gtk_default_draw_option): 
	* gtk/gtkstyle.c (gtk_default_draw_check): Clip to the 
	given area.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): 
	Use the right clip area when calling gtk_cell_renderer_render().
	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_draw_focus): 
	Use the right clip area when calling gtk_paint_focus().
	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): 
	Use the right clip area when calling gtk_paint_toggle() or
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): 
	Clip to the expose_area when drawing the background rectangle.
Tue Feb  3 00:14:36 2004  Soeren Sandmann  <>

	* gdk/x11/gdkgeometry-x11.c (queue_item_free, gdk_window_queue):
	Use a weak reference instead of ref()/unref(). (#60857, reported
	by Joshua N Pritikin)

	* gdk/gdkimage.c (scratch_image_info_for_depth): Formatting fix.

Tue Feb  3 00:15:17 2004  Matthias Clasen  <>

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add 
	init_hadjust_value and prev_width.
	* gtk/gtktreeview.c (gtk_tree_view_init): Initialize 
	them here.
	* gtk/gtktreeview.c (gtk_tree_view_update_size): ...and here.
	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Use them
	here to properly handle the initial position of rtl-oriented
	tree views.  (#127581,

2004-01-20  Federico Mena Quintero  <>

	Fix #130846, reported by R. McFarland <>.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Return TRUE when
	we handle an event in the colums, and FALSE at the end if the
	event is not handled at all.

Mon Feb  2 23:41:48 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_changed): 
	Don't access the level after removing the node, since that may
	kill the level.  (#132615, Crispin Flowerday)

2004-02-02  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Set the cursor
	in all cases. If no grab cursor specified, use the grabbing
	window's cursor. If the grabbing window has no cursor, use the
	default arrow cursor. (#118025)

Mon Feb  2 22:05:36 2004  Matthias Clasen  <>

	* gtk/gtkseparatormenuitem.c (gtk_separator_menu_item_init): The
	latest in menu separation technology.

Mon Feb  2 19:04:17 2004  Soeren Sandmann  <>

	* gdk/x11/gdkwindow-x11.c: Assume gravity works. (Anything else
	we have to take our chances with).
	(Bug 97510)

Mon Feb  2 18:45:28 2004  Soeren Sandmann  <>

	Fix bug 110224.

	* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
	Remove unused variable 'result'

	* gdk/x11/xsettings-client.[ch]: Add new set_grab/ungrab_func() functions.

	* gdk/x11/gdkevents-x11.c (_gdk_x11_events_init_screen): Use them

Mon Feb  2 14:32:32 2004  Pablo Saratxaga  <>

	* po/uz*.po: changed default for Uzbek; now just "uz"
	is in cyrillic and "uz@Latn" for latin; "uz@Cyrl" has been removed

Sun Feb  1 16:34:07 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Only start
	sliding when using the new API.

Sun Feb  1 16:03:39 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Make sure
	item_area is positioned correctly. Fix #133070, reported by Jeroen

Sat Jan 31 23:13:43 2004  Matthias Clasen  <>

	* gtk/gtktextchild.c (gtk_text_child_anchor_finalize): Don't
	crash when finalizing an unused GtkTextChildAnchor.  (#132260,

Sat Jan 31 22:41:57 2004  Matthias Clasen  <>

	* gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Correct
	the documentation for new_order.  (#124790, Tim-Philipp Müller)

Sat Jan 31 22:38:07 2004  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width): 
	Reset use_resized_width when setting fixed_width.  (#108612, 
	Felipe Heidrich) 

Sat Jan 31 16:27:44 2004  Matthias Clasen  <>

	* gtk/gtkmain.c (gtk_key_snooper_remove): Don't leak the
	GtkKeySnooperData.  (#132038, R. McFarland)

2004-01-30  Federico Mena Quintero  <>

	Fixes #132975.

	* gtk/gtkfilesystem.c (gtk_file_system_make_path): Return NULL,
	not FALSE.
	(gtk_file_system_volume_render_icon): Likewise.

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):

	* gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Return 0,
	not FALSE.

	* gtk/gtktoolbar.c (gtk_toolbar_get_drop_index): Return -1, not

	* gtk/gtktextiter.c (gtk_text_iter_get_chars_in_line): Return 0,
	not FALSE.
	(gtk_text_iter_get_bytes_in_line): Likewise.

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_default_cursor_size):

	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Return FALSE, not

2004-01-30  Not Zed  <>

	Fixes #132929.

	* gtk/gtktreeview.c (cancel_arrow_animation): remove the timeout
	handler when we clear the timeout id.

2004-01-30  Federico Mena Quintero  <>

	Fix #129872, based on a patch by Jan Arne Petersen

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_list_bookmarks):
	(gtk_file_system_unix_add_bookmark): Implement.
	(gtk_file_system_unix_remove_bookmark): Implement.

2004-01-29  Federico Mena Quintero  <>

	Fixes #132693.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_parent): Don't
	use filename_from_path().  Also, check that the filename is
	(gtk_file_system_unix_get_folder): Likewise.
	(gtk_file_system_unix_create_folder): Likewise.
	(gtk_file_system_unix_make_path): Likewise.
	(gtk_file_system_unix_parse): Likewise.
	(gtk_file_folder_unix_get_info): Likewise.
	(filename_from_path): Removed.

2004-01-30  Federico Mena Quintero  <>

	* gtk/gtkcalendar.c (arrow_action): Remove C++ comment; reported
	by Damien Carbery <>.  Fixes #132956.

Fri Jan 30 11:37:37 2004  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c: Revert changes from
	#113476 and go back to using XftDrawSetClip, because
	XftDrawSetClipRectangles is buggy in XFree86-4.3.

Thu Jan 29 18:08:06 2004  Owen Taylor  <>

	* gtk/gtktextlayout.c (line_display_iter_to_index)
	* gtk/gtktextlayout.c (line_display_index_to_iter): Only
	adjust the preedit position for lines that include the
	preedit string. (#132353, Yao Zhang). How the heck
	did this work as well as it did?!?!

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): 
	Reverse change to change of XNFilterEvents event mask from
	#110493 -- it's documented and in the Xlib code an
	unsigned long. 
	* modules/input/gtkimcontextxim.c (preedit_start_callback): 
	Return -1 rather than void to indicate no length limit.

Fri Jan 30 00:45:46 2004  Matthias Clasen  <>

	* gtk/gtkadjustment.c: Add properties to GtkAdjustment.
	(#64601, Murray Cumming)

Fri Jan 30 00:13:46 2004  Matthias Clasen  <>

	* gtk/gtkcombo.c (gtk_combo_set_popdown_strings): Allow NULL
	for strings to clear the list.  (#105386, Marco Pesenti Gritti)
2004-01-28  Richard Hult  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size):
	Free font_desc.  Fixes #132805.

2004-01-29  Federico Mena Quintero  <>

	* gtk/gtkiconfactory.c (render_icon_name_pixbuf): Free the GError.
	Patch provided by Christian Persch <>
	Fixes #132574.

Thu Jan 29 11:00:18 2004  Owen Taylor  <>

	* gtk/gtkselection.c (gtk_selection_default_handler): 
	nul-terminate the target atoms. (#132656, Christian Persch)

Thu Jan 29 00:59:03 2004  Matthias Clasen  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
	Don't leak path if we bail out early.  (#132505, Christian Persch)

Thu Jan 29 00:48:47 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_toggle_actions_full):
	* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Do
	reference counting on the user_data that is shared between
	multiple signal handlers, to avoid calling the destroy notify
	multiple times.  (#132447, Adam Hooper)

2004-01-28  Hans Breuer  <>

	* gtk/stock-icons/stock_network_(16|24).png : new GTK_STOCK_NETWORK ...
	  gtk/gtkstock.[hc] : ... define ...
	  gtk/gtkiconfactory.c : ... register ...
	  gtk/stock-icons/ gtk/stock-icons/makefile.msc : ... compile ...
	* gtk/gtkfilesystemwin32.c : ... and use. Also adapt to recent 
	IFace changes.

	* gtk/gtk.def : added a bunch of new exported symbols

	* tests/testfilechooser.c (no_backup_files_filter) : don't crash
	on filter_info->display_name being NULL

	* tests/testgtk.c : make testgtk --bench=all work again

Wed Jan 28 21:40:47 2004  Matthias Clasen  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_action_data_func):
	Don't leak string.  (#132482, Christian Persch)

Tue Jan 27 18:45:47 2004  Manish Singh  <>

        * m4macros/gtk-2.0.m4: quote AC_DEFUN macro names so automake
        1.8 won't whine at us.

2004-01-28  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (synthesize_leave_event,
	synthesize_enter_event): Don' generate enter or leave events if
	the pointer is grabbed with owner_events off, and the grab event
	mask doesn't ask for them. (#129242)

	(gdk_event_translate): Ditto for focus change events.

2004-01-27  Federico Mena Quintero  <>

	Fix #132314.

	* gtk/gtkfilesystem.h: Removed the #ifdef-ed out, old icon API.

	* gtk/gtkfilesystem.c: Likewise.

	* gtk/gtkfilesystemunix.c (filename_get_info): Removed the old
	icon-type code.
	(gtk_file_system_unix_render_icon): Moved the icon-rendering code
	from GtkFileInfo to here.
	(gtk_file_system_unix_volume_render_icon): Implement.

2004-01-28  Changwoo Ryu  <>

	* modules/input/imhangul-defs.h: 
	* modules/input/imhangul.c:
	* modules/input/ Remove broken hangul input module.
Tue Jan 27 01:56:46 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: Remove obsolete comment.

	SPACE_LINE_END): Make separators wider and taller, so they are
	easier to pick up when editing the toolbar.

	* gtk/gtktoolbar.c (slide_idle_handler): Add a comment, simplify
	a bit, 

	* gtk/gtktoolbar.c (rect_within): Formatting fix

	* gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
	sliding feel more responsive by only restarting sliding when the
	placeholder actually changes its goal allocation.

Tue Jan 27 02:00:37 2004  Matthias Clasen  <>

	* gtk/gtktreeitem.c (gtk_tree_item_add_pixmaps): Avoid a 
	compiler warning.  (#122725, Kjartan Maraas)
Tue Jan 27 01:46:54 2004  Matthias Clasen  <>

	Make menus work better on Xinerama (#126150):
	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Calculate the 
	monitor_num on the screen of the menu, not of the attach widget.

	* gtk/gtkmenu.c (menu_change_screen): Forget the stored monitor_num. 
	(gtk_menu_window_size_request): Remember the monitor_num.

2004-01-26  Federico Mena Quintero  <>

	Fix #105497; constify uses of GdkColor.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg_color): Constify.
	(gdk_gc_set_rgb_bg_color): Constify.
	(gdk_gc_set_foreground): Constify.

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/linux-fb/gdkcursor-fb.c (gdk_cursor_new_from_pixmap): Constify.

	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_create_from_data): Constify.
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data): Constify.
	* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_create_from_data): Constify.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_background): Constify.
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_background): Constify.
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Constify.

	* gdk/gdkpango.c (gdk_draw_layout_line_with_colors): Constify.
	(gdk_draw_layout_with_colors): Constify.

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): Constify.
	(gdk_pixmap_colormap_create_from_xpm): Constify.
	(gdk_pixmap_create_from_xpm): Constify.
	(gdk_pixmap_colormap_create_from_xpm_d): Constify.
	(gdk_pixmap_create_from_xpm_d): Constify.

	* gtk/gtkcellview.c (gtk_cell_view_set_background_color): Constify.

	* gtk/gtkclist.c (gtk_clist_set_foreground): Constify.
	(gtk_clist_set_background): Constify.

	* gtk/gtkcolorbutton.c (gtk_color_button_new_with_color): Constify.
	(gtk_color_button_set_color): Constify.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_current_color):
	Constify and add a check for color != NULL.
	(gtk_color_selection_get_current_color): Add a check for color != NULL.
	(gtk_color_selection_set_previous_color): Constify and add a check
	for color != NULL.
	(gtk_color_selection_get_previous_color): Add a check for color != NULL.

	* gtk/gtkctree.c (gtk_ctree_node_set_foreground): Constify.
	(gtk_ctree_node_set_background): Constify.

	* gtk/gtktext.c (gtk_text_insert): Constify.
	(insert_text_property): Constify.
	(text_properties_equal): Constify.
	(new_text_property): Constify.

	* gtk/gtkwidget.c (gtk_widget_modify_color_component): Constify.
	(gtk_widget_modify_fg): Constify.
	(gtk_widget_modify_bg): Constify.
	(gtk_widget_modify_text): Constify.
	(gtk_widget_modify_base): Constify.

2004-01-26  Christian Rose  <>

	* Added "mi" to ALL_LINGUAS.

2004-01-25  Tor Lillqvist  <>

	* gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the
	WM_TRANSIENT_FOR property is being deleted, set the owner of the
	window to the root window (i.e., effectively unset it). (#132411)

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c: Declare, define and initialize
	_wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR.

	* acconfig.h: Remove HAVE_WINSOCK_H, not used any longer.

Sun Jan 25 15:14:46 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision
	to map/unmap items on whether they are actually allocated outside
	the toolbar, not on whether that will eventually happen. Improves
	animation in the presence of overflown items.

	* gtk/gtktoolbar.c (gtk_toolbar_begin_sliding): Add a
	queue_resize() to so that the items will get their new goal
	values and the idle handler will not immediately return FALSE.

	* gtk/gtktoolbar.c (slide_idle_handler): simplify the logic and
	make sure that a placeholder becoming invisible doesn't cause a
	return TRUE.

	* gtk/gtktoolbar.c (get_item_size): Don't special case
	placeholders here.

Sat Jan 24 23:17:27 2004  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
	try to pack icon if there actually is one.

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Make sure
	OVERFLOWN items get an allocation even when they are
	unmapped. This ensures they will slide in properly.

	* gtk/gtktoolbar.c (slide_idle_handler): Make sure we return TRUE
	when there are overflown items that need to slide in. Also add
	comments and make formatting more readable.

Sat Jan 24 17:38:48 2004  Soeren Sandmann  <>

	* gtk/gtkradiotoolbutton.c (gtk_radio_tool_button_class_init):
	Add a write-only property ::group to be consistent with
	GtkRadioAction and GtkRadioButton. (#132159, Patch from Olivier

Fri Jan 23 23:46:12 2004  Matthias Clasen  <>

	* gtk/gtkfontbutton.c (gtk_font_button_label_use_font): Don't leak the 
	font description.  (#132168)

2004-01-23  Federico Mena Quintero  <>

	Fix #132247.

	* gtk/gtkfilechooserdefault.c (set_select_multiple): Handle folder
	(set_select_multiple): Optionally notify about changes to the
	select-multiple property.
	(list_selection_changed): Change the condition for the editable row to
	test for save mode; this is more clear than testing for not being
	in multiple selection mode.
	(gtk_file_chooser_default_get_paths): Get impl->action directly
	rather than calling gtk_file_chooser_get_action().
	(entry_activate): Likewise.
	(set_select_multiple): Annotate about #133255.
	(update_chooser_entry): Likewise.
	(check_preview_change): Likewise.
	(tree_selection_changed): Likewise.

Fri Jan 23 14:56:18 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): Don't crash
	when there are no columns, or all columns are hidden, #131402

Fri Jan 23 16:58:28 2004  Soeren Sandmann  <>

	* gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): Changing to 200 was a
	mistake. Change back to 225.

Thu Jan 22 18:46:05 2004  Owen Taylor  <>

	* === Released 2.3.2 ===

Thu Jan 22 18:45:26 2004  Owen Taylor  <>

        * gtk/gtkicontheme.c: Patch from Christian Neumair
	to make warning string more translator friendly.

	* gtk/gtktreemodelfilter.h gtkseparatortoolitem.[ch]
	gtk/gtktoolbar.c: Parameter name fixes to keep gtk-doc

	* Require GLib-2.3.2, version 2.3.2,
	interface age 0, binary age 302.

	* NEWS: Organized, added some names.

Thu Jan 22 16:59:36 2004  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_reorder): Doc fix.

2004-01-22  Federico Mena Quintero  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): Added documentation for

Thu Jan 22 21:45:24 2004  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_remove): Remove the attach 
	info after calling gtk_menu_do_remove(), since that function
	uses the attach info. Doh!

	* gtk/gtkmenu.c (gtk_menu_do_remove): Don't check priv->columns 
	for being 1 directly after setting it to 0.

Thu Jan 22 21:38:52 2004  Soeren Sandmann  <>

	* NEWS: Updates

2004-01-22  Alexander Larsson  <>

	* gdk/x11/gdkwindow-x11.c (WINDOW_IS_TOPLEVEL):
	Fix typo

2004-01-21  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
	Free the path fields.

	* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): Free
	the root_path, reported by <>
	(gtk_file_system_model_finalize): Unref the file system.

	* gtk/gtkfilefilter.c (filter_rule_free): default:
	(gtk_file_filter_finalize): Free the filter->name, reported by
	(gtk_file_filter_finalize): Free the rules list.

Wed Jan 21 18:10:40 2004  Jonathan Blandford  <>

	* gtk/gtkcolorbutton.c (gtk_color_button_set_color):redraw the
	color button when an alpha is set.
	(gtk_color_button_set_alpha): redraw the color button when an
	alpha is set.

Wed Jan 21 23:27:14 2004  Matthias Clasen  <>

	Fix #131869: 
	* gtk/gtkaction.c (_gtk_action_emit_activate): Hold
	a reference to the group while emitting the signals.

	* gtk/gtkactiongroup.c (gtk_action_group_init): Use a 
	destroy notify which does not only unref, but also resets
	the action_group property of the action.

2004-01-20  Federico Mena Quintero  <>

	* NEWS: Added details about GtkFileChooser changes.

2004-01-20  Federico Mena Quintero  <>

	Fix #99425, add accessor functions for GtkPaned's children.

	* gtk/gtkpaned.c (gtk_paned_get_child1): New function.
	(gtk_paned_get_child2): New function.

Tue Jan 20 23:49:52 2004  Matthias Clasen  <>

	* NEWS: Start of 2.3.2 section.

Tue Jan 20 22:11:31 2004  Matthias Clasen  <>

	Fixes for #130370, based on a patch by Michael Meeks:
	* gtk/gtkmenu.c (gtk_menu_do_remove): New auxiliary function to
	adjust cell positions and recalculate row and column counts after
	removing an item.

	* gtk/gtkmenu.c (gtk_menu_remove): Call gtk_menu_do_remove.

	* gtk/gtkmenu.c (gtk_menu_do_insert): Don't leave empty rows when
	appending items.

	* gtk/gtkmenu.c (gtk_menu_attach): Don't call gtk_menu_shell_append,
	to avoid an unintended recursion.

2004-01-19  Federico Mena Quintero  <>

	Fix #131418.

	* gtk/gtkfilechooserdefault.c (set_select_multiple): New helper
	(gtk_file_chooser_default_set_property): Use
	set_select_multiple().  Also, re-set this mode to single if the
	file chooser is set to Save mode.
	(entry_activate): Handle the case where the entry is completely
	empty *and* its current folder does exist.  Also, there is need to
	test for select_multiple here now that we ensure that it won't
	happen during Save mode.

Sun Jan 18 15:25:39 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.[ch]: Add _gtk_toolbar_paint_space_line(),
	_gtk_toolbar_get_default_space_size ();

	* gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose,
	get_space_size): Use them here.

Sun Jan 18 13:16:34 2004  Soeren Sandmann  <>

	* tests/testgtk.c (create_toolbar): Set a small size request and
	make the window resizable, to test mapping/unmapping of buttons.

	* gtk/gtktoolbar.c (gtk_toolbar_remove_content,
	gtk_toolbar_insert_tool_item): remove these functions.

	* gtk/gtktoolbar.c (gtk_toolbar_show_all,
	toolbar_content_show_all, gtk_toolbar_hide_all,
	toolbar_content_hide_all): New functions. 

	Ignore show_all/hide_all for buttons created in compatibility mode.

	* gtk/gtktoolbar.c (internal_insert_element, gtk_toolbar_show_all,
	gtk_toolbar_hide_all): Make sure buttons are ignored by
	gtk_toolbar_show_all() and gtk_toolbar_hide_all().
	* gtk/gtktoolbar.c: s/regular_widget/compatibility/g

	* gtk/gtktoolbar.c (struct _ToolbarContent): Allocate
	GtkToolbarChild inline. Get rid of GtkToolbarChildSpace.

	* gtk/gtktoolbar.c (toolbar_content_expose): Fix bug where widget
	could become NULL.

	* gtk/gtktoolbar.c (gtk_toolbar_add): Append new tool items
	instead of prepending them.

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Use the same
	'elapsed' for all items.

	* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Turn booleans
	into bitfields.

	* gtk/gtktoolbar.c: Many formatting fixes
Sun Jan 18 01:51:12 2004  Matthias Clasen  <>

	* Add the necessary magic to create

Sat Jan 17 23:05:52 2004  Matthias Clasen  <>

	The second part of the fix for #114351 (see also 
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* (SUBDIRS): Add po-properties.

	* (AC_CONFIG_FILES): Add po-properties/ 

	* gdk/gdkintl.h (P_): 
	* gtk/gtkintl.h (P_): Use translation domain gtk20-properties. 

	* gtk/gtkmain.c (gtk_parse_args): Call bindtextdomain and
	bind_textdomain_codeset for gtk20-properties as well.

Sat Jan 17 22:00:07 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: 

	Fix rest of #128678: Implement all the toolbar_content()
	methods for the old API case.

Sat Jan 17 16:53:08 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: 

	Phase 1 of fixing #128678: Only access ToolbarContent through a
	set of new functions:

	toolbar_content_expose, toolbar_content_visible,
	toolbar_content_size_request, toolbar_content_is_homogeneous,
	toolbar_content_is_placeholder, toolbar_content_disappearing,
	toolbar_content_get_state, toolbar_content_child_visible,
	toolbar_content_get_start_allocation, toolbar_content_get_expand,
	toolbar_content_set_child_visible, toolbar_content_size_allocate,
	toolbar_content_set_state, toolbar_content_get_widget,
	toolbar_content_new_tool_item, toolbar_content_destroy,

	Also fix #127092.
Sat Jan 17 12:55:13 2004  Soeren Sandmann  <>

	* gtk/gtktoolitem.c (gtk_tool_item_finalize): don't leak the menu
	item ID.

Sat Jan 17 12:37:46 2004  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_finalize): Don't leak the
	overflow menu.
	* gtk/gtktoolbar.h (struct _GtkToolbar): Make some fields public. 

2004-01-16  Federico Mena Quintero  <>

	* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModel): Added a
	has_editable field.
	(_gtk_file_system_model_add_editable): New function.
	(_gtk_file_system_model_remove_editable): New function.
	(gtk_file_system_model_get_value): Return appropriate values for
	the temporary editable row.
	(_gtk_file_system_model_get_info): Handle the editable row.
	(_gtk_file_system_model_get_path): Likewise.

	* gtk/gtkfilechooserdefault.c (shortcuts_append_bookmarks):
	Removed an unused variable.
	(toolbar_button_new): Optionally show the button.
	(up_button_clicked_cb): Renamed from up_button_cb(), fixed prototype.
	(toolbar_create): Add a "New Folder" button for Save mode.
	(error_building_filename_dialog): New helper function.
	(gtk_file_chooser_default_get_paths): Use error_building_filename_dialog().
	(create_file_list): Connect to the "edited" signal of the text
	cell renderer.  Store the name column and text renderer in the
	impl structure.
	(renderer_edited_cb): New callback.
	(gtk_file_chooser_default_set_property): Show/hide the "New
	folder" button when the save action changes.
	(COMPARE_DIRECTORIES): Allow the info values to be NULL.
	(COMPARE_DIRECTORIES): Duh, use the list_model, not the
	(get_list_file_info): Likewise!
	(list_icon_data_func): Handle the path being NULL.
	(new_folder_button_clicked): New callback.
	(list_name_data_func): If we are on the editable row, set the text
	to "Type name of new folder".
	(list_selection_changed): Handle the editable row.
	(list_mtime_data_func): Likewise.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Return
	(gtk_file_system_unix_create_folder): Test the result of mkdir() correctly.

Fri Jan 16 23:59:01 2004  Matthias Clasen  <>

	The first part of the fix for #114351 (see also 
	gdk-pixbuf/ChangeLog and po/ChangeLog):
	* gtk/gtkintl.h: 
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().
2004-01-16  Federico Mena Quintero  <>

	Fix #130969.

	* gtk/gtkcellrenderer.h (struct _GtkCellRendererClass): Added an
	editing_canceled signal.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Create the
	"editing-canceled" signal.
	(gtk_cell_renderer_editing_canceled): New function.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done):
	Call gtk_cell_renderer_editing_canceled().

2004-01-16  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_property): Do not allow setting
	select_multiple when in Save mode.
	(set_list_model): No need to nullify the list_model and
	(gtk_file_chooser_default_get_paths): Handle folder mode as well.
	(get_paths_foreach): Likewise.

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_filename): Clarify
	documentation about folder mode.
	(gtk_file_chooser_get_uri): Likewise.

2004-01-16  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): New
	get_volume_for_path() method.
	(struct _GtkFileSystemIface): Finally removed the list_roots() and
	get_root_info() methods, and the "roots-changed" signal.

	* gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path): New
	(gtk_file_system_list_roots): Removed.
	(gtk_file_system_get_root_info): Removed.

	* gtk/gtkfilesystemunix.c
	(gtk_file_system_unix_get_volume_for_path): Implement.
	(get_root_volume): New helper function.
	(gtk_file_system_unix_list_volumes): Use get_root_volume().
	(gtk_file_system_unix_list_roots): Removed.
	(gtk_file_system_unix_get_root_info): Removed.

	* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Don't
	accept a NULL root_path.
	(struct _GtkFileSystemModel): Add a field to remember the
	(_gtk_file_system_model_new): Store the root_path in the model
	(find_and_ref_path): Stop going up the hierarchy at the root_path
	of the model.  Also, don't return prematurely when walking up the

	* gtk/gtkfilechooserdefault.c (create_file_list): Sigh, restore
	the rules_hint.
	(struct _GtkFileChooserDefault): Added a current_volume_path field.
	(set_tree_model): New function; create the folder tree model here.
	(create_folder_tree): Don't create the model here.
	(set_list_model): Set the show_hidden flag on the list model.

Fri Jan 16 00:04:43 2004  Matthias Clasen  <>

	* gtk/gtknotebook.h:
	* gtk/gtknotebook.c (gtk_notebook_append_page): 
	* gtk/gtknotebook.c (gtk_notebook_append_page_menu): 
	* gtk/gtknotebook.c (gtk_notebook_prepend_page): 
	* gtk/gtknotebook.c (gtk_notebook_prepend_page_menu): 
	* gtk/gtknotebook.c (gtk_notebook_insert_page): 
	* gtk/gtknotebook.c (gtk_notebook_insert_page_menu): Return the
	index of the newly inserted page.  (#130986, Olexiy Avramchenko) 

Thu Jan 15 23:17:14 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Inserting
	a 'newly-allocated' to hint that the list should be freed after

Wed Jan 14 18:01:52 2004  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): move grab_focus
	to after handling the button presses in the TreeView to avoid
	getting multiple selection_changes()

Wed Jan 14 21:16:20 2004  Matthias Clasen  <>

	* gtk/gtkimcontext.c: Documentation fix.  (#131335, Theppitak 

Wed Jan 14 21:00:49 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): 
	Don't leak name and stock_id.  (#131358, Morten Welinder)

Wed Jan 14 13:07:30 GMT 2004  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Updates to Section 5

Wed Jan 14 02:34:57 2004  Matthias Clasen  <>

	* gtk/gtkradioaction.c: Add a writable group property to align
	with the GtkRadioButton API.  (#129166, Olivier Andrieu) 

Tue Jan 13 14:48:27 GMT 2004  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Update info on using autoconf

Mon Jan 12 23:40:34 2004  Matthias Clasen  <>

	* tests/testmerge.c: Adjust to the new connect_proxy signals.

	* gtk/gtkuimanager.c
	* gtk/gtkactiongroup.c
	* gtk/gtkaction.c: Move the connect_proxy and disconnect_proxy signals
	from GtkAction to GtkActionGroup and proxy it on GtkUIManager. This
	removes the confusion between the disconnect_/connect_proxy signals 
	and the (unrelated) virtual functions of the same name and aligns
	the setup with the pre_/post_activate signals.

2004-01-12  Jody Goldberg <>

	* gtk/gtkaction.c (connect_proxy) : only connect activate for menus
	  with no submenus otherwise it looks like we activate every time a
	  submenu opens.

2004-01-12  Jody Goldberg <>

	* gtk/gtkuimanager.c: Remove accidentially committed debug spew.

Sun Jan 11 01:55:07 2004  Matthias Clasen  <>

	* gtk/gtkaccelmap.c: Remove accidentally committed notification stuff. 
	(gtk_accel_map_unlock_path): Path locking can now be nested, a missing
	entry is silently created during lock_path(), and treated as an error 
	during unlock_path(). These changes have been requested by Tim Janik.

2004-01-10  Jody Goldberg <>

	* gtk/gtkuimanager.c (d) : Add a debug macro to quiet the spew.
	s/merge_signals/ui_manager_signals/ for readability.
	(gtk_ui_manager_class_init) : add pre_activate and post_activate
	(cb_proxy_pre_activate) : new.
	(cb_proxy_post_activate) : new.
	(gtk_ui_manager_insert_action_group) : connect the proxies for
	(gtk_ui_manager_remove_action_group) : disconnect them.

	* gtk/gtkactiongroup.c (gtk_action_group_class_init) : add
	  'sensitive', and 'visible' properties.  Also add pre_activate and
	  post_activate signals to help deal with activations at a higher
	  level (eg GtkUIManager)
	(gtk_action_group_init) : init sensitive and visible
	(gtk_action_group_set_property) : add sensitive and visible
	(gtk_action_group_get_property) : add sensitive and visible
	(gtk_action_group_get_sensitive) : new.
	(gtk_action_group_get_visible) : new.
	(cb_set_action_sensitivity) : new with minor optimization that only
	  signals sensitivity changes if the action could possibly change.
	(cb_set_action_visiblility) : ditto.
	(gtk_action_group_set_sensitive) : new.  walk the actions directly
	  rather than using notify::sensitive because that is simpler, easier
	  to read, and more efficient.
	(gtk_action_group_set_visible) : ditto.
	(gtk_action_group_add_action) : Each action can only be in 1 group,
	  set GtkAction::action_group.
	(gtk_action_group_remove_action) : clear it.
	(gtk_action_group_add_toggle_actions_full) : warning suppression.
	(gtk_action_group_add_radio_actions_full) : warning suppression.
	(_gtk_action_group_emit_pre_activate) : new protected routine for use
	  by GtkAction.
	(_gtk_action_group_emit_post_activate) : ditto.

	* gtk/gtkaction.c (gtk_action_class_init) : add 'action_group' property.
	(gtk_action_init) : initialize it.
	(gtk_action_get_property) : get.
	(gtk_action_set_property) : set it via
	(gtk_action_set_action_group) : new function.
	(gtk_action_sync_sensitivity) : new routine to sync proxy sensitivity
	  with the logical sensitivity (action & group) rather than the simple
	(gtk_action_sync_visible) : use gtk_action_is_visible to handle
	  logical visibility (action & group) rather than the simple
	  action::visible.  Use widget show/hide directly.
	(connect_proxy) : handle the custom sensitivity handler.
	  Make the TOOL_BUTTON signals more general and support TOOL_ITEM
	  directly, with special cases for TOOL_BUTTON.  Still not especially
	  good it might be useful to handle label/use_underline by parmspec
	  lookup.  Those are likely to be implemented by custom types, and are
	  assumed to exist in GtkToolItem.
	(disconnect_proxy) : disconnect the new sensitivity handler.
	(_gtk_action_emit_activate) : add pre/post signals.
	(gtk_action_activate) : use logical sensitivity.
	(gtk_action_is_sensitive) : logical sensitivity.
	(gtk_action_get_sensitive) : actual sensitivity.
	(closure_accel_activate) : use logical sensitivity.

Fri Jan  9 22:23:45 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.c: Introduce a new parser state for 
	accelerator elements to avoid misparsing files containing 
	such elements.  (#131035, Morten Welinder)

Fri Jan  9 11:58:47 2004  Manish Singh  <>

	* gdk-pixbuf/gdk-pixbuf-io.c: #include <unistd.h> for unlink()

Fri Jan  9 15:28:21 GMT 2004  Tony Gale <>

	* docs/faq/gtk-faq.sgml: update GtkEntry filter code example

Fri Jan  9 00:34:57 2004  Matthias Clasen  <>

	* gtk/gtkuimanager.h:
	* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): New function to
	obtain a list of toplevel widgets constructed by the ui manager.

	* gtk/gtkuimanager.h (GtkUIManagerItemType): Change to flags, so that 
	the values can be combined for gtk_ui_manager_get_toplevels().

	* tests/testmerge.c: Add a "Dump toplevels" button to test 

Wed Jan  7 23:20:06 2004  Matthias Clasen  <>

	* demos/gtk-demo/ (demos): Add entry_completion.c
	* demos/gtk-demo/entry_completion.c: New demo for GtkEntryCompletion 
	by Anders Carlsson  (#130464).

Wed Jan  7 23:07:28 2004  Matthias Clasen  <>

	* gtk/gtkmain.h: 
	* gtk/gtkmain.c (gtk_events_pending): Change the return value from 
	gint to gboolean.  (#130718, reported by Johannes Weißl)

Wed Jan  7 23:03:32 2004  Matthias Clasen  <>

	* gtk/gtkactiongroup.h: 
	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): 
	Remove the redundant name and stock_id parameters, adjust all callers.

Wed Jan  7 22:20:20 2004  Matthias Clasen  <>

	* gtk/gtkaction.h: 
	* gtk/gtkaction.c (gtk_action_new):  
	* gtk/gtktoggleaction.h: 
	* gtk/gtktoggleaction.c (gtk_toggle_action_new): 
	* gtk/gtkradioaction.h: 
	* gtk/gtkradioaction.c (gtk_radio_action_new): Add creation 
	functions for actions.

	* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): 
	(gtk_action_group_add_radio_actions_full): and use the
	new functions here.  (#125322, Patch by Jeff Frank)

Wed Jan  7 21:42:49 2004  Matthias Clasen  <>

	* gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of 

2004-01-07  Jan Arne Petersen  <>

	* gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
	(shortcuts_append_home), (shortcuts_append_desktop),
	(shortcuts_append_paths), (shortcuts_add_volumes),
	(shortcuts_append_bookmarks), (create_shortcuts_model),
	(gtk_file_chooser_default_add_shortcut_folder): add REMOVABLE column
	to the shortcuts_model.

	(bookmarks_check_remove_sensitivity): use REMOVABLE column to check if
	bookmarks can be removed. Fixes #129873

Wed Jan  7 02:50:55 2004  Matthias Clasen  <>

	* demos/testpixbuf-save.c: Make s, S, Control-S, p, P, Control-P,
	i, I, Control-I test gdk_pixbuf_save(), gdk_pixbuf_save_to_buffer()
	and gdk_pixbuf_save_to_callback() with jpeg, png and ico formats, 
	respectively. Tests #82203.

2004-01-06  Federico Mena Quintero  <>

	* gtk/gtkfilesel.c (gtk_file_selection_create_dir_confirmed): Use
	0777 as the mode for mkdir() and let the umask do the right
	thing.  Fixes #121819.

	* gtk/gtkfilesystemunix.c (filename_is_root): g_path_skip_root()
	can return NULL; handle this.  Fixes #129565.

2004-01-06  Alexander Winston  <>

	* gtk/gtkfilesel.c: (gtk_file_selection_delete_file): Removed space
	that proceeded the end-of-sentence punctuation. Fixes: #130353.

2004-01-06  Jody Goldberg <>

	* gtk/gtktoolitem.c (gtk_tool_item_set_property) : Call 
	  gtk_tool_item_set_visible_vertical for PROP_VISIBLE_VERTICAL.

2004-01-05  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_append_bookmarks): Oops,
	call shortcuts_add_bookmarks() here.
	(remove_bookmark_button_clicked_cb): Ahem, fetch the selected
	(shortcuts_append_paths): Don't display error dialogs here.
	(create_file_list): Remove the @#$% rules hint.

2004-01-05  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (toolbar_button_new): New helper
	(toolbar_create): Do not use a toolbar widget, just an hbox
	instead.  Add the bookmarks buttons and the current folder label
	(create_filename_entry_and_filter_combo): Create the filter combo
	(filter_create): Don't show the filter combo initially.
	(up_button_cb): Renamed from toolbar_up_cb().
	(create_shortcuts_buttons): Removed.

2004-01-05  Murray Cumming  <>

	* gdk/gdkimage.h: Added <public> documentation to the struct, as
	suggested by Owen Taylor.

2004-01-05  Jody Goldberg <>

	* gtk/gtkiconfactory.c (get_default_icons) : add stock indent, unindent
	  I would have prefered outdent, but compatibility seems more
	* gtk/gtkstock.c (builtin_items) : ditto.
	* gtk/gtkstock.h : ditto.
	* gtk/stock-icons/ : ditto.
	* gtk/stock-icons/stock_text_indent_16.png :
	* gtk/stock-icons/stock_text_indent_24.png :
	* gtk/stock-icons/stock_text_unindent_16.png :
	* gtk/stock-icons/stock_text_unindent_24.png : from gnome-icon-theme

Sun Jan  4 15:29:04 2004  Soeren Sandmann  <>

	* gtk/gtkradiotoolbutton.[ch]
	(gtk_radio_tool_button_new_with_stock_from_widget): Change API so
	group is a GtkRadioButton, not a GtkWidget.

2004-01-04  Hans Breuer  <>

	* gdk/win32/gdkwindow-win32.c : use SWP_NOACTIVATE in 
	gdk_window_set_keep_(above|below) to make DND work again.
	Thanks to Alif Wahid for noticing.

	* gdk/gdk.def : update externals

	* gtk/gtkfilesystemwin32.c : adapt to GtkFileSystemIFace changes

	* gtk/gtk-stock.[hc] gtk/gtkiconfactory.c 
	  gtk/stock-icons/ gtk/stock-icons/makefile.msc :
	Harddisk stock icons for file system implementations. Beside
	FLOPPY and CDROM there is now HARDDISK, probably some 
	GTK_STOCK_NETWORK would be useful, but I could not find one.

Sat Jan  3 11:39:42 2004  Manish Singh  <>

	* gtk/gtkclipboard.c: Update clipboard doc link.
	Patch from Andrew Moise (#130462).

2004-01-01  Jody Goldberg <>

	* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
	(gtk_action_class_init) : here.
	(gtk_action_init) : here.
	(gtk_action_set_property) : here.
	(gtk_action_get_property) : here.
	(connect_proxy) : and here.

2003-12-30  Jody Goldberg <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) :  new
	  utility routine for use in derived GtkActions with the replicated code
	(gtk_action_group_add_actions_full) : here.
	(gtk_action_group_add_toggle_actions_full) : here.
	(gtk_action_group_add_radio_actions_full) : and here.

2004-01-01  Taneem Ahmed  <>

	* Added "bn" to ALL_LINGUAS.

2004-01-01  Taneem Ahmed  <>

	* bn.po: Added Bangla translation by 
	of Ankur group <>.

Fri Jan  2 02:50:11 2004  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_compute_days): 
	* gtk/gtkcalendar.c (gtk_calendar_paint_day_names): 
	* gtk/gtkcalendar.c (gtk_calendar_init): Changes to support 
	week_start values other than 0 and 1, e.g. 6 will let weeks start
	on Saturday.  (#130349, Roozbeh Pournader) 

2003-12-31 13:49 Daniel Rogers <>

	* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
	Fix to allow reasonable pointer behavior in window mode when an
	extended input device reports an incorrect resolution of 0.  Fixes
	bug #123546
2003-12-31  Christian Neumair  <>

	* gdk-pixbuf/gdk-pixdata.c: (gdk_pixbuf_from_pixdata):
	* gtk/gtkfilechooserdefault.c: (list_size_data_func): Use ngettext for
	plurals (#123847).

Wed Dec 31 02:05:39 2003  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): 
	(gtk_action_group_add_radio_actions_full): Pull accelerator key
	from the stock item if stock_id is given, but accelerator 
	not.  (Noticed by Jeff Franks and Jody Goldberg)

	* tests/testmerge.c: Remove the accelerator from the "Open" entry
	to test the above change.
2003-12-29  Federico Mena Quintero  <>

	Make show_all() work for the extra and preview widgets; reported
	by Paolo Maggi.

	* gtk/gtkfilechooserdefault.c (set_preview_widget): show_all() the
	preview widget.
	(set_extra_widget): show_all() the extra widget.

Mon Dec 29 12:22:22 2003  Soeren Sandmann  <>

	* gtk/gtkuimanager.c (do_updates): 
	* gtk/gtktoolbar.c (slide_idle_handler): 
	* gtk/gtkdnd.c (gtk_drag_update_idle): 

	Add GDK_THREADS_ENTER()/GDK_THREADS_LEAVE() pairs around idle
	functions. (#130157, patch from Olexiy Avramchenko).
2003-12-29  Anders Carlsson  <>

	* gtk/gtkradiotoolbutton.c:
	* gtk/gtkradiotoolbutton.h:
	* gtk/gtkseparatortoolitem.c:
	* gtk/gtkseparatortoolitem.h:
	* gtk/gtktoggletoolbutton.c:
	* gtk/gtktoggletoolbutton.h:
	* gtk/gtktoolbar.c:
	* gtk/gtktoolbar.h:
	* gtk/gtktoolbutton.c:
	* gtk/gtktoolbutton.h:
	* gtk/gtktoolitem.c:
	* gtk/gtktoolitem.h:
	Update my e-mail address.
Mon Dec 29 01:36:22 2003  Matthias Clasen  <>

	* gtk/gtkaccelmap.[hc]: (gtk_accel_map_lock_path, 
	gtk_accel_map_unlock_path): Add a way to lock individual accelerator
	paths.  (#73207, reported by Havoc Pennington)

Sat Dec 27 23:17:56 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (slide_idle_handler): use CHILD_VISIBLE
	instead of VISIBLE to determine whether we should stop
	sliding. (#130018, reported by Christian Persch).

Fri Dec 26 23:24:35 2003  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
	Don't use first_action without initializing it if n_entries is 0.

Thu Dec 25 00:26:34 2003  Matthias Clasen  <>

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_default_cursor_size):
	Add the missing _get_ to the name of the non-Xcursor version of
	this function.  (noticed by Torsten Schoenfeld)

Tue Dec 23 22:34:50 2003  Manish Singh  <>

	* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by

2003-12-24  Jody Goldberg <>

	* gtk/gtkactiongroup.h : Add some const to the char * in
	  GtkActionEntry*.  We're reccomending people pass static strings to
	  them, and not freeing them.  This stems to flood of warnings that
	* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
	  temp vars to const to match above.
	(gtk_action_group_add_toggle_actions_full) : ditto.
	(gtk_action_group_add_radio_actions_full) : ditto.

Wed Dec 24 01:12:53 2003  Matthias Clasen  <>

	* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
	gtk_clipboard_request_targets() and 
	gtk_clipboard_wait_for_targets().  (#101774, Dom Lachowicz)

Mon Dec 22 00:40:39 2003  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use 
	gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right.
	* gtk/gtkcalendar.c (draw_arrow_left):
	(draw_arrow_right): Removed. 
	* gtk/gtkcalendar.c (gtk_calendar_realize_arrows): 
	* gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the
	arrow_state to GTK_STATE_INSENSITIVE if the calendar is 
	insensitive.  (#97376)

Sun Dec 21 23:17:01 2003  Matthias Clasen  <>

	* gtk/gtkuimanager.c (update_node): 
	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy): 
	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item): 
	(gtk_combo_box_relayout): Fix memory leaks caused by the
	failure to free the result of gtk_container_get_children().

Sun Dec 21 17:34:22 2003  Soeren Sandmann  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Set the right
	properties when the window becomes a toplevel. When a window that
	was previously a toplevel becomes a toplevel again, restore its
	window type. Also make sure the focus window is removed from the
	XID hash when it is destroyed. (#117579, reported by Morten
	Welinder, patch reviewed by Owen Taylor).

Sun Dec 21 01:54:40 2003  Matthias Clasen  <>

	* gtk/gtkmenushell.h: 
	* gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
	to emit the "cancel" signal on a menu shell.

	* gtk/gtkmenu.c (gtk_menu_key_press): 
	* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
	* gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
	new function instead of directly emitting the 
	signal.  (#81803, Owen Taylor)

Sun Dec 21 00:39:50 2003  Matthias Clasen  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
	Fix the "language_set" blurb.  
Sat Dec 20 22:06:03 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
	all of treeview when resizing (#110074, patch from Soeren Sandmann).

Fri Dec 19 23:36:00 2003  Kristian Rietveld  <>

	Fixes #108458.

	* gtk/gtkcelllayout.[ch]: added a reorder method.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_init),
	(gtk_tree_view_column_cell_layout_reorder): implement reorder.

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_init),
	(gtk_cell_view_cell_layout_reorder): ditto.

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init),
	(gtk_combo_box_cell_layout_reorder): ditto.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_cell_layout_init),
	(gtk_entry_completion_reorder): ditto.

Fri Dec 19 22:18:19 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): use strstr
	instead of strcmp (#117127, suggestion from Soeren Sandmann).

Fri Dec 19 21:52:46 2003  Kristian Rietveld  <>

	* gtk/gtkmenu.c (gtk_menu_do_insert): move item insertion logic
	here from gtk_menu_real_insert(),
	(gtk_menu_real_insert): just call gtk_menu_do_insert(),
	(gtk_menu_reorder_child): run _do_insert after inserting the child
	(unbreaks _reorder_child, reported by Tim Janik).

2003-12-19  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use
	g_date_strftime() for UTF-8 correctness; use Julian dates to
	simplify the function.

Fri Dec 19 01:47:34 2003  Matthias Clasen  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): 
	Test extra_width, not extra_height, when determining whether to
	set extra_width.  (#129647, Jan Arne Petersen)

Fri Dec 19 01:35:34 2003  Matthias Clasen  <>

	Fix the behaviour of insensitive actions, which was broken
	when gtk_action_activate() was changed to pay attention to 
	sensitivity  (#129557, Christian Persch)
	* gtk/gtkaction.h: 
	* gtk/gtkaction.c (_gtk_action_emit_activate): New auxiliary
	function to emit an activate signal without regard to sensitivity.

	* gtk/gtkradioaction.c: 
	* gtk/gtktoggleaction.c: Always use _gtk_action_emit_activate()
	instead of gtk_action_activate().

2003-12-18  Jody Goldberg <>

	* gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon)) : Add a sanity test
	  to ensure that the base hicolor theme is installed.  Silently
	  failing to produce icons that apps assume exist in the theme seems
	  like a bad idea.

Thu Dec 18 19:13:12 2003  Kristian Rietveld  <>

	Fixes #110249, reworked patch from Joshua N Pritikin.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_type),
	(gtk_tree_model_sort_drag_data_delete): implement GtkTreeDragSource.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_type),
	(gtk_tree_model_filter_drag_data_delete): ditto.

Thu Dec 18 18:01:01 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings
	for "*" and "/" (expand/collapse all). (#110195, reported by
	Calum Benson).

Thu Dec 18 17:52:56 2003  Kristian Rietveld  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
	clear the extra_attrs list if we set "text" after "markup".
	(Fixes #121933, Federico Mena Quintero).

2003-12-18  Alexander Larsson  <>

	* gtk/gtkicontheme.c (gtk_icon_info_get_embedded_rect):
	Fix typo that used the wrong x/y values for the x1, y1 point

Thu Dec 18 01:41:50 2003  Kristian Rietveld  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
	(gtk_cell_renderer_text_set_property), (get_layout): added language
	and language_set properties like GtkTextTag has. (#103800, reported
	by Owen Taylor).

Thu Dec 18 01:37:59 2003  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_activate): Correct misleading docs.
	* gtk/gtkbutton.c (gtk_button_class_init): Add docs for the 
	"activate" signal.  (#129358, Ka-Hing Cheung)

Thu Dec 18 01:21:59 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got
	the logical flag backwards in the expand_collapse_cursor_row
	bindings, fixing.
	(gtk_tree_view_real_expand_collapse_cursor_row): invert expand
	flag when !logical and in RTL. (Fixes #107527, reported by
	Noah Levitt).

Thu Dec 18 01:10:16 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only start
	editing when activated by the left mouse button. (#106869,
	patch from Evan Martin).

Thu Dec 18 00:57:18 2003  Kristian Rietveld  <>

	Migrating all cell renderers to use the new instance private data

	* gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
	longer being used.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
	(gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
	(set_cell_bg_color), (gtk_cell_renderer_render): remove old
	GtkCellRendererInfo handling, migrate to instance private data.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
	(gtk_cell_renderer_text_start_editing): moved focus_out_id
	from GtkCellRendererInfo to text renderer private data.

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
	(gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
	migrate to instance private data.

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
	(gtk_cell_renderer_toggle_render): migrate to instance private data.

Thu Dec 18 00:24:32 2003  Kristian Rietveld  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
	(gtk_cell_renderer_text_set_property), (get_layout): add a
	single-paragraph-mode property, use private instance data.
	(Fixes #114943, reported by Morten Welinder).

Thu Dec 18 00:07:01 2003  Kristian Rietveld  <>

	* gtk/gtktreemodel.h (gtk_tree_path_new_root),
	(gtk_tree_model_get_iter_root): now deprecated (#106953, reported
	by Matthias Clasen).

Wed Dec 17 23:50:56 2003  Kristian Rietveld  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
	if we set a new stock_id and there was a previous stock_id, unref
	the pixbuf (since it was used to renderer the previous stock_id
	and stock_id might have been set to NULL now). (Fixes #122966).

2003-12-17  Marco Pesenti Gritti  <>

	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter):

	Check that index is not bigger than level array length
	also when depth is 1. Now get_iter_first correctly return
	FALSE when the model is empty (#129411).

Wed Dec 17 23:31:19 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
	try to strcmp or strlen if we managed to normalize and casefold
	the string correctly. Fixes crashes with non-UTF8 strings.
	(#121617, Patch from Tim-Philipp Müller).

Wed Dec 17 23:20:23 2003  Matthias Clasen  <>

	* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
	* gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkexpander.c, 
	gtk/gtklist.c, gtk/gtknotebook.c, gtk/gtkselection.c, 
	gtk/gtkspinbutton.c: Cast second argument to g_timeout_add() to
	GSourceFunc instead of GtkFunction.  (#129525, Olexiy Avramchenko) 

Wed Dec 17 23:16:45 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): fix compile warning.
	(#122727, patch from Kjartan Maraas).

Wed Dec 17 21:23:01 2003  Kristian Rietveld  <>

	Yay! Fixed height mode! Hooray! (Part 2 of #80868).

	* gtk/gtktreeview.c (gtk_tree_view_class_init),
	(gtk_tree_view_init), (gtk_tree_view_set_property),
	(gtk_tree_view_get_property), (gtk_tree_view_set_model): add a
	fixed_height_mode property,
	(intialize_fixed_height_mode), (do_validate_rows),
	(column_sizing_notify), (gtk_tree_view_set_fixed_height_mode),
	(gtk_tree_view_style_set), (gtk_tree_view_row_changed),
	(gtk_tree_view_row_inserted), (gtk_tree_view_remove_column),
	(gtk_tree_view_insert_column): implement fixed height mode,
	(gtk_tree_view_append_column), (gtk_tree_view_insert_column),
	(gtk_tree_view_insert_column_with_data_func): update docs.

	* gtk/gtktreeprivate.h: add two fields to GtkTreePrivate.

2003-12-07  Murray Cumming  <>
	* gtk/gtktreemodel.c:
	(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
	Actually call the default signal handlers instead of calling the
	marshallers themselves in an endless loop. These default signal handler
	callbacks are not actually set so this is only noticed by gtkmm at
	the moment. Bug 123923.

2003-12-16  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
	"volumes-changed" signal.  Added the following methods:

	* gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the
	"volumes-changed" signal.
	(gtk_file_system_list_volumes): New function.
	(gtk_file_system_volume_free): New function.
	(gtk_file_system_volume_get_base_path): New function.
	(gtk_file_system_volume_get_is_mounted): New function.
	(gtk_file_system_volume_mount): New function.
	(gtk_file_system_volume_get_display_name): New function.
	(gtk_file_system_volume_render_icon): New function.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement.
	(gtk_file_system_unix_volume_get_base_path): Implement.
	(gtk_file_system_unix_volume_get_is_mounted): Implement.
	(gtk_file_system_unix_volume_mount): Implement.
	(gtk_file_system_unix_volume_get_display_name): Implement.
	(gtk_file_system_unix_volume_render_icon): Implement.

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	Added a field for the "volumes-changed" signal connection.
	(gtk_file_chooser_default_set_property): Connect to
	"volumes-changed" on the file system.
	(gtk_file_chooser_default_finalize): Disconnect from

	* gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper
	(shortcuts_get_index): New helper function.
	(shortcuts_insert_path): Can now insert volumes as well as paths.
	(shortcuts_append_paths): Don't take is_file_system_root.
	(shortcuts_add_volumes): New function.
	(shortcuts_append_file_system_roots): Removed.
	(create_shortcuts_model): Use shortcuts_add_volumes().
	(remove_bookmark_button_clicked_cb): Check that the index is
	within range.
	(bookmarks_check_add_sensitivity): Take volumes into account.
	(shortcuts_get_selected_index): New helper function.
	(remove_bookmark_button_clicked_cb): Use
	(bookmarks_check_remove_sensitivity): Likewise.
	(shortcuts_select_func): Likewise.
	(shortcuts_row_activated_cb): Handle volumes as well as normal
	(shortcuts_activate_volume): New function.
	(struct _GtkFileChooserDefault): Removed the bookmarks_set and
	bookmarks_iter fields.
	(shortcuts_append_bookmarks): Use shortcuts_remove_rows().
	(bookmarks_changed_cb): Use shortcuts_add_bookmarks().
	(remove_bookmark_rows): Removed.
	(shortcuts_add_bookmarks): New function; moved most of the code
	over from shortcuts_append_bookmarks().
	(shortcuts_append_bookmarks): Add the separator node here, and
	then call shortcuts_add_bookmarks().

Tue Dec 16 15:01:10 2003  Manish Singh  <>

	* gtk/gtkfilechooserwidget.c: fix preprocessor conditional confusion.
	(G_OS_UNIX/G_OS_WIN32 stuff)

Tue Dec 16 01:46:46 2003  Matthias Clasen  <>

	Do not interpret distant clicks as double-clicks  (#116541,
	Bernhard Walle):
	* gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
	double_click_distance, button_x and button_y.
	* gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.

	* gdk/gdkdisplay.h: 
	* gdk/gdkevents.c (gdk_display_set_double_click_distance): 
	New function to set the double click distance on a display.

	* gdk/gdkevents.c: Take double click distance into account
	when generating single, double or triple clicks.

	* gtk/gtksettings.c: Add new setting "gtk-double-click-distance".

	* gdk/x11/gdkevents-x11.c: Add the XSetting 
	"Net/DoubleClickDistance" and map it to "gtk-double-click-distance".

2003-12-15  Federico Mena Quintero  <>

	* gtk/gtkdialog.c: Sigh, revert the change.

2003-12-15  Federico Mena Quintero  <>

	* gtk/gtkdialog.c (dialog_has_cancel): Removed.
	(gtk_dialog_close): Don't call dialog_has_cancel().  At least
	allows sane behavior for #101293.

Mon Dec 15 00:56:54 2003  Matthias Clasen  <>

	* gtk/gtkbutton.[hc]: Add new properties, xalign and yalign, with
	getter and setter gtk_button_[sg]et_alignment(), to set the
	alignment of the child.  (#70961, Jody Goldberg)

2003-12-14  Hans Breuer  <>

	* gtk/gtkprivate.h gtk/gtkmain.c : handle GTK_DATADIR
	similar as the other filesystem placement 'constants' (dynamic
	resolving on win32)

	* gtk/gtkfilechooserwidget.c : handle file system to win32
	renaming here as will
	* gtk/gtkfilesystemwin32.c : implement render_icon

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

	* gdk/win32/gdkdisplay-win32.c : make it compile without
	<multimon.h> - i.e. even older sdk

	* gdk/win32/gdkevents-win32.c : match resize_timer_proc
	with TIMERPROC prototype

	* gdk/win32/gdkwindow-win32.c : older msvc does not know
	BITMAPV5HEADER (from win xp) either

	* gtk/gtkimmodule.c : make it compile even if GTK_LOCALEDIR is
	not defined

	* tests/testfilechooser.c : recent GLib crashes on 
	g_print ("%s", NULL) so avoid this

2003-12-14  Tor Lillqvist  <>

	* gdk/win32/gdkselection-win32.c: Calls to OpenClipboard() must be
	followed by calls to CloseClipboard(). Add a missing call to
	CloseClipboard(). Found by Adam Wright, fixes #104944. Use
	API_CALL macro in more places.

2003-12-14  Tor Lillqvist  <>

	Merge from stable:

	* gdk/gdkdisplaymanager.c: Mark default_display static.

	* gdk/win32/gdkdnd-win32.c: Mark current_dest_drag static.

	* gdk/win32/gdkkeys-win32.c: Disable some overly verbose debugging

	* gdk/win32/gdkevents-win32.c: Clean up the debugging output from
	--gdk-debug=events. In general, output just one line of debugging
	output for each Windows message, plus one line for each GDK event
	generated. Indent all lines according to window procedure nesting

	(inner_window_procedure): Rename from real_window_procedure.

	(find_real_window_for_grabbed_mouse_event): Don't get misled when
	the point is in the non-client (decoration) area of the window
	returned by WindowFromPoint(). Return the root window in that

	(build_pointer_event_state): Test also MK_XBUTTON1 and
	MK_XBUTTON2 (buttons 4 and 5).

	(synthesize_enter_event): Track the mouse leaving the window in
	the event being generated, not the one mentioned in the Windows

	(propagate): Test for NULL parent earlier. Improves event
	generation from a grabbed pointer. Part of fix for #107320.

	(handle_stuff_while_moving_or_resizing): New function, to
	dispatch the main loop (once).

	(resize_timer_proc): New function, set to be called by an inerval
	timer during resizes/moves. Calls handle_stuff_while_moving_or_resizing().

	(gdk_event_translate): Drop unused return_exposes parameter.

	Handle WM_XBUTTONDOWN and UP messages (buttons 4 and 5).

	On WM_SYSKEYUP, generate a key release event also for just the Alt

	On WM_MOUSELEAVE, generate a leave event of type
	GDK_NOTIFY_ANCESTOR (and not UNKNOWN) if the mouse left a
	top-level window, and left the app completely.

	On WM_ENTERSIZEMOVE, set a flag, and start an interval timer that
	calls resize_timer_proc() at regular intervals. On
	WM_EXITSIZEMOVE, kill the timer.

	On WM_WINDOWPOSCHANGED, generate a configure event if necessary,
	and dispatch the main loop (by calling
	handle_stuff_while_moving_or_resizing()). Fixes #99540, idea by
	Herman Bloggs.

	* gdk/win32/gdkmain-win32.c (_gdk_win32_message_to_string): Handle
	also wintab messages.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
	Instead of using WS_EX_TOOLWINDOW, implement by setting/unsetting
	the window's owner. Fixes #118093, reported by Maxime Romano.

Tue Dec  8 09:41:00 2003  Tim Evans  <>

	* gdk/win32/gdkwindow-win32.[ch]: Implement
	gdk_window_set_icon_list() for Win32, with support for big and
	small icons and support for alpha-channel icons under Windows
	XP. Replaces the previous implementation of gdk_window_set_icon().
Sun Dec 14 01:28:23 2003  Matthias Clasen  <>

	* gdk/x11/gdkprivate-x11.h: 
	* gdk/x11/gdkx.h: 
	* gdk/x11/gdkevents-x11.c (gdk_x11_register_standard_event_type): 
	Rename from _gdk_x11_register_event_type(), added API docs.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_init): 
	* gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Adjust
	all callers.  (#121471, Bill Haneman)

Sat Dec 13 23:37:50 2003  Matthias Clasen  <>

	* gdk/gdkdraw.c (gdk_draw_pixbuf): Document that the clip mask
	of gc is ignored.  (#101983, Sebastian Rittau)

Sat Dec 13 16:13:27 2003  Kristian Rietveld  <>

	A trick for a faster treeview, step 1. Patch to short circuit
	_build_tree(), inspired by Jonathan (#80868).

	* gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
	flags by default,
	(gtk_tree_view_build_tree): don't even try to recurse when the
	model says that it is a list, remove flag unsetter,
	(gtk_tree_view_set_model): change flag setting logic.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
	propagate whether or not the child model has _IS_LIST set.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):

Sat Dec 13 02:33:17 2003  Matthias Clasen  <>

	* gtk/gtkrange.c (gtk_range_scroll): Undo the last change, 
	since it broke logical keynav. 
	* gtk/gtkrange.c (range_get_scroll_for_grab): Fix stepper
	direction in inverted scrollbars here instead.

Sat Dec 13 00:39:24 2003  Matthias Clasen  <>

	* gtk/gtkviewport.c (viewport_set_hadjustment_values): Implement
	"gravity" for RTL mode in a better way: Keep the distance from 
	the upper end of the page to the upper bound constant. This also 
	fixes problems with the initial position of the viewport in RTL 
	mode.  (#129063)
Fri Dec 12 21:00:12 2003  Kristian Rietveld  <>

	Combo box flipping support.

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position),
	(gtk_combo_box_size_allocate): support RTL flipping (#126518,
	patch from Matthias Clasen),
	(gtk_combo_box_popup): fix popup window alignment if there's a
	cell view frame visible (#126518, patch from Semion Chichelnitsky).

	* gtk/gtkcellview.c (gtk_cell_view_expose): support RTL flipping
	(#128348, patch from Semion Chichelnitsky).

Fri Dec 12 01:13:34 2003  Matthias Clasen  <>

	* examples/gtkdial/gtkdial.c:
	* examples/menu/menu.c:
	* examples/scribble-xinput/scribble-xinput.c:
	* examples/progressbar/progressbar.c:
	* docs/tutorial/gtk-tut.sgml: Remove deprecated functions
	in examples. (#129074, Olexiy Avramchenko)
	* examples/calendar/Makefile:
	* examples/rangewidgets/Makefile:
	* examples/menu/Makefile: Allow deprecated functions in
	examples which use deprecated widgets.

Fri Dec 12 00:43:16 2003  Matthias Clasen  <>

	* gdk/gdk.c (gdk_threads_set_lock_functions): 
	* gdk/x11/gdkspawn-x11.c: Add "Since: 2.4" to doc comments.

Fri Dec 12 00:05:31 2003  Matthias Clasen  <>

	* gtk/gtkrange.c (gtk_range_scroll): Fix direction of 
	steppers in inverted scrollbars.  (#129084, Olexiy Avramchenko)

Thu Dec 11 23:50:30 2003  Matthias Clasen  <>

	* gtk/gtknotebook.c (gtk_notebook_pages_allocate): Don't 
	unnecessarily reserve space for arrows in RTL mode.  (#129075,
	Semion Chichelnitsky)

Thu Dec 11 00:35:12 2003  Matthias Clasen  <>

	Changes to allow "no input" windows (#64613):
	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field accept_focus.
	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
	and gtk_window_get_focus() and gtk_window_set_focus().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
	Initialize the accept_focus field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus): 
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the accept_focus field, but don't use it yet 
	to actually implement noinput windows. The X implementation updates
	the WM_HINTS to select the globally active input model (see the
	ICCCM) if accept_focus is FALSE.

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
	WM_TAKE_FOCUS message if accept_focus is FALSE.
2003-12-10  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
	Added toolbar items for the filter separator and the filter item.
	(toolbar_create): Add the filter widgets here.
	(filter_create): Renamed from create_filter().  Don't store the
	alignment in the impl structure, just return it.
	(toolbar_show_filters): New function.
	(gtk_file_chooser_default_add_filter): Use toolbar_show_filters().
	(gtk_file_chooser_default_remove_filter): Likewise.
	(gtk_file_chooser_default_constructor): Don't create the filter
	widget here.
	(struct _GtkFileChooserDefault): Added a field for a current
	folder label.
	(gtk_file_chooser_default_constructor): Create the folder label.
	(gtk_file_chooser_default_set_current_folder): Set the current
	folder label.

	* tests/testfilechooser.c (main): Dramatically improved the
	usability of the extra widget through careful word choice.

2003-12-10  Mark McLoughlin  <>

	* gdk/gdk.h: include gdkspawn.h.

2003-12-10  Mark McLoughlin  <>

	* gdk/linux-fb/gdkspawn-fb.c,
	  gdk/x11/gdkspawn-x11.c: (gdk_spawn_command_line_on_screen):

2003-12-10  Mark McLoughlin  <>

	Utility functions for multi-screen applications which need
	to ensure launched applications appear on a certain screen.
	See bug #95897.
	* gdk/gdkspawn.h: header for multi-screen launching
	* gdk/ install gdkspawn.h.
	* gdk/x11/
	* gdk/x11/gdkspawn-x11.c:
	(gdk_spawn_make_environment_for_screen): private function
	to create an environment vector with DISPLAY set appropriately
	for the screen.
	(gdk_spawn_on_screen): multi-screen version of g_spawn_async().
	(gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes().
	(gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async().
	* gdk/linux-fb/,
	  gdk/linux-fb/gdkspawn-fb.c: linux-fb impl.
	* gdk/win32/,
	  gdk/win32/gdkspawn-win32.c: win32 impl.

2003-12-09  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home"
	rather than "Username's Home" (#125964).
	(shortcuts_selection_changed_cb): New callback, check the
	sensitivity of the Remove Bookmark button at the right time.
	(shortcuts_row_activated_cb): It is not necessary to check the
	sensitivity here.

Wed Dec 10 00:06:24 2003  Matthias Clasen  <>

	Improve the GDK API for dealing with group leaders (#119375):
	* gdk/gdkwindow.h: 
	* gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to 
	get the group leader of a toplevel window as a GdkWindow.

	* gdk/gdkdisplay.h: 
	* gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New 
	function to get the default group leader as a GdkWindow.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for
	the GdkWindow of the default group leader.
	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow
	for the default group leader.

2003-12-09  Noah Levitt  <>

	* gdk/gdkkeysyms.h:
	* gdk/gdkkeyuni.c: Add keysyms Ukrainian_ghe_with_upturn,
	Ukrainian_GHE_WITH_UPTURN. (#128529)

2003-12-08  Jan Arne Petersen  <>

	* gtk/gtkfilechooserdefault.c:
	(gtk_file_chooser_default_get_paths), (entry_activate): Use the
	behavior of the GtkFileSelection to determine selected paths in
	single selected, GTK_FILE_CHOOSER_ACTION_SAVE mode.

2003-12-08  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_paths): Don't declare the closure
	struct twice.
	(get_paths_foreach): Likewise.

Tue Dec  9 00:12:36 2003  Matthias Clasen  <>

	* gtk/gtkfilesystemwin32.[hc]: s/Unix/Win32/g. 

2003-12-08  Tor Lillqvist  <>

	* gdk/win32/gdkdisplay-win32.c: Use <multimon.h> when compiling
	with MSVC and old headers. (#126933, John Ehresman)

Mon Dec  8 10:54:44 2003  Owen Taylor  <>
	* === Released 2.3.1 ===

	* NEWS: Updates for 2.3.1

	* Version 2.3.1, interface age 0, binary age 301.

	* gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
	Rename from gtk_menu_item_real_can_activate_accel() to
	match GTK+ convention, improve comment.

	* gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
	can ::can-activate-accel signal.

	* gtk/gtkwidget.c (closure_accel_activate): Fix spelling
	in comment.

	* gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean 
	up comment.
	* gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
	into the .c file.

Mon Dec  8 12:09:21 2003  Owen Taylor  <>

	* gtk/gtkicontheme.c (find_builtin_icon): Fix a
	missing 'else'. (#128816, Jorn Baayen)

2003-12-02  Michael Meeks  <>

	Based on a patch by Martin Kretzschmar; #122448
	* gdk/gdk.h: new gdk_threads_lock, gdk_threads_unlock, point to
	(GDK_THREADS_ENTER, GDK_THREADS_LEAVE): use gdk_threads_[un]lock
	function pointers. Deprecate the global gdk_threads_mutex variable.
	* gdk/gdk.c (gdk_threads_impl_lock, gdk_threads_impl_unlock): new,
	extracted from GTK_THREADS_ENTER/LEAVE macros.
	(gdk_threads_init): init gtk_threads_[un]lock if not set.
	(gdk_threads_set_lock_functions): impl.

	* gdk/gdkglobals.c: add definitions of gdk_threads_[un]lock.

Sun Dec  7 23:45:40 2003  Matthias Clasen  <>

	* gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Don't crash if
	icon_theme_builtin_icons hasn't been initialized.  (#128726, Diego

2003-12-07  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_icon): Don't use the
	return value from SendMessage(WM_SETICON). That is the old
	icon. Fixes GDI resource leak. (#128559, Tim Evans)

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): If we already
	have a pointer grab active with a grab cursor set, destroy that
	cursor to avoid a GDI resource leak. (#128410, Tim Evans)

2003-12-05  Paisa Seeluangsawat  <>

        * Added Thai (th) to ALL_LINGUAS.

Sat Dec  6 01:42:04 2003  Matthias Clasen  <>

	* gtk/gtkalignment.c (gtk_alignment_size_allocate): Implement
	RTL flipping for GtkAlignment.  (#127585)

Sat Dec  6 01:13:09 2003  Matthias Clasen  <>

	* gtk/gtkcombo.c (gtk_combo_get_pos): Fix the position of the 
	popup window when in RTL mode.  (#127578)

Fri Dec  5 15:30:16 2003  Manish Singh  <>

	* gtk/gtkaccelgroup.c (quick_accel_find): Applied patch from
	Ross McFarland <>, initialize *count_p to 0
	before doing anything to prevent garbage returns.

Sat Dec  6 00:23:46 2003  Matthias Clasen  <>

	* gtk/gtkviewport.c: Implement RTL flipping for 
	GtkViewport: Adjust the "gravity" when resizing
	This is a bit flickery in RTL mode.  (#107526)

Sat Dec  6 00:22:14 2003  Matthias Clasen  <>

	* gtk/gtkscrolledwindow.c: Implement RTL flipping for 
	GtkScrolledWindow: the vertical scrollbar shows up on the left
	side in RTL mode.  (#107526)

Fri Dec  5 01:58:33 2003  Matthias Clasen  <>

	* gtk/gtknotebook.c: Implement RTL flipping for GtkNotebook:
	tabs displayed at the top/bottom are rearranged, and tabs on
	the left/right are displayed at the opposite edge.  (#96630)

2003-12-04  Mark McLoughlin  <>

	* gtk/gtklabel.c: (gtk_label_set_attributes_internal): Allow
	gtk_label_set_attributes() take NULL. See bug #128517.

2003-12-03  Federico Mena Quintero  <>

	* gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Removed
	the in_change flag.
	(completion_idle_callback): Use a temporary list store and re-set
	it on the completion rather than modifying the old one.  We are
	re-reading the folder anyway, and this gets rid of non-atomicity

2003-12-01  Federico Mena Quintero  <>

	Decouple impl->current_folder from the selection in the folder
	tree.  This is so that going to /home/federico/.foo (e.g. from a
	bookmark) will work even if show_hidden == FALSE.  The folder tree
	needs to be fixed in this case to show such folders explicitly.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_set_current_folder): When changing
	folders, do the entry and list model work here, instead of
	(struct _GtkFileChooserDefault): Added a changing_folder flag
	again, dum de dum.
	(tree_selection_changed): Use _gtk_file_chooser_set_current_folder_path().

Tue Dec  2 01:01:54 2003  Matthias Clasen  <>

	* gtk/gtkiconfactory.h: Remove duplicate declaration of 
	gtk_icon_source_set_icon_name().  (#Jeff Franks, #128269)

2003-12-01  Federico Mena Quintero  <>

	Patch from Hans-Petter Jansson <> to align the
	bookmarks buttons with the location entry.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_constructor): Use a GtkSizeGroup for the
	bookmarks buttons and the location entry.

2003-12-01  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Set the
	shortcuts tree as a drag destination.
	(shortcuts_drag_data_received_cb): New callback.
	(get_file_info): Also fetch information on whether the file is a folder.
	(add_bookmark_button_clicked_cb): Use error_could_not_add_bookmark_dialog().
	(error_could_not_add_bookmark_dialog): New function.
	(shortcuts_add_bookmark_from_path): New helper function.
	(add_bookmark_button_clicked_cb): Use shortcuts_add_bookmark_from_path().
	(shortcuts_row_activated): We no longer need the changing_folder flag.
	(struct _GtkFileChooserDefault): Likewise.

Sun Nov 30 17:31:32 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are
	disappearing placeholders that are still visible.

	* gtk/gtktoolbar.c: formatting fixes

	* gtk/gtktoolbar.c (struct _ToolbarContent): new bit:
	disappearing, for placeholders that are going to disappear.

	* gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders

Sat Nov 29 00:55:28 2003  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_new_column_width): 
	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	Patch from <> to handle RTL support for column
	resizers, #127874

Fri Nov 28 00:26:24 2003  Matthias Clasen  <>

	* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): 
	Don't use freed memory.  (#127698, Taavi Talvik) 

Fri Nov 28 00:09:10 2003  Matthias Clasen  <>

	* gtk/gtkfilechooserentry.c: Remove debug g_print()s. 

Thu Nov 27 22:17:50 2003  Matthias Clasen  <>

	* gtk/gtkuimanager.c: Remove debug define.

Thu Nov 27 16:19:03 2003  Tim Janik  <>

	* gtk/gtkmenu.c: allow accel activation depending on sensitivity
	and the attach widget.

	* gtk/gtkmenuitem.c: allow accel activation depending on visibility,
	sensitivity and the parent menu.

	* gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which
	checks whether accelerators may activate a widget. the default handler
	demands the widget be sensitive and visible+viewable.

	* gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate().

Tue Nov 25 00:10:05 2003  Matthias Clasen  <>

	* gtk/gtkuimanager.c (update_node): Don't show accelerators in
	popup menus.  (#127227)

Mon Nov 24 13:47:39 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates

Mon Nov 24 04:05:15 2003  Soeren Sandmann  <>

	* gtk/gtkradiotoolbutton.[ch]
	(gtk_radio_tool_button_new_from_widget): Make this function take a
	GtkRadioToolButton instead of a GtkWidget. (#127729, Murray

Mon Nov 24 02:34:00 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: remove variables in_dnd and leaving_dnd

Mon Nov 24 02:19:33 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: remove variable

Mon Nov 24 01:47:10 2003  Soeren Sandmann  <>

	Rework sliding algorithm.
	- No more weird jumping when items are dragged off and added to
	the toolbar,
	- More natural item movement

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This
	function is now responsible for calculating intermediate positions
	during item sliding. It is also responsible for starting sliding
	if items disappear.  Also turn off expanding when there is an
	overflow menu.
	(gtk_toolbar_begin_sliding, stop_sliding): New functions.
	(slide_idle_handler): New function. All the sliding is now done by
	gtk_toolbar_size_allocate(), so the idle handler now just checks
	if there is more sliding to be done.
	(compute_intermediate_allocation, position): new functions
	calculating intermediate steps in the slide animations. The new
	animation algorithm uses a constant speed instead of a constant
	must-be-finished-within time.
	(struct _ToolbarContent): use 
	GtkAllocation goal_allocation; and 
	GtkAllocation start_allocation; instead of 
	gint start/goal_width;

	* gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in

Sun Nov 23 22:26:25 2003  Matthias Clasen  <>

	* gtk/gtktooltips.c (gtk_tooltips_draw_tips): Make tooltip 
	positioning Xinerama-aware.  (#127332)

Fri Nov 21 01:57:21 2003  Matthias Clasen  <>

	* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
	boundaries visible in fake Xinerama mode.

Thu Nov 20 15:41:56 2003  Manish Singh  <>

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
	for the gtk_widget_hide() call.

Thu Nov 20 14:51:41 2003  Jonathan Blandford  <>

	* gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): Patch
	from David Hampton to fix sorting on booleans.

Thu Nov 20 15:48:03 2003  Soeren Sandmann  <>

	* gtk/gtksocket.c (gtk_socket_focus): Use gtk_widget_is_focus()
	instead of GTK_WIDGET_HAS_FOCUS. (#122327, Owen Taylor. Reported
	by Frederic Crozat).

Thu Nov 20 13:10:29 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Update Section 3 to 2.x

2003-11-19  Federico Mena Quintero  <>

	Fixes to problems reported by Iain Holmes:

	* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Do not
	throw up an error dialog if the desktop doesn't exist.
	(error_message): Handle the case where there is no real toplevel

	(list_model_filter_func): Always let folders pass through (patch
	by Dave Malcolm).

Wed Nov 19 23:19:23 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function
	to a somewhat more logical place,
	(gtk_combo_box_remove_text): New function (#125262, Owen Taylor).

Wed Nov 19 22:15:01 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
	the popup when it is visible, popdown when there are less chars
	than the minimum key length in the entry,
	(gtk_entry_completion_changed): popdown when the entry is empty.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
	size request of the vscrollbar to (-1, 0), to get a nicely sized
	completion treeview (Fixes #126573, reported by Piers Cornwell),
	(_gtk_entry_completion_resize_popup): show/hide the action_view
	based on items.

2003-11-19  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
	off the dialog's separator (thanks to Iain Holmes).

Wed Nov 19 18:15:00 2003  Soeren Sandmann  <>

	* gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
	* gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
	on items that have a submenu. (#120104).

Wed Nov 19 18:11:08 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
	"ItemState" field indicating the overflowed-ness etc. of the item.
	(gtk_toolbar_size_allocate): update the field here.

2003-11-19  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (create_filter): Don't add padding
	to the alignment.  Use the HIG-specified spacing between the
	filter label and the combo.
	(create_filename_entry): Use HIG-specified spacing between the
	location label and the entry.
	(gtk_file_chooser_default_constructor): Don't use vertical padding
	around the filename entry.

2003-11-19  Federico Mena Quintero  <>

	* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
	render_icon virtual method.

	* gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon):
	Implement as a stub for now.

	* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use
	(list_icon_data_func): Likewise.
	(toolbar_create): Set the toolbar style to icons only.

	* gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri):
	Fix doc comments.

Wed Nov 19 02:18:37 2003  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Call 
	gtk_widget_hide(menu) when reattaching the menu.  (#126057) 

Wed Nov 19 00:06:04 2003  Kristian Rietveld  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed):
	only unselect all items if the treeview has focus. (Fixes bug
	reported by Marco Pesenti Gritti).

Tue Nov 18 22:26:30 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_completion_key_press): the total
	number of actions is "matches + actions - 1". (Fixes #126572).

Tue Nov 18 21:05:05 2003  Christian Persch  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix
	mem leaks (#119435).

Tue Nov 18 20:51:38 2003  Kristian Rietveld  <>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't
	try to fetch the child back, since we do know that it is already
	gone by now (#126493, Marco Pesenti Gritti).

Tue Nov 18 19:47:59 2003  Kristian Rietveld  <>

	Fixes based on comments from Owen Taylor, #125264.

	* gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused
	(gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue
	a resize,
	(gtk_cell_view_get_size_of_row): new function,
	(gtk_cell_view_set_value), (gtk_cell_view_set_valuesv),
	(gtk_cell_view_set_values), (gtk_cell_view_set_model),
	(gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row):
	s/cellview/cell_view/ in the function definitions, so they match
	with the header file.

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize
	flag again (:, and use gtk_cell_view_get_size_of_row instead of
	the measurer, remove _set_size_request call,
	(gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row
	instead of the measurer,
	(gtk_combo_box_style_set): queue a resize,
	(gtk_combo_box_size_request): update of _remeasure call,
	(gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start),
	(gtk_combo_box_set_model): get rid of the measurer,
	(gtk_combo_box_cell_layout_clear_attributes): ditto and queue a
	resize instead of calling _remeasure.

Mon Nov 17 16:25:04 2003  Manish Singh <>

	* gdk-pixbuf/
	* modules/input/ Use install-data-hook for
	gdk-pixbuf.loaders and gtk.immodules install generation targets.
	Fixes #112806.

	* gtk/gtkexpander.h: Apply missing declarations from #124449.

Tue Nov 18 00:12:55 2003  Matthias Clasen  <>

	Fix for #119555, Peter Zelezny:
	* gdk/gdkdrawable.h: Declare gdk_drawable_copy_to_image.
	* gdk/gdkdraw.c (gdk_drawable_copy_to_image): Make public
	by removing the _ prefix. 
	* gdk/gdkdraw.c, gdk/gdkpixbuf-drawable.c, gdk/gdkpixmap.c, 
	gdk/gdkwindow.c: Adjust all callers.

Mon Nov 17 23:36:02 2003  Matthias Clasen  <>

	* gtk/gtkaction.c (gtk_action_activate): Only activate if 
	the action is sensitive.  (#127187, Christian Persch)

Mon Nov 17 23:23:49 2003  Matthias Clasen  <>

	* gtk/gtkcombobox.c: Add mouse wheel support.  (#126517)

Mon Nov 17 22:56:09 2003  Kristian Rietveld  <>

	* gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup.

	* gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not
	mapped, else resize_popup.

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup),
	(_gtk_entry_completion_popup): moved all popup resizing code to
	_gtk_entry_completion_resize_popup, and show the window when there
	are more than zero items in the completion list again (sigh).

2003-11-17  Mark McLoughlin  <>

	Patch from Jaiserca <> to add a
	"use_markup" property. See bug #124449.

	* gtk/gtkexpander.c:
	(gtk_expander_init), (gtk_expander_set_property),
	(gtk_expander_get_property), (gtk_expander_set_label),
	(gtk_expander_set_use_markup),	(gtk_expander_get_use_markup):
	Add a "use_markup" property and use it when creating the
	child label.

Mon Nov 17 12:58:32 2003  Kristian Rietveld  <>

	Temporary size requisition fix. Will fix it for real tonight.

	* gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag,
	(gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine
	a good width for the child,
	(gtk_combo_box_cell_layout_clear_attributes): update.

Mon Nov 17 00:11:21 2003  Kristian Rietveld  <>

	Fixes #124373, Murray Cumming.

	* gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property
	is no longer construct only,
	(gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal),
	(gtk_combo_box_menu_fill): new functions,
	(gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy),
	(gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup),
	(gtk_combo_box_list_destroy): updated,
	(gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed
	(gtk_combo_box_set_model): is now public, updated,
	(gtk_combo_box_get_model): small update.

	* gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the
	text_column property is no longer construct only,
	(gtk_combo_box_entry_set_text_column): now public,
	(gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model):
	new/changed functions.

	* tests/testcombo.c: updated.

Sun Nov 16 22:50:58 2003  Matthias Clasen  <>

	Reinstate fixes for (#124212, Marco Pesenti Gritti):
	* gtk/gtkuimanager.c (update_smart_separators): Don't spit 
	warnings for popups.
	(_gtk_menu_is_empty): Return FALSE for non-menus.

Sun Nov 16 21:48:40 2003  Kristian Rietveld  <>

	* gtk/gtkcellview.c (gtk_cell_view_finalize): just call
	gtk_cell_view_cell_layout_clear instead of trying to free the
	structure ourselves here. (#125726, Morten Welinder).

Sun Nov 16 00:35:29 2003  Matthias Clasen  <>

	* gtk/gtkfilechooser.[hc]: 
	* gtk/gtkentrycompletion.h: Fix parameter name mismatches which
	confuse gtk-doc.

2003-11-15  Hans Breuer  <>

	* gdk/makefile.msc gdk/gdk.def 
            gtk/gtk.def gtk/ : updated
	* tests/makefile.msc : added all the new tests

	* gtk/gtkfilefilter.c(finalize) : initialize filter
	from object not from itself

	* gtk/gtkfilesystemwin32.[hc] : copied from gtkfilesystemunix.[hc]
	modified as less as posible to have aworking implementation
	on win32. There maybe the desire to merge the unchanged pats into
	a common base class.
	Also implemented a simple glib based bookmark handling, which
	is currently missing in gtkfilesystemunix.[hc] but can be copied
	over there.
	* gtk/gtkfilechooserwidget.c : conditional include gtkfilesystemwin32.h

	* gdk/win32/gdkwindow-win32.c : implement 
	gdk_window_set_keep_above() and gdk_window_set_keep_below()

	* tests/testmerge.c : don't include unistd.h unconditionally,
	#define STDOUT_FILENO if it isn't defined

	* tests/testfilechooser.c : make it compile on win32

2003-11-15  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_focus): If the window is
	maximized, use SW_SHOWMAXIMIZED. (#126986, John Ehresman)

Thu Nov 13 12:55:29 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Update the rest of Section 2

Thu Nov 13 01:46:32 2003  Matthias Clasen  <>

	* gtk/gtkicontheme.c (gtk_icon_theme_init): Use 
	GTK_DATADIR/{icons,pixmaps} instead of 
	GTK_DATA_PREFIX/{icons,pixmaps}.  (#123365, Marco Pesenti Gritti)

Wed Nov 12 21:40:10 2003  Matthias Clasen  <>

	Changes to improve menu positioning on Xinerama (#108328, #126150):
	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Use the event 
	window of the menuitem to determine the monitor. This fixes some

	* gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field
	to store the monitor on which the menu is to be positioned.

	* gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number
	in the GtkMenuPrivate struct and fetch the monitor geometry after
	calling the position_func, in case it has been changed.

	* gtk/gtkmenu.c (gtk_menu_set_monitor): New function 
	to be used in GtkMenuPositionFunc implementations for setting
	the monitor_num field in GtkMenuPrivate.

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call 

Wed Nov 12 21:00:10 2003  Matthias Clasen  <>

	* gtk/gtkinputdialog.c (gtk_input_dialog_init): Clarify the
	label for the empty list. String change.  (#95446, Tomas Ögren)

Wed Nov 12 20:57:50 2003  Matthias Clasen  <>

	* gtk/gtkicontheme.h (enum GtkIconLookupFlags): Correct
	the definition of the values.  (#123361, Marco Pesenti Gritti)

Wed Nov 12 20:54:02 2003  Matthias Clasen  <>

	* gdk/gdkkeyuni.c: Map KP_Separator to ','.
	(#122941, Egmont Koblinger)

2003-11-12  Padraig O'Briain  <>

	*gtk/gtkcolorsel.c (gtk_color_selection_init): Add tooltip for
	opacity entry widget. Change tooltip for opacity widgets. (#126426)

2003-11-12  Padraig O'Briain  <>

	* gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position
	affect window menu position when popped from keyboard. (#102660)

Wed Nov 12 01:29:32 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we
	are using the old API, make all items "is_important". That way
	BOTH_HORIZ will continue to show both icon and label in old API

Mon Nov 10 00:40:41 2003  Matthias Clasen  <>

	* gtk/gtkeventbox.c (gtk_event_box_set_above_child): 
	Remember the new value in all cases.  (#126276, Damon Chaplin)

Sat Nov  8 23:06:02 2003  Matthias Clasen  <>

	* demos/gtk-demo/main.c (row_activated_cb): Call the do_
	functions with the toplevel as argument.

	* demos/gtk-demo/ Change the signature
	of GDoDemoFunc to take a widget argument

	* demos/gtk-demo/ui_manager.c (do_ui_manager): 
	* demos/gtk-demo/tree_store.c (do_tree_store): 
	* demos/gtk-demo/textview.c (do_textview): 
	* demos/gtk-demo/stock_browser.c (do_stock_browser): 
	* demos/gtk-demo/sizegroup.c (do_sizegroup): 
	* demos/gtk-demo/pixbufs.c (do_pixbufs): 
	* demos/gtk-demo/panes.c (do_panes): 
	* demos/gtk-demo/menus.c (do_menus): 
	* demos/gtk-demo/list_store.c (do_list_store): 
	* demos/gtk-demo/images.c (do_images): 
	* demos/gtk-demo/hypertext.c (do_hypertext): 
	* demos/gtk-demo/editable_cells.c (do_editable_cells): 
	* demos/gtk-demo/drawingarea.c (do_drawingarea): 
	* demos/gtk-demo/dialog.c (do_dialog): 
	* demos/gtk-demo/colorsel.c (do_colorsel): 
	* demos/gtk-demo/changedisplay.c (do_changedisplay): 
	* demos/gtk-demo/button_box.c (do_button_box): 
	* demos/gtk-demo/appwindow.c (do_appwindow): Take a widget
	as argument, and make new windows or dialogs appear on the
	same screen.  (#80388)

Sat Nov  8 21:59:30 2003  Matthias Clasen  <>

	* gtk/gtkeventbox.c (gtk_event_box_class_init): Let 
	visible-window default to TRUE, as documented and 
	implemented. (#126270 Damon Chaplin)

Sat Nov  8 01:50:17 2003  Matthias Clasen  <>

	* gtk/gtkicontheme.c: 
	* gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): 
	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): 
	* gtk/gtkfilechooser.c (gtk_file_chooser_[un]select_all): Mark as
	2.4 additions.

2003-11-07  Federico Mena Quintero  <>

	Changing GtkFileChooserEntry to use GtkEntryCompletion.

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): Create
	a GtkListStore for the completion list.  Create a
	GtkEntryCompletion and attach it to the chooser entry.
	(gtk_file_chooser_entry_finalize): Unref the completion store.
	(completion_match_func): New callback for the GtkEntryCompletion.
	(completion_idle_callback): Fill the completion store with filenames.

Fri Nov  7 22:55:49 2003  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_set_role): 
	* gtk/gtkwindow.c (gtk_window_set_title): 
	* gtk/gtkwidget.c (gtk_widget_set_name): 
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_title): 
	* gtk/gtkbutton.c (gtk_button_set_label): Make string setters
	safe for self-assignment.  (#122745, Soeren Sandmann)

Thu Nov  6 20:41:40 2003  Matthias Clasen  <>

	* gtk/gtkstyle.c (gtk_style_attach): Fix doc comment.
	(#126369, Olexiy Avramchenko)

Thu Nov  6 00:21:41 2003  Matthias Clasen  <>

	* gtk/gtkcolorbutton.c (gtk_color_button_init): 
	* gtk/gtkfontbutton.c (gtk_font_button_init): Improve the 
	consistency of titles.  (#126193, Damon Chaplin)

Wed Nov  5 22:49:36 2003  Matthias Clasen  <>

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set torn off 
	menus to be transient for the toplevel they were torn off from.
	(gtk_menu_get_toplevel): Auxiliary function to find the
	toplevel of a menu.  (#54775, Jon-Kare Hellan)

Wed Nov  5 21:07:58 2003  Matthias Clasen  <>

	* gtk/gtkpaned.c (gtk_paned_class_init): Add readonly properties
	min-position and max-position.  (#58431, Padraig O'Briain)

Wed Nov  5 21:02:26 2003  Matthias Clasen  <>

	* gtk/gtkcolorsel.c (update_color): 
	(adjustment_changed): Change the ranges for Saturation and
	Value to be 0-100 instead of 0-255, since these axes of HSV
	are usually expressed in percent.  (#121519, Gregory Merchan)

Wed Nov  5 08:51:48 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: More 2.x updates

Tue Nov  4 15:00:33 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: More 2.x updates, fix
	pkg-config command error, update copyright.

2003-11-03  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (error_dialog): Take in a path as
	well.  Use a helper function.
	(shortcuts_append_home): Display an error box if necessary.
	(shortcuts_append_desktop): Likewise.
	(add_bookmark_button_clicked_cb): Likewise.
	(gtk_file_chooser_default_select_path): Likewise.
	(entry_activate): Likewise.
	(shortcuts_append_paths): New helper function.
	(shortcuts_append_file_system_roots): Use
	(shortcuts_append_bookmarks): Likewise.

Mon Nov  3 23:12:41 2003  Matthias Clasen  <>

	* gtk/gtkuimanager.c (_gtk_menu_is_empty): Return TRUE if 
	menu is NULL.
	(update_smart_separators): Remove some unneeded ifs.

Mon Nov  3 22:45:58 2003  Matthias Clasen  <>

	* gtk/gtkwindow-decorate.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
	these usable in C++. Forgot this file in my Oct 11 commit.

2003-11-03  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Add a stock
	icon to the "Add bookmark" button.

	* gtk/gtkfilesystemunix.c: Mark missing strings for translation.
	* gtk/gtkfilesystemmodel.c: Likewise.
	* gtk/gtkfilechooser.c: Likewise.
	* gtk/gtkfilechooserdefault.c: Likewise.

Mon Nov  3 20:56:28 2003  Matthias Clasen  <>

	* gdk/gdk.c: 
	* gdk/gdkinternals.h: 
	* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
	GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
	Xinerama mode when no actual Xinerama setup is found. 

2003-11-03  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
	(create_shortcuts_tree): Don't call the above.
	(bookmarks_changed_cb): Likewise.
	(tree_selection_changed): Unselect everything from the shortcuts
	list.  This is the behavior that Mac OS has.
	(toolbar_add_item): Return the item.
	(toolbar_create): Store the up_button in the impl structure.
	(toolbar_check_sensitivity): New function to set the sensitivity
	of the "Up" button in the toolbar.
	(tree_selection_changed): Call toolbar_check_sensitivity().

2003-11-02  Federico Mena Quintero  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Do
	not set a border width for the toplevel container.
	(toolbar_create): New function; create a simple toolbar for the
	file chooser.
	(gtk_file_chooser_default_constructor): Use a spacing of 12 for
	the table, as per the HIG.
	(gtk_file_chooser_default_init): Likewise, for the default
	implementation's vbox.

	* gtk/gtkfilesystem.c (gtk_file_system_get_parent): Added docs to
	note that NULL is a valid return value for the parent path.

Sat Nov  1 14:59:27 2003  Owen Taylor  <>

	* gtk/gtkfilechooserdefault.c (shortcuts_row_activated): 
	Change on activation, not selection change (temporary
	workaround for #125955, needed for keynav, likely
	the right UI anyways.)

	* gtk/gtkfilechooserdefault.c (shortcuts_select_func): 
	Don't allow the separator node to be selected.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor):
	Set the focus chain so that the entry gets focused first.
	(Not really right after initial focusing, maybe we
	should just have a gtk_file_chooser_focus_entry() that
	we call from gtk_file_chooser_dialog on creation.)

Sat Nov  1 12:41:04 2003  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_unfullscreen): Fix a
	residual call to gtk_window_get_private().

Sat Nov  1 09:10:13 2003  Owen Taylor  <>

	* gtk/gtkwindow.[ch]: Move above_initially, below_initially
	into GtkWindowPrivate structure, fixing ABI breakage
	on Win32. (Hans Breuer). Switch GtkWindowPrivate over
	to instance-private-data.

Fri Oct 31 02:43:34 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (get_item_requisition): delete this function
	(toolbar_item_is_homogeneous): cache max_homogeneous_pixels
	instead of re-calculating for each item.
	(gtk_toolbar_size_allocate): Update comments

Thu Oct 30 22:04:31 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_forall): Only include
	placeholders when include_internals is TRUE.

Thu Oct 30 17:57:53 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (logical_to_physical): Make it work even when
	item 0 is a placeholder. (#125826)
	* tests/testtoolbar.c: add an assertion that 
	gtk_toolbar_get_nth_item (0) != NULL

Thu Oct 30 17:40:26 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (logical_to_physical): Make it work for
	logical == 0.(#125826)

Thu Oct 30 16:20:58 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (logical_to_physical): Make sure we actually
	return the index of a real item.
	(get_nth_item) assert that the returned items is not a
	placeholder.  (#125826, Marco Pesenti Gritti).
2003-10-29  Federico Mena Quintero  <>

	* gtk/gtkcellrendererseptext.c
	(gtk_cell_renderer_sep_text_render): Only paint a separator if the
	text is NULL, rather than also doing it if it is an empty string.

Wed Oct 29 15:40:26 2003  Owen Taylor  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new/
	gtk_message_dialog_new_with_format): Allow NULL
	for message_format, as described in the docs and
	as worked previously. (#125759, Richard Hult)

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup):
	Use g_markup_vprintf_escaped() to escape arguments.

	* gtk/gtkmessagedialog.[ch]: Add gtk_message_dialog_set_markup()
	so there is some way to set literal markup.

Wed Oct 29 15:01:32 2003  Owen Taylor  <>
 	* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): Move
 	the call to gdk_error_trap_pop() to the right place,
 	fixing a problem where we'd pop() too many times 
 	when bailing out. (#123302, Thomas Leonard)
Wed Oct 29 12:50:02 2003  Owen Taylor  <>

	* gtk/gtkfilechooserutils.c (delegate_set_current_folder): 
	Fix infinite recursion. (#125679, Christian Persch)

Wed Oct 29 13:29:15 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: further 2.x updates:

Wed Oct 29 02:54:35 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this
	function; remove gtk_toolbar_highlight_drop_location() and

	Also fix bug where the number of overflowed items were miscounted.

Tue Oct 28 12:20:16 2003  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_has_toplevel_focus): Remove
	some accidentally committed duplicate code.

Tue Oct 28 17:06:17 GMT 2003  Tony Gale <>

        * docs/faq/gtk-faq.sgml: Update info on compiling GTK+

Tue Oct 28 10:34:24 2003  Owen Taylor  <>

	* gtk/gtkwindow.[ch] (gtk_window_is_active, 
	gtk_has_toplevel_focus): Add getters corresponding to
	the is_active and has_toplevel_focus properties.

2003-10-28  Mark McLoughlin  <>

	* gtk/gtkexpander.c:
	(gtk_expander_class_init): hook up the destroy handler.
	(gtk_expander_destroy), (gtk_expander_unrealize):
	remove the expand/collapse timeout on destroy instead
	of unrealize to avoid leaving the expander in a inconsistent
	state when unrealizing during animation.
	(gtk_expander_start_animation): remove realized check.
	(gtk_expander_set_expanded): if the widget isn't realized,
	expand immediately.

Tue Oct 28 09:44:16 2003  Owen Taylor  <>

	* gtk/gtkxembed.c (_gtk_xembed_send_focus_message): Silently
	do nothing when recipient is NULL, as described in the
	doc comment. (#123107, Thomas Leonard)

Tue Oct 28 09:21:29 2003  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_check_version): Move docs inline,
	rewrite docs, mention memory management for the return
	value. (Partly addresses #125549, Michael Natterer)

2003-10-28  Padraig O'Briain  <>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_remove_filter):
	Change index to filter_index to fix compilation error.

	* gtk/gtkfilesystem.h: Correct definition of gtk_file_path_get_string.

Mon Oct 27 15:47:58 2003  Manish Singh  <>

	* gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
	we have RandR support, for XRRUpdateConfiguration declaration.

	* gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch

	* gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
	length a gsize variable, since that's what g_file_get_contents()

Mon Oct 27 12:18:49 2003  Owen Taylor  <>

	* NEWS: Fix attribution for above/below EWMH work.

Sat Oct 25 23:30:13 2003  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_class_init): Add "name" 
	as a construct-only property.  (#125475, Murray Cumming)

Thu Oct 23 21:55:10 2003  Soeren Sandmann  <>

	Fix bug 116297 and 125472
	* gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make
	this function take an index and a GtkToolItem.

	* tests/testtoolbar.c (main): Make "Show Arrow" default to
	true. Make one of the separators !draw and expand.
	Update for new highlight_drop_location() API.

	* gtk/gtktoolitem.[ch]: Remove "pack_end" property

	* gtk/gtktoolbar.h: Formatting fixes.

	* gtk/gtktoolbar.c: Remove "pack_end" child property. Allow
	separator tool items to expand.
	(logical_to_physical, physical_to_logical): Fix off-by-one errors
	(Fix #125472, Marco Pesenti Gritti)

	* gtk/gtkseparatortoolitem.[ch]: Add new "draw" property.
	(gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also
	return FALSE, not TRUE.
	(gtk_separator_tool_item_{set|get}_draw): new functions

Fri Oct 24 16:54:04 2003  Owen Taylor  <>

	* === Released 2.3.0 ===

	* Remove a stray comma.

	* Fix a few notes about Xft 1 and pango-1.0.

	* NEWS: Finish updates for 2.3.0.

	* po/ Update to latest GLib version.

Fri Oct 24 20:31:35 2003  Kristian Rietveld  <>

	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
	gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
	under GPL licensing instead of LGPL...). (Fixes #125381, Soeren

Fri Oct 24 20:22:40 2003  Kristian Rietveld  <>

	* gtk/gtktreemodelfilter.h: add padding to the class structure.

2003-10-23  Federico Mena Quintero  <>

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_preview_uri): Fixed docs.
	(gtk_file_chooser_remove_filter): Likewise.
	(gtk_file_chooser_select_all): Added docs.
	(gtk_file_chooser_unselect_all): Likewise.

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): Added docs.

	* gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): Added docs.

Thu Oct 23 23:22:15 2003  Matthias Clasen  <>

	* gtk/gtkfilefilter.c: 
	* gtk/gtkfilechooser.c: Add "Since: 2.4" to all API doc comments.

Thu Oct 23 22:33:47 2003  Matthias Clasen  <>

	* gtk/gtkfilefilter.c (gtk_file_filter_new): Fix doc markup.

Thu Oct 23 21:49:05 2003  Matthias Clasen  <>

	* NEWS: Remove a few duplicates, group the menu changes.

Thu Oct 23 21:12:50 2003  Kristian Rietveld  <>

	* NEWS: Updates for 2.3.0; changed header to match the style we used
	for 2.1.0.

Thu Oct 23 20:47:44 2003  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Actually
	assign the new leader.  (#125168, Mariano Suarez-Alvarez)

Thu Oct 23 20:21:16 2003  Kristian Rietveld  <>

	* gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c,
	gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c,
	gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes.

Thu Oct 23 15:13:56 2003  Soeren Sandmann  <>

	* NEWS: Partial update for 2.3.0.

Thu Oct 23 01:09:04 2003  Owen Taylor  <>

	* gtk/gtkfilechooserdefault.c: Convert GtkOptionMenu to

Wed Oct 22 23:20:04 2003  Owen Taylor  <>

	* gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] 
	gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
	gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
	Basic framework for the new file selector widget.

	* gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] 
	gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
	Initial implementation of the GtkFileChooser user interface.

	* gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
	for Unix files.

	* gtk/ gtk/xdgmime: Build code
	for MIME system on Unix.

	* tests/testfilechooser.c: Test program for GtkFileChooser

	* tests/prop-editor.c: Add support for properties on interfaces.

Tue Oct 21 16:12:51 2003  Owen Taylor  <>

	* demos/gtk-demo/menus.c (do_menus): Fix some unused

	* gtk/gtkmain.c (_gtk_get_lc_ctype): Fix an unused
	variable warning.

Thu Oct 23 00:04:50 2003  Matthias Clasen  <>

	* NEWS: Partial update for 2.3.0.

Tue Oct 21 22:07:12 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set
	ctrl_pressed and shift_pressed according to the current event
	state (if there is one). (Fixes #125063, reported by Sebastien Bacher).

Mon Oct 20 23:24:27 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_key_press): remove the completion
	timeout when the user pressed on Enter/ESC. Fixes the bug where the
	completion popup popped up after the user pressed on Enter (which is
	just weird). Reported by the Epiphany people (all of them).

Mon Oct 20 20:27:22 2003  Soeren Sandmann  <>

	Add support for OS X like sliding of toolbar items during drag and
	drop, (#110919, Dave Bordoley)

	Make dnd highlighting the responsibility of the
	application. (Fixes #116298, Owen Taylor)

	* gtk/gtktoolbar.h: Add prototypes for new API.
	* gtk/gtktoolbar.c
	(physical_to_logical, logical_to_physical): new functions
	converting between "position including placeholders" and "position
	excluding placeholders".
	(gtk_toolbar_class_init): remove drag_leave and drag_motion
	(struct _ToolbarContent): new struct containing information
	related to toolbar items.
	(gtk_toolbar_highlight_drop_location): new public function
	(gtk_toolbar_unhighlight_drop_location): new public function
	* tests/testtoolbar.c
	(toolbar_drag_motion, toolbar_drag_leave): new functions
	(main): connect to dnd signals.  Make the "New" item expand to
	make drag and drop more exciting.

Wed Oct 15 22:39:23 2003  Kristian Rietveld  <>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): it's
	_set_active, not _set_active_item.

Wed Oct 15 22:31:09 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.h: add padding to the class structure.
	* gtk/gtkcomboboxentry.h: ditto.
	* gtk/gtkentrycompletion.h: ditto.

Wed Oct 15 22:04:59 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c (gtk_combo_box_get_active),
	(gtk_combo_box_set_active): mention in the docs that -1 is a valid
	value and what it means.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active
	item to -1 (default),
	(gtk_combo_box_entry_active_changed): do nothing when the index is
	< 0.

Tue Oct 14 16:10:21 2003  Jonathan Blandford  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function
	to set the active row by iter.

	* gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function
	to get the active row by iter.

2003-10-13  Federico Mena Quintero  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
	operations on windows if the tree view is not mapped.
	(gtk_tree_view_button_press): Compare equal types of pointers, not
	GtkWidget* vs. GtkTreeView*.

Mon Oct 13 21:01:43 2003  Kristian Rietveld  <>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
	the reset of first_sel_changed, as after the first popup the treeview
	will always have a row selected and will thus not focus_to_cursor.

	* gtk/gtkentry.c (keyval_is_cursor_move): new function to determine
	whether the keyval should move the completion selection cursor (used
	to avoid ending up with extreme cluttered code), also added
	all KP_ equivalents of the keys here,
	(gtk_entry_completion_key_press): Keynav tweaks based on comments
	from Dave Bordoley and Marco Pesenti Gritti; add the -1 state
	as possible current selection, implement Home/End keys, modified
	the down key to stop cycling. Maybe page up/down should be implemented
	at some later time.

Mon Oct 13 20:58:07 2003  Matthias Clasen  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon): Make it work 
	as documented when pixmap or mask is NULL.  (#124081) 

Mon Oct 13 20:21:38 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_set_text): I overlooked a return when
	I was adding the signal block/unblock code. Oops. (Noticed by
	Marco Pesenti Gritti).

Mon Oct 13 20:21:55 2003  Kristian Rietveld  <>

	* demos/testpixbuf-scale.c: enable GTK_DISABLE_DEPRECATED again,
	(set_interp_type), (main): port over from option menu to GtkComboBox.

Mon Oct 13 19:41:55 2003  Kristian Rietveld  <>

	* tests/testmenus.c: Still uses option menus, so turn off

Sun Oct 12 01:10:29 2003  Matthias Clasen  <>

	* gtk/gtkalignment.[hc]: 
	* gtk/gtkcombobox.[hc]: 
	* gtk/gtkcomboboxentry.[hc]: 
	* gtk/gtktreemodelfilter.[hc]: Move GET_PRIVATE macros
	from header to implementation.

Sun Oct 12 00:18:02 2003  Matthias Clasen  <>

	* tests/testtreeview.c: 
	* demos/testpixbuf-scale.c: 
	* tests/prop-editor.c: These files still use option menus,
	so turn off GTK_DISABLE_DEPRECATED to fix the build. 

Sat Oct 11 23:14:36 2003  Matthias Clasen  <>

	* gtk/gtkactiongroup.h: 
	* gtk/gtkaction.h: 
	* gtk/gtkradioaction.h: 
	* gtk/gtkradiotoolbutton.h: 
	* gtk/gtkseparatortoolitem.h: 
	* gtk/gtktoggleaction.h: 
	* gtk/gtktoolitem.h: 
	* gtk/gtkuimanager.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
	these usable in C++.  (#124351, Murray Cumming)

Sat Oct 11 19:09:05 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_set_text): Check if completion is
	non-NULL before accessing it. Oops.

Sat Oct 11 15:47:03 2003  Kristian Rietveld  <>

	* gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action),
	(gtk_entry_completion_insert_action_markup): the gchar* parameters
	should be const (pointed out by both Marco Pesenti Gritti and
	Murray Cumming (#124356).

Sat Oct 11 15:37:19 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom
	child list mode, allocate the height allocation->height to the
	button instead of the height requested by the button. (Tiny
	size allocation screwup noticed by Macro Pesenti Gritti).

Sat Oct 11 15:23:27 2003  Kristian Rietveld  <>

	Fixes based on comments from Marco Pesenti Gritti.

	* gtk/gtkentry.c (gtk_entry_set_text): block the completion changed
	signal handler, avoids the completion popup to popup when text is
	set programmatically in most cases (we actually have to handle this
	in the _editable functions as well, but that will break popping up
	when the user actually typed something :),
	(gtk_entry_completion_key_press): when handling enter, bail out
	when nothing has been selected,
	(gtk_entry_completion_changed): don't popdown when the entry content

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init),
	(gtk_entry_completion_selected_changed): unselect_all on the
	first selected changed signal. Avoids having a default row selected,
	(_gtk_entry_completion_popup): don't select the first row by default.

	* gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a
	first_sel_changed field.

Fri Oct 10 23:02:58 2003  Matthias Clasen  <>

	* demos/gtk-demo/menus.c: Replace GtkItemFactory by GtkUIManager 
	in the intro (again).

Fri Oct 10 22:50:05 2003  Matthias Clasen  <>

	Fixes for (#124212, Marco Pesenti Gritti):
	* gtk/gtkuimanager.c (update_smart_separators): Don't spit 
	warnings for popups.
	(_gtk_menu_is_empty): Return FALSE for non-menus.

Fri Oct 10 19:10:12 2003  Kristian Rietveld  <>

	* gtk/gtkcombo.h: Deprecate.
	* gtk/gtkoptionmenu.h: Ditto.

	* gtk/gtkcombobox.c (gtk_combo_box_size_request),
	(gtk_combo_box_size_allocate): Rework, things behave better now. Still
	needs some work on requesting enough size when taking the items in
	the list into account.

	* gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
	deprecated" guards.
	* gtk/gtkinputdialog.c: ditto.
	* gtk/gtkitemfactory.c: ditto.
	* gtk/gtkoptionmenu.c: ditto.

	* demos/gtk-demo/menus.c: remove the option menu.
	* demos/gtk-demo/sizegroup.c: replace the option menus with
	* demos/gtk-demo/textview.c: ditto.
	(A general GtkComboBox demo will be added later on).

Wed Oct  8 00:06:17 2003  Matthias Clasen  <>

	* demos/gtk-demo/ui_manager.c (activate_radio_action): New
	callback to propertly report radio actions.

	* demos/gtk-demo/ui_manager.c (do_ui_manager): Use it here.

Tue Oct  7 23:23:05 2003  Matthias Clasen  <>

	* gtk/gtkplug.c (xembed_set_info): Put the supported protocol
	version in in the right field of the _XEMBED_INFO property.  
	(#123885, Denis Mikhalkin)

Mon Oct  6 14:18:47 2003  Jonathan Blandford  <>

	* gtk/gtkexpander.c (gtk_expander_animation_timeout): only show
	the child if we have one.

	(gtk_expander_button_release): use
	gtk_widget_activate instead.

Mon Oct  6 21:05:46 2003  Matthias Clasen  <>

	* gtk/gtktable.c (gtk_table_class_init): Start the blurb for 
	"right_attach" with a capital.  (#123945, Christian Rose)

Sun Oct  5 23:59:03 2003  Matthias Clasen  <>

	* tests/testsocket.c (child_read_watch): Remove an
        extraneous unref.  (#122336, Frederic Crozat)

Sun Oct  5 22:38:22 2003  Matthias Clasen  <>

	* gtk/gtkeventbox.c (gtk_event_box_class_init): Trim 
	whitespace in "visible-window" blurb.  (#123910, Christian Rose)

Sun Oct  5 00:53:15 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_list_children_in_focus_order):
	focus arrow before pack_end items (#123851, Matthias Clasen)

Fri Oct  3 20:50:48 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
	on ->priv->cell_view if ->priv->cell_view is non-NULL.

	* gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
	field to GtkComboBoxEntryPrivate,
	(gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
	(gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
	(gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
	a construct-only "text_column" property and reorder code to use it
	and support inheriting this widget.

Thu Oct  2 23:28:02 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c: Added API doc comments.

	* gtk/gtkcomboboxentry.c: Ditto.

2003-10-02  Matthias Clasen  <>

	* gtk/gtktoggleaction.c: Documentation tweaks.

Wed Oct  1 22:43:40 2003  Kristian Rietveld  <>

	* gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
	packing/attribute/cell data functions from the header,
	(gtk_cell_view_set_cell_data): added support for cell data funcs.

	* gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
	packing/attribute/cell data functions from the header, implemented
	cell data func support.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
	for the move to GtkCellLayout.

	* tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.

2003-10-01  Matthias Clasen  <>

	* gtk/gtkaction.c (gtk_action_class_init): 
	(gtk_action_[gs]et_property): Introduce a separate
	"hide_if_empty" property for empty menu handling.
	(_gtk_action_sync_menu_visible): ...and use it here.

	* tests/testmerge.c (main): ...and here.

	* gtk/gtktoolitem.c (gtk_tool_item_class_init): Fix signal doc 
	comments to pacify gtk-doc.

	* gtk/gtkmain.c: Doc formatting tweaks.

	* gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.

	* gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio): 
	Use the same parameter names as in .c file, to pacify gtk-doc.

	* gtk/gtktoggletoolbutton.[hc]: 
	* gtk/gtktoolbutton.[hc]: 
	* gtk/gtktoolitem.[hc]:
	* gtk/gtktoolbar.[hc]: 
	* gtk/gtkcolorbutton.[hc]: 
	* gtk/gtkfontbutton.[hc]: 
	* gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the 
	source, not in the header.

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio): 
	Document these as 2.4 API additions.

Tue Sep 30 23:42:56 2003  Kristian Rietveld  <>

	* gtk/gtkentry.c (gtk_entry_set_completion),
	(gtk_entry_get_completion): Add API doc comments.

	* gtk/gtkentrycompletion.c: Fix #includes and add API doc comments.

Tue Sep 30 23:12:34 2003  Kristian Rietveld  <>

	* gtk/gtktreemodelfilter.c: Add "Since: 2.4" to all API doc comments.

Tue Sep 30 22:59:58 2003  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c: Some API doc comment fixes.

	* gtk/gtkcellayout.c: Fix #include and oooooh API doc comments!

2003-09-30  Matthias Clasen  <>

	* tests/merge-*.ui: 
	* tests/testmerge.c: Test handling of empty menus.

	* gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
	whether a menu is empty. Used in gtkaction.c.
	(update_smart_separators): Also update the visibility of empty menus.
	(update_node): When creating a new menu proxy, insert an "Empty" menu 
	item which only gets shown if the menu is empty. 

	* gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
	"is_important" for menu proxies.
	(_gtk_action_sync_menu_visible): New function to sync the visibility
	of menu proxies. Used in gtkuimanager.c.
	(gtk_action_sync_visible): New function to sync the visibility of 

Tue Sep 30 21:43:34 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
	popup_in_progress to TRUE,
	(gtk_combo_box_menu_show): and back to FALSE here; the menu now
	won't disappear on the first button release. (Reported by Matthias

Tue Sep 30 21:08:43 2003  Kristian Rietveld  <>

	* gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543,
	Marco Pesenti Gritti).

2003-09-30  Murray Cumming  <>
 	* gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable*
 	instead of a GdkWindow*, because that what it is given. The 
 	documentation was already correct. This should cause no API/ABI
 	breakage with C compilers.
 	* gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, 
 	gtkcellrenderertogger.c: Updated the declarations of the render vfunc
 	implementation accordingly.

2003-09-30  Matthias Clasen  <>

	* gdk/gdkkeys.c (gdk_keymap_class_init): Document the
	"direction-changed" and "keys-changed" signals.

	* gdk/gdkscreen.c (gdk_screen_class_init): Document the 
	"size-changed" signal.

	* gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): 
	Document the "display-opened" signal.

	* gdk/gdkdisplay.c (gdk_display_close): Doc tweak.
	(gdk_display_class_init): Document the "closed" signal.

Sat Sep 27 16:02:40 2003  Soeren Sandmann  <>

	* gtk/gtktextview.[ch]: rename property tab_moves_focus to
	accepts_tab. (#122709 again).

2003-09-27  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_new):
	* gtk/gtkitemfactory.c (gtk_item_factory_new): Document 
	the fact that the newly created object does not come with 
	a floating reference.  (#103068, patch by Frederic Lespez)
	* gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor 
	of GtkUIManager. Just leave GtkTranslateFunc undeprecated, 
	since GtkActionGroup uses it.

	* tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
	this test uses the soon-to-be-deprecated GtkItemFactory.

	* demos/gtk-demo/ (demos): Add ui_manager.c,
	remove item_factory.c

	* demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c 
	using GtkUIManager instead of GtkItemFactory.

	* tests/testmerge.c: Demonstrate the use of the 
	connect-proxy signal.

	* gtk/gtkaction.c (connect_proxy): Add connect-proxy and 
	disconnect-proxy signals to do small customizations 
	like displaying tooltips in the statusbar without 
	custom actions.  (#122894, Philip Langdale)

	* gtk/gtkuimanager.c (update_node): Don't leak tooltip.

Fri Sep 26 23:49:44 2003  Kristian Rietveld  <>

	Landing the new ComboBox. Note that only gtkcombobox.h and
	gtkcomboboxentry.h are public.

	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.

	* gtk/, gtk/gtk.h: adding the new files.

	* tests/testcombo.c: and a new test.

	* tests/ adding the new test.

2003-09-25  Tor Lillqvist  <>

	* demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.

2003-09-21  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (handle_wm_paint): New
	function. Code split out from gdk_event_translate(). Needed
	because gdk_event_get_graphics_expose() couldn't do anything
	sensible otherwise. (Not that I think graphics exposes work anyway
	in gdk/win32, but at least now the code could work.)

	(gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
	gdk_event_translate(), which couldn't have worked as it doesn't
	take any pre-allocated GdkEvent parameter any longer.
	(gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
	GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)

2003-09-24  Matthias Clasen  <>

	* demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
	on toolitems.

	* gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.

	* gtk/gtkuimanager.c (update_node): Don't complain about missing
	actions on popups. Re-set "tooltip" property on toolitems after
	adding them to parent to trigger proxy update.

2003-09-22  Matthias Clasen  <>

	* tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
	group member to test the fix for #122904.

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
	Add the action to the group before activating it, otherwise we
	may end up with multiple active group members.  (#122904, Marco
	Pesenti Gritti)

2003-09-21  Matthias Clasen  <>

	Changes to make cross-process merging feasible:
	* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
	merged UI definition. Remove the "changed" signal, since its role
	is now filled by "notify::ui". Instead add a "actions-changed" signal
	which gets emitted when the set of actions changes.

	* gtk/gtktoggleactionprivate.h:
	* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
	Add a "draw_as_radio" property to toggle actions so that they can be
	used as proxies for radio actions much like the "draw_as_radio" 
	property on check menu items enables them to operate as proxies for
	radio actions.

	Prevent the "show_all" trap for action-based menus (see

	* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
	calls from static functions.

	* gtk/gtkuimanager.c (update_node): 
	* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
	widgets whose visibility is externally controlled.

	* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean 
	"no_show_all" property with setter and getter. When TRUE, it keeps
	gtk_widget_{hide,show}_all() from modifying the visibility of the 
	widget and its children.

Sun Sep 21 23:13:37 2003  Soeren Sandmann  <>

	* gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)

2003-09-20  Tor Lillqvist  <>

	* Don't use zip -r on the etc directory, to avoid
	including editor backup files. List files we want explicitly.

	* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
	calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
	LC_ALL, LC_CTYPE and LANG environment variables, than calls

	(gtk_get_default_language): Code snippet moved to above function,
	call it.

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
	* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
	_gtk_get_lc_ctype() instead of setlocale().

Fri Sep 19 18:15:31 2003  Soeren Sandmann  <>

	* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping

Fri Sep 19 13:24:54 2003  Soeren Sandmann  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
	documentation. (#117306, Steve Chaplin)

2003-09-19  Tor Lillqvist  <>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms
	present on the US-International keyboard. For clarity, order
	keysyms in case statement according to numeric value.

	(gdk_keymap_translate_keyboard_state): Handle Caps Lock
	correctly. (#120176, Ken Rastatter and Owen Taylor)

2003-09-18  Matthias Clasen  <>

	* gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
	unref a closure, not g_object_unref().  (#122637, Marco Pesenti Gritti)

	Install accelerators on actions, not on proxies, support
	accelerator-only actions:
	* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
	and its lock status either via _gtk_widget_get_accel_path() or by 
	looking at the accel_path stored in the menu item itself and determining
	its lock status by peeking into the contained accel label. This was
	already (accidentally) committed a week ago.

	* gtk/gtkaction.h (gtk_action_set_accel_group):
	(gtk_action_[dis]connect_accelerator): New functions.

	* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
	accel_closure and accel_count. We must have a reference to the 
	accel_group, since we need it in connect_proxy. The count is necessary
	to ensure that the accelerator isn't removed before the last proxy 
	requesting it has been unmerged.
	(connect_proxy): Connect the accelerator to the 
	action now, only set the accel_path on the menuitem.
	(remove_proxy): Disconnect the accelerator from the action, not from
	the menuitem.
	(gtk_action_set_accel_group): Set the accel group. 
	(gtk_action_[dis]connect_accelerator): Count the number of times
	this functions have been called and install/remove the accelerator if
	the count leaves/reaches zero.

	* gtk/gtkuimanager.h (GtkUIManagerItemType): Add 

	* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
	(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
	<accelerator> elements.
	(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
	(update_node): Set the accel group on actions before creating their
	proxies. Don't set the accel group on created menus. For 
	NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
	(print_node): Also emit <accelerator> elements.

	* tests/testmerge.c (dump_accels): Add a "Dump Accels" button. 

	* gtk/gtkuimanager.c (update_node): Robustness improvements.

2003-09-17  Matthias Clasen  <>

	* gtk/gtkuimanager.c (text_handler): Report unexpected character
	data as error from the GMarkup parser, otherwise things like
	gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) 
	pass unexpectedly.

Wed Sep 17 02:38:53 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
	committed redraw_on_allocate change.

Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <>

	* gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
	stubs to fix compilation

	* gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
	when shadowfb is disabled. Patch from (#120847).

	* gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
	variable. Patch from Marc Welz (#121347).

2003-09-16  Matthias Clasen  <>

	* gtk/gtkaction.h: Apply egtk-format-protos.

2003-09-15  Matthias Clasen  <>

	* gtk/gtkuimanager.c: Doc tweaks.

	Smart separators; see
	* gtk/gtkuimanager.c (update_smart_separators): New function which 
	implements "smart" separators by iterating once over the entries of a 
	menu, hiding and showing separators as necessary.
	(update_node): Mark separators used as fences of placeholders as
	hidden. Explicitly added separators are marked as smart. Call 
	update_smart_separators after updating a menu or toolbar node. 
	Connect update_smart_separators to "notify::visible" signal on menu
	and tool items.
	* tests/merge-[12].ui: Test smart separators.

	Changes to allow setting action state before connecting signal; see
	the thread starting at
	* gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
	(gtk_action_group_add_radio_actions_full): Add value parameter to allow
	setting the currently selected group member before connecting signals.
	(GtkToggleActionEntry): Separate struct for constructing toggle actions,
	including a boolean to initialize the action state before connecting
	(gtk_action_group_add_toggle_actions_full): New functions to construct
	toggle actions from an array of GtkToggleActionEntries.

	* demos/gtk-demo/appwindow.c: 
	* tests/testactions.c: 
	* tests/testmerge.c: Adjust to new action group API.

Sun Sep 14 16:59:52 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow 
	"gtk-toolbar-arrow" so themes can special-case it.

Sun Sep 14 16:07:49 2003  Soeren Sandmann  <>

	* gtk/ (gtk_c_sources): sort the list of files.

Sun Sep 14 15:49:00 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
	PangoFontMetrics. Patch from Steve Chaplin (#122257).

2003-09-14  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
	special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
	the usefulness of which was already in doubt. Removing it fixes
	bugs #118575 and #121851.

Fri Sep 12 16:32:53 2003  Jonathan Blandford  <>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
	pressed button (used to determine if we want to initiate a drag later
	on) if the current grab widget is either NULL or tree_view (Reported
	by Jeroen Zwartepoorte).

2003-09-12  Matthias Clasen  <>

	* gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) 
	(gdk_draw_text_wc): Add deprecation notes.  (#121955, Martin Pool)

2003-09-11  Matthias Clasen  <>

	* gdk/gdkpango.c: Doc tweaks.

	* tests/testgtk.c: Add table menu tests.

	* gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the 
	GtkMenuPrivate struct itself. Pointed out by valgrind.

	* gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up 
	properly.  (#121998)

Wed Sep 10 22:25:04 2003  Kristian Rietveld  <>

	The table menu patch! Turns GtkMenu into a table, so you can attach
	menu items in numerous new ways! Be creative!

	Contains some bug fixes and RTL adaptions from Matthias Clasen.

	* gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
	GtkMenuPrivate, introduce AttachInfo, add child properties enum,
	(gtk_menu_free_private), (gtk_menu_get_private): we have to free
	the heights array in the private struct,
	(gtk_menu_class_init): reorder code a bit, install child properties,
	(get_attach_info), (get_child_attach): new utility functions,
	(gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
	child properties, for the attach info,
	(gtk_menu_remove): remove AttachInfo from menu item,
	(gtk_menu_real_insert): implemented algorithm to automagically place
	inserted menu items at the correct place in the table,
	(gtk_menu_size_request), (gtk_menu_size_allocate),
	(compute_child_offset): reworked/rewritten to support table menus,
	(gtk_menu_attach): new function,
	(find_child_containing), (gtk_menu_move_current): new functions to
	get table menu keynav right.

	* gtk/gtkmenu.h: add gtk_menu_attach() prototype.

2003-09-10  Matthias Clasen  <>

	* gtk/gtksocket.c (gtk_socket_filter_func): Only remove 
	PropertyNotify events from the stream if they have been handled,
	in order to enable extending the plug<->socket communication via

Wed Sep 10 01:06:44 2003  Kristian Rietveld  <>

	Big TreeView DnD fixage, makes drops on empty models work, makes
	TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
	Related bugs #95362 and #113314. I don't want to touch this code
	ever again.

	* gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.

	* gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
	for selection_data->length.

	* gtk/gtktreeview.c (struct DestRow), (dest_row_free),
	(set_dest_row), (get_dest_row): we don't store just the row ref
	anymore, but a struct with the row ref and additional info,
	(set_destination_row): handle drops on empty space and some
	style fixes,
	(get_logical_dest_row): also return path_down_mode/drop_append_mode
	flags, handle dropping childs on their new parents, rewrite
	drop append handling into something saner,
	(gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
	(gtk_tree_view_drag_drop): updates for updated backend,
	(gtk_tree_view_drag_data_received): updates for updated backend,
	path down mode (treestore DnD) handling,
	(gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
	when we are trying to drop a row on an empty model,
	(gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received),
	(gtk_list_store_row_drop_possible): style and drop-append fixes.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.

2003-09-08  Alexander Larsson  <>

	* gtk/gtkeventbox.[hc]:
	Implement gtk_event_box_get/set_input_only()
	* tests/testgtk.c:
	Tests for the new input only event boxes

Mon Sep  8 21:44:20 2003  Kristian Rietveld  <>

	Fixes from David Hampton <> via gtk-devel-list.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
	the call to gtk_tree_model_filter_add_root,
	(gtk_tree_model_filter_row_changed): bail out if c_path is not above
	the virtual root, allow building levels on the second try to convert
	the child path to a filter path,
	(gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
	root when calling gtk_tree_model_filter_elt_get_path.

2003-09-07  Matthias Clasen  <>

	* gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
	Josh Beam)

	Fixes for accelerator handling during (un)merging:
	* gtk/gtkuimanager.c (update_node): Move setting info-action
	after the switch, since the old action is needed in some cases.
	In cases of proxy type mismatch, disconnect the old proxy from
	the old action.

	* gtk/gtkaction.c (remove_proxy): Renamed from 
	gtk_action_remove_proxy(). Move unsetting of the accelerator
	here from disconnect_proxy() in order to catch all cases of 
	removing a proxy.
	(gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
	to fail if proxy isn't a proxy of action.

2003-09-07  Pablo Saratxaga  <>

	* Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to

2003-09-07  Matthias Clasen  <>

	* gtk/gtkaction.c (disconnect_proxy): Make disconnect work
	for toolitems.

2003-09-06  Matthias Clasen  <>

	* gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from 
	prev_action, not from action.  (Fix by David Hampton)

Fri Sep  5 14:15:10 2003  Owen Taylor  <>
	* Back out locale-dependent interpretation of
 	KP_Decimal, the official XFree86 interpretation
 	is that KP_Decimal => . KP_Separator => ,
 	always, independent of locale. 
 	(#105161, Frederic Crozat,
2003-09-04  Matthias Clasen  <>

	* tests/testmerge.c: Test buttons and toggle buttons as proxies.

	* gtk/gtktoggleaction.c (connect_proxy): 
	(gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note 
	that a "draw_as_radio" property is needed for check buttons similar to 
	check menu items, in order to fully support button proxies for radio actions.

	* gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.

	* tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). 

	* gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
	'type' argument of gtk_ui_manager_add_ui().

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
	to make this function as powerful as the XML methods of adding UI.  (#120647)

Thu Sep  4 19:11:23 2003  Kristian Rietveld  <>

	Merge from stable.

	* docs/RELEASE-HOWTO: updates.

2003-09-04  Matthias Clasen  <>

	* tests/merge-2.ui: Use "position" instead of "pos".

	* gtk/gtkuimanager.c (start_element_handler): No need 
	to be terse: Change the name of the "pos" attribute
	to "position".

2003-09-04  Matthias Clasen  <>

	* gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and 
	GtkUIManagerNode to shorten the names and to make the
	GTK_UI_MANAGER_<TYPE> names available for a public enum.

	* gtk/gtkactiongroup.c:
	* gtk/gtkuimanager.c: Various doc tweaks.	

	* gtk/gtkuimanager.c (start_element_handler):
	(end_element_handler): Improve error reporting. 

Wed Sep  3 23:18:17 2003  Kristian Rietveld  <>

	Merge from stable.

	* gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
	use end_position - page_size instead of G_MAXINT, since
	gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
	reported by Havoc Pennington).

Wed Sep  3 21:58:03 2003  Kristian Rietveld  <>

	Merge from stable.

	* gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
	unref it. (Fixes memleak, patch from Kjartan Maraas).

Wed Sep  3 21:38:26 2003  Kristian Rietveld  <>

	* gdk/, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
	gdk-pixbuf/io-gif.c, gtk/, gtk/gtkcalendar.c,
	gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
	gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
	gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
	gtk/gtktypeutils.h: big patch from Kjartan Maraas
	to fix numerous typos.

Wed Sep  3 17:38:01 BST 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Correct compile line for threads example.

2003-09-02  Tor Lillqvist  <>

	* gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
	CloseHandle() on the HMODULE returned from GetModuleHandle().
	Didn't cause any harm, but didn't do anything useful either. When
	running a GTK+ program under MS's debugger, the CloseHandle() call
	would cause a "first-chance exception" in ntdll.dll to show up.
	(The exception is caught appropriately if you let it proceed, but
	it confuses the person using the debugger). Thanks to Bruce
	Hochstetler for noticing.

Tue Sep  2 21:01:19 2003  Kristian Rietveld  <>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
	to only select when button 1 is pressed introduced in the fix of
	bug #120187.

2003-09-02  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.

	* gtk/gtkuimanager.c: Shorten the names of some static 

	Support adding and removing merge nodes dynamically (#120647, 
	Anders Carlsson):
	* gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed 
	gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id 
	and made it public.
	(gtk_ui_manager_add_ui): New function to add UI elements
	without juggling XML fragments, currently restricted to menuitems,
	toolitems and separators. Actions still come from registered 
	action groups.

Mon Sep  1 19:39:14 2003  Soeren Sandmann  <>

	* gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
	background pixmap was being offset twice, once by the ts_origin in
	gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().

2003-09-01  Matthias Clasen  <>

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
	this public again, since it's occasionally useful.  (#121128,
	Marco Pesenti Gritti)

	* gtk/gtkaction.c: Add an "is_important" property and propagate
	it to toolitem proxies.  (#121058, Marco Pesenti Gritti)

Mon Sep  1 00:32:30 2003  Soeren Sandmann  <>

	* tests/testtoolbar.c (main): connect to "delete_event" so the
	application will actually quit when you close the window

2003-09-01  Matthias Clasen  <>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget) 
	(gtk_ui_manager_get_action): g_return_if_fail() if
	path is NULL.
	(gtk_ui_manager_get_node): Avoid a segfault if path is empty.
	(gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, 
	Marco Pesenti Gritti)

2003-08-31  Matthias Clasen  <>

	* gtk/gtktoolitem.c: Fix some typos in docs.

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
	replaces gtk_ui_manager_activate().  (#120658)

	* tests/testmerge.c: Use gtk_ui_manager_get_action() instead of

	* gtk/gtkaction.c: 
	* gtk/gtkactiongroup.c: Some doc tweaks.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway. Some doc tweaks.

2003-08-30  Matthias Clasen  <>

	* tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
	rather than to "remove" on handlebox. 

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
	activate an action found by following a path.  (#120658)

	* tests/testmerge.c: Add a button to test gtk_ui_manager_activate().

	* tests/testmerge.c (add_widget): Put toolbars in handleboxes.

	* gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with 
	setter and getter. If it is set, add tearoff menu items to regular 
	menus, but not to popups. Add a signal "changed", which gets emitted
	when the merged ui has changed.  (#120649, #120656)

	* tests/testmerge.c: Add button to test the generation of tearoff 
	menu items.

2003-08-29  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
	Actually group the actions together rather than putting each in its 
	own group.

	* gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on 
	proxy menu items for radio actions.

	* gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.

Fri Aug 29 21:40:01 2003  Soeren Sandmann  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
	Fix use of uninitialized variable.

	* gtk/gtktextutil.c
	(_gtk_text_util_append_special_char_menuitems): add const cast to
	get rid of warning

2003-08-29  Matthias Clasen  <>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install 
	"draw_as_radio" as a separate property, not as an alias of 
	(gtk_check_menu_item_set_property): Also support "draw_as_radio".

Fri Aug 29 20:32:07 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
	are narrower than 13 time the estimated character width of the
	font. (#107781, David Bordoley)

	* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
	here if the GtkToggleButton is active. This may be the case if it
	is a radio button.

	* gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
	vs. void (*) (GtkWidget, gpointer). (#107495, Mariano

	* gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
	property. (#111207, David Bordoley).

	* gtk/gtktoggletoolbutton.c
	(gtk_toggle_tool_button_create_menu_proxy): use new
	"draw_as_radio" property on the menu item when the item is a radio
	tool button

	* gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
	to only pay attention to the "use_underline" property when the
	button label comes from the "label" property.

2003-08-29  Laurent Dhima  <>

	* Added "sq" to ALL_LINGUAS.
2003-08-28  Matthias Clasen  <>

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
	fix in the docs.

	* gtk/gtkuimanager.c: Change the XML format:
	<Root> element is replaced by <ui>,
	<menu> element is replaced by <menubar>,
	<submenu> element is replaced by <menu>,
	<dockitem> element is replaced by <toolbar>,
	<popups> element is gone,
	verb attribute is replaced by action,
	name defaults to action or the element name. 

	* gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by 
	GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified 
	by removing the user_data, entry_type and extra_data fields, 
	GtkRadioActionEntry is further simplified by removing the callback. 
	The user_data can now be specified as an argument to 
	gtk_action_group_add_actions(). There is a new method 
	gtk_action_group_add_radio_actions(), which is similar to 
	gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
	and a callback parameter in addition to the user_data. The callback
	is connected to the ::changed signal of the first group member.
	There are _full() variants taking a GDestroyNotify of 

	* gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted 
	on every member of the radio group when the active member is changed. 
	Add an integer property "value", and a getter for the value of "value"
	on the currently active group member. 

	* tests/testactions.c: 
	* tests/testmerge.c: 
	* tests/merge-[123].ui:  
	* demos/gtk-demo/appwindow.c: Adjust to these changes.

	* gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.

2003-08-27  Anders Carlsson  <>

	* demos/gtk-demo/appwindow.c (do_appwindow): Focus the
	text view, so the tool bar won't have focus.

Tue Aug 26 09:57:38 2003  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
	declaration not at start of block. (#120371, Damien Carbery)

2003-08-26  Matthias Clasen  <>

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize 
	for length, not gsize.

	* gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to 
	<ui> and make it optional in strings. Rename verb to action, <dockitem> 
	to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.

	* demos/gtk-demo/appwindow.c: 
	* tests/testactions.c: 
	* tests/testmerge.c:
	* tests/merge-1.ui:
	* tests/merge-2.ui:
	* tests/merge-3.ui: Adjust to the new XML format.

Mon Aug 25 19:55:55 2003  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_update_layout_width): 
	Since we add one to the layout's reported width to
	account for the cursor, we need to subtract one when
	setting the wrap width for the layout. (Fixes infinite
	loop (#120325, Frederic Crozat)

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
	Be a bit more careful about rounding when converting
	wrapped width from Pango units to pixels.

2003-08-26  Matthias Clasen  <>

        Rename GtkMenuMerge to GtkUIManager. 
	* gtk/gtkuimanager.[hc]: New files. 
	* gtk/gtkmenumerge.[hc]: Removed. 

	* gtk/ 
	* gtk/gtk.h:
	* tests/testmerge.c: 
	* tests/testactions.c: 
	* demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by 

	* demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: 
	add comments to entries array, remove newlines from ui definition. Don't 
	use the ::add_widget signal.

Mon Aug 25 17:28:04 2003  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_forall): Don't
	include page->menu_label - causes various problems,
	including #12047.

Mon Aug 25 23:21:43 2003  Kristian Rietveld  <>

	Merge from stable.

	Fixes #115871, reported by Michael Natterer.

	* gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
	added ctrl_pressed and shift_pressed bitfields,
	(_gtk_tree_selection_internal_select_node): replace GdkModifierType
	arg with GtkTreeSelectMode.

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
	(gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
	(_gtk_tree_selection_internal_select_node): all updated for
	GdkModifierType -> GtkTreeSelectMode move.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
	and shift_pressed around selection handling block,
	(gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
	instead of checking the event state. And also updates for the
	GdkModifierType -> GtkTreeSelectMode move.

Wed Aug 20 21:26:49 2003  Owen Taylor  <>

	* gtk/gtkplug.c (gtk_plug_focus): Send the focus on
	to the parent when there was no focus widget before
	and no focus widget after - that is, when there are
	no focusable widgets. (#108678, help tracking it
	down from Padraig O'Briain, Federico Mena Quintero, )

	* gtk/gtkxembed.[ch]: Move various shared utilities
	for the XEMBED protocol eused by GtkPlug and GtkSocket 

	* gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
	a flag bit that is sent with focus mesages to indicate
	that the focus has wrapped around on the toplevel;
	use this bit to catch infinite loops when there is no
	focusable widget at ll in the entire toplevel.

	* tests/testsocket.c (child_read_watch): Remove an
	extraneous unref.

	* gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: 
	Up XEMBED protocol version to 1, add logic for 
	sending the right version in XEMBED_EMBEDDED_NOTIFY.

	* gtk/gtksocket.c (gtk_socket_add_window): Send
	the embedder window in the XEMBED_EMBEDDED_NOTIFY
	as the spec requires.

Mon Aug 25 16:15:41 2003  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c: Fix up CapsLock and 
	NumLock handling for non-XKB. Add a special case
	hack for NumLock on Sun servers. (Patch from
	Robert Basch, #115819)

2003-08-25  Matthias Clasen  <>

	* gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten 

	* gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
	gtk_action_group_set_translation_domain): Hooks for translation of
	label and tooltip in GtkActionGroupEntries.  (#120620)

2003-08-25  Matthias Clasen  <>

	* gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
	values properly. Sorry about the resize grip trouble, Owen.  (#120621)
	* gtk/gtkactiongroup.c: 
	* demos/gtk-demo/appwindow.c: 
	* tests/testmerge.c: 
	* tests/testactions.c: Use new GtkActionGroupEntryType enum.  

Sun Aug 24 17:14:44 2003  Owen Taylor  <>

	* gtk/gtk.h: Remove reference to gtkresizegrip.h.

Sun Aug 24 17:03:44 2003  Owen Taylor  <>

	* gtk/ Fix accidental commit of references
	to gtkresizegrip.[ch]

Sun Aug 24 17:00:03 2003  Owen Taylor  <>

	* gtk/gtkrc.c: Fix some missing initializations of

2003-08-24  Matthias Clasen  <>

	* gtk/gtkaction.[ch]: 
	* gtk/gtktoggleaction.[ch]: 
	* gtk/gtktoggleactionprivate.h: 
	* gtk/gtkradioaction.[ch]: 
	* gtk/gtkactiongroup.[ch]: 
	* gtk/gtkmenumerge.[ch]: A model-view separation for menus and
	toolbars, using the EggMenu code by James Henstridge.

	* gtk/gtk.h: Include new headers.
	* gtk/ Add new files.

	* tests/testactions.c: Test for actions.
	* tests/testmerge.c: Test for menu merging.
	* tests/merge-[123].ui: Test data for testmerge. 
	* tests/ Add testactions and testmerge.

	* demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the 
	menubar and toolbar.
Sat Aug 23 21:40:18 2003  Owen Taylor  <>
 	* gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix 
 	problem where rc_file->directory wasn't always getting
	set. (#120549, Luis Villa)
2003-08-22  Christian Rose  <>

	* Added "ne" to ALL_LINGUAS.

Thu Aug 21 16:00:36 2003  Owen Taylor  <>
 	* gtk/gtkrc.c: Keep a list of current GtkRcFiles
 	being parsed, not just the directories for those
 	files. Use that to catch recursion. (Part of
Thu Aug 21 21:27:45 2003  Kristian Rietveld  <>

	Merge from stable.

	Fix option menu scrolling (#119821, Owen Taylor).

	* gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
	by #80484 and the CLAMP,
	(get_menu_height): new function,
	(gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
	new_offset to handle page up/down right.

Thu Aug 21 15:17:42 2003  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c: Change the interpretation
	of consumed_modifiers so that it contains:
	 - Modifiers combinations actually found in
	 - Single modifier modifier combinations.
	But not multi-modifier combinations that aren't
	in event->state. Document. (#100439)

Thu Aug 21 20:53:46 2003  Kristian Rietveld  <>

	Slightly modified patch from Yann Rouillard to improve selection
	behavior with the mouse. Fixes #120187.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only
	select/deselect items on the first button press of button 1,
	expand checks for row_activated to include triple clicks.

Thu Aug 21 01:33:51 2003  Kristian Rietveld  <>

	Merge from stable.

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
	approximate digit widths up, to avoid truncation, convert to
	pango pixels when we have the full string width instead of converting
	the approx digit width to pango pixels, take inner border and
	interior focus into account correctly. (Fixes #116368, patch from
	Morten Welinder).

2003-08-20  Noah Levitt  <>

	* gtk/queryimmodules.c: Don't look at the same directory twice (in
	simple cases). (#120342)

Wed Aug 20 22:04:47 2003  Soeren Sandmann  <>

	* gdk/gdkwindow.c: Make the layers in the paint stack have their
	own pixmap instead of sharing one. (#118317)

	* tests/testgtk.c (create_get_image): Fixes to make the window fit
	on an 800x600 screen

Wed Aug 20 22:03:25 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtkspinbutton.c (start_spinning): change the type of step
	to gdouble, since it gets it's data from a gdouble (Fixes #113547).

Mon Aug 18 17:19:12 2003  Owen Taylor  <>

	* modules/input/gtkimcontextxim.[ch]: Substantially
	rework the handling of status windows:
	 - Store the current StatusWindow in the 
	   GtkIMContextXIM structure and vice-versa, so we
	   don't have to hunt the window hierarchy on
	 - Use the Gtkidget hierarchy instead of/or as well
	   as the GdkWindow hierarchy when finding the toplevel;
	   this helps for things like GtkHandlebox
	 - Watch GtkWidget::hierarchy_changed to catch 
	   changes in the toplevel without changes in the
	   GdkWindow (reparenting)
	 - Never create the GtkWindow for the status window
	   unless we have text to display.
	 - Various cleanups, add lots of comments.

	(#115077, much help from Takuro Ashie and Hidetoshi
	Tajima in tracking this down and figuring out a fix.)

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): 

	* modules/input/gtkimcontextxim.c: Track the current
	screen for each toplevel so that we show the status
	window on the right screen. (#116340, James Su)

	* modules/input/gtkimcontextxim.c: If create a new IC
	when we currently have the focus, call XSetICFocus()
	on it.
	* modules/input/gtkimcontextxim.c (get_im): Fix bug
	with multiple open screens.

Tue Aug 19 14:37:46 2003  Owen Taylor  <>

	* gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): 
	Replace client_window field with 'priv' pointer,
	retaining binary compatibility.

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): 
	save use_preedit/cursor_location/focus status and set
	up the new slave appropriately. (#118651, Botond Botyanszki)

Tue Aug 19 13:58:50 2003  Owen Taylor  <>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
	Don't use impl->position_info.clip_rect for toplevels.
	(#107068, reported by Thomas Mirlacher)

Mon Aug 18 11:48:51 2003  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (convert_to_format): 
	Add a fallback for unaligned source data for
	FORMAT_ARGB_MASK. (#117217)

Mon Aug 18 10:51:57 2003  Owen Taylor  <>

	* Rework handling of REBUILD_PNGS,
	so that we also don't try to REBUILD_PNGS when
	cross-compiling and there is no gdk-pixbuf-csource.
	But give an error if gtk/stock-icons/gtkstockpixbufs.h
	is not in the source tree. (Note that REBUILDS_PNG
	was set backwards before, which is why you always
	had to manually recreate gtkstockpixbufs.h!)

Mon Aug 18 10:19:55 2003  Owen Taylor  <>

	* Add a missing gtk/ in the
	path to (#120080, Benedikt Spranger)

Sat Aug 16 10:34:49 2003  Owen Taylor  <>

	* modules/input/imcedilla.c: Make the list of default
	languages more comprehensive. (Suggestion of
	Fco. Javier F. Serrador)

Sat Aug  9 12:47:11 2003  Owen Taylor  <>

	* gdk/gdk.c (gdk_arg_context_parse): Fix broken 
	parentheses when skipping args.

Sat Aug 16 16:22:23 2003  Kristian Rietveld  <>

	Fix major bug in row ref handling, so the new combo box
	will actually work right (:. Bug #107748. Patch written
	with help from Tim Janik.

	The basic idea is to update the row refs in a closure,
	before the actual signal is emitted (rather than having
	the model connect signal handlers).

	* gtk/gtktreemodel.c (gtk_tree_model_base_init): change
	g_signal_new calls for row_inserted, row_deleted and
	rows_reordered to use the new marshallers,
	(row_inserted_marshall), (row_deleted_marshall),
	(rows_reordered_marshall): the new marshallers,
	(gtk_tree_row_ref_inserted_callback): renamed to
	gtk_tree_row_ref_inserted since it isn't a callback
	anymore and gets called by the marshaller now,
	(gtk_tree_row_ref_deleted_callback): likewise,
	(gtk_tree_row_ref_reordered_callback): likewise,
	(connect_ref_callbacks), (disconnect_ref_callbacks):
	(gtk_tree_row_reference_reordered): updated.

Fri Aug 15 16:54:39 2003  Owen Taylor  <>

	Improve Cedilla handling - based on a patch from Gustavo 
	De Nardin, #111334

	* modules/input/imcedilla.c po/ Input method that 
	produces C_WITH_CEDILLA rather than C_WITH_ACUTE for 
	dead_acute+c combinations. Make this the default for
	fr and pt.

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): 
	Use LC_CTYPE instead of LC_MESSAGES to pick the default
	input method.

Fri Aug 15 17:00:19 2003  Owen Taylor  <>

	* gtk/gtkimcontextsimple.c: Fix missing compose sequence
	for Multi_key+c+apostrophe.

Fri Aug 15 21:57:34 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
	on vertical scrolling. (#108035, reported by Tim Janik).

Fri Aug 15 20:06:42 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
	(gtk_tree_model_sort_insert_value): fix off-by-one error.
	(#109292 continued, patch from Yann Rouillard).

Fri Aug 15 19:43:14 2003  Kristian Rietveld  <>

	(Note: This is not exactly the same as the patch which went in

	* gtk/gtktreeview.c (gtk_tree_view_class_init),
	(gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
	Also support the up, down, left, right, home, end, page up and
	page down keys on the numpad. (#119419, reported by Alex Larsson).

Fri Aug 15 12:34:04 2003  Owen Taylor  <>

	Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):

	* (GDK_DEP_LIBS_FOR_X): Make sure that
	we link libgtk against X explicitely, since we
	make GTK+ calls for plug/socket.

	* gtk/queryimmodules.c: Use USE_LA_MODULES and 

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
	XShmPutImage with #ifdef USE_SHM.

Thu Aug 14 18:25:39 2003  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_populate):
	Don't reposition the cursor when we aren't trying
	to complete. (Fixes problems with selection on
	startup, #108433, reported by Mark Finlay.)

	* gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
	code that tried to position the cursor after the common
	prefix when there was one, it wasn't working, and
	would be hard to fix. Just always put the cursor
	at the end when completing.

Thu Aug 14 17:58:23 2003  Owen Taylor  <>

	* gtk/gtkfilesel.c (get_current_dir_utf8): If getting
	the current directory fails because of encoding
	conversion problems, walk up textually to parent
	directories until we can convert. (#113627)

Wed Aug 13 17:01:49 2003  Owen Taylor  <>

	* gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
	Remove usage of menu_shell->ignore leave which was
	to deal with stray events we no longer get because
	we do grabbing differently. Comment it as unused in
	the header. (#115837, Keith Bissett)

Wed Aug 13 16:32:43 2003  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): 
	Fix some places that weren't properly Xinerama-ified.

	* gtk/gtkmenu.c: Fix problem with windows that scroll
	at the top of the screen.

Wed Aug 13 11:34:53 2003  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_init): connect_after() to 
	key-press-event on the entry, so input methods get access to 
	key presses before GtkCombo customization.
	(#115451, Botond Botyanszki)

2003-08-13  Anders Carlsson  <>

	* tests/testtoolbar.c: (set_important_func), (important_toggled),
	Add an important column.
Tue Aug 12 15:00:15 2003  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
	against reentrancy from ::focus-out handlers. 
	(#118129, Felipe Heidrich)

Tue Aug 12 14:27:42 2003  Owen Taylor  <>

	* gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
	GDK_LOCK_MASK before calling
	gdk_keymap_translate_keyboard_state so bindings 
	and accelerators are independent of the Caps-lock
	key. (#115384, reported by Toni Willberg)

Mon Aug 11 12:07:14 2003  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (get_real_window): Add missing
	break statements (#119494, Soeren Sandmann)

Mon Aug 11 11:10:07 2003  Owen Taylor  <>

	* gtk/gtkwidget.h: Mark parent public as well; it's
	extensively accessed in existing code, so there is
	no advantage in making people use get_parent().
	(Tweak to #119463 fix)

2003-08-11  Matthias Clasen  <>

	Add support for EWMH "Above" and "Below" window states.  (105100,
	Manuel Clos)
	* tests/testgtk.c: Add "Above" and "Below" to the the "Window
	State" demo.

	* gtk/gtkwindow.h: Add gtk_window_set_keep_above and

	* gtk/gtk.def: Add gtk_window_set_keep_above and

	* gtk/gtkwindow.c (gtk_window_set_keep_below):
	(gtk_window_set_keep_above): New functions, call the corresponding
	gdk functions.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New
	function, sets _NET_WM_STATE_BELOW.
	(gdk_window_set_keep_above): New function, sets

	* gdk/gdkwindow.h: Add gdk_window_set_keep_above and

	* gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and

	* gdk/gdk.def: Add gdk_window_set_keep_above and

	* acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
	JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
	xmlcatalog in PATH.  (#119115)

2003-08-10  Matthias Clasen  <>

	* gtk/gtkwidget.h (struct _GtkWidget): Mark some members as
	public.  (#119463)

2003-08-09  Noah Levitt  <>

	* gdk/gdkevents.h:
	* docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
	docs on GdkFilterFunc and GdkFilterReturn.

2003-08-09  Matthias Clasen  <>

	* gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
	to let the mouse wheels select the month. Scrolling down
	moves forward in time. (#53134, Abigail Brady) 

	* gtk/gtkcalendar.c: Complete the RTL flipping support for
	GtkCalendar, make it possible to flip the headings using the
	"magic translated string" technique.  Translators, note the
	comment in gtk_calendar_init() explaining this.  (#102416)

	* gtk/gtkcalendar.c: Get the information about the first day of
	the week from the locale using another instance of the "magic
	translated string" technique.  Ignore the display option
	GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)

	* gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected
	date is dragged as text, formatted via strftime %x. Text drops are
	accepted if g_date_set_parse() can make sense of the text. A
	dedicated data format for date DND has not been introduced yet,
	since there didn't seem to be sufficient consensus on such a
	format on xdg-list.  (#117297)
2003-08-08  Matthias Clasen  <>

	* gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach):
	Fix a segfault.  (#115284, Jan Kratochvil)

2003-08-08  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (print_event): Print also the root
	coordinates for events that have such. Print coordinates for enter
	and leave events.

	(gdk_event_translate): Don't use event uninitialixed in the
	return_exposes branch of the WM_PAINT handler.

	* gdk/win32/gdkwindow-win32.c (gdk_window_new,
	_gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): 
	Must offset top-level window coordinates here, too.

2003-08-08  Matthias Clasen  <>

	* demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip
	when maximized or fullscreen.

2003-08-07  Tor Lillqvist  <>

	* gdk/win32/gdkinput-win32.h
	* gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
	_gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
	accordingly, in fact an uninitialised variable was dereferenced.

	[Win32] Add support for multiple monitors. 
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: New global variables for
	multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
	_gdk_offset_x and _gdk_offset_y.
	* gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
	functions, enumeration functions passed to EnumDisplayMonitors().

	(gdk_display_open): If the EnumDisplayMonitors() and
	GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
	if to find out monitor info.

	Calculate the offset between Win32 coordinates (relative to the
	primary monitor's origin (and thus negative on monitors to the
	left of or above it), and GDK's (visible coordinates should be
	* gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
	gdk_screen_get_monitor_geometry): Use information collected above.

	(gdk_window_move, gdk_window_move_resize_window_get_geometry):
	Subtract _gdk_offset_{x,y} from GDK root window coordinates.

	(gdk_window_get_geometry, gdk_window_get_origin,
	gdk_window_get_frame_extents): For top-level windows, add
	_gdk_offset_{x,y} to GDK root window coordinates

	Still need to handle multiple monitors in
	gdk_window_fullscreen(). Probably should make the window
	fullscreen on the monitor where the cursor is?

	* gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
	root window coordinates in GdkEvents.

	[Win32] Fix geometry hint handling. Add support for resize
	increment and base size, and aspect ratio geometry hints. The
	"gridded geometry" test in testgtk now works beautifully.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Turns out this function shouldn't actually ever modify the
	window's size, just store the hints. (Old code kept for a while
	inside #if 0.)

	(gdk_window_set_hints): Remove presumably broken code that handles
	the position hints, this function is obsolete anyway.

	* gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
	variables, not used.

	(adjust_drag): New function, used to implement resize increment

	(gdk_event_translate): Handle WM_SIZING, implement resize
	increment and base size, and aspect ratio geometry hints here. The
	WM_GETMINMAXINFO handler takes care of the minimum and maximum
	size hints as before. Fix the WM_GETMINMAXINFO handler to take
	into account window decorations. No need to modify the
	ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
	the defaults are fine.
	* gdk/win32/gdkprivate-win32.h 
	* gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
	_gdk_win32_get_adjusted_client_rect): New helper functions.

2003-08-07  Matthias Clasen  <>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the
	toplevel->have_* flags before iterating over the _NET_WM_STATE 
	atoms.  (#119217) 

Thu Aug  7 16:49:29 2003  Owen Taylor  <>
 	* gtk/gtkwidget.c (gtk_widget_set_style_internal): 
 	Fix a bug where on theme change, resize/redraw wasn't
 	properly getting queued on toplevel windows. (#116346,
 	Rajkumar Siva)
 	* gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): 
 	Fix bug where wrong coordinates were used for toplevel
Thu Aug  7 16:40:21 2003  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
	page_num variable (Archit Baweja)

2003-08-07  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to
	cope with C libraries with crippled locale support.  (#115293)

2003-08-07  Hans Breuer  <>

	* gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
	(only if the new window not known to Gdk) to get proper
	leave notification, and get rid of the wrong placed 
	tooltips, bug #102283
	(gdk_event_translate) : small code reordering to not get
	GDK_MOTION_NOTIFY for still mouse and get back tooltips on 
	menus, bug #117367

2003-08-07  Tor Lillqvist  <>

	* gdk/gdk.def
	* gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
	missing function, trivially implement.

2003-08-07  Matthias Clasen  <>

	* gtk/gtkctree.c (draw_row): Don't cut descenders when 
	rendering.  (#118646, Charles Kerr) 

2003-08-06  Hans Breuer  <>

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
	initialize bits to 0 (probably default on NT)

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
	now it works as intended ;-)

2003-08-04  Hans Breuer  <>

	* gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
	set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435

	* gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
	(gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
	against all expectations it is basically ony a call with WM_SETICON
	needed (the visual effect is there, though colors or mask are
	still somewhat wrong).
	* gdk/win32/gdkwindow-win32.h : place to store the HICON

	* gdk/win32/gdkdrawabke.win32.c : readded the conditional end
	pixel drawing as it was fixed at 1999-08-23

	gtk/gtk.def : updated

Tue Aug  5 10:07:08 2003  Owen Taylor  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): 
	Add a missing break. (#119156, Callum McKenzie)

Tue Aug  5 00:24:13 2003  Soeren Sandmann  <>

	* gtk/gtkmenu.c (gtk_menu_position): New positioning

Fri Aug  1 15:26:46 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
	* gtk/gtkradiotoolbutton.c
	(gtk_radio_tool_button_new_from_widget): Don't take a stock id

	* gtk/gtkradiotoolbutton.c
	(gtk_radio_tool_button_new_with_stock_from_widget): make this
	function take a stock_id.

	* gtk/toolbar: documentation

Mon Aug  4 14:53:46 2003  Owen Taylor  <>

	* gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): 
	Fix problem where use_xshm was getting set wrong if
	MIT_SHM wasn't found. (George Lebel)

2003-08-04  Tor Lillqvist  <

	* gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
	actually use the passed-in filter list. The function also needs a
	GdkWindow parameter, as filter functions expect
	GdkEvent::any.window to be valid. (#119034, Hans Breuer)

2003-08-03  Matthias Clasen  <>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): 
	(gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid
	the term "virtual screen".  (#119030, Tor Lillqvist)

2003-08-02  Matthias Clasen  <>

	* tests/testtext.c (test_init): 
	* tests/testgtk.c (test_init): 
	* tests/testdnd.c (test_init): 
	* demos/pixbuf-init.c (pixbuf_init): 
	* demos/gtk-demo/main.c (main): Use g_setenv().

	* gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use

Sat Aug  2 12:53:16 2003  Owen Taylor  <>

	* Requires glib-2.3.0, pango-1.2.0.

	* Require Xft version 2,
	remove code for handling older versions of pango and Xft.
	Many miscellaneous improvements to X checks

	* acinclude.m4: Add GTK_ADD_LIB() macro for adding 
	a library to a variable, avoiding dups.

	* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
	Always load "fixed"

	* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
	for pangox.

2003-08-02  Matthias Clasen  <>

	* gtk/gtkcolorsel.c (color_sample_drop_handle) 
	* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept
	drops with the wrong format, since the KDE color chooser incorrectly
	drops application/x-color with format 8.  (#118810)

	* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
	* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
	Accept drops with the wrong format, since the KDE color chooser 
	incorrectly drops application/x-color with format 8.  (#118810)

2003-08-02  Tor Lillqvist  <>

	Fix gdk/win32 window geometry handling again. The window position
	in a GDK_CONFIGURE event should be that of the client area, not of
	the window decorations. (I was confused by the term "window
	border" in X11. It does *not* mean the window manager
	decorations. There are no X11-style window borders in Win32.)
	Also, this time do take the geometry hints into account
	appropriately when moving windows. Now testgtk's gravity test's
	move buttons work OK. There are stil problems with taking gravity
	into account when showing a hidden window.

	* gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
	instead of separate fields.
	* gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
	adjust for decorations.

	* gdk/win32/gdkwindow-win32.c (get_outer_rect,
	adjust_for_gravity_hints): New functions.
	(gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
	above functions, take geometry hints into account.
	(gdk_window_set_geometry_hints): Size hints specicy client area,
	not including decorations.

Fri Aug  1 17:10:22 2003  Owen Taylor  <>

	* gtk/gtkfilesel.c (cmpl_completion_fullname): Always
	return an absolute path (#115590), fix a problem where
	you could crash the file selector with a looong name
	by returning a newly allocated buffer.

Fri Aug  1 16:44:51 2003  Owen Taylor  <>

	* gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
	bug in rarely or never hit code path (#118071,
	Tor Lillqvist)

Fri Aug  1 16:30:13 2003  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): 
	If the check for missing depths, try actually creating pixmaps
	of the depths to deal with Xinerama not reporting
	all the depths it should. (#115822)

Fri Aug  1 15:33:59 2003  Owen Taylor  <>

	* gtk/gtksocket.c: Patch from Denis Mikhalkin to
	forward KeyRelease events as well as KeyPress events.

Fri Aug  1 15:06:25 2003  Owen Taylor  <>
 	* gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
 	if argc is 0 as well, instead of leaving it unset.
 	(#116023, Michael Meeks)
Thu Jul 31 23:09:02 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
	default to TRUE; ignore the property when api_mode != NEW_API

2003-07-31  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf
	to icon, to pacify gtk-doc.

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion 

Thu Jul 31 15:33:33 2003  Soeren Sandmann  <>

	* gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem

Thu Jul 31 15:29:28 2003  Soeren Sandmann  <>

	* gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
	overflow_item field.

Wed Jul 30 21:11:13 2003  Soeren Sandmann  <>

	* gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
	an internal function

	* gtk/gtktoolitem.h: remove unused declaration of

Wed Jul 30 17:03:58 2003  Soeren Sandmann  <>

	* gtk/gtktoolbutton.[ch]:
	(gtk_tool_button_new): swap icon_widget and label arguments to
	match BonoboUIToolbarButton.

	* gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().

2003-07-30  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND
	signal docs. 

2003-07-29  Tor Lillqvist  <>

	Fix for #108007, #112402, #117042: There was confusion in
	gdk/win32 at various places whether a window position refers to
	the decoration position or the client area position. Also whether
	window size includes decorations or not.
	The correct interpretation apparently is that in GDK (like in
	X11), a top-level window position means the decoration's position,
	but size means the window's inner size (client area size). In the
	Win32 API, the window size usually includes the decorations,
	* gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
	(handle_configure_event): New function, generates GDK_CONFIGURE
	events from WM_SIZE and WM_MOVE messages. Even if no event is
	generated because of the event mask, still set the private
	position and size fields. Calculate position and size correctly.
	(gdk_event_translate): Call handle_configure_event().

	* gdk/win32/gdkgeometry-win32.c: Cosmetics.

	* gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
	macros. Cosmetic debugging output changes.
	(SafeAdjustWindowRectEx): Remove. If an application wants to
	locate a window outside of the screen, it's not GDK's business to
	prevent it. And anyway, with multiple monitors, negative
	coordinates are perfectly normal.
	(gdk_window_new): Adjust the window size for decorations after
	_gdk_window_init_position() has done its job. (But the big window
	code currently is presumably broken on Win32 anyway.)
	(gdk_window_move): The position passed in is supposed to be that
	of the window border, so don't need to adjust for decorations.
	(gdk_window_resize, gdk_window_move_resize): Simplify somewhat.

Tue Jul 29 13:55:44 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c (gtk_toolbar_set_style,
	gtk_toolbar_prepend_element, gtk_toolbar_append_element,
	gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
	gtk_toolbar_append_space, gtk_toolbar_insert_item,
	gtk_toolbar_prepend_item, gtk_toolbar_append_item,
	gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
	gtk_toolbar_new, gtk_toolbar_prepend_item):

	Move documentation inline from template files.

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element,
	gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
	gtk_toolbar_append_widget, gtk_toolbar_remove_space,
	gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
	gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
	gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
	gtk_toolbar_get_style, gtk_toolbar_get_orientation)

	Copy documentation from stable that was added after the EggToolbar

	* gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()

Mon Jul 28 18:21:34 2003  Soeren Sandmann  <>

	* gtk+/docs/: Commit autogenerated changes, so patches will make

2003-07-27  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
	the keyboard state returned by GetKeyboardState() doesn't
	distinguish between the left and right Control and Alt keys. Thus
	we cannot detect AltGr (which is supposed to be left Control +
	right Alt) the same way as on NT-based systems, but have to accept
	either Control + either Alt as AltGr.

2003-07-27  Matthias Clasen  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
	Fix function name in warning message.  (#118156, Tim-Philipp

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
	is-expander and is-expanded are boolean properties, not ints.
	(#118359, Josh Parsons)

Sat Jul 26 15:21:27 2003  Soeren Sandmann  <>

	* gtk/gtkimagemenuitem.c
	(gtk_image_menu_item_toggle_size_request): don't request
	toggle_space when the image width is 0.

2003-07-25  Tor Lillqvist  <>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
	and _gdk_keyboard_has_altgr.
	* gdk/win32/gdkevents-win32.c: Lots of changes. Most important
	ones detailled here.

	Code that has been ifdeffed out for a long time removed. Remove
	some really old doc comments that were left behind for some public
	functions, the official ones are in the X11 backend anyway. Change
	GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
	multi-line boolean expressions to have the operators at ends of

	As mouse capture with SetCapture() indeed seems to work OK, no
	need to have the correspoinding macro USE_SETCAPTURE and ifdefs.

	Ifdef out the gdk-ping-msg stuff. I don't remember why it was
	needed at some time, and things seem to work fine now without
	(knock on wood).

	Ifdef out the search for some Latin locale keyboard layout being
	loaded. Not used currently, but might be needed after all, if we
	decide that we want to be able to generate ASCII control character
	events with a non-Latin keyboard.

	(assign_object): New helper function, handles the g_object_ref()
	and unref() calls when assigning GObject pointers.
	(generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
	enter event when the pointer has moved to an ancestor window. Was
	left out by mistake.

	(gdk_window_is_ancestor): Renamed from gdk_window_is_child().

	(gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
	functionality, using ClipCursor().
	(find_window_for_mouse_event): Splice part of code into new
	function find_real_window_for_grabbed_mouse_event().

	(fixup_event, append_event, apply_filters): New functions, code
	refactored out from elsewhere.

	(synthesize_enter_or_leave_event, synthesize_leave_event,
	synthesize_leave_events,synthesize_enter_events): Also take a
	GdkCrossingMode parameter, in preparation to generating

	(fixup_event, append_event, fill_key_event_string): New functions,
	code refactoring.

	(vk_from_char, build_keypress_event, build_keyrelease_event):
	Removed as part of dropping WM_CHAR handling.

	(build_key_event_state,gdk_event_translate): Call
	GetKeyboardState(), once, for each keyboard message, instead of
	several calls to GetKeyState() here and there.

	(gdk_event_translate): Fix bugs #104516, #104662, #115902. While
	at it, do some major refactoring, and some fixes for potential
	problems noticed while going through the code.

	Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
	WM_KEYUP. Don't need the state variables related to whether to
	wait for WM_CHAR or not, and whether the current key is
	AltGr. Remove lots of complexity. Thus don't need the
	use_ime_composition flag.

	Not handling WM_CHAR means dead key handling will have to be taken
	care of by GTK, but that seems to work fine, so no worry.

	Another side-effect is that Alt+keypad digits don't work any
	longer, but it's better to learn to use GTK's ISO14755 support is

	Be more careful in checking whether AltGr is involved. Only
	attempt to handle it if the keyboard actually has it. And
	explicitly check for *left* Control plus *right* Alt being
	pressed. Still, allow (left) Alt and/or (right) Control with AltGr

	Handle keys using similar code as in the X11 backend. As we have
	built a keymap in gdkkeys-win32.c anyway, use it by calling
	gdk_keymap_translate_keyboard_state() to look up the keysym from
	the virtual key code and keyboard state. Build the key event
	string in exactly the same way as the X11 backend.

	If an IME is being used, don't generate GDK events for keys
	between receiving WM_IME_STARTCOMPOSITION and
	WM_IME_ENDCOMPOSITION, as those keys are for the IME.
	For WM_IME_COMPOSITION, handle all the Unicode chars returned from
	the IME, not just the first one.

	gdk_event_translate() is still quite complex, could split the
	message handler cases out into separate functions.

	On mouse events, when the mouse is grabbed, use
	find_real_window_for_grabbed_mouse_event() in order to be able to
	generate correct crossing events.
	No longer take a pre-allocated GdkEvent as parameter. Instead,
	allocate events as needed and append them to the queue. (This is
	different from how gdk_event_translate() in the X11 backend
	works.) This change made the code much clearer, especially in the
	cases where we have to generate several GDK events for one Windows
	message.  Return FALSE if DefWindowProc() should be called, TRUE
	if not. If DefWindowProc() should not be called, also return the
	value to be returned from the window procedure.

	(Previously, the interaction with gdk_event_translate()'s caller
	was much more complex, when we had to indicate whether the
	already-queued event should be left in the queue or removed, and
	in addition also had to indicate whether to call DefWindowProc()
	or not, and what value to return from the window procedure if

	Don't use a separate "private" variable required to be pointing to
	the GdkWindowObject of the "window" variable at all times. Just
	use casts, even if looks a bit uglier.

	Notice destroyed windows as early as possible, and break out of
	the messsage switch.

	Use _gdk_pointer_root as current_window when the pointer is
	outside GDK's top-level windows.
	On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
	appropriate, based on ImmIsIME().
	(gdk_event_translate, gdk_event_send_client_message_for_display,
	gdk_screen_broadcast_client_message): Implement client messages.
	Use a registered Windows message to pass GDK client messages. Note
	that the amount of user data is restricted to four bytes, as it is
	carried in the LPARAM. (The WPARAM is used for the message type
	(real_window_procedure): Adapt for new gdk_event_translate()

	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
	_gdk_input_locale_is_ime initially.

	* gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
	of g_colormap_ref()/unref().

	(gdk_window_new): Made code a bit more like the X11 one, pretend
	to handle screens (although we just have one for now).

	* gdk/x11/gdkevents-x11.c
	gdk_screen_broadcast_client_message): Document the user data
	limitation on Win32.

	* gdk/win32/gdkevents-win32.c (print_event): More complete enter
	and leave notify detail output.

	* gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
	visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
	for those, so that the GtkIMContextCimple compose tables will
	work. Deduce if the keyboard layout has the AltGr key, and set the
	above flag accordingly.

2003-07-26  Matthias Clasen  <>

	* gtk/gtkwidget.c: Document DND signals.

2003-07-24  Matthias Clasen  <>

	* gtk/gtktextview.c (popup_targets_received): Make the "Input Methods"
	insensitive when editing isn't possible.  (#118150)

2003-07-23  Matthias Clasen  <>

	* gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue 
	spinbutton wrap.  (#118097, John Darrington)

	* docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 

2003-07-20  Hans Breuer  <>

	* makefile.msc : new file to build it all
	* : ... added to EXTRA_DIST

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

	* gdk/gdk.def gtk/gtk.def : export a bunch of new 

	* gtk/gtkbbox.c : use g_return_val_if_fail() if
	there is a value to return

	* gtk/gtkfontsel.c gtk/gtkiconfactory.c :
	static correctness

	* gtk/gtkicontheme.c : ported to use GTimeVal instead of
	struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR

	* gtk/gtkicontheme.c : use HAVE_LC_MESSAGES

	* gtk/gtkimmulticontext.c : use gtkprivate.h

	* gtk/stock-icons/stock_color_picker_25.png
	  gtk/stock-icons/stock_undo_rtl_16.png :
	  gtk/stock-icons/stock_undo_rtl_24.png :
	readded as binary

Sat Jul 19 22:39:24 2003  Soeren Sandmann  <>

	* gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
	leftover request of {xy}thickness

Sat Jul 19 16:26:02 2003  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
	attempt to add a NULL icon to the box.

Sat Jul 19 12:13:20 2003  Soeren Sandmann  <>

	* gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
	on focus in/out.

2003-07-19  Matthias Clasen  <>

	* gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. 
	* gtk/gtkiconfactory.c (get_default_icons): Add
	stock_dialog_authentication_48.  (#65765) 
	* gtk/stock-icons/ (VARIABLES2, IMAGES): Here too.
	* gtk/stock-icons/stock_dialog_authentication_48.png: New image.

	* gtk/gtkbbox.h: 
	* gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New
	function. (#64562) 

Sat Jul 19 00:18:40 2003  Soeren Sandmann  <>

	* gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
	(gtk_widget_real_focus_{in|out}_event): queue shallow draws
	instead of full draws.

2003-07-18  Matthias Clasen  <>

	* gtk/gtkwindow.c: Add properties decorated and gravity.  (#80234) 

	* gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding
	signal, move_viewport. 
	(gtk_text_view_move_viewport): New function which implements the
	move_viewport functionality. 
	(gtk_text_view_move_cursor_internal): If the cursor is not visible, move
	the viewport. (#78669) 

	* gtk/gtkenums.h (GtkScrollStep): New enumeration, used for
	move_viewport argument. 

	* gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip
	property.  (#111779) 

	* gtk/gtkwindow.h: 
	* gtk/gtkwindow.c (gtk_window_set_default_icon): New method.  (#95816)

	* gtk/gtkmessagedialog.h:
	* gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.  
	(#65501, Sebastian Rittau)

Fri Jul 18 20:06:57 2003  Soeren Sandmann  <>

	* gtk/gtktextview.c (changed_handler): use

2003-07-16  Jody Goldberg <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o

Fri Jul 18 19:55:50 2003  Soeren Sandmann  <>

	* gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this

Fri Jul 18 18:43:01 2003  Soeren Sandmann  <>

	By popular request give toolbuttons a border.
	* gtk/gtktoolitem.c
	(gtk_tool_item_size_request): don't request and allocate a border
	around the child

	* gtk/gtktoolbutton.c 
	(gtk_tool_button_size_request): remove these functions

	* gtk/gtktoolbar.c 
	(gtk_toolbar_size_allocate): request and allocate a border if we
	have a shadow.

Thu Jul 17 19:24:51 2003  Kristian Rietveld  <>

	Merged from stable.

	Fixes issues pointed out by Morten Welinder in #115140.

	* gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
	(do_validate_rows): update validated_area with a logic OR instead
	of a bitwise OR,
	(validate_rows_handler): make the if statement match the one in
	validate_rows(), so we don't leak the timeout.

Thu Jul 17 19:12:02 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
	should only grab focus back if the "cell_editable" widget still
	has focus. (Fixes #110104, testcase provided by Marco Pesenti

Thu Jul 17 19:06:34 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	Don't set attr.event_mask twice, those things were meant to be
	ORred. (#115139, pointed out by Morten Welinder).

Thu Jul 17 16:11:21 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing
	if needed. (Fixes #115869, reported by Michael Natterer).

2003-07-15  Matthias Clasen  <>

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
	Fight against gtk-doc stupidity.

2003-07-13  Matthias Clasen  <>

	* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
	targets, to pacify gtk-doc.

Sun Jul 13 15:57:57 2003  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of
	label_text, label_widget and icon_widget. (#117312, 
	Christian Persch)
Sun Jul 13 01:37:51 2003  Soeren Sandmann  <>

	* gtk/gtkmenu.c (gtk_menu_class_init): new properties
	"horizontal-offset" and "vertical-offset" that determines the
	position of the menu when it is a submenu. 

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
	submenus according to new vertical- and horizontal-offset

Sat Jul 12 16:16:04 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special
	case drags to "0", scroll to the top after dropping. (Fixes #94968,
	reported by Alp Toker).

Sat Jul 12 16:08:32 2003  Kristian Rietveld  <>

	Merged from stable.

	* demos/gtk-demo/editable_cells.c (cell_edited): fixup bad
	code (#115784, Owen Taylor).

Sat Jul 12 16:01:03 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
	free the old text and extra_attrs *after* we parsed the new
	markup string. (Fixes #114485, reported by Owen Taylor).

Sat Jul 12 15:51:33 2003  Kristian Rietveld  <>

	Merged from stable.

	Fixes #113904, testcase provided by Rene Seindal.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): set
	pressed_button to -1 when a row has been activated,
	(gtk_tree_view_motion_bin_window): only start a drag if there's
	a button being pressed.

Sat Jul 12 15:51:18 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use
	gdk_window_get_pointer instead of gdk_display_get_window_at_pointer
	to avoid a roundtrip (#110272, Owen Taylor).

Sat Jul 12 15:28:26 2003  Kristian Rietveld  <>

	Merged from stable.

	This patch really really fixes scrolling. Related bugs: #81627,
	testcase provided by Timo Sirainen, #111500, testcase provided by
	manu, #113241, reported by Pedro Gimeno/Michael Natterer.

	* gtk/gtktreeview.c (validate_visible_area): scrolling to a dy
	which is equal to the lower border of the window means scrolling
	to an invisible row, always update the dy when scrolling to an
	invisible row, corrected area_above/below calculations for
	invisible rows, when walking the tree correct the size
	subtracted for invalidated rows, fix wrong logic in comment.

2003-07-11  Matthias Clasen  <>

	* gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free
	mime_types.  (#117219, Steve Chaplin)

Tue Jul  8 20:11:04 2003  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (get_real_window)
	gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
	gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
	gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
	Don't assume that all events start with XEventAny - Xkb events
	don't! (#105745). So, only do that for core events, and for
	non-core events, add a system for registering event types
	that start with XEventAny.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate):
	Check to see if the result of gdk_window_lookup_for_display()
	is actually a window.

Fri Jul 11 20:48:14 2003  Kristian Rietveld  <>

	* gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL
	check a silent assert, so it follows the g_free() behaviour.

2003-07-11  Matthias Clasen  <>

	* gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents 
	vertically.  (#109823, Joe Shaw)

2003-07-11  Morten Welinder  <>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
	access error.  (#69436)

Fri Jul 11 14:32:43 2003  Kristian Rietveld  <>

	Landing GtkTreeModelFilter and the completion code. (Test program
	and documentation will follow next week).

	* gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
	gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.

	* gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
	necessary code to hook up completion.

	* gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
	GtkCellLayout interface.

	* gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.

	* gtk/gtk.h, gtk/, po/ all updated for the new
	source files.

Wed Jul  9 19:48:26 2003  Kristian Rietveld  <>

	Merge from stable.

	* gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
	directly return from ->window_at_pointer, but set win_x and win_y
	first if needed. (Fixes #110166, reported by Arno Charlet).

	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
	function to accept GdkDrawables and not just GdkWindows. This was
	already done in some other functions a while back, but this patch
	got lost for some reason.

2003-07-09  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text
	direction when sorting children.  (#116540, Soeren Sandmann)

Tue Jul  8 17:36:21 2003  Owen Taylor  <>

	* gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: 
	Change _gdk_x11_send_xevent_async() to 
	_gdk_x11_send_client_message_async() avoid using Xlib
	internals that are different on Solaris. 
	(#116917, Morten Welinder)

2003-07-08  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
	(#116501, Doug Quale)

Tue Jul  8 21:35:22 2003  Soeren Sandmann  <>

	* gtk/gtktoggletoolbutton.h: remove strange #define
	* gtk/gtktoolbutton.h: fix cut'n'paste error
	* gtk/gtktoolbutton.c (gtk_tool_button_init): use instance
	private data
	* gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance
	private data instead of g_new0()
	* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use
	instance private data

Tue Jul  8 21:10:14 2003  Soeren Sandmann  <>

	* gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK
	for INPUT_ONLY window
	* gtk/gtkmenuitem.c (gtk_menu_item_realize): same
	* gtk/gtknotebook.c (gtk_notebook_realize): same
	* gtk/gtkexpander.c (gtk_expander_realize): same
	* gtk/gtkrange.c (gtk_range_realize): same

	Fix #116303

Tue Jul  8 19:57:14 2003  Soeren Sandmann  <>

	* gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
	when detail is "menuitem". With the new menu look is isn't needed

	* gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
	resize here, so that tool items will get a chance to relayout
	themselves based on the toolbar configuration.

	change DEFAULT_SPACE_SIZE to 4 instead of 5

	* gtk/gtktoolbar.c 
	Get rid of "!GTK_BIN (item)->child means separator". Separators
	are widgets in their own right

	change DEFAULT_SPACE_SIZE to 4 instead of 5
	(get_space_size): remove this function
	(toolbar_item_is_homogeneous): new function

	* gtk/gtkseparatortoolitem.c
	(gtk_separator_tool_item_size_request): new function.

Tue Jul  8 14:10:35 2003  Soeren Sandmann  <>

	* gtk/gtktoggletoolbutton.h: use private data, add new
	internal function _gtk_toggle_tool_button_get_button()

	* gtk/gtktoolbutton.h: move to private data

	* gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
	private data.

Tue Jul  8 12:50:20 2003  Soeren Sandmann  <>

	* gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a
	type check, (#116947, Krasimir Angelov)

	* gtk/gtktoolbar.c: Use new GtkToolItem accessors.
	* gtk/gtktoolitem.[ch]: Use a private struct to hold the instance
	data. Not instance private data yet, because of bug 116921.

	* gtk/gtktoolitem.h: new accessors:
		gtk_tool_item_get_homogeneous ()
		gtk_tool_item_get_expand ()
		gtk_tool_item_get_pack_end ()
		gtk_tool_item_get_use_drag_window ()

Mon Jul  7 16:50:32 2003  Soeren Sandmann  <>

	* gtk/gtkcellrenderertext.c
	(gtk_cell_renderer_text_class_init): remove accidentally committed
	debugging spew

	* gtk/gtktoolbar.c
	(gtk_toolbar_paint_space_line): remove this function
	(gtk_toolbar_expose): always propagate expose, even if the item is
	a separator item

	* gtk/gtkseparatortoolitem.c
	(gtk_separator_tool_item_expose): moved here from gtktoolbar.c
	(get_space_size): new function.
	(get_space_style): new function

Sun Jul  6 13:00:20 2003  Owen Taylor  <>

	* gtk/gtkdnd.c (_gtk_drag_source_handle_event)
	* gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use

	* gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
	of the drag into an idle as a superior form of 
	expose compression.

	* gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
	creation here, so that we have an icon at the start
	of the drag (e.g., when retrieving the window cache

Sun Jul  6 17:21:23 2003  Soeren Sandmann  <>

	* docs/widget_geometry.txt: better drawing of GtkMenuItem
	* docs/widget_geometry.txt: add notes about GtkMenu
	* gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h""

Sat Jul  5 10:34:00 2003  Soeren Sandmann  <>

	* gtk/gtkmenu.c: add vertical_padding style property.
	* gtk/gtkmenuitem.c: add style properties toggle_spacing,
	arrow_spacing and horizontal_padding. Also center separators and
	make them a bit taller.

	* gtk/*menuitem.c: use new style properties.
	* docs/widget_geometry.txt: Add note about GtkMenuItem

	* gtk/gtkstyle.c 
	(gtk_default_draw_vline, gtk_default_draw_hline):
	fix +/-1 errors. 

	(gtk_default_draw_shadow): draw a black border around menus.

	* gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
	calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
	x2 and y1, y2 respectively, not x, width and y, height).

Sat Jul  5 09:55:38 2003  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
	all the atoms in the target list at once.

	* gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
	Local drag short-circuit.

	* gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
	local case, poke the actions in directly instead of
	going through xdnd_set_actions.

	* gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
	the local case.

	* gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
	XSelectInput()/add a filter if the drag is local.

	* gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): 
	Simplify handling of "XdndSelection".

	* gdk/x11/gdkevents-x11.c
	(gdk_event_send_client_message_to_all_recurse): Somehow,  
	a WM_STATE => _NET_WM_STATE change hand been made here.

	* gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
	xatom_names, not atom_names.

	* tests/testdnd.c (target_drag_motion): Make the trashcan
	open again. (Got lost in deprecation cleanup.)

Sat Jul  5 00:49:32 2003  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
	earlier, so we don't get a big pile of uncompressed
	motion events before the grab takes effect.

	* gtk/gtkdnd.c (gtk_drag_update_icon): Call 
	gdk_window_process_all_updates() so that the area
	we are dragging over gets a change to redraw.

	* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use 
	gdk_window_get_position(), not gdk_window_get_origin().

	* gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
	gdkdisplay-x11.h: use XShapeQueryExtension to 
	avoid duplicate XQueryExtension when we actually
	use it. Remove unnecessary caching in GdkDisplayX11.

Fri Jul  4 23:49:22 2003  Owen Taylor  <>

	* gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): 
	Function to get a range of information about all the
	children of a window in a single pass.

	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
	gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
	_gdk_x11_get_window_child_info() to greatly reduce
	the number of roundtrips.

Fri Jul  4 22:57:18 2003  Owen Taylor  <>

	* gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
	a function to XSendEvent() and call a calback on

	* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
	messages to the same process, use _gdk_send_xevent_async().

Fri Jul  4 22:26:27 2003  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
	toplevel-specific pieces of GdkWindowImplX11 into
	a separate GdkToplevelX11 structure.

Fri Jul  4 22:05:09 2003  Owen Taylor  <>

	* gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
	some leftover fields.

Fri Jul  4 15:57:52 2003  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
	Use asynchronously _gdk_x11_set_input_focus_safe
	to avoid having to trap errors and XSync().

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
	_gdk_x11_set_input_focus_safe() here as well.

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
	Rework handling of property notifies on _NET_WM_STATE
	so that we ignore _NET_WM_DESKTOP notifies unless we
	really care.

	* gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
	XShmQueryExtension() rather than XQueryExtension() to
	avoid extra rountrip.

	* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
	Remove unused call to XGetWindowAttributes()
	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
	unused call to XGetKeyboardControl().

	* gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
	Add (#99571)

	* gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c 
	No-op implementations of gdk_display_flush().

	* gdk/gdkwindow.c (gdk_window_process_all_updates): Use
	gdk_display_flush() rather than gdk_flush() to avoid
	* gdk/x11/gdkwindow-x11.c (update_wm_hints)
	gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
	so that we don't have to get the property back from the server.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Store
	the serial of when we map a toplevel to allow optimizing
	out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
	XTranslateCoordinates() for override-redirect windows.

Fri Jul  4 15:59:27 2003  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
	about setting window group after the window is mapped from docs
	- nothing the ICCCM forbids that.

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
	Fix g_return_val_if_fail() in void return function.

	* Fix misplaced comma that was resulting
	in XShm always being disabled.

Fri Jul  4 19:55:49 2003  Soeren Sandmann  <>

	* tests/stresstest-toolbar: remove this accidentally committed
	* tests/stresstest-toolbar.c: really add this new test

Fri Jul  4 19:06:31 2003  Soeren Sandmann  <>

	* tests/stresstest-toolbar.c: new test for removing items
	* tests/testtoolbar.c: add a popup menu

	* gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid
	  assert widget->parent == container when the container is a

	* gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much
	simpler. Also make correct.

	* gtk/gtktoolbar.c (gtk_toolbar_button_press): make
	popup_context_menu a boolean handled signal.

2003-07-04  Tor Lillqvist  <>

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
	gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
	the width and height of the bounding rectangle only after the
	minumum x and y have been found, and need a separate loop for
	it. Thanks to Bruce Hochstetler for providing a sample program
	exhibiting the bug.

2003-07-03  Tor Lillqvist  <>

	* gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
	(#116537, Peter Zelezny)

Thu Jul  3 03:13:20 2003  Soeren Sandmann  <>

	* gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to
	fix warning. Assign something to old_value to quiet gcc

	* gtk/gtkcalendar.c 
	(start_spinning): gtk_timeout_add->g_timeout_add

	* gtk/gtkicontheme.c 
	(theme_lookup_icon): Make it compile (remove double semicolon)

	* gtk/gtktoolbutton.c
	(gtk_tool_button_class_init): Long comment about properties.
	(gtk_tool_button_class_init): Improve text for "use_underline"
	(gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based
	on whether the passed-in label has use_mnemonic set
	(gtk_tool_button_create_menu_proxy): Split image cloning out in
	new function. Make that function also handle image with pixbuf
	(gtk_tool_button_construct_contents): Use gtk_widget_destroy()
	instead of gtk_container_remove().
	(gtk_tool_button_construct_contents): Fix eliding bug

	* gtk/gtktoolbar.c
	(gtk_toolbar_finalize): New function. Unref tooltips, pointed out
	by Morten Welinder
	(gtk_toolbar_button_press): Make popup_context_menu signal provide
	coordinates and button number

	* tests/testtoolbar.c (main): Add new pixbuf toolbutton

	* tests/apple-red.png: new file

Wed Jul  2 18:00:56 2003  Owen Taylor  <>
        * gtk/gtkicontheme.[ch]: Implement a loader for
	named themed icon based on from gnome-desktop library
	by Alex Larsson.

	* gtk/gtkiconthemeparser.[ch]: .ini file parsing code
	from gnome-desktop.

	* gtk/gtkiconfactory.[ch]: Add
	gtk_icon_source_set/get_icon_name() to allow stock icons
	to be based off of named theme icons.

	* gtk/gtkiconfactory.c: Rework sources so that the source
	is *either* a pixbuf, or a filename, or an icon name,
	instead of the pixbuf/filename mix it was before. Put a
	workaround for get_pixbuf() so that it can return the
	filename pixbuf, e.g, for render_icon().

	* gtk/gtkiconfactory.c: Make the default setup use
	themed icons, and add builtin icons to the default
	icon theme for all the standard pixbufs, so we
	don't rely on actually having an icon theme on disk.

	* gtk/gtkrc.c: Add support for @"icon-name" to specify
	a themed icon for a stock icon source.

	* tests/ test/testicontheme.c: Add a test
	program from gnome-desktop.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
	Net/IconThemeName / gtk-icon-theme-name setting.

	* gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
	update the icon cache serial so we don't continually
	think we are out-of-date.

	* gtk/gtkwidget.c: Fix a couple of references in doc comments 
	to ::direction_set that should have been to ::direction-changed

Wed Jul  2 14:45:41 2003  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
	style to the widget.

Wed Jul  2 15:42:26 2003  Soeren Sandmann  <>

	* gtk/gtk.h: Add new toolbar headers

	* tests/testtoolbar.c: new file

	* tests/ (noinst_PROGRAMS): Add testtoolbar.c

	* gtk/gtkexpander.c (gtk_expander_class_init): Make it compile

Tue Jul  1 22:49:25 2003  Soeren Sandmann  <>

	* gtk/gtktoolbar.c:
	(gtk_toolbar_remove_tool_item): Fix bug where list is changed
	inside a for loop (pointed out by Morten Welinder).
	(gtk_toolbar_focus_home_or_end): Minor formatting change

	Comments from Owen:

	* gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use
	gtk_toolbar_elide_underscores instead.

	* gtk/gtktoolbar.c: rename signal from focus_ends to
	(_gtk_toolbar_elide_underscores): export this as an internal
	(gtk_toolbar_move_focus): add comment explaining difference to
	(gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and
	TAB_BACKWARD focus the right widgets in RTL mode

	* gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take
	"label" and "icon" parameters

	* gtk/gtktoolbutton.[ch]: remove icon_set property.

2003-07-01  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs.
	(116364, Morten Welinder) 

	* tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the
	corresponding dialogs.

	* gtk/ (gtk_public_h_sources): Add gtkfontbutton.h,
	(gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. 

	* gtk/gtkfontbutton.[hc]: New files containing a font picker widget. 

	* gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. 

	* gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h.

	* gtk/gtkexpander.c: Small additions to the docs. 

2003-07-01  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
	WindowFromPoint() wants screen coordinates (#115422, Tim Evans).

2003-07-01  Matthias Clasen  <>

	* Check for Xcursor.
	* gdk/x11/gdkcursor-x11.c:
	* gdk/gdkdisplay.h: 
	* gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
	gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), 
	gdk_display_get_default_cursor_size() and 
	gdk_display_get_maximal_cursor_size().  (#69436)

2003-06-30  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
	callback proc for EnumWindows().
	(gdk_drag_find_window_for_screen): Actually take the drag_window
	argument into account: Instead of using WindowFromPoint(), use
	EnumWindows(), to be able to skip the drag_window. (#116320, Tony
	M Brown, Herman Bloggs)

	* gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
	gdk_window_ref()/unref() calls with g_object_ref()/unref().
	Consistently use %p format in debugging output of pointers and

2003-06-30  Mark McLoughlin  <>

	* gtk/gtkexpander.h: kill some stray characters
	breaking the build.

2003-06-30  Mark McLoughlin  <>

	Add GtkExpander. See discussion in bug #60553.

	* gtk/gtkexpander.[ch]: add.
	* gtk/ build gtk-expander.[ch].
	* docs/widget_geometry.txt: add info on the layout
	of GtkExpander.

Mon Jun 30 01:20:19 2003  Soeren Sandmann  <>

	* gtkradiotoolbutton.c:		new file
	* gtkradiotoolbutton.h:		   "
	* gtktoggletoolbutton.c:	   "
	* gtktoggletoolbutton.h:	   "
	* gtktoolbutton.c:		   "
	* gtktoolbutton.h:		   "
	* gtktoolitem.c:		   "
	* gtktoolitem.h:		   "
	* gtktoolbar.c: many changes
	* gtktoolbar.h: many changes
	* gtkseparatortoolitem.c:	new file
	* gtkseparatortoolitem.h	   "

	New toolbar.
	- Items on a toolbar are now separate widgets, instances of a
	  subclass of GtkToolItem.

	- Items there aren't room for on the toolbar are unmapped, and an
	  overflow menu with a proxy menu item is added instead.

	- The toolbar is keyboard navigatable. Press TAB to focus the
	  first item, then use arrow keys and Ctrl TAB to move around the
	  toolbar. TAB moves focus out of the toolbar.

	- Bascially all of the old toolbar API is deprecated in favor of
	  new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h

	- The toolbar is backwards compatible with the old toolbar.

2003-06-29  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter
	from docs, some more formatting fixes. 

2003-06-28  Tor Lillqvist  <>

	Fix for #111028, thanks to J. Ali Harlow, who writes:
	I found that the GdkPixmap->GdkImage reference really isn't
	important. It's only really there to have somewhere convenient to
	store the location of the pixel data in the pixmap and as an easy
	way of accessing the dimensions of that data. I have therefore put
	together a fix which removes this reference entirely which seems
	to solve the problem.

	* gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
	Instead of a pointer to a GdkImage, keep a pointer to the pixels

	* gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
	(_gdk_win32_new_image): New function, replacing the above. Creates
	a GdkImage without any associated GdkPixmap.
	(gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.

	* gdk/win32/gdkprivate-win32.h: Remove from here, too.

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
	* gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
	* gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
	* gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
	gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
	Corresponding changes.

Thu Jun 26 21:41:16 2003  Soeren Sandmann  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
	and "is_expanded" if the new value is different fromt he old one.

Wed Jun 25 18:59:15 BST 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Fix typos. Update
	thread example I missed yesterday.

2003-06-24  Matthias Clasen  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for

	* gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): 
	(gtk_widget_class_list_style_properties): Use same parameter names as in  
	header (to silence gtk-doc).

	* gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments.

Tue Jun 24 20:00:45 BST 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Thread support updates
	from Owen. Various suggestions from Steve Chaplin.

2003-03-24  Mohammad DAMT  <>

	* po/id.po: Updated Indonesian translation

2003-06-21  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When
	emulating X11's automatic grab on button down, pass owner_events
	as FALSE. According to the XLib spec, automatic grabs use True for
	owner_events when OwnerGrabButtonMask is selected, and I don't see
	the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271)
	(find_window_for_pointer_event): Improve debugging output.

2003-06-17  Tor Lillqvist  <>

	* (DLLDIR): Look for DLLs also in the bin
	subdirectory, where libtool 1.5 installs them.

	* README.win32: Point to FSF's binary Win32 distribution of

2003-06-17  Matthias Clasen  <>

	macros to check for XML catalog contents and path, borrowed from
	* New option --enable-man to enable regeneration of
	man pages from Docbook, if the necessary tools are found.

2003-06-15  Matthias Clasen  <>

	* gtk/gtkcalendar.c (gtk_calendar_class_init): 
	* gtk/gtknotebook.c (gtk_notebook_class_init): 
	* gtk/gtkalignment.c (gtk_alignment_class_init): 
	* gtk/gtkpaned.c (gtk_paned_class_init): Document new properties
	as 2.4 additions.

	* gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs 
	to the proper place, immediately before the g_signal_new() call.

	* gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags 
	more obvious.  (#115122, Jeff Franks)

2003-06-12  Anders Carlsson  <>

	* gtk/gtkwidget.c: (event_window_is_still_viewable):
	Special case pixmaps. (#114880)
2003-06-12  Matthias Clasen  <>

	* gtk/gtkwidget.c: Document child-notify and drag-data-received
	signals. Owen, we need to figure out where the best place for
	these comments in the source is. I currently put them in front of
	the signals enum.

2003-06-11  Matthias Clasen  <>

	* gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/.

Thu Jan 12 01:01:19 2003  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	silly typo fix. s/seperator/separator/. This gets rid of the
	assert spam when using TreeView.

Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <>

	* modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
	function for XIM instantiate callback.
	* modules/input/gtkimcontextxim.c (xim_info_try_im): New function
	where call to XOpenIM() or XRegisterIMInstantiateCallback() is
	actually made.
	* modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
	for XIM's destroy callback.
	* modules/input/gtkimcontextxim.c (get_im): add a check if info->im 
	is set or not - if it's not set, call xim_info_try_im() to try to
	initiaize it.
	* modules/input/gtkimcontextxim.c (reinitialize_ic): reset
	filter_key_release flag of the context.
	* modules/input/gtkimcontextxim.c (get_ic_real): removed
	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
	code from the removed get_ic_real().

	For XIM instantiation, destruction and re-instantiation. With
	this, Gtk+ apps will be able to connect or reconnect to the XIM,
	when it starts after the apps, or when the XIM gets lost and recover.
	(#113099, #107782).

Mon Jun 10 01:12:31 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
	check if width is !null, not *width. Doh.

Tue Jun 10 01:09:33 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	Remove the weird dx logic, get all cell_area and background_area
	calculations right. Not sure what was up with it before. (Fixes
	#110989, testcase from Vasco Alexandre da Silva Costa).

Tue Jun 10 00:58:23 2003  Soeren Sandmann  <>

	* tests/testgtk.c: Make it compile with C89 compilers

2003-06-10  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): Install boolean
	property "overwrite".
	(gtk_text_view_[gs]et_property): Handle "overwrite".
	* gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter
	and setter for "overwrite" property.  (#110241, Jeroen Zwartepoorte)

2003-06-09  Matthias Clasen  <>

	* gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child
	properties "resize" and "shrink".
	(gtk_paned_[gs]et_child_property): Implementations of 
	* tests/testgtk.c (toggle_resize, toggle_shrink): Use the new
	paned child properties instead of remove/add hacks.  (#114667, 
	Soeren Sandmann) 

Mon Jun  9 16:18:11 2003  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_button_press): Back
	out event->window test - it wasn't needed because
	of the call to get_widget_coordinates().

	* gtk/gtknotebook.c (gtk_notebook_button_press): Remove
	call to gtk_widget_grab_focus() when not clicking on
	any tabs. (Real fix for #114534)

Sun Jun  8 22:03:09 2003  Owen Taylor  <>

	* tests/testdnd.c: Use application/x-rootwindow-drop for
	root window drops. (#108670, Alex Larsson)

	* gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): 
	Accept either application/x-rootwin-drop (what GTK+ has always used)
	or application/x-rootwindow-drop (what the XDND standard specifies).

Fri Jun  6 11:07:33 2003  Owen Taylor  <>

	* gtk/gtkwidget.c (event_window_still_viewable): 
	Before delivering an event to a widget, check that
	(if relevant), the event's window is still viewable.
	(#105642, Dennis Björklund)

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): 
	NULL out private->parent, since after destruction
	it might not be valid any more.

	* gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
	accesses before g_return_val_if_fail(). Treat 
	DESTROYED windows as unmapped.

Thu Jun  5 09:28:03 2003  Owen Taylor  <>

	* gtk/gtkentry.c: Recompute unconditionally in
	gtk_entry_style_set, and in a new gtk_label_screen_changed().
	Protect the guts of recompute_idle_func() with
	gtk_widget_has_screen(). (#114040, Morten Welinder) 
	Fix FALSE/0 confusion.
Sun Jun  8 18:27:14 2003  Soeren Sandmann  <>

	* gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
	Fixes (#114669)

Sun Jun  8 11:27:29 2003  Owen Taylor  <>

	* gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with 
	set_adjustment (viewport, NULL);

2003-06-07  Matthias Clasen  <>

	* gtk/gtkiconfactory.c (get_default_icons): 
	* gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png:
	* gtk/stock-icons/ Add rtl variants of undo, redo,
	undelete and revert.  (#96633)
Fri Jun  6 16:25:44 2003  Owen Taylor  <>

	* gtk/gtkviewport.c: Many fixes, along with extensive cleanups and 
	refactoring of code to reduce duplication; fixes include:

	- gtk_viewport_realize(): Position the window correct from adjustment 
	values. (#110737, Michael Natterer)

	- Remove some division-by-zero checks in places where there is no 
	longer division. (#110737)

	- gtk_viewport_class_init: Make the hadjustment/vadjustment properties 
	G_PARAM_CONSTRUCT, so that there will always be adjustments, even 
	if gtk_viewport_new isn't used (#101135, Thomas Leonard).

	- Switch over to encapsulated lazy-creation for hadjustment/
	vadjustment; even with the CONSTRUCT property, we need this after

	- When updating the adjustment, immediate set their values to
	match the the current range of the viewport, and update the 
	viewport position to match the value of the new adjustments. 
	(Part of #1165)

2003-06-06  Tor Lillqvist  <>

	* gdk/win32/gdkprivate-win32.h: Fix typo.

	* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
	graphics_exposures and subwindow_mode, too, even if they aren't
	currently used.

Fri Jun  6 23:38:23 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (do_expand_collapse),
	(expand_collapse_timeout), (cancel_arrow_animation): made
	expand_collapse_timeout a wrapper with locks around	
	do_expand_collapse, made cancel_arrow_animation use
	do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
	Peter Bloomfield).

Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <>

	* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
	* modules/input/gtkimcontextxim.c (preedit_start_callback,
	preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag 
	to keep preedit-[start,changed,end] signals from being called during
	finalization (#111861).

2003-06-05  Noah Levitt  <>

	* gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
	presses that are not on the tab (#114534).

Thu Jun  5 20:35:40 2003  Owen Taylor  <>

	* demos/ Conditionalize dependencies for
	gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlow). 
	Buildtest-inline-pixbufs.h in srcdir. Don't try to build 
	test-inline-pixbufs.h if we don't have libpng.

	* gtk/stock-icons/ (gtkstockpixbufs.h): 
	Add a dependency on gdk-pixbuf.loaders when not 
	cross-compiling, remove the dependency on gdk-pixbuf-csource
	when not cross compiling.

Thu Jun  5 20:12:51 2003  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_get_default_size): Handle
	gtk_window_get_geometry_info() returning NULL.
	(#107311, John Finlay)

Thu Jun  5 19:24:33 2003  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
	twice the border width from the width/height, not
	1x the border width. (#106336, Rodney Dawes)

Thu Jun  5 15:33:38 2003  Owen Taylor  <>
 	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
 	If at the end of the buffer, move to the end iter -
 	parallels behavior of move_iter_to_previous_line.
 	(#81960, Padraig O'Briain)
Thu Jun  5 16:12:54 2003  Owen Taylor  <>

        #80023, Yao Zhang, TOKUNAGA Hiroyuki

	* gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
	Account for the preedit cursor offset if the iter passed
	in is at the same place as the insertion cursor.

	* gtk/gtktextview.c (gtk_text_view_get_cursor_location):
	Encapsulate getting the insertion cursor location.

	* gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
	Pass the real y/height to the IM context. Take 
	text_view->x/yoffset into account.

Thu Jun  5 16:52:54 2003  Owen Taylor  <>

        * gtk/gtktextview.[ch]: Never scroll on focus in
	(#81893, Patch from Paolo Maggi)

	* gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): 
	Scroll to the current cursor location before handling
	the action, in case the user just tabbed in
	and the cursor is offscreen.

Thu Jun  5 17:20:40 2003  Owen Taylor  <>
	 #107883, Gustavo Giráldez

	* gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
	Split out the case where we know we changed, and 
	already dealt with our cached line being invalidated
	from external calls to gtk_text_layout_changed.

	* gtk/gtktextlayout.c (gtk_text_layout_changed):
	Check if the invalidate yrange intersects our
	cached line, and clear it if necessary.

2003-06-05  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global

2003-06-05  Matthias Clasen  <>

	* gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
	(gtk_text_view_state_changed): Implement these
	to unobscure cursor when grab shadowed or insensitised.
	(gtk_text_view_unobscure_mouse_cursor): New function to undo the
	effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
	(gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().

	* gtk/gtktextview.c (select_all): New keybinding signal for
	(un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)

	* gtk/gtkcalendar.c (calendar_timer): 
	(stop_spinning): Replace deprecated gtk_timeout_* functions by
	their GLib counterparts.  (#114429)

	* gtk/gtktreestore.c (gtk_tree_store_new): 
	* gtk/gtkliststore.c (gtk_list_store_new): Document restriction on 

Wed Jun  4 19:42:17 2003  Owen Taylor  <>

	* gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
	When drawing underlines, join up adjacent runs
	where possible, so we don't get changes in 
	shaper/font/etc. breaking underlines. (#103662,
	Kang Jeong-Hee)

Wed Jun  4 19:22:58 2003  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
	Slightly modified patch from Owen Taylor <> to
	improve the speed of inserting rows into an already sorted list,

Wed Jun  4 19:24:28 2003  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
	track of when we have a clip mask set for the GC,
	and when we unset it, or switch to a clip region,
	immediately call XSetClipMask (..., None) to avoid
	Xlib caching stale data. (#111806)

	* gtk/gtktextdisplay.c: Don't set a clip mask
	when drawing alpha pixmaps; it isn't necessary any more.

Wed Jun  4 18:27:44 2003  Owen Taylor  <>

	* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): 
	gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): 
	(#92548, Tim Evans)

	* gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
	gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
	Use state_type = STATE_INSENSITIVE for insensitive menu items.

Wed Jun  4 21:25:35 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
	assert for get_info. (reported by Michael Natterer),
	(gtk_tree_view_expand_all_helper): emit row_expanded for all
	expanded rows during an _expand_all operation. (Fixes #111280,
	reported by Benjamin Bayart).

Tue Jun  3 18:32:30 2003  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
	respond to pings on a root window; prevents infinite
	loops if we are selecting for SubstructureNotify on the
	root window. (#111945, Sergey V. Udaltsov)

Tue Jun  3 17:39:16 2003  Owen Taylor  <>

	#71597, reported by Morten Welinder

	* gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
	(Patch from Christian Petig)

	* gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
	Major rewrite of 555 and 565 conversion routines:

	- Move all the bit shifting into a small block of macros,
	  eliminating much duplication of complicated arithmetic.
	- Get rid of 2-pixels at a time code, which was buggy,
	  hard to maintain, caused unaligned accesses, and
	  probably didn't actually perform any better.
	- Simplify cases where different data types were
	  used for the little and big endian cases, use
	  GUINT16_SWAP_LE_BE() where appropriate.
Tue Jun  3 15:05:47 2003  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
	bad optimization for src_rowstride == dest_stride.
	(Didn't consider the case where we were copying only
	partial widths of a wider source buffer)
	(#113034, reported by Hans Petter Jansson)

2003-06-03  Michael Natterer  <>

	* gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
	reenabled button_release events for xinput devices. (#113948)

2003-06-03  Christian Rose  <>

	* Added "li" to ALL_LINGUAS.

Mon Jun  2 18:58:54 2003  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
	map the event window if the notebook isn't mapped. (#113980,
	Richard Reich)

2003-06-02  Sven Neumann  <>

	* gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.

2003-06-01  Matthias Clasen  <>

	* gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add 
	Since: 2.4 to the docs.

	* gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
	an example to the docs.  (#98427)

2003-05-30  Murray Cumming  <>

	* gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
  	gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
  	uses the new private data system - see g_type_class_add_private() in
  	gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().

2003-05-30  Matthias Clasen  <>
	* gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the
	signature of gtk_notebook_draw_arrow() for Solaris builds to go
	through.  (#114043, Anand Subramanian)

Thu May 29 18:30:35 2003  Hidetoshi Tajima  <>

	* modules/input/imipa.c: 
	use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).

Thu May 29 18:08:01 2003  Hidetoshi Tajima  <>

	* gtk/gtkimmodule.c (_gtk_im_module_list):
	use GETTEXT_PACKAGE to get a translation for "Default"(#113850).

Thu May 29 09:34:05 2003  Hidetoshi Tajima  <>

	* gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
	label of default input method localizable.
	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): 
	use translations of input method context names
	* modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
	  modules/input/iminuktitut.c, modules/input/imthai-broken.c,
	  modules/input/imti-er.c, modules/input/imti-et.c
	  modules/input/imviqr.c, modules/input/imxim.c
	use GETTEXT_PACKAGE instead of "gtk+" for domain name.

Thu May 29 18:23:01 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
	grab separate, the user might clear the tree in the focus-in
	callback. (Fixes #113086, testcase from Felipe Heidrich).

Thu May 29 18:06:26 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
	of row reference when we unset the model. Also reset
	dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).

Thu May 29 17:12:19 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
	the current editing, if it exists. (Fixes #108956, reported by
	Michael Natterer).

Thu May 29 17:06:09 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (check_selection_helper): new function,
	(gtk_tree_view_row_deleted): traverse the tree from the
	deleted node to see whether the selection changed, instead of
	just checking this node. (Fixes #107400, reported by 'Duncan').

Thu May 29 16:31:34 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
	(gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
	instead of _maybe_begin_dragging_row, so the icon can be
	overridden by apps. (Fixes #104374, patch from Daniel Elstner).

Thu May 29 16:14:04 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
	cell_area x/width for the expander if needed. (Fixes #101748,
	reported by Dave Cook and Mariano Suarez-Alvarez).

Thu May 29 16:01:38 2003  Kristian Rietveld  <>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
	if tree/node are still the same after _internal_select_node.
	(Fixes #92256, reported by edscott).

Thu May 29 15:38:30 2003  Kristian Rietveld  <>

	Fixes #75745, reported by Richard Hult. Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
	GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
	cursor or not.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	if we are rendering a cursor row, and the cell the be
	processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
	flag (else we unset it).

2003-05-27  Matthias Clasen  <>

	* gtk/gtkwindow-decorate.c: 
	* gtk/gtktreeprivate.h: 
	* gtk/gtkdnd.c: 
	* gdk/win32/gdkwindow-win32.h: 
	* gdk/linux-fb/gdkprivate-fb.h: 
	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)

	* gtk/queryimmodules.c (escape_string): 
	* gtk/gtktextbtree.c (_gtk_text_btree_get_text): 
	* gtk/gtksettings.c (_gtk_settings_parse_convert): 
	* gtk/gtkrc.c (gtk_rc_parse_assignment): 
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key): 
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all 
	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
	Morten Welinder) 

2003-05-27  Tor Lillqvist  <>

	* Only include the Default and Emacs themes' gtkrc
	files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.

	* gdk/ depends on

	* gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.

Sat May 24 22:19:13 2003  Soeren Sandmann  <>

	* gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum
	scrollbar slider length 21 instead of 7.

2003-05-23  Matthias Clasen  <>

	* gtk/gtknotebook.c: Add support for up to four scroll
	arrows. Control their display by new style properties
	"has_forward_stepper", "has_backward_stepper",
	"has_secondary_forward_stepper" and
	has_secondary_backward_stepper". (#110540)

	* gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
	click_child three bits wide, add
	has_{before,after}_{previous,next} fields.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
	focus out of hex_entry.  (#112665)
	(hex_focus_out): New signal handler for focus out of hex entry.

Wed May 21 19:01:06 2003  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_realize): 
	g_return_if_fail() if
	(#107872, Christian Reis)

2003-05-22  Matthias Clasen  <>

	* gtk/gtkfilesel.c (gtk_file_selection_create_dir): 
	(gtk_file_selection_rename_file): Some keynav improvements for the
	"Rename File" and "Create Directory" subdialogs: Enter in entry
	activates default, default is "Create"/"Rename", Escape cancels
	dialog.  (#113110)
	(gtk_file_selection_set_filename): Add a hint about opening 
	directories.  (#113175)

2003-05-22  Matthias Clasen  <>

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
	Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
	anyway.  (#113476)

Wed May 21 15:53:14 2003  Owen Taylor  <>

	* gtk/gtkprogress.c (gtk_progress_set_format_string,
	gtk_progress_set_show_text): Always queue a resize ... 
	we rely on the size-allocate to do the update, plus a 
	different format can actually change our size requisition.
	(#111052, Vasco Alexandre da Silva Costa)

	* gtk/gtkprogress.c (gtk_progress_changed): Track
	::changed as well as ::value_changed, and queue a
	resize on ::changed when necessary.

	* gtk/gtkprogress.c (gtk_progress_set_adjustment): 
	Call gtk_progress_changed() here to update or 
	queue a resize as necessary.

Wed May 21 14:06:13 2003  Hidetoshi Tajima  <>

	* gtk/gtkimcontextsimple.c: added composing rules of
	Greek accented letters, patch by Vasilis Vasaitis (#107507)

Wed May 21 13:19:05 2003  Hidetoshi Tajima  <>

	* gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): 
	* modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
	gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)

Wed May 21 12:10:25 2003  Hidetoshi Tajima  <>

	* gtk/gtkimcontextsimple.c: 
	code that can check the compose table for ascending order,
	by Vasilis Vasaitis (#104862).

Wed May 21 12:52:01 2003  Owen Taylor  <>

	* gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need 
	to pass the unmasked state to gdk_keymap_translate_keyboard_state() 
	to handle the case where a modifier not in the mask
	(like Num_Lock) changes the key value, so replace
	the masked state with a state/mask pair. (#106913,
	Olivier Ripoll)

	* gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
	in state/mask pair to _gtk_key_hash_lookup()

Tue May 20 21:58:00 2003  Hidetoshi Tajima  <>

	* modules/input/gtkimcontextxim.c (xim_info_display_closed):
	fix a memory leak, free input context list (#113259).

2003-05-21  Matthias Clasen  <>

	* (all_loaders): Add pcx.

	* gtk/gtkcalendar.c: Make calendar controls spin.  (#112540)

Tue May 20 17:27:24 2003  Owen Taylor  <>

	* gtk/gtkimmodule.c (gtk_im_module_init): Silently
	accept a missing gtk.immodules file, some people
	want to run without one. (#112406, patch from
	Arnaud Charlet)

Tue May 20 17:05:31 2003  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_compute_hints): Fix 
	height/width confusion (#113370, Xan Lopez)

Tue May 20 15:48:45 2003  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
	zero all unused parts of client messages (Mainly Motif DND
	and EWMH). Also, fix a couple places where we were putting
	contents into Motif DND messages that didn't belong.
	(#113361, EWMH problem reported by Lubos Lunak)

	* gtk/gtkselection.c (_gtk_selection_request): Handle the
	case where the property type for the multiple atoms is
	ATOM_PAIR by doing the conversions ourselve. This is
	needed for Xt inter-operation.

2003-05-19 Arafat Medini <>

	* Added ar to ALL_LINGUAS

2003-05-19  Matthias Clasen  <>

	* gtk/gtksettings.c (gtk_rc_property_parse_border,
	gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
	gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
	Add docs.

	* gtk/gtkwidget.c (gtk_widget_class_install_style_property, 
	gtk_widget_class_install_style_property_parser): Add docs. 

2003-05-17  Matthias Clasen  <>

	* tests/prop-editor.c: Add navigation for object properties, so
	that you can easily edit the properties of the parent of a widget.

Wed May 14 17:45:32 2003  Owen Taylor  <>

	* gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
	Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis 
	inconsistency and leave the old name as an aliass (#104873)

Wed May 14 16:40:09 2003  Owen Taylor  <>

	* gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
	from Charles Schmidt to add missing notify (#108305)

Wed May 14 16:00:51 2003  Owen Taylor  <>
 	* gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
 	(#105500, Morten Welinder.)
Wed May 14 09:05:11 2003   Hidetoshi Tajima <>

	* modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
	instead of gumake for XNFilterEvents event mask(#110493).

2003-05-11  Anders Carlsson  <>

	* gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
	a GObject. (#112762)

2003-05-08  Sven Neumann  <>

	* set the HAVE_X11R6 automake conditional to false
	if not compiling for X11.

2003-05-08  Matthias Clasen  <>

	* gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): 
	(gtk_calendar_get_display_options): New functions.
	(gtk_calendar_display_options): Depreate.  (#64567)
	(gtk_calendar_class_init): Add boolean properties for the display
	options.  (#50949)

Tue May  6 16:50:52 2003  Owen Taylor  <>

	Patch from James Henstridge to update to automake-1.7
 	* update to call newer tools.
 	* various updates, to use M4 macros to put
 	variables that change each release at the top.
 	Use AC_HELP_STRING to format help strings.
 	Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
 	* require Automake 1.7.  Remove gdk-2.0.pc and
 	gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
 	during distcheck.
 	* docs/reference/*/ simplify to use the gtk-doc.make
 	makefile fragment.
 	* */ don't use STRIP_BEGIN/STRIP_END.
 	Use BUILT_SOURCES where appropriate.
 	Build generated files in builddir rather than srcdir.
 	Fix uninstall and distclean targets to satisfy distcheck.


	* gdk/*/ Remove the hacks to get gdkenumtypes.h
	built first, since we are now using BUILT_SOURCES.

	* gdk/ Remove an outdated comment about gdk_headers.

	* demos/gtk-demo/ Fix srcdir != buildd problem

	* Update versions to 2.3.0.
2003-05-06  Tor Lillqvist  <>

	Fix for #110165 (thanks to Arnaud Charlet):
	* gdk/win32/gdkevents-win32.c (build_keypress_event,
	build_keyrelease_event): For unshifted control char, use
	lowercase ASCII keyval.
	(gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
	UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
	lowercase keyval. Use build_key_event_state() here, too, instead
	of minor code duplication.

2003-05-06  Matthias Clasen  <>

	* tests/testmultidisplay.c: Don't include strings.h, it's not
	needed anymore.  (#112388)

	* examples/menu/itemfactory.c: 
	* docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
	itemfactory example.

2003-05-05  Matthias Clasen  <>

	* gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
	icon type to the stock icon type.  (#111735, Dave Bordoley)

2003-05-05  Christian Rose  <>

	* Added sr and sr@Latn to ALL_LINGUAS.
	Removed sp, it's replaced by sr@Latn.

Wed Apr 30 22:09:11 BST 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from
	Gonzalo Odiard

Mon Apr 28 17:54:39 2003  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
	data iff the destroy func isn't NULL.

Thu Apr 24 19:12:05 2003  Owen Taylor  <>

	* (have_libtool): Accept libtool-1.5. (#111480)

2003-04-23  Abel Cheung  <>

	* Added "am" "mk" "ta" to ALL_LINGUAS.

Tue Apr 22 15:33:51 2003  Owen Taylor  <>

	* gtk/gtkfilesel.c (open_new_dir): Fix capitalization
	of UTF-8. (#106419, Roozbeh Pournader)

Tue Apr 22 15:17:25 2003  Owen Taylor  <>

	* Only check for XFT2 if we found pango-xft
	(#105692, Jon Nall)

Tue Apr 22 15:12:19 2003  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
	PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)

Tue Apr 22 19:43:01 BST 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: add note about version converage.

Mon Apr 21 19:02:16 2003  Owen Taylor  <>

	* gtk/gtksocket.c (activate_key): Fix prototype for
	activate_key. (#108927, Jason D. Hildebrand)

Mon Apr 21 18:42:51 2003  Owen Taylor  <>

	* demos/gtk-demo/ demos/gtk-demo/
	Remove from CVS and don't dist it either,
	it is generated. (#108970, Rich Kinder)

Mon Apr 21 18:35:48 2003  Owen Taylor  <>

	* gtk/gtkobject.h: Remove a couple of obsolete comments,
	fix another comment. (#109737, Britton Kerin)

Mon Apr 21 18:29:03 2003  Owen Taylor  <>

	* gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
	the source list, not just it's contents (Patch
	from Charles Kerr, #108243)

Mon Apr 21 18:13:46 2003  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
	from Alex Larsson fixing problem with restacking during
	DND. (#108671)

Mon Apr 21 15:07:29 2003  Owen Taylor  <>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
	Calling XFlush() after ungrabbing, to avoid problems if
	the app subsequently blocks on a long-running operation.
	(#106520, reported by Rajkumar Siva)

Fri Apr 18 17:42:45 2003  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
	SKIP_TASKBAR/SKIP_PAGER to set of properties we
	might set on map. (#110019, problem reported
	by Loban Rahman)

Fri Apr 18 17:14:33 2003  Owen Taylor  <>

	* gdk/gdkevents.c (gdk_event_copy): Fix for the
	case when gdk_event_copy() is called on a non-allocated
	event. (#109716, reported by Rich Burridge)

Fri Apr 18 16:57:44 2003  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
	Fix pointer arithmetic on 'void *'. (#108322)

Fri Apr 18 16:31:49 2003  Owen Taylor  <>

	* gdk/x11/gdkdisplay-x11.c modules/input/
	Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
	use of XAddConnectionWatch. Remove --enable-xim config option.
	Should fix building on X11R6 (#110523, Albert Chin)

Fri Apr 18 15:56:46 2003  Owen Taylor  <>

	* gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
	Patch from Morten Welinder to catch Sun servers	with a 
	broken implementation of the RENDER extension. (#108309)

Fri Apr 18 15:30:38 2003  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (set_text_property): Use
	gdk_free_compound_text(), not g_free(). (#107643,
	Michael Zucchi)

Fri Apr 18 15:11:50 2003  Owen Taylor  <>

	* gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
	gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
	wrong use of base_finalize. (#105126, Sven Neumann)

Fri Apr 18 15:06:00 2003  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_constrain_size): Fix
	'/' vs. '*' problem in aspect ration computations. (#108237)

Fri Apr 18 14:15:09 2003  Owen Taylor  <>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): 
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): You
	don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify 
	event, so select for both. (#108406, Egmont Koblinger)

Thu Apr 17 09:57:44 2003  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_visible_area): remove infinite loop
	caused by not clearing the scroll_to_path.

2003-04-16  Matthias Clasen  <>

	* gtk/gtkstyle.c: Doc additions and fixes.

	* gtk/gtktreeviewcolumn.c
	(_gtk_tree_view_column_get_neighbor_sizes): Doc fixes.

2003-04-14  Michael Natterer  <>

	* gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
	that the iter is not reordered to its own position. Prevents model
	corruption for the case that the store contains only a single item
	(fixes bug #108387).


	* gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
	new list element later so we don't leak it if we decide to return

	* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
	set selection->tree_view->priv->anchor to NULL after freeing it.

2003-04-13  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_get_position): Document. 

	* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): 
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): 
	* gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document
	these as 2.4 additions.

2003-04-09  Matthias Clasen  <>

	* Fix the real thing.

	* INSTALL: Typo fix.

Mon Apr  7 19:43:15 2003  Owen Taylor  <>

 	* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
 	after ungrabbing the server.
	* gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
	calls to XFlush().

 	* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
 	Use gdk_x11_display_grab/ungrab.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize
	use_xshm to TRUE so SHM gets used when present.
2003-04-07  Matthias Clasen  <>

	* gtk/gtktextlayout.c (set_para_values): 
	* gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR.  (#110086,
	David Brigada)

	* gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c,
	gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous
	misspellings of possessive "its".  (#110027, Doug Quale)

2003-04-03  Matthias Clasen  <>

	* demos/gtk-demo/main.c (demo_find_file): Only use files from the
	current directory if it looks like the srcdir.  (#109357)

Wed Apr  2 23:02:26 2003  Soeren Sandmann  <>

	* gtk/gtkbutton.[ch] (gtk_button_class_init): add property

	* gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard
	navigation not wrap around.

2003-04-02  Matthias Clasen  <>

	* gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
	Return 0 if lower == upper.  (#109155)
	(gtk_progress_get_current_percentage): Use

2003-04-01  Matthias Clasen  <>

	* gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
	(#109510, Noah Levitt)

Mon Mar 31 13:52:13 2003  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
	members so Purify won't complain.

	* gtk/gtkliststore.c (gtk_list_store_sort): ditto.

2003-03-31  Matthias Clasen  <>

	* gtk/gtkwindow.c: Add a new property, role, corresponding to 
	gtk_window_[gs]et_role().  (#93904)

Sun Mar 30 03:57:42 2003  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
	fix crash.  Patch from Markus Lausser <>

2003-03-29  Matthias Clasen  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
	of labels back to normal before reparenting back.  (#102387)

	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
	a default window title to match the GtkFontSelectionDialog behavior.
	(gtk_color_selection_dialog_new): Don't call
	gtk_window_set_title() if title is NULL.  (bug #101975, Daniel Elstner)

2003-03-29  Matthias Clasen  <>

	Fix for bug #78499:
	* gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and

	* gtk/gtkentry.c (gtk_entry_button_press): Set select_words and
	select_lines on double/triple click.

	* gtk/gtkentry.c (gtk_entry_motion_notify): Implement
	select-by-words and select-by-lines behaviour.

        Fixes for bug #56248:
	* gtk/gtknotebook.c (stop_scrolling): New function to remove the
	timer and queue a redraw. 
	(gtk_notebook_state_changed): New functions to call stop_scrolling() 
	if necessary.	
	(gtk_notebook_button_release): Use stop_scrolling().
	(gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.

	* gtk/gtkrange.c (stop_scrolling): New function to remove the
	grab, remove the timer and queue a redraw.
	(gtk_range_state_changed): New functions to call stop_scrolling() 
	if necessary.	
	(gtk_range_button_release): Use stop_scrolling().

	* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): 
	(gtk_spin_button_state_changed): Redraw after stop_spinning.
	(gtk_spin_button_stop_spinning): Reset click_child to correct the
	drawing of the arrows.
	(gtk_spin_button_button_release): Use a local copy of click_child,
	since stop_spinning() resets it.

	* gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
	C-A-PgDown as alternatives to the A-less variants. (This slipped
	in accidentally some time ago).  (#97860)

2003-03-26  Sven Neumann  <>

	* gtk/gtktreeview.c: rewrote the function that does node and arrow
	prelighting, queue all redraws from here (Fixes bug #108792).

2003-03-20  Richard Kinder <>

	* demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE.
        Fixes bug #108778.

2003-03-20  Guntupalli Karunakar <>

	* Added "ml" in ALL_LINGUAS

Sat Mar 15 18:49:27 2003  Manish Singh  <>

	* gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of

2003-03-14  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
	GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
	DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
	multiple monitors can have negative coordinates on some of the
	monitors. (partial fix for #99496, Arnaud Charlet)

2003-03-15  Matthias Clasen  <>

	* gtk/gtktextview.c: Add a "buffer" property.  (#108353) 

2003-03-13  Sven Neumann  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
	removed redundant calls to g_object_notify().
	(gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
	bug #108236.

	* gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
	(_gtk_text_iter_get_segment_byte): return 0, not NULL (these
	functions return an integer value).

2003-03-13  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_MOUSEMOVE, the test whether we have actually moved (and thus
	shouldn't generate an GDK event) moved after the call to
	propagate() and translate_mouse_coords(). Otherwise we were
	testing wrong values. (#108115, Allin Cottrell)
	(gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
	is used, must copy the HCURSOR with CopyCursor(), as it is OK to
	destroy the GdkCursor after calling gdk_pointer_grab(). Set the
	cursor right away with SetCursor(), as we won't get any
	WM_SETCURSOR messages while the mouse is captured. 
	(gdk_display_pointer_ungrab): Correspondingly, destroy the copy
	with DestroyCursor() when no longer used. (#108114, Allin Cottrell)

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_SYSCHAR, return FALSE from the window procedure to prevent the
	DefWindowProc from being called. Otherwise Windows would beep,
	thinking you are tring to access a (nonexistent) menu when you
	press Alt-something. Don't do this for Alt-Space,
	though. (#107454, Martyn Russell)

	* gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.

Tue Mar 11 12:01:07 2003  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift
	[left/right] expands/collapses the tree, #108092

2003-03-09  Tor Lillqvist  <>

	* gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
	compensate for LineTo() not drawing the end pixel. It causes more
	harm than benefits, see bug #81895.

2003-03-08  Matthias Clasen  <>

	Bug #107664 continued:

	* gdk/x11/gdkinputprivate.h: 
	* gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. 
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. 
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
	gboolean, remove pointless call to _gdk_input_window_none_event.

	* gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
	(_gdk_input_window_none_event): Remove.

	* gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): 
	(_gtk_text_iter_get_btree): Fix 0/NULL confusion.
	* gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
	* gdk/win32/gdkfont-win32.c (gdk_font_equal): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): 
	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 

2003-03-06  Matthias Clasen  <>

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
	(#107664, Morten Welinder)

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): 
	* gdk/x11/gdkfont-x11.c (gdk_font_equal): 
	* gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): 
	Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)

	* gtk/gtktextmark.c (gtk_text_mark_get_buffer): 
	* gtk/gtkeditable.c (gtk_editable_get_chars): 
	* gtk/gtkctree.c (gtk_ctree_find_node_ptr): 
	* demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
	(#107648, Morten Welinder)Fix NULL/FALSE confusion
	(#107648, Morten Welinder)

2003-03-04  Matthias Clasen  <>

	* gtk/gtkobject.h: Add deprecation guards for gtk_object_new ().

Sun Mar  2 23:35:57 2003  Jonathan Blandford  <>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
	handle rtl code.  Thanks to Matthias Clasen for an initial patch
	to handle the RTL code.

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto

	* gtk/gtktreeview.c: (invalidate_column),
	(gtk_tree_view_size_allocate), (gtk_tree_view_button_press),
	(gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose),
	(gtk_tree_view_key_press), (gtk_tree_view_header_focus),
	Add RTL support.

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an
	expand flag.

	* gtk/gtktreeviewcolumn.c:
	Add support for expand flag.  Thanks to Kristian Rietveld for an
	initial patch for this.

Fri Feb 28 02:06:17 2003  Jonathan Blandford  <>

2003-03-02  Tor Lillqvist  <>

	* gdk/gdk.def
	* gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric

2003-03-01  Matthias Clasen  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): 
	(gtk_scrolled_window_set_hadjustment): Replace uses of
	gtk_object_new by g_object_new.

Thu Feb 27 17:44:24 2003  Manish Singh  <>

	* demos/gtk-demo/main.c
	* demos/gtk-demo/tree_store.c
	* gdk/x11/gdkscreen-x11.c
	* gtk/gtkcellrenderertoggle.c
	* gtk/gtkcolorsel.c
	* gtk/gtkdnd.c
	* gtk/gtkeditable.c
	* gtk/gtkentry.c
	* gtk/gtkmenu.c
	* gtk/gtkmenubar.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmenushell.c
	* gtk/gtkrc.c
	* gtk/gtksettings.c
	* gtk/gtkstyle.c
	* gtk/gtktextbuffer.c
	* gtk/gtktextview.c
	* gtk/gtktreeviewcolumn.c
	* tests/testgtk.c
	* tests/testtext.c
	* tests/testtreeedit.c
	* tests/testtreefocus.c
	* tests/testtreeview.c: remove unnecessary G_OBJECT() casts.

Tue Feb 25 21:55:17 2003  Jonathan Blandford  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL

2003-02-24  Sven Neumann  <>

	* gtk/gtkmain.c (gtk_get_default_language): fixed documentation.

2003-02-21  Tomas Ogren  <>

	* docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example

2003-02-20  Matthias Clasen  <>

	* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
	Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)

	* gtk/gtktextview.c (gtk_text_view_scroll_to_iter): 
	(gtk_text_view_update_adjustments): Make sure cursor stays visible
	during horizontal scrolling.  (#75270)

2003-02-19  Matthias Clasen  <>

	* tests/testdnd.c: Replace gtk_timeout_* by their GLib
	counterparts. (#106532)

	* gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
	keys_changed virtual function with the keys_changed signal.
	(#106512, Jeff Franks)

2003-02-15  Larry Ewing  <>

        * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.

2003-02-17  Mohammad DAMT  <>

	* po/id.po: Added Indonesian translation
	* Added "id" to ALL_LINGUAS

2003-02-14  Matthias Clasen  <>

	* gtk/gtktextview.c (popup_targets_received): Remove bogus casts.

2003-02-12  Christian Rose  <>

	* Added "yi" to ALL_LINGUAS.

2003-02-12  Matthias Clasen  <>

	Fix for #82734 and #78216:
	* gtk/gtktextview.c (delete_cb): 
	(select_all_cb): New callbacks for context menu items.
	(popup_targets_received): Add "Delete" and "Select All" to context
	menu, mnemonics and title caps for all items.

	* gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
	context menu item.
	(popup_targets_received): Add "Delete" to context menu, mnemonics
	and title caps for all items.

2003-02-09  Tor Lillqvist  <>

	* gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
	GetDriveType() to recognize removable drives (in order to avoid
	hanging if trying to access an empty floppy drive), instead of
	hardcoding A: and B: (#105654).

2003-02-09  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in 
	names.  (#57680)

2003-02-09  Christian Rose  <>

	* Removed "en@IPA.po" from ALL_LINGUAS.

Fri Feb  7 04:49:46 2003  Tim Janik  <>

	* gtk/gtkobject.c: remove quark_user_data usage in
	gtk_object_{g|s}et_user_data(). fixes get_user_data()
	returning NULL for user_data set through property interface.

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
	warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
	need to be a programming error (in case of loaded data), (b) it breaks
	with 2.0 behaviour where extra magic could be used to create empty
	images. don't attempt to retrieve pixbufs from NULL extra_data.

2003-02-06  Matthias Clasen  <>

	* gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
	a GdkVisual *, not a GdkVisual **.  (#105243)

	* gtk/gtkclist.c: 
	* gtk/gtkctree.c: 
	* gtk/gtkcontainer.c: 
	* gtk/gtkdnd.c: 
	* gtk/gtkentry.c: 
	* gtk/gtklist.c:
	* gtk/gtkmenu.c:
	* gtk/gtkmenuitem.c:
	* gtk/gtknotebook.c:
	* gtk/gtkselection.c:
	* gtk/gtkspinbutton.c:
	* gtk/gtktext.c:
	* gtk/gtktextview.c:
	* gtk/gtktooltips.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by
	their non-deprecated GLib counterparts.
	* gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*.
Sun Feb  2 16:45:57 GMT 2003  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: cleanups from
	Sebastian Rittau (#104832)

2003-02-01  Tor Lillqvist  <>

	Merge from stable:

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
	gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
	(#104108, Naofumi Yasufuku)

	* gdk/gdk.def: Export the above. Export
	gdk_screen_get_system_visual, noticed by Ed Woods.

Fri Jan 31 17:45:22 2003  Manish Singh  <>

	* demos/pixbuf-demo.c
	* demos/testpixbuf.c
	* demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage.

Fri Jan 31 17:33:00 2003  Manish Singh  <>
        * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
        on the tab_label before unparenting it, in case the unparent
        drops the refcount to 0.

2003-02-01  Matthias Clasen  <>

	* gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk
	headers. Sorry about gtk_selection_clear, Yosh.

Thu Jan 30 17:16:05 2003  Manish Singh  <>

	* gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
	too, for gtkwidget.c. Remember people, when introducing new
	deprecations, make sure internal code isn't using it, or if so,
	reorganize appropriately like I've done in other places.

	* tests/testtext.c: don't use deprecated gtk_timeout_* stuff.

2003-01-31  Matthias Clasen  <>

	* gtk/gtkselection.h: 
	* gtk/gtkselection.c (gtk_selection_clear): Deprecate.  (#85683)

	* gdk/gdkpixbuf.h: 
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): 
	(gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)

	* gtk/gtkcolorsel.h:
	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
	Deprecate.  (#98167)

	* gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)

	* gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
	and gtk_input_* functions.  (#71596)
	* gtk/gtkentry.c (gtk_entry_move_cursor): 
	* gtk/gtklabel.c (gtk_label_move_cursor): Handle

	* gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)

	* gtk/gtkitemfactory.h: 
	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. 

Thu Jan 30 23:48:30 2003  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
	only count the special cell if it is also visible,
	(_gtk_tree_view_column_get_neighbor_sizes): only take the width into
	account from visible cells,
	(gtk_tree_view_column_cell_get_position): likewise, (Reported and
	testcase provided by Vasco Alexandre da Silva Costa, via IRC,
	tracking bug was #104563).
Thu Jan 30 23:46:15 2003  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	subtract expander space and focus line space from the extra space
	we are about the allocate. (Fixes #104635).

Thu Jan 30 23:42:03 2003  Kristian Rietveld  <>

	* gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
	(Fixes #96242, patch from Soeren Sandmann).

Thu Jan 30 16:54:29 2003  Owen Taylor  <>

	* gtk/gtknotebook.c: Patch from Soeren Sandmann
	to update the states of the tab label child
	widgets to match the state of the tabs. 
	(#93389, Reported by Tommi Komulainen)

Thu Jan 30 16:30:54 2003  Owen Taylor  <>

	* (EXTRA_DIST): Remove from
	EXTRA_DIST, and from dist rules. (#102231)

2003-01-30  Daniel Elstner  <>

	* gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
	function that sets the icon's and label's packing options and
	visibility based on toolbar->style.

	(gtk_real_toolbar_style_changed): Make use of
	set_child_packing_and_visibility() to clean up the code and get
	the packing right for icon-only/text-only toolbars. (#104679)

	(get_first_child): Remove, and use gtk_bin_get_child() instead.

2003-01-30  Matthias Clasen  <>

	* gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by

	* gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
Thu Jan 30 16:01:29 2003  Owen Taylor  <>

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the 
	attempt-to-allocate then free code. To handle multiple
	people allocating colors at the same time, we need
	to just go ahead and try. (#102213, Shivram U)
2003-01-30  Daniel Elstner  <>

	* gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
	rectangle using the background color rather than relying on
	gdk_window_clear_area(), so that the palette works properly with
	pixmap themes. (#101732)

	* demos/gtk-demo/colorsel.c: Install an "expose_event" handler
	to fill the drawing area in the background color.

Wed Jan 29 14:11:21 2003  Hidetoshi Tajima  <>

	* modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
	initialization error for selecting input style (#103549).

Wed Jan 29 17:02:41 2003  Owen Taylor  <>

	* gdk/gdkkeyuni.c (get_decimal_char): Make the 
	translation of GDK_KP_Decimal dependent on LC_NUMERIC.

Wed Jan 29 15:43:56 2003  Owen Taylor  <>

	* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
	Make up from the menu bar go to the end of the submenu.
	(#96114, Ian Peters.)

	* gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): 
	Only do the select-but-not-activate stuff if the
	menu is already active. Otherwise, just activate.
	(#101690, Arvind Samptur)

Tue Jan 28 15:18:24 2003  Owen Taylor  <>

	* (have_automake): Fix version in complaint
	message about automake. (#104366, Rich Burridge)

Mon Jan 27 16:38:13 2003  Owen Taylor  <>

	* Remove SOEXT stuff; it doesn't work portably.

Mon Jan 27 22:45:15 2003  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if
	we appended/prepended, send the rows_reordered signal to the 
	correct level ... (Reported by Matthew Tuck).

Mon Jan 27 22:43:11 2003  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail
	out if the level only has one item, recurse over the child if there
	is one. (Fixes #100458, reported by Gaël Le Mignot).

Mon Jan 27 22:41:26 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model),
	(gtk_tree_view_search_equal_func): make TreeView search handle
	all types which are transformable by GValue. (Fixes #99803, reported
	by Muktha Narayan).

Mon Jan 27 22:39:25 2003  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id):
	*really* handle unsetting the ID. Slightly modified patch from
	Soeren Sandmann. Fixes #87556, reported by Jarek Dukat.

Mon Jan 27 22:33:43 2003  Kristian Rietveld  <>

	Fixes the total GtkTreeSortable mess, and #83195, reported by
	Jarek Dukat

	* gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id),
	(gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func),
	(gtk_tree_store_set_default_sort_func): use the constant
	GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions
	work as advertised by the documentation.

	* gtk/gtklistore.c (gtk_list_store_get_sort_column_id),
	(gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func),
	(gtk_list_store_set_default_sort_func): likewise.

	* gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id),
	(gtk_tree_model_sort_set_default_sort_func): make functions work
	as advertised by the documentation.

Mon Jan 27 22:31:56 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column
	before we decide if we edit. (fixes #100973, reported by Dave Cook).

Mon Jan 27 22:29:30 2003  Kristian Rietveld  <>

	Bug report and test case from Paolo Maggi via IRC.

	* gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed,
	(gtk_list_store_move): update tail if needed.

Mon Jan 27 16:19:59 2003  Owen Taylor  <>

	* gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
	might be NULL. Use gtk_widget_get_display (widget) 
	(#102860, Thomas Leonard)

Mon Jan 27 15:58:31 2003  Owen Taylor  <>

	* Fix --without-modules/--disable-modules
	confusion that was causing --disable-modules not to work.
	(#102865, Akira Tagoh)

	* Fix problem with plain --with-xinput
	(#104266, Akira Tagoh)

2003-01-24  Sebastian Rittau  <>

	* docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last

Fri Jan 24 17:06:41 GMT 2003  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h

Thu Jan 23 21:15:29 GMT 2003  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Learn to spell Library

Thu Jan 23 20:56:56 GMT 2003  Tony Gale <>
	* Sebastian Rittau  <>:

	   docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
	   Composite widget" to modern standards. (I.e. use gobject instead of
	   glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.

	* docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
	code in Appendix C to reflect above changes.

	* examples/rangewidgets/rangewidgets.c: From Roger Leigh
	auto resize on page size change

2003-01-23  Daniel Elstner  <>

	* gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
	in addition to show_all in order to keep them symmetric. (#102201)

Wed Jan 22 14:18:46 2003  Manish Singh  <>

	* gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
	the end of the function, so there is a statement following the "out"
	label in all cases (fixes #101961)

2003-01-22  Christian Rose  <>

	* Added "mn" to ALL_LINGUAS.

Wed Jan 15 17:02:18 2003  Owen Taylor  <>
 	* gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
 	Fix off-by-one error on the backward iteration loop,
 	that was causing the wrong range to be redrawn.
 	(at least part of #72734)
2003-01-21  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
	vadjustment value after changing its bounds.  (fixes #101963 and 

	* gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid 
	unnecessary roundtrip failures.  (#93500)

2003-01-19  Tor Lillqvist  <>

	Merge from stable:
	Fix for #103614 and some other problems with GtkFileSelection on
	* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
	g_ascii_tolower(). Windows file names are case-insensitive for all
	Unicode letters.

	* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
	G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
	earlier, as it includes config.h unconditionally, and gtkprivate.h
	redefines GTK_LOCALEDIR.
	(struct _CompletionDirSent): Ifdef out the fields not used on
	(compare_utf8_filenames, compare_sys_filenames): Need different
	comparison implementation for UTF-8 file names and system locale
	file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
	need to casefold all Unicode letters.
	(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
	variables not used on Win32 to avoid warnings about unused
	(open_ref_dir): Use g_path_skip_root() to skip past potential
	drive letter in front of the leading (back)slash.
	(open_new_dir): Ifdef out use of CompletionDirSent fields not
	there on Win32.
	(correct_parent): Bypass inode check also on Cygwin.

	Fix bug noticed by Alex Shaduri: Tooltips and other
	GDK_WINDOW_TEMP windows were activated. This looked very odd, and
	was a regression from earlier versions.
	* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
	behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
	(gdk_window_move, gdk_window_resize): Add debug logging.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
	WM_SIZE message for a non-visible (withdrawn) window, don't clear
	the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
	even if its size changes.

2003-01-16  Matthias Clasen  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes.
	(totally_invisible_line): Fix an incorrect optimization which
	caused invisible paragraphs to be occasionally misrendered.

Wed Jan 15 15:55:47 2003  Owen Taylor  <>

	* gtk/gtksettings.c: Set the double click speed from
	XSETTINGS when creating a new GtkSettings object
	as well as when getting a notify. (#103601, reported
	by Louis Garcia)

Wed Jan 15 14:56:09 2003  Owen Taylor  <>
 	* gtk/gtknotebook.c (gtk_notebook_size_allocate): 
 	Show/hide the notebook event window as necessary,
 	we weren't previously keeping the visibility updated
 	properly.  (#103599)
2003-01-15  Matthias Clasen  <>

	* examples/menu/itemfactory.c: 
	* docs/tutorial/gtk-tut.sgml: Add a <StockItem> to the itemfactory
	example.  (#103211)

2002-12-29  Murray Cumming  <>

	Fixes #102168.

	* gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
	Actually implement the GtkTreeDragSource::row_draggable virtual 
	function in GtkListStore and GtkTreeStore instead of just checking 
	whether it's implemented at all. This means that DnD isn't broken by
	gtkmm's virtual function wrappers. The alternative would be to
	hard-code the TRUE return value into gtkmm's wrappers, but that's 
	part of GTK+'s implementation, not it's API.

Tue Jan 14 23:42:29 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c: fix compiler warning.

Tue Jan 14 23:29:00 2003  Kristian Rietveld  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	make sure exposed pixbufs are clipped to the exposed area before
	drawing, which is a slight speedup. (#102379, patch from Soeren

Tue Jan 14 23:26:41 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (validate_visible_area): silly typo fix,
	only free scroll_to_path when the complete tree has been validated.
	This makes sure that we scrolled to the correct path.

Tue Jan 14 23:25:32 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_style_set): update the
	background of widget->window and bin->window. (Fixes #96650, reported
	by Dave Camp).

Tue Jan 14 23:24:02 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process
	updates before scrolling, avoiding a "selection streak". (Fixes
	#101235, patch from Soeren Sandmann).

Tue Jan 14 23:22:13 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (validate_visible_area): actually put values
	in the requisition using gtk_widget_size_request. (Fixes #100172,
	reported by Kjartan Maraas).

Tue Jan 14 23:19:45 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the
	arrow animation timeout before we actually reorder the rbtree. If
	we don't do this we can get stuck arrows,
	(cancel_arrow_animation): new function. (Fixes #93629, part 2,
	reported and testcase provided by Hans Petter Jansson).

Tue Jan 14 23:18:21 2003  Kristian Rietveld  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
	anchor_path should be start_path, not end_path. (Fixes #102618,
	patch from Carlos Garnacho Parro).

Tue Jan 14 23:16:15 2003  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_move): also update the tail,
	only correct new_pos if we don't move to the head/tail.

Tue Jan 14 23:11:55 2003  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_swap): take the path from
	the parent_iter if depth >= 1, so we send the reordered signal to
	the correct level, remove debugging printfs which I forgot the remove
	earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and
	testcase provided by Matthew Tuck).

Tue Jan 14 20:58:44 2003  Kristian Rietveld  <>

	* gtk/gtktreeview.c (invalite_last_column): split out actual column
	invalidation into invalidate_column(),
	(gtk_tree_view_size_allocate_columns): invalidate column if the
	new width is larger than the old width.
	(fixes #102890, reported by Alex Duggan).

2003-01-14  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
	invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and

	* gtk/gtktextiter.c,
	gtk/gtktextiter.h: Add some variant movement functions which
	skip invisible chars, and do some cleanups.

2003-01-12  Tor Lillqvist  <>

	Merge from stable:
	* gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
	as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time

	* gdk/ (libgdk_win32_2_0_la_DEPENDENCIES): Depend on

	* gdk/gdk.def
	* gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.

	* (DEVZIP): Add bin/{gtk-query-immodules-2.0,
	gtk-demo}.exe and share/gtk-2.0.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
	Implement by setting or clearing the WS_EX_TOOLWINDOW extended
	window style.
	(gdk_window_set_type_hint): Add all cases to the switch (not all
	do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
	calling gdk_window_set_skip_taskbar_hint(). This means that GTK
	won't know that the skip_taskbar hint is on for the window, is
	this bad?

Wed Jan  8 18:43:03 2003  Manish Singh  <>

	* gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
	<string.h> for strlen.

	* gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
	<string.h> for strrchr.

	* tests/testgtk.c (create_saved_position): "x" and "y" properties
	for widgets no longer exist, use gtk_window_move instead.

	* test/testtextbuffer.c (check_get_set_text): cast strlen to
	int for g_error.

2003-01-08  Matthias Clasen  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
	the selection in the presence of invisible segments.

2003-01-07  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
	to "select all" and "unselect all".  (#102065)

	* gtk/gtktextview.h (struct _GtkTextView): Add a comment that
	the just_selected_element is unused.

	* gtk/gtktextview.c (extend_selection): New helper function to
	find the range that should be added to the selection. 
	(selection_scan_timeout): Support select-by-words/lines.
	(gtk_text_view_button_press_event): Start a selection drag on
	double/triple clicks.  (#78499)

2003-01-06  Matthias Clasen  <>

	Implement a utility function proposed in #102534:
	* gtk/gtktextbtree.h: 
	* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
	(_gtk_text_btree_place_cursor): Now a simple wrapper around

	* gtk/gtktextbuffer.h: 
	* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
	(gtk_text_buffer_place_cursor): Now a simple wrapper around

2003-01-05  Havoc Pennington  <>

	* fix a stray bracket that was breaking the build

2003-01-05  Tor Lillqvist  <>

	* Use correct DLL and import library names, with
	(DEVZIP): Add gdk-pixbuf-query-loaders.exe.

	* Improve check for dimm.h.

	* Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in

	* gdk-pixbuf/
	* gdk-pixbuf/pixops/
	* gdk/
	* gdk/win32/
	* gtk/ Remove. Not maintained anyway.

	* gdk-pixbuf/
	* gdk-pixbuf/pixops/
	* gdk/
	* gdk/win32/
	* gtk/
	* Remove makefile.mingw{,.in} from here, too.
	* README.win32: Updates. Don't mention the now removed
	makefile.mingw files.

	* gdk/gdk.def
	* gtk/gtk.def: Add a couple of missing entries.

	* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().

	* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround

	* gdk/win32/rc/ Add hack to help
	build/win32/lt-compile-resource decide which kind of libtool
	object file to produce.

2003-01-05  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
	C-Down step through the sequence of paragraph ends (old behaviour
	included paragraph starts).  (#80340, patch by Narayana Pattipati)

	* gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
 	Check for a tag toggle at the start iterator before calling
 	gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel 

2003-01-04  Matthias Clasen  <>

	* gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
	and /*< private >*/ as appropriate.  (#97211)

2003-01-04  Tor Lillqvist  <>

	* (EXTRA_DIST): Don't distribute, but do

	* (DEVZIP): Add gdk-pixbuf-csource.exe and .1.

2003-01-03  Havoc Pennington  <>

	* docs/ (EXTRA_DIST): put it in EXTRA_DIST

	* docs/text_widget_internals.txt: add a file documenting some of
	the text widget internals

2003-01-02  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
	return NULL.  (#102069)

2003-01-01  Matthias Clasen  <>

	* gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having
	a main() in the library is obviously bad. 

2002-12-27  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
	cursor at drop point.  (#72384)
	(gtk_text_view_size_allocate): Update the horizontal adjustment
	value.  (#75694)

2002-12-25  Matthias Clasen  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
	selection wrt. to empty lines.  (#90435, #90582, #91619)

	* gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
	Keep the cursor on screen.  (#96929)

2002-12-24  Matthias Clasen  <>

	* gtk/gtktextbuffer.c (paste_from_buffer): 
	(clipboard_text_received): Let the user action span the insertion
	and the deletion of the old selection.  (#82844)

2002-12-23  Matthias Clasen  <>

	* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
	Don't call gtk_text_iter_backward_sentence_start() if
	count is zero.  (#99115)

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
	move_cursor() even if the cursor hasn't moved, since it has the
	side effect of canceling the selection.  (#81395, #98537, #98333)

2002-12-22  Matthias Clasen  <>

	* gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes
	with empty ranges.  (fixes #101564 and #80637)

2002-12-21  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
	sets the window style and extended window style, and adjusts the
	width and height to take the window decorations into account
	earlier. The adjusted width and height used to be ignored. Remove
	the local x, y, width and height variables, no need to further
	confuse the code by having local copies. (Partial fix, I hope, for

	(gdk_window_move): When moving top-level windows, take title bar
	and border width into account, offsetting the coordinates before
	calling SetWindowPos().

	(gdk_window_set_decorations, gdk_window_set_functions):
	Reimplement, taking into account the peculiar semantics of

	(gdk_window_get_decorations): Implement. (#98981)
	(gdk_window_set_type_hint): When setting
	GDK_WINDOW_TYPE_HINT_MENU, call	gdk_window_set_decorations().

	* gdk/gdk.def: Add gdk_window_get_decorations. (#98981)

2002-12-21  Matthias Clasen  <>

	* gtk/gtktextview.c (gtk_text_view_set_background): New static
	function to set the background of all windows.
	(gtk_text_view_style_set): Use gtk_text_view_set_background().
	(gtk_text_view_state_changed): New function; change background
	according to state.  (#88126)

2002-12-21  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation