Blob Blame History Raw
Fri Mar  8 14:45:00 2002  Owen Taylor  <>

	* ======== Released GTK+-2.0 ========

Fri Mar  8 20:41:51 2002  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): handle
	gtk-tree-model-drop-append like the ListStore, includes some
	tweaks to work right with trees

Fri Mar  8 14:22:43 2002  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_init): Some packing

	* Include GLIB_LIBS when checking
	for bind_textdomain_codeset, to catch the case where
	it is in -lintl.

Thu Mar  7 16:46:58 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_visible_area): get rid of really
	bad focus loop.
	(gtk_tree_view_clamp_node_visible): only clamp the node when
	realized.  Need to replace this with scroll_to_cell sometime.
	(gtk_tree_view_header_focus): clickable or reorderable columns are
	focusable, #73656

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_widget): fix
	docs to reflect behaviour change, #73682

Fri Mar  8 11:12:32 2002  Owen Taylor  <>

	* NEWS: Fix version numbers. (Johan Dahlin.)

	* Update, just refer to gtk-building.html
	rather than duplicating information.

	* Add release specific notes.

	* (EXTRA_DIST): Remove TODO and TODO.xml
	from the distribution.

Thu Mar  7 23:29:35 2002  Owen Taylor  <>

	* NEWS: Final updates for 2.0.0

	* Updates.

2002-03-08  Tor Lillqvist  <>

	* gdk/ (LDFLAGS): Add missing .la suffix for	libgdk_pixbuf.

Thu Mar  7 21:32:01 2002  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): increase
	value of new_location by one if cmp_a > 0 and we hit the end of
	the list.

Thu Mar  7 10:31:57 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_timer): Fix problem where
	there were two copies of the "do an arrow step" code, 
	one correct for rotated notebooks, one not. (#73855,
	Thomas Leonard.)

Wed Mar  6 23:20:51 2002  Jonathan Blandford  <>
and			  Kristian Rietveld  <>

	Finishing touch for 2.0.0 release, fixes #70782, #72729, the
	'stealth' bug and other last-minute minor issues.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set dnd dest line
	drawing right. We can't draw the line at the position of the next
	row, because that one still has to be drawn. So draw everthing at
	a -1 offset.
	(validate_visible_area): add check for invalid descendants and
	NULL scroll_to_path path, get scrolling right.  Also, fix the
	area_above value.  Pretty amazing I got it wrong.
	(get_logical_dest_row): add gtk-tree-model-drop-append magic, so
	dragging a row to the end of the model works right.
	(gtk_tree_view_get_dest_row_at_pos): minor floating point fix
	(gtk_tree_view_start_editing): add call to validate_row
	(gtk_tree_view_tree_to_widget_coords): Never subtract
	HEADER_HEIGHT from y values anymore!!!
	(gtk_tree_view_widget_coords_to_tree): ditto.
	(gtk_tree_view_scroll_to_point): allow -1 as values for the
	scroll_to coords
	(gtk_tree_view_move_cursor_page_up_down): Don't need scroll_to_y
	as clamp_node_visible will make it work.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): also check
	path depth, as we can't get iters from empty paths

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received): handle

	* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): free path_str

	* tests/testtreeflow.c (main): select path where we are scrolling to

2002-03-06  Darin Adler  <>

	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
	Update offsets before finding where to insert the new value.

	* gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
	we scroll, instead of just updating the scroll position variables.

2002-03-06  Manish Singh  <>

	* gdk/
	* gtk/ rework so that only things that really need to be
	done post install are in the hook

2002-03-06  Anders Carlsson  <>

	* gtk/gtkiconfactory.c (get_default_icons): Register 16x16 version
	of properties stock icon.

	* gtk/stock-icons/ Add stock_properties_16.png

Wed Mar  6 00:38:29 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_real_insert_text): Fix various problems
	when truncating the inserted text to fit into the GtkEntry
	size limit of 65kb. (#73119)

Wed Mar  6 00:20:59 2002  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_process_action): move event handling to
	the process_action function so we can have the event go to
	individual cells.

Tue Mar  5 22:16:58 2002  Owen Taylor  <>

	* GTK+-2.0.0 rc1

	* docs/tutorial,faq/ Deal with the html directory
	already being there.

	* docs/faq/ (EXTRA_DIST): Add gtk-faq.sgml to EXTRA_DIST.

2002-03-05  Manish Singh  <>

	* gdk/
	* gtk/ use install-foo-hook instead of install-foo-local,
        since foo-local is run before the their respective builtin targets
	in automake 1.5

2002-03-05  jacob berkman  <>

	* change an == to =

2002-03-06  Tor Lillqvist  <>

	* gdk-pixbuf/
	* gdk/win32/rc/
	* gtk/ Use GTK_API_VERSION.

2002-03-05  Manish Singh  <>

	* Fix up the freetype checking logic. Suppress
	suprious "no" with --disable-modules.

2002-03-06  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab,
	gdk_pointer_ungrab): Bypass calls to the grab/ungrab functions in
	gdkinput-win32.c, as they don't effectively do anything anyway.
	(build_key_event_state): Set MOD2 bit if key is in AltGr group.
	(gdk_event_translate): Call _gdk_windowing_window_get_offsets()
	each time the offsets are used, on the window they refer to,
	instead of once in the beginning. The window in question might
	change due to event propagation.
	(gdk_event_translate): Set key event group to 0 for non-AltGr
	keys. Do set the SHIFT bit in the key event state also for
	ISO_Left_Tab. Now backtabbing finally works again.

	* gdk/win32/gdkunput-win32.c: Minor debugging output change.

	* gdk/win32/gdkkeys-win32.c (update_keymap): Set VK_TAB mapping to
	Gdk_Tab and GDK_ISO_Left_Tab, like on X11.
	(gdk_keymap_translate_keyboard_state): Add similar code as in the
	non-XKB case on X11 to generate a more correct
	consumed_modifiers. Add debugging output.
	(gdk_keyval_name): Use the U+xxxx format for UCS characters
	encoded as keyvals. Never return NULL, but hex number
	representation if keyval not in table.

	* gdk/win32/gdkwindow-win32.c (gdk_window_focus): Call
	SetFocus(). Doesn't seem to have any harmful effect, and probably
	is close to what this function is supposed to do. But it didn't
	fix GtkCombo as I had hoped.
	(gdk_window_set_type_hint): Don't intern the _NET_WM_* atoms that
	weren't used and wouldn't have any meaning on Win32 anyway.

Tue Mar  5 19:19:19 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_set_focus): When setting
	the focus to NULL, clear the existing focus chain so
	that when we focus into the window again, we start
	at the beginning. (Pointed out by Tim Janik.)

2002-03-06  James Henstridge  <>

	* libpango is now called libpango-1.0

Tue Mar  5 18:17:31 2002  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width):
	remove sizing == AUTOSIZE check.  Update docs.

Tue Mar  5 17:43:43 2002  Owen Taylor  <>

	* gtk/gtkfontsel.c (gtk_font_selection_init): Don't
	create ->font_entry, ->font_style_entry at all rather
	than just not showing them to avoid the problem of
	them popping up if gtk_widget_show_all() is done
	on the dialog. (#72913, Charles Kerr.)

Tue Mar  5 18:06:49 2002  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_resizable):
	doc fix proposed by (Vitaly Tishkov), #73567.

2002-03-05  Matthias Clasen  <>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_deleted): Fix docs.

	* gtk/gtkwindow.c (gtk_window_remove_mnemonic): 
	(gtk_window_mnemonic_activate): Add docs.

	* gtk/gtktreeview.c (gtk_tree_view_get_search_equal_func): Fix
	typo in docs.

Tue Mar  5 17:02:59 2002  Owen Taylor  <>

	* docs/tutorial/gtk-tut.sgml: s/menu_new/menu_item_new/.
	(#69199, Akira Tagoh.)

Tue Mar  5 16:53:05 2002  Owen Taylor  <>

	* docs/faq/ Build the docbook version, not
	the old linuxdoc version.

Tue Mar  5 15:47:54 2002  Owen Taylor  <>

	* test/makefile.msc ** **/*.am:
	Update version to 2.0.0


	* (GDK_PIXBUF_VERSION): Require GLib 2.0.0,
	Pango, Atk, 1.0.0.

	* m4macros/gtk-2.0.m4: Default to 2.0.0 as the minimum

2002-03-05  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_size_allocate): don't assign
	yoffset here, just let it get updated in response to the
	value_changed. Fixes #72479

Tue Mar  5 10:29:09 2002  Owen Taylor  <>

	* gtk/gtktreeview.c (do_presize_handler)
	gtk/gtktreeview.c (do_validate_rows): Don't use this 
	same functions as idle callbacks and directly, to avoid
	threading deadlocks. (#72392, Scott Guilbeaux)

	* gtk/gtktable.c (gtk_table_size_request_init): Fix 
	row/column confusion from recent patch. (#73505,
	Vitaly Tishkov.)

2002-03-04  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml: Make color selection and selection 
	examples work.

	* tests/testselection.c (selection_toggled, selection_clear):
	Use selection_widget as selection owner - otherwise clearing the
	selection doesn't work.

Mon Mar  4 12:43:48 2002  Owen Taylor  <>

        Fixes for non XKB operation. (#73103)

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
	Fix problem where GDK_Tab was converted to GDK_ISO_Left_Tab
	always, not just if Shift was pressed.
	* gdk/x11/gdkkeys-x11.c gdk/x11/gdkprivate-x11.c 
	gdk/x11/gdkevents-x11.c: Move determination of group
	to _gdk_x11_get_group_for_state(), fix to handle non-XKB.

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Only
	add in SHIFT_MASK | LOCK_MASK to consumed_modifiers if the shifted
	and unshifted keysyms are different. Only add in group_switch_mask
	if the group-switched and non-group-switched keysyms are diferent.

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): 
	When calling XKeycodeToKeysym, use group * keysyms_per_keycode / 2
	not group * keysyms_per_keycode. (Tor Lillqvist)

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
	Remove the hack to fudge the return value for GDK_Tab + Shift
	since that didn't work -- it didn't affect the reverse mapping.
	Instead fudge the non-XKB keymap instead.

Mon Mar  4 11:02:18 2002  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_get_selections): Fix
	memory leak. (#73370, Paolo Maggi).

Mon Mar  4 10:35:28 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_set_current_page): Fix docs
	in terms of what out of range @page_num does. (#73371,
	Vitaly Tishkov.)

2002-03-02  Havoc Pennington  <>

	* demos/gtk-demo/editable_cells.c (cell_edited): const fix

Sun Mar  3 18:47:13 2002  Owen Taylor  <>

        * gtk/gtkwindow.c (gtk_window_parse_geometry): Fix
	to properly take the default window into account by
	setting a flag and in gtk_window_compute_configure_request_size ()
	multiplying by the increments and adding in the base
	size. (#72393)

	* tests/testgtk.c (create_gridded_geometry): Add a
	test for gridded geometry and for gtk_window_parse_geometry().

2002-03-04  Hans Breuer  <>

	* gtk/ : don't build gtk.defs anymore

2002-03-04  Tor Lillqvist  <>

	* gtk/gtkrc.h: Remove obsolete Win32-only declaration of

Sun Mar  3 17:03:30 2002  Owen Taylor  <>

	* gtk/gtkmenushell.c gtk/gtkmenubar.[ch]: Back out
	changes to propagate keys to parent menu shells, since
	that broke stuff; rather implement ::cycle-focus as
	a key binding on GtkMenuShell rather than on GtkMenuBar.

	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): Add
	add bindings for ::cycle-focus. (In gtkmenubar.c, were 
	mistakently bound to ::move-focus.)

2002-03-03  Tor Lillqvist  <>

	* README.win32: Minor edits.

	* Update to match a recent configure-generated

Sun Mar  3 15:16:07 2002  Owen Taylor  <>

	* gtk/gtktable.c: When increasing the row or column
	requisitions to make them sufficient for spanning widgets,
	favor rows or columns with expandable children in them.
	(#1261, Jonathan Blandford.)

Sun Mar  3 14:26:33 2002  Owen Taylor  <>

	* gtk/gtkstyle.[ch] (_gtk_get_insertion_cursor_gc):
	Centralize lookup and caching of cursor GC's here.

	* gtk/gtkentry.[ch] gtk/gtktextview.[ch] gtk/gtktextdisplay.c
	gtk/gtklabel.c: Move to using _gtk_get_insertion_cursor_gc().

	* gtk/gtkentry.c (gtk_entry_expose): Draw cursors
	under the text, not over the text.

	* gtk/gtkwidget.c (gtk_widget_class_init): add
	a secondary-cursor-color property.

	* gtk/gtkwidget.c (gtk_widget_class_init): Decrease
	the default aspect ratio to 1/25 (0.04).
	* tests/testgtkrc (bell_duration): Comment out
	cursor color setting.
Sun Mar  3 20:48:12 2002  Soeren Sandmann  <>

	* gtk/gtkmenu.c (gtk_menu_set_submenu_navigation_region): change
	offset of cursor corner of navigation region from (-2, 2) to 
	(-2, 0).

2002-03-03  jacob berkman  <>

	* (EXTRA_DIST): add

2002-03-03  Anders Carlsson  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_move_resize): Fix tyop
	in docs.

Sat Mar  2 03:49:31 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
	ifs above _set_cursor code, don't collapse/expand row on double
	click, only activate (#63269)
	(validate_visible_area): add two missing lines (#73161, #73162)

Sun Mar  3 12:13:56 2002  Owen Taylor  <>

	* Fix typo where pangoxft was being
	required instead of pangox. (Reported by Miles

Sun Mar  3 11:12:16 2002  Owen Taylor  <>

	* gtk/gtktextlayout.c (add_cursor): When in split cursor
	mode, always add the cursor as both strong and weak
	so that it is drawn with the correct non-split color.

Sun Mar  3 11:05:13 2002  Owen Taylor  <>

	* modules/input/ (moduledir): Fix
	install location.

Sun Mar  3 10:28:32 2002  Owen Taylor  <>

	* gtk/ add missing dependency of objects on

	* gtk/ gtk/gtk-boxed.defs: Remove completely
	out of date and unused gtk-boxed.defs and the accompanying
	Makefile rule to generate the complete gtk.defs.

2002-03-03  Hans Breuer  <>

	* gtk/gtkmain.c : make rewrite_event_for_window() static
	* gtk/gtkrc.c : gtk_rc_clear_realized_style() static

	* gtk/ : adapt to makeenums build changes

	* gtk.def : sorted alphabetical again

2002-03-03  Sven Neumann  <>

	* m4macros/gtk-2.0.m4: lowercase configure --help output.

Sun Mar  3 06:39:19 2002  Tim Janik  <>

	* gtk/gtkfilesel.c: added compile time switch to put the tree views
	into a hpaned for owen to play with.

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free): 
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
	* gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
	(gtk_tree_store_set_sort_func), (gtk_tree_store_finalize): 
	* gtk/gtktreeselection.c (gtk_tree_selection_finalize): 
	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
	* gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
	(gtk_list_store_set_sort_func), (gtk_list_store_finalize): 
	add reentrancy protection around destroy() function invocation.

	* gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
	destroy function invocation (which was missing).

Sat Mar  2 23:08:23 2002  Owen Taylor  <>

	Fixes for uninstalled operation with module suffixes
	other than .so and in general for platforms like AIX where
	the module suffix isn't predictable. (#72185, problems
	reported by Miroslaw Dobrzanski-Neumann)

	* modules/input/ (gtk.immodules): Query .la
	files rather than shared objects in .libs when creating the
	uninstalled gtk.immodules file.

	* gtk/gtkmain.c (_gtk_find_module): Look for .la files
	after looking for the normal soname extension to handle
	cases where the soname extension isn't predictable,
	like AIX.

	* gtk/gtkthemes.c (gtk_theme_engine_load): Don't
	call g_module_build_path... leave that to 

	* demos/gtk-demo/main.c (main) demos/pixbuf-init.c (pixbuf_init):
	tests/testgtk.c (test_init): tests/testtext.c (test_init)
	tests/testdnd.c (test_init): Point gdk-pixbuf to .la
	files rather than poking in .libs for .so files.

	* gtk/stock-icons/ (gtkstockpixbufs.h): Remove

Sat Mar  2 20:58:30 2002  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_reparent): Handle NO_WINDOW
	widgets with windows that are children of widget->window.

	* tests/testgtk.c: Add eventboxes to the example so that
	we are reparenting between different GdkWindows.

Sat Mar  2 20:39:38 2002  Owen Taylor  <>

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock): 
	Add a note to the docs about how to use this in the 
	context of changeable accelerators. (#72382, Mark Patton)

Sat Mar  2 19:48:10 2002  Owen Taylor  <>

	* Fix missing -lX11 into x_libs with pangoxft.

Fri Mar  1 00:46:49 2002  Owen Taylor  <>

	* Add a --enable-explicit-deps option to control
	whether dependency libraries are written into .la files and .pc
	files.  Default is auto: if static libraries are off and shlib
	dependencies are found, don't write deps.

	* gdk/ gtk/ Shell script
	used to strip dependencies out of .la files.

	* Add a slightly modified distcheck rule that passes
	--enable-gtk-doc to the configure inside.
	(So that 'make dist' succeeds inside.)

	* If pango was compiled with
	--disable-explicit-deps, then repeat the checks for X and
	freetype ourselves so we don't depend on linking to libraries
	that pango doesn't reveal in the link line. Add some more paranoia
	for whether what we detect ourselves matches what Pango backends
	we found.
2002-03-03  Tor Lillqvist  <>

	* Output gdk-pixbuf/gdk_pixbuf.rc.

	* gdk/gdk.def
	* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
	gdk_pointer_grab_info_libgtk_only() and

2002-03-02  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
	code, keyval should get a value in all cases now.
	(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
	was a control character produced with Alt+keypad digits.
	(gdk_event_translate): Minor cleanups to keyboard input
	handling. Still need more major work.
Sat Mar  2 16:12:03 2002  Owen Taylor  <>

	* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
	do special focus handling if draw_indicator is not set.
	(#64723, Damon Chaplin.)

Sat Mar  2 15:48:04 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_new_with_max_length,
	gtk_entry_set_max_length): Clamp @max parameter passed in to 
	[0, MAX_SIZE], improve docs. Fix default and range 
	for ::max-length property, range for ::ncursor_position,
	::selection_bound properties. (#55916, Vitaly Tishkov)

	* gtk/gtkmain.c (rewrite_event_for_grabs): Fix typo

Fri Mar  1 18:39:44 2002  Owen Taylor  <>

	* gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h,
	gdkwindow-x11.c}: Robustify tracking of pointer grab window.

	* gdk/x11/gdkmain-x11.c: Keep track of current keyboard
	grab window.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only,
	gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk
	API for finding out current grab information.
	* gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events
	so that the effective behavior of owner_events = TRUE is changed
	to "deliver events to same window group normally" instead
	of "deliver events to same application normally. #69934

	* gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
	it works within the GtkList combo, where there is a 
	owner_events = FALSE gdk_pointer_grab() already in effect.
	(#65006, reported by Damon Chaplin)

Sat Mar  2 14:32:50 2002  Owen Taylor  <>

        * Default to --disable-gtk-doc (avoid Jade
	breakage) and --disable-static (static linking causes
	problems with Xft changes.)

	* Add --enable-gtk-doc by default.

	* Add a 'mydistcheck' rule that passes
	--enable-gtk-doc to the configure since that is needed
	for 'make dist'.

	* docs/tutorial/ (dist-hook): Don't distribute
	the PDF file. (Rule doesn't work on my system, plus it's

	* gtk/ 'make dist' fixes.

Sat Mar  2 13:26:58 2002  Owen Taylor  <>

        * gtk/ Switch style of stamp file usage.

	* gtk/ gtk/typeutils.[ch]: Switch all the exported
	enumeration/fags TYPE variables over to macros for get_type() functions,
	for lazy definition and to get rid of expensive relocations.

	* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
	gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
	gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
	definitions over manually coded get_type() functions.

	* gtk/gtk.def: Updates for above

	* gtk/{,makeenums.awk,makeenums.h,maketypes.awk}:
	Remove from CVS, no longer used.

	* Remove checks for awk.
Sat Mar  2 04:44:10 2002  Tim Janik  <>

	* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.

Fri Mar  1 23:59:35 2002  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): set
	first_cell to FALSE after first iteration

	* gtk/gtktreeview.c (validate_visible_area): reduce usage of
	GTK_RBNODE_GET_HEIGHT, check for node != NULL,
	(gtk_tree_view_top_row_to_dy): remove call to gtk_adjustment_changed
	(gtk_tree_view_search_iter): select iter after scrolling

2002-03-02  Tor Lillqvist  <>

	* gtk/gtkitemfactory.c: Remove unneeded Win32 stuff inside #ifdef
	G_OS_WIN32. (Leftover from when gtkitemfactory.c handled files.)

2002-03-01  Tor Lillqvist  <>

	* gdk/gdkkeys.c (gdk_keyval_convert_case)
	* gdk/x11/gdkkeys-x11.c (gdk_keyval_convert_case): If the keyval
	to be converted is one of those that consist of a Unicode
	character plus our special flag bit, use the
	g_unichar_to{lower,upper} functions (Bug#73112).

	* gdk/gdkkeys.c (gdk_keyval_convert_case): Drop the #ifdefs for
	the GDK keysym symbols. As we include gdkkeysyms.h, we know they
	are there. And if GDK keysyms some day are added/removed, this
	function needs changes, too, anyway.

Fri Mar  1 17:00:28 2002  Owen Taylor  <>

	* gdk/gdkpolyreg-generic.c: Fix some reported (but not significant)
	UMR's from purify. (#73160, Morten Welinder)

Fri Mar  1 16:48:19 2002  Owen Taylor  <>

	* gtk/gtkscrolledwindow.c: Initialize the scrollbar spacing
	variable in the class to -1, and then take that to mean
	"default" (3) rather than putting 3 in the class directly.
	This gives us some wiggle room to make it a per-instance
	rather than a per-class property later.

2002-03-01  jacob berkman  <>

	* (install-data-hook): 
	(dist-hook): replace uses of test -e with more portable test -f

Fri Mar  1 14:49:35 2002  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_commit_text): Don't delete
	forward across line boundaries when in overwrite mode.
	(#73145, reported by Ettore Perazzoli)

Fri Mar  1 14:47:39 2002  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_commit_text): Don't
	join up lines.

Fri Mar  1 10:31:14 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_reorder_child):
	Fix signed-unsigned error that was accidentally causing
	negative values to append, do it intentionally. Fix docs 
	to say that negative values append. (Alexey A. Malyshev,

2002-03-01 Alexey Malyshev <>
        * gtk+/gtk/gtkitemfactory.c
	fixed a little type in docs for gtk_notebook_set_show_border()
Fri Mar  1 09:05:19 2002  Owen Taylor  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_delete_entries):
	Really make it work for paths with underline accelerators. (#69247)

2002-02-28  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_finalize): free the tab array
	for custom tabs, reported by Paolo Maggi #72980
Thu Feb 28 19:55:01 2002  Owen Taylor  <>

	* gdk/gdkkeys.c: include gdkkeysysms.h if
	compiling gdk_keyval_convert_case.

	* gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement
	<Control>Tab <Control><Shift>Tab to cycle between
	all menu bars in a toplevel once one is up.

	* tests/testgtk.c: Add a second menubar, this
	example is already full of crack anyways.

	* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd
	unhandled events up to the parent menu shell.

	* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only
	pop up the menu if the parent menu shell is still active.

	* gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a
	old_focus argument, export privately.

2002-02-28  Darin Adler  <>

	* gtk/gtkfilesel.c: (open_new_dir): Add missing NULL check.

2002-03-01  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32): Remove
	the event_mask, it is now in GdkWindowObject.

	* gdk/win32/gdkwindow-win32.c: Change accordingly. Set the
	GDK_STRUCTURE_MASK in gdk_window_set_events(), as it is always set
	in gdk_window_new(), too. (Bug#72921)

	* gdk/win32/gdkevents-win32.c: Change accordingly here, too.
	(vk_from_char): New function, calculates the virtual keycode
	corresponding to the char in a WM_CHAR message.
	(build_keypress_event, build_keyrelease_event): Use it.
	(build_keypress_event): Call ImmReleaseContext() after using the
	input context. This might plug a memory or resource leak.
	(build_key_event_state): Remove #if 0 code.
	(gdk_event_translate): Actually, it would be preferrable to always
	handle just the WM_KEYDOWN and WM_KEYUP messages, not WM_CHAR at
	all, and thus drop the contorted logic with ignore_wm_char etc.

	* gdk/win32/gdkkeys-win32.c: (gdk_keymap_get_entries_for_keyval):
	Debugging output.
	(gdk_keymap_translate_keyboard_state): Return correct value. (But
	_gtk_key_hash_lookup() doesn't check the return value...)

Thu Feb 28 14:49:08 2002  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
	private->event_mask from attributes we retrieved for
	the window.

2002-02-22  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (save_range): change gravity of start/end
	marks so that text added at either end of the range doesn't end up
	inside the range.
	(gtk_text_buffer_real_insert_range): fix to handle pasting a range
	into itself.

2002-02-28  Sven Neumann  <>

	* beautified configure --help output.

2002-02-28  Tor Lillqvist  <>

	* gdk/win32/ Move bdfcursor.c from
	libgdk_win32_la_SOURCES to EXTRA_DIST.

	* gdk/win32/gdkgc-win32.c (gdk_win32_colormap_color_pack): In the
	bitmap case, use just the LSB of the pixel value. Does this match
	X11 semantics? Or should it be pixel!=0?

Wed Feb 27 19:16:50 2002  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_get_events): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_events): 
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_events): 
	* gdk/win32/gdkwindow-win32.c (gdk_window_new): 
	* gdk/gdkwindow.h (struct _GdkWindowObject): 
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_events):
	Save the window's event mask in window->event_mask.

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Only
	generate expose events if GDK_EXPOSE_MASK is included
	window->event_mask. (#54506)

Wed Feb 27 18:50:29 2002  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_event): Allow focus-change
	events to be sent to unrealized widgets; they aren't
	really normal events in that they have anything to
	do with widget->window. (#72914, Andreas J. Guelzow)

Wed Feb 27 18:39:25 2002  Owen Taylor  <>

	* gtk/stock-icons/ Split big VARIABLES variable
	that was causing overlong lines into 6 variables with 20
	in each one.

Wed Feb 27 18:01:03 2002  Owen Taylor  <>

	* gtk/gtkaccellabel.c (gtk_accelerator_name) po/ 
	Mark Ctrl, Shift, Alt for translation.

	* gtk/gtkfontsel.c: Mark PREVIEW_TEXT for translation.
	(Vlad Harchev, #53223)

Wed Feb 27 17:32:09 2002  Owen Taylor  <>

	* gtk/gtkrange.c (gtk_range_get_props): if CAN_FOCUS
	reserve focus_line_width + focus_line_pad extra
	space and draw the focus in that space. #72027.

Wed Feb 27 23:02:55 2002  Soeren Sandmann  <>

	* gtk/gtkhandlebox.c (gtk_handle_box_realize): minor code cleanup

Wed Feb 27 14:58:12 2002  Owen Taylor  <>

	* gtk/gtkmenubar.c (gtk_menu_bar_size_request/allocate): 
	Don't reserve space for border when the shadow type
	for the menubar is "none". (#61843)

	* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Fix
	offset for right-justified menu items.

Wed Feb 27 14:45:21 2002  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Go
	back to old style of drawing children over the bevel.

Wed Feb 27 14:08:26 2002  Owen Taylor  <>

	* modules/input/imxim.c: Add ko and zh to the locales
	where this is the default.

Wed Feb 27 12:34:21 2002  Owen Taylor  <>

	* gtk/gtkiconfactory.c: Register all stock icons
	"unscaled" so that we don't have icons only available
	at some sizes. (#68896)

Wed Feb 27 11:59:05 2002  Owen Taylor  <>

	Some ASCII vs. locale fixes from Darin Adler (#55837)

	* gtk/gtkcombo.c (gtk_combo_find): Implement real
	case-insensitive comparison using g_utf8_casefold().

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Fix
	assignment of gunichar to char by replacing g_unichar_totitle
	with g_ascii_toupper ... the contents would only be ascii
	here anyways.

	* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale) 
	* gtk/gtkfontsel.c (gtk_font_selection_show_available_fonts): 
	Replace a calls to g_strcasecmp() with g_ascii_strcasecmp().

2002-02-27  Hans Breuer  <>

	* demos/gtk-demo/ : new file

	* gdk-pixbuf/ : new file to include
	  version resource
	* gdk-pixbuf/makefile.msc : create and use gdk-pixbuf.res

	* gdk/win32/gdkkeys-win32.c : handle undefined LANG_URDU,
	(gdk_keyval_name) : fix endless looping

	* gtk/gtkfilesel.c : translate_win32_path() static
	* gtk/queryimmodules : print_escaped(), query_module() static

	* gtk/ : added gtkkeyhash, build gtk-win32.res

	* gtk/stock-icons/makefile.msc : regenerated from directory
	listing (almost all filenames changed)

Wed Feb 27 10:34:46 2002  Owen Taylor  <>

	* gtk/gtkrange.c (gtk_range_set_range): After computing
	the clamped value, actually set it. (#62639, Sergey Kuzminov)

Tue Feb 26 22:22:37 2002  Owen Taylor  <>

	* gtk/gtkbox.c (gtk_box_reorder_child): Clean up
	the code so < 0 == end wasn't just a side effect,
	remove most of the manual linked list manipulation
	code in favor of g_list_* functions.

Tue Feb 26 21:44:01 2002  Owen Taylor  <>

	* config.status config.guess: Remove these files
	from CVS so we more-or-less current versions from
	automake --add-missing. (Reported by Finlay Dobbie,

	* gdk/gdkkeyuni.c: Shouldn't map KP_Enter to '\n',
	or KP_Tab to \t' since we don't map the corresponding
	main keyboard characters in that way. (#61561,
	Padraig O'Briain)

Tue Feb 26 19:45:29 2002  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_set_popdown_strings):
	Call gtk_combo_set_popdown_strings() in case
	the combo is up currently. (#63535, Skip Montaro)

Tue Feb 26 19:38:14 2002  Owen Taylor  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
	Switch control-home/end and home/end with
	the idea that scrolled windows more typically contain
	vertical sets of controls and to correspond to the bindings
	in GtkTreeView.

Tue Feb 26 19:32:42 2002  Owen Taylor  <>

	* gtk/gtk[hv]vscale.c (gtk_[hv]scale_expose): Chain
	up before drawing the scale values so that the number
	is drawn in the right place instead of one step 
	back. (#61743, patch from Satyajit Kanungo)

Tue Feb 26 19:16:28 2002  Owen Taylor  <>

	* gdk/win32/gdkkeys-win32.c (gdk_keyval_name): 
	* gdk/x11/gdkkeys-x11.c (gdk_keyval_name): 
	Make sure Page_Up, Page_Down get those names, not Prior,

Tue Feb 26 18:58:49 2002  Owen Taylor  <>

	* gtk/gtkaccelgroup.c (gtk_accelerator_set_default_mod_mask):
	OR in the three default modifiers to any value passed
	in by the caller, so that the caller won't break the
	the default bindings. (#70142, Jody Goldberg, though he
	wasn't in favor of this particular way of solving it.)

Tue Feb 26 18:47:44 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_add_mnemonic): Append
	mnemonics rather than prepending them so that the 
	order is typically forward rather than typically
	backward. (Partial fix for #52395)

Wed Feb 27 00:45:39 2002  Soeren Sandmann  <>

	* gtk/gtkarrow.c, gtk/gtkmenuitem.c, gtk/gtkrange.c
	gtk/gtkspinbutton.c gtk/gtkstyle.c: Draw arrows better (without
	extra baseline)

Tue Feb 26 18:38:17 2002  Owen Taylor  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch): 
	Display any "g_unicode_isgraph()" char literally,
	not just latin1. (#65679)

Tue Feb 26 18:01:10 2002  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_grab_focus): Don't
	focus insensitive widgets. (#68203)
	* gtk/gtkentry.c (gtk_entry_state_changed): Clear any
	current selection if we become insensitive. (#68203)

	* gtk/gtkentry.c (gtk_entry_grab_focus): Don't
	select the text if the entry isn't editable. (#67203)

	* gtk/gtkentry.c: Activate keybindings when not editable,
	but supress keybindings that change the text. (#65848, #68203)

	* gtk/gtkentry.c (gtk_entry_set_property): Reset the
	IM context for the entry when it is made not editable.

Tue Feb 26 17:04:44 2002  Owen Taylor  <>

	* gtk/gtkcolorsel.c (update_color): Emit ::color_changed
	every time we notify current_color. (Brute force 
	fix for #72470, Matthias Clasen). Some fixes to improve

Tue Feb 26 15:04:33 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_enter_text): use
	the cursor position _after_ deleting the text
	as the position to insert at. (#72717, Jan Mynarik)

2002-02-26 Vitaly Tishkov <>

        * gtk/gtktreemodel.c
	misprints in documentation for gtk_tree_row_reference_inserted() 
        and gtk_tree_path_new () are fixed

Tue Feb 26 19:47:16 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (validate_visible_area): take into account
	that a path from a rowref can be NULL. (#72623 and #72650)

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_render_or_focus):
	let focus_rectangle be the same as cell_area for empty cells (#69900)

Tue Feb 26 11:51:56 2002  Owen Taylor  <>

	* gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry): Fix
	double free.

Tue Feb 26 10:38:14 2002  Owen Taylor  <>

	* gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval): Handle
	a keyval of 0, by returning an empty list. (#72617,
	Kevin Breit)

2002-02-26  Richard Hult  <>

	* gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix
	#72586. Silently accept empty tree.
	(gtk_tree_view_collapse_all): Likewise.

2002-02-26  Tor Lillqvist  <>

	* gtk/gtk.def: A couple of name changes.

Mon Feb 25 22:10:47 2002  Owen Taylor  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
	double set of bindings for page-up/down. (#72605, Tor Lillqvist)

	* gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
	when setting up accelerator to make accelerators look prettier.
	(#65416, Guillermo S. Romero)

2002-02-26  Tor Lillqvist  <>

	* gdk/win32/gdkkeys-win32.c: Implement the functions that until
	now just were non-functional stubs. For "hardware keycodes", we
	use Windows virtual keycodes. Not scancodes, although that at
	first might seem more low-level and a better match to X11

	The Windows API is really mixed up and confused with respect to
	scancodes and virtual keycodes. (Surprised?) Some scancodes are
	generated by two keys on the keyboard (!), and although the
	keyboard messages do have a flag to indicate which key the user
	pressed, other API that take a scan code as input don't let you
	specify which actual key you mean.

	(update_keymap): Function to build a X11-like representation of
	the keyboard. Each key has four keysyms: two levels (nonshifted
	and shifted) and two groups (normal and with AltGr).

	(gdk_keymap_get_direction): Use the codepage corresponding to the
	thread's input locale, not the system codepage.

	* gdk/win32/gdkglobals.h
	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwindow-win32.h
	* gdk/win32/gdkwindow-win32.c: Remove the input_locale and
	charset_info fields from GdkWindowImplWin32. Input locale is
	per-thread in Windows, and as GDK on Windows really only works
	when the GDI interaction all happens in just one thread anyway,
	this state can be global. Use globals _gdk_input_locale and
	_gdk_input_codepage instead. Set these based on the thread's input
	locale (keyboard layout, or which IME is active).

	* gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode
	fields in GDK key events. On input locale change messages, set
	the global state variables, and inform update_keymap() that it
	has to rebuild the keymap.
2002-02-25  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml: Fix typos in pkg-config 
	invokations.  (#72476) 

Mon Feb 25 18:59:27 2002  Owen Taylor  <>

	* gtk/gtktooltips.c (start_keyboard_mode): Set the keyboard-mode
	flag before popping up the tooltip so that pop it up
	in the right place. (#71917, Narayani Pattipati)

Mon Feb 25 22:11:34 2002  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_visible): call
	_gtk_tree_view_column_cell_set_dirty when visible, so this column
	gets some space allocated. (#70996)

	* gtk/gtkliststore.c (gtk_list_store_get_path): add simple
	optimization for the tail case
	(gtk_list_store_real_set_value): remove unneeded _get_path calls

Mon Feb 25 12:47:25 2002  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): 
	Fix precendence problem. (Sven Neumann)

Sun Feb 24 23:23:28 2002  Owen Taylor  <>

	* tests/testselection.c (main): Convert over to using
	an GtkInvisible - selections don't work properly
	with now NO_WINDOW GtkToggleButton. (Example really
	should be using GtkClipboard.)

	* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
	Fix  problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set 
	actual_length when converting atoms as well.
	(Gregory Merchan, #72074)

2002-02-24  Havoc Pennington  <>
	* gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to
	child allocation, don't subtract them. Also, copy code from CList
	to recursively adjust the child allocation, instead of just 
	adjusting immediate children. #69115

2002-02-24  Havoc Pennington  <>

	* gtk/gtkstyle.c (_gtk_draw_insertion_cursor): change to pass in
	the cursor direction always, not just when we need an arrow, so we
	can flip the cursor around its axis for RTL. Resolves #72372

	* gtk/gtkentry.c (gtk_entry_draw_cursor): update for
	draw_insertion_cursor change
	* gtk/gtklabel.c (gtk_label_draw_cursor): ditto

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): ditto
2002-02-24  Alexander Larsson  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_background):
	Always NULL out bg_pixmap, even when it used to be None
	or parent relative.

2002-02-24  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (parent_class): parent_class variable was
	GtkObjectClass instead of GObjectClass

	* gtk/gtktextview.c (widget_to_buffer): fix this the way 
	buffer_to_widget was fixed, to avoid duplicating 
	the code that computes text_window->allocation.x/y

Sun Feb 24 21:18:20 2002  Owen Taylor  <>

	* gtk/gtksocket.c (gtk_socket_end_embedding): Fix
	off-by-one error. (Pointed out by Anders Carlsson)

2002-02-25  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml, docs/tutorial/images/*, examples/*: More
	 GTK+ 2.0 updates.

	* docs/tutorial/ build and dist the new tutorial, not
	the old Linuxdoc one.

Mon Feb 25 01:14:26 2002  Kristian Rietveld  <>

	* gtk/gtktextlayout.c (find_display_line_above): free iter before
	going to done

	* gtk/gtktreeview.c (validate_visible_area): free above_path,
	(set_destination_row): free path before returning,
	(gtk_tree_view_set_drag_dest_row): free current_dest

Sun Feb 24 14:15:45 2002  Owen Taylor  <>

	* gtk/gtktextview.c (widget_to_buffer): Take border
	width into account.

	* gtk/gtklabel.c (get_label_wrap_width): Don't use GdkFont
	to compute wrap width ... GdkFont will pull in X11 core

Sun Feb 24 00:06:58 2002  Owen Taylor  <>

	* Released 1.3.15.

	* Version 1.3.15, binary, interface age 0.

	* NEWS: Updates

	* Update version requirements.

Sat Feb 23 22:37:23 2002  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_init): Sanity check default
	font family name and size.

	* gtk/gtkwindow.c (gtk_window_set_default_size): Remove
	incorrect comment about the geometry widget.

	* gtk/gtkwindow.c (gtk_window_move_resize): Unset the
	gtk_window_resize)() information once we've set the size
	once, to avoid it coming back next time we queue a resize.

	* gtk/gtkwindow.c (gtk_window_move_resize): Remove
	sething of ->need_default_position from here, Havoc
	says that it should correspond more or less exactly
	to GTK_WIDGET_MAPPED (window).

Sat Feb 23 23:00:48 2002  Jonathan Blandford  <>

	* gtk/gtktreemodel.h: add () to function macros as per owen's

	* gtk/gtkfontsel.c: (gtk_font_selection_select_best_style),
	* gtk/gtktreemodel.c: (gtk_tree_model_get_iter_first),
	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_sort_level),
	* gtk/gtktreeselection.c: (gtk_tree_selection_selected_foreach):
	* gtk/gtktreeview.c: (validate_visible_area),
	(gtk_tree_view_focus_to_cursor), (gtk_tree_view_set_model),
	(gtk_tree_view_map_expanded_rows), (gtk_tree_view_search_move),
	* tests/testtreeview.c: (run_automated_tests): change iter_root
	to iter_first

Sat Feb 23 22:10:52 2002  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_path_new_first): change new_root to
	new_first to avoid confusion.
	(gtk_tree_model_get_iter_first): ditto.

Sat Feb 23 20:59:05 2002  Owen Taylor  <>

	* gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c:
	Patch from Richard Hestilow to add a gtk-font-name GtkSetting.

	* gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING.

2002-02-24  Tor Lillqvist  <>

	* gtk/gtkfilesel.c: Move inclusion of <windows.h> before inclusion
	of <winsock.h>, to actually get STRICT prototypes for Win32
	API. Include glib.h early to get G_OS_WIN32 and G_WITH_CYGWIN.
	Don't declare static functions that aren't defined if !HAVE_PWD_H
	or if G_OS_WIN32.
	(win32_gtk_add_drives_to_dir_list): Remove #if 0 code, reindent.
	(gtk_file_selection_get_selections): Don't crash if nothing has
	been selected.

Sat Feb 23 20:33:29 2002  Owen Taylor  <>

	* gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/xembed.h: Implement 
	accelerator propagation using a custom XEMBED_GTK_KEY_GRAB
	XEMBED_GTK_KEY_UNGRAB pair of messages.

	* gtk/gtkwindow.[ch]: private export _gtk_window_keys_foreach().

	* gtk/gtkplug.c (gtk_plug_set_is_child): Clear focus and default

2002-02-23  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (save_range): change gravity of start/end
	marks so that text added at either end of the range doesn't end up
	inside the range.
	(gtk_text_buffer_real_insert_range): fix to handle pasting a range
	into itself. #71412
Sat Feb 23 19:05:34 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_visible_area): Didn't refind node
	when it was NULL.  Bug found by Tor Lillqvist.

2002-02-24  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (build_keypress_event,
	build_keyrelease_event, gdk_event_translate): Set also group in
	the key press/release events, always to zero for now.

2002-02-24  Anders Carlsson  <>

	* gtk/stock-icons/stock_dialog_error_48.png: 
	* gtk/stock-icons/stock_sort_ascending_16.png:
	* gtk/stock-icons/stock_undelete_24.png: 
	* gtk/stock-icons/stock_sort_descending_16.png: 
	Alpha-pad icons so they get the correct size.
Sat Feb 23 16:52:38 2002  Owen Taylor  <>

	* gtk/gtkentry.c: Patch from Matthias Clasen to remove some
	excessive ::changed signals for GtkEntry. (#53130)

2002-02-23  Tor Lillqvist  <>

	* Include the gtkrc files for themes.

2002-02-23  Anders Carlsson  <>

	* gtk/gtkiconfactory.c (get_default_icons): Register 16x16 
	versions of most icons.

	* gtk/stock-icons: Add 16x16 versions
	of most icons.

Wed Feb 20 16:44:05 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): delay
	scrolling until we try to draw the window.

	* gtk/gtktreeview.c (validate_visible_area): Implement

2002-02-23  Tor Lillqvist  <>

	* gtk/gtk.def: Add missing gtk_file_selection_get_select_multiple.
	Remove gtk_tree_view_column_cell_* entry points that were made

Sat Feb 23 15:43:46 2002  Owen Taylor  <>

	* gtk/gtktogglebutton.c: Make button draw depressed whenever
	the user clicks / activates it, whether it's off/on/inconsistent.

Sat Feb 23 11:54:12 2002  Owen Taylor  <>

	* gtk/*.h gdk/*.h: Massive padding addition to class structures.

	* gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN.

Fri Feb 22 20:28:18 2002  Owen Taylor  <>

	* gtk/gtkrange.c: Applied patch from Thomas Leonard to make
	stepper click to scroll take effect immediately, rather than after
	a delay (#67649).

	* gtk/gtkrange.c: Remove right-click == step in trough since it
	isn't a useful binding and it's a large area to hit accidentally.
	(Leave it on the steppers since its more useful there and less
	likely to do accidentally.)

2002-02-23  Pablo Saratxaga  <>

	* (ALL_LINGUAS): Add "cy" to the language list.

2002-02-23  Jody Goldberg <>

	* gtk/gtkaccelgroup.c (gtk_accel_group_connect) : lower case the
	(gtk_accel_group_connect_by_path) : ditto.
	(gtk_accel_group_disconnect_key) : ditto.

	* gtk/gtkwidget.c (gtk_widget_real_key_release_event) : simplify.
	(gtk_widget_real_key_press_event) : ditto.

Sat Feb 23 00:28:47 2002  Jonathan Blandford  <>

	* gtk/gtktreeviecolumn.c: Documented undocumented functions.

	* gtk/gtktreemodel.c: Documented undocumented functions.

Sat Feb 23 03:10:20 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): honor min_width and
	max_width while resizing columns (pointed out by Jorn Baayen)

Fri Feb 22 19:17:46 2002  Owen Taylor  <>

	Patch from Matthias Clasen (#54488)

	* gtk/gtkwindow.c: Set/unset HAS_FOCUS flags here,
	and do ::has-focus notifications.

	* gtk/gtkclist.c gtk/gtkentry.c gtk/gtksocket.c
	gtk/gtktext.c gtk/gtktextview.c gtk/gtkwidget.c:
	Remove unecessary focus_in/out handles and unecessary
	flag setting.

	* gtk/gtkwidget.c: Adda missing notification on ::parent.

Fri Feb 22 18:36:45 2002  Owen Taylor  <>

	Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,

	* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
	gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c 
	gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
	Squash trailing commas on enumerations.

	* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
	of 1 << 31 to work around AIX compiler problem. (C standard
	seems to imply that compiler is required to use an unsigned
	type for the enum value in this case.)

	* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.

	* gtk/gtkwindow.h: Fix use of enum types for bitfields ... 
	compilers may choose to use a signed type for bitfields.

Sat Feb 23 00:34:01 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (validate_rows_handler): leave threads before
	returning (#72045)

2002-02-22  Anders Carlsson  <>

	* gtk/stock-icons/*: Rename icons.
	* gtk/stock-icons/ Update for new icon names.

	* gtk/gtkiconfactory.c (init_icon_sizes): Set the 
	GTK_ICON_SIZE_BUTTON size to be 20x20.
	(get_default_icons): Change stock names.

Fri Feb 22 22:39:59 2002  Kristian Rietveld  <>

	* gtk/gtktreeprivate.h: add last_single_clicked and
	last_single_clicked_2 rowrefs and add disable_popdown to the

	* gtk/gtktreeview.c (gtk_tree_view_destroy): add destroy stuff
	for two new rowrefs
	(gtk_tree_view_button_press): add some 'advanced' button handling,	
	so double click is being handled right (double click madness was
	discovered by Anders Carlsson)

	* gtk/gtktreeview.c (gtk_tree_view_set_property): add missing
	(gtk_tree_view_class_init): default value of headers_visible
	should be TRUE (both pointed out by Damon Chaplin, #71986)

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	connect to populate_popup,
	(gtk_tree_view_search_disable_popdown): new function,
	(gtk_tree_view_real_search_enable_popdown): ditto,
	(gtk_tree_view_search_enable_popdown): ditto,
	(gtk_tree_view_search_dialog_destroy): check for
	gtk-tree-view-popdown-disabled (#71868)

	* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): move
	->priv->reorderable assignment to bottom. (#72122)

2002-02-22  Havoc Pennington  <>

	* gtk/gtkstyle.c (_gtk_draw_insertion_cursor): subtract 1 from
	line endpoint, to avoid cursor dirt in the text widget.
	zero-width lines appear to draw the endpoint always. #67999

2002-02-22  Havoc Pennington  <>

	* gtk/gtktextview.c (buffer_to_widget): implement more cleanly by
	using text_window->allocation.x/y instead of recomputing it. 
	Fixes a bug caused by leaving out the border width here.

2002-02-22  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): call
	gtk_size_group_queue_resize to avoid invalidating the widget every
	time its requisition changes. Instead we use the btree invalid
	lines to know what to redraw. Fixes #71429

Fri Feb 22 14:08:38 2002  Soeren Sandmann  <>

	* gtk/gtkradiobutton.c, gtk/gtkcheckbutton.c, gtkbutton.h,
	gtktogglebutton.c: feedback when check and radio buttons are

2002-02-22  Matthias Clasen  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_reorderable):
	s/columns/rows/ in docs.  (#70199)

	* gtk/gtktreestore.c (gtk_tree_store_insert): s/before/after/ in 
	docs. (#71852, #68405)

	* gtk/gtkcalendar.c (gtk_calendar_select_day): Correct a comment.

Thu Feb 21 23:02:29 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.[ch]: add keynav handling for unselect all,
	focus column header, change focus with arrow keys in column headers,
	column reordering, column resizing, small try to fix page up/down
	(this fixes #70889, and fixes a great deal of #53580)

Thu Feb 21 16:51:17 2002  Owen Taylor  <>

	* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
	First_Group/Last_Group to list of invalid accelerators.
	(A lot more that should be added, but probably would
	want a range mechanism. These are the ones found in
	the standard XFree86 config files.)

	* gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
	that broke bindings for menus.

	* gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()

	* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
	_gtk_window_activate_key(), gtk_bindings_activate_event().

Thu Feb 21 12:24:22 2002  Owen Taylor  <>

	* gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
	for +/= and shift key handling.

Wed Feb 20 14:26:47 2002  Owen Taylor  <>

	* gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
	allow matches on key and level but not group. Also, implement 
	ignoring "consumed modifiers correctly."

	* gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
	* gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
	the group for key release events as well as key press events.

	* gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): 
	Rename unused_modifiers to consumed_modifiers, make the docs and
	non-Xkb implementation match the Xkb implementation.

	* gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
	doc and parameter name changes.

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
	XkbTranslateKeyCode doesn't handle LockMask, we need to handle
	it ourselves.

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
	<Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
	to allow dealing with ISO_Left_Tab.
	* gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
	gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
	Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
	or <Shift>Tab both are equivalent as a binding specifier.)

	* gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
	GTK_RUN_ACTION, so you can bind an accelerator to it.

	* gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call 
	gdk_unicode_to_keyval on the mnemonic character.

	* tests/testgtk.c: Add a test for the new fuzzy key binding matching.

2002-02-21  jacob berkman  <>

	* gtk/theme-bits/ (EXTRA_DIST): inconsitent files are
	.pngs too

Wed Feb 20 21:52:13 2002  Owen Taylor  <>

	* gtk/gtkselection.c (gtk_selection_request): Set the property
	as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.)

	* gdk/x11/gdk{property,selecton}-x11.c: Auto-convert properties
	of type ATOM_PAIR as well as properties of type ATOM.

2002-02-21  Matthias Clasen  <>

	* docs/tutorial/images/*.png: screenshots of examples.
	* docs/tutorial/gtk-tut.sgml: remove deprecated widgets, add
	screenshots, fix chapters 1-4 for GTK+ 2.0. 


Thu Feb 21 00:31:41 2002  Soeren Sandmann  <>

	* gtk/gtkspinbutton.c: Many cleanups and fixes. Draw exclusively
	in expose handler. Feedback when buttons are depressed.

	* gtk/gtkstyle.c: update for changes in gtkspinbutton.c. Fix
	spinbuttons for RTL langauges.

Wed Feb 20 23:00:08 2002  Soeren Sandmann  <>

	* gtk/gtkstyle.c: new radio buttons. handle inconsistent state for
	check- and radiobuttons.

	* gtk/theme-bits/check-13-inconsistent.png,
	gtk/theme-bits/radio-13-inconsistent.png: new files

	* gtk/theme-bits/radio-13.png: new radio buttons

	* gtk/theme-bits/ (EXTRA_DIST): add new
	-inconsistent.png files

Wed Feb 20 16:19:49 2002  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for
	gtk-can-change-accels. (#70218, Thomas Leonard.)

2002-02-20  Sven Neumann  <>

	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): check
	handler_id before disconnecting the signal handler since it might
	have never been connected if the GtkColorSelection is destroyed
	before it was realized.

2002-02-20  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml: Fold back Svens g_signal fixes from
	the examples.  

	* docs/tutorial/gtk-tut.sgml, examples/progressbar/progressbar.c,
	examples/progressbar/Makefile: Make the progressbar example 

Tue Feb 19 22:10:59 2002  Kristian Rietveld  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_mnemonic_activate): new
	(gtk_tree_view_column_create_button): use g_signal_* instead of
	gtk_signal_*, hook up _mnemonic_activate callback
	(gtk_tree_view_column_update_button): use
	gtk_label_set_text_width_mnemonic instead of gtk_label_set_text

	* gtk/gtktreeview.c (gtk_tree_view_class_init): remove key bindings
	for C-f and C-b, let treeview search use C-f (instead of C-s)

	* gtk/gtkrc.key.emacs: add some GtkTreeView bindings

Tue Feb 19 20:56:32 2002  Soeren Sandmann  <>

	* gtk/theme-bits/decompose-bits.c (do_part): fix bug (skipping all
	black pixels).

2002-02-19  Sven Neumann  <>

	* examples/*/*.c: finish conversion to g_signal_* functions by
	using G_OBJECT and G_CALLBACK and other assorted changes.

Tue Feb 19 17:36:31 2002  Kristian Rietveld  <>

	* gtktreeprivate.h, gtktreeviewcolumn.[ch], gtktreeview.c: change
	gtk_tree_view_column_cell_draw_focus and
	gtk_tree_view_column_cell_set_dirty to be private functions.

	* gtktreeviewcolumn.[ch]: add install_handler argument to
	_cell_set_dirty to control if _mark_rows_col_dirty (which calls
	install_presize_handler) gets called, set widths correctly so
	autosizing works (#71870)

	* gtktreeview.c (gtk_tree_view_column_autosize): new function,
	(gtk_tree_view_button_press): make double click on column
	separator resize the row (#71870)
	(gtk_tree_view_get_dest_row_at_pos): change DnD threshold to 33%
	(#71869, suggestion by Anders Carlsson)

Mon Feb 18 23:16:16 2002  Owen Taylor  <>

	* gtk/gtkmain.[ch]: Add routines _gtk_find_module(),
	_gtk_get_module_path() to look up a module of an arbitrary type in
	a standard fashion. (#68474)

	* gtk/gtkrc.c: Make module_path keyword warn and do
	nothing. Remove the im_module_path keyword.

	* gtk/gtkrc.c (gtk_rc_get_im_module_path): Fix
	to return the standard path instead of one determined
	from im_module_path and GTK_IM_MODULE_PATH.
	* Add gtk_host to go along with gtk_binary_version.

2002-02-19  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml, docs/examples/*: Trivial formatting
	fixes to all examples, simple functional fixes to rangewidgets example.

Mon Feb 18 18:27:45 2002  Owen Taylor  <>

	* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Select
	the right item in the family list. (Reported by Mark Patton,
	Patch from Satajyit Kanungo, #64240)

	* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Update
	the size and face entry lists as well, fix memory leak.
	(Also #64240)

	* gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes): 
	Allow fractional sizes, unselect the selected row if none

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_focus): Fix
	a bug where the scrolled window would always get focus
	when focusing out of the child.

2002-02-18  Hans Breuer  <>

	* gdk/win32/gdkevents-win32.c : process WM_PAINT messages
	for bg_pixmap == GDK_NO_BG, fixes The GIMP's canvas
	rendering glitches on win32

	* gdk/win32/gdkinput-win32.c : use g_object_new to create
	GdkDevice instead of g_new
	* gtk/gtkpaned.c : make LAST_SIGNAL the last in enum. 
	This avoids to smash totally unrelated static data and
	resulting random crashes. (as reported on gtk-devel-list, 
	2002-02-10 : testgtk crashes)

	* gtk/gtk.def : add new file selection entry points

Mon Feb 18 17:34:43 2002  Owen Taylor  <>

	* gtk/gtkentry.c gtk/gtktextview.c: Remove support for
	the poorly defined text/plain type for now. (#55117)

Mon Feb 18 16:44:00 2002  Owen Taylor  <>

	* docs/widget_system.txt: Add some docs for GTK_NEED_REQUEST

	* gtk/gtkmenu.c (gtk_menu_popup): Scroll the menu
	to the right place before showing the menu to
	avoid spurious enter events.

	* gtk/gtkmenu.c (gtk_menu_realize): Only scroll
	if there is an active menu item.

	* gtk/gtkwidget.c (gtk_widget_init): Set RESIZE_NEEDED
	ALLOC_NEEDED initially.

2002-02-18  Matthias Clasen  <>

	* NEWS: fix version number.

2002-02-18  Manish Singh  <>

	* don't comment out the lines to dist the packer
	example, just simply remove it. (the continuation line confused
	make even though it was in the comment, barf)

Mon Feb 18 14:40:22 2002  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_popdown_list): Fix problems
	with stuck grab (#60132, reported by Nicolas Setton) and
	stuck prelighting. Combine duplicated code in three
	places for popping down the list.

Mon Feb 18 14:17:59 2002  Owen Taylor  <>

	* gtk/gtkclist.c (adjust_adjustments) 
	* gtk/gtklayout.c (gtk_layout_size_allocate)
	* gtk/gtktextview.c (gtk_text_view_size_allocate) 
	* gtk/gtktreeview.c (gtk_tree_view_size_allocate) 
	* gtk/gtkviewport.c (gtk_viewport_size_allocate):
	Standardize on a page increment of page minus 1 line
	rather than half a page (#51027, Eric Fischer)

	* gtk/gtkviewport.c (gtk_viewport_size_allocate): 
	Change step increment to be 0.1 * page_size height rather than
	a fixed 10 pixels.

Mon Feb 18 12:31:52 2002  Owen Taylor  <>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
	Don't commit unless we got at least one hex digit. (#70619)

Sun Feb 17 21:30:49 2002  Owen Taylor  <>

	* Released 1.3.14

	* Version 1.3.14, interface, binary age 0.

	* gdk/gdkregion-generic.c (miSubtractO): Fix out-of-bounds
	read. (#71619, reported by Morten Welinder)

	* gtk/gtkmenu.c (gtk_menu_class_init): Fix setting default.

	* gtk/gtkfilesel.c (gtk_file_selection_class_init): Add
	a select_multiple property to go along with thenew 

	* gdk/gdkwindow.c: Patch from Soeren Sandmann to improve
	update debugging code. (#71703)

2002-02-17  Tor Lillqvist  <>

	* gdk/win32/gdkcolor-win32.c (free_colors): Don't set the
	PC_EXPLICIT flag for unused palette entries, that might have
	undesired side effects. Just set them to black. Black is always
	present in a palette, so having superfluous black entries won't
	cause any extra allocations from the system palette either when

	* gdk/win32/gdkevents-win32.c
	(gdk_event_translate:WM_QUERYNEWPALETTE): Don't do anything if the
	system visual is static color, i.e. the user has told GDK to use
	just the 16 static colors. In that case no need to redraw
	anything, as the colors are static and by definition always
	correctly mapped in the system palette.
	(WM_PALETTECHANGED): Ditto, no need to call UpdateColors() either.
	* gtk/gtk.def: Add new gtkfilesel entry points.

2002-02-17  Matthias Clasen  <>

	* docs/tutorial/gtk-tut.sgml, examples/paned/paned.c, 
	examples/paned/Makefile: Make the paned example deprecation-clean.

2002-02-17  jacob berkman  <>

	* remove the packer example files as they don't exist
	in CVS.

2002-02-16  Manish Singh  <>

	* tests/testgtk.c: hm, check buttons look better for below.

2002-02-16  Manish Singh  <>

	* tests/testgtk.c: redid the filesel test. Added a way to set select
	multiple as a toggle button, and made show/hide fileops toggle
	buttons as well. get_selections() is called on OK and all the
	filenames selected are printed.

2002-02-17  Tor Lillqvist  <>

	* README.win32: Remove comment about the gtk-1-3-win32-production
	branch having more functionality.

	* gdk/win32/*.c: Massive changes. Too many to list here, but I'll
	try a summary:

	1) Unify GdkPixmap and GdkImage implementation: For each
	GdkPixmap, allocate a GdkImage, and vice versa.
	GdkPixmapImplWin32Data has a pointer to the GdkImage.
	GdkImage::windowing_data is a pointer to the GdkPixmap.

	This simplifies many pixmap and image related functions a lot, and
	reduces duplicated code. For instance, there is only one
	place in gdk/win32 where CreateDIBSection() is called, in the
	function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap)
	to a Windows region is almost trivial, with the bitmap bits being
	readily accessible in the associated GdkImage.

	All blitting between GdkPixmaps, GdkWindows and GdkImages goes
	through handled the _gdk_win32_blit() function, which calls
	different functions to handle the cases of blitting from pixmaps,
	inside windows (scrolling), or from windows, which all require
	somewhat different handling.

	2) Support 256-color mode. This has long been very broken, now it
	works more or less OK. Keep the logical palette for each colormap
	as small as possible while allocating and freeing colors. Select
	and realize the logical palette associated with a GdkColormap into
	a DC before drawing or blitting.

	When the display is in 256-color mode, make it possible for the
	user to override the size of the palette(s) used with either the
	GDK_WIN32_MAX_COLORS environment variable, or a -max-colors
	command line option. It is possible to reduce the palette size all
	the way down to using just the 16 static colors (which causes the
	system visual to be of type GDK_VISUAL_STATIC_COLOR. This could
	possibly be useful if one desperately wants to avoid color
	flashing. (Note that in order for this to work properly, an as of
	yet not commited fix to gdkrgb.c is needed.)

	Handle the palette messages. On WM_PALETTECHANGED, call
	UpdateColors() for the given window hierarchy. Do this only if a
	window in some other top-level window hierarchy caused the palette
	change (realized a palette). Do this max five times in a row (an
	arbitrarily chosen limit), though, otherwise redraw by generating
	expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole
	window hierarchy by generating GDK_EXPOSE events.

	3) Code cleanup in general. For instance, remove the "emulated"
	X11 structs ColormapStruct, Visual and XStandardColormap. Use the
	new GDK_DEBUG_* flags for debugging output in the relevant source
	files. Remove the unused colormap hash table in gdkcolor-win32.c

	4) Plug some resource leaks.

2002-02-14  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
	g_filename_to_uri() to actually create legal URIs in the
	text/uri-list data.

2002-02-16  Manish Singh  <>

	* gtk/gtkfilesel.[ch]: Added multiple selection API

2002-02-16  Manish Singh  <>

	* gdk/linux-fb/miarc.c: use fabs() on a double instead of abs()

2002-02-17  Matthias Clasen  <>

	More work on #71430.

	* examples/*/Makefile (CFLAGS): add deprecation guards.
	* docs/tutorial/gtk-tut.sgml, examples/*/*.c: make most examples
	deprecation-clean; the major offenders right now are the examples
	that make heavy use of completely deprecated or broken widgets:
	list, tree, text, pixmap, paned and progressbar. These will have
	to be redone from scratch.

Sun Feb 17 00:13:06 2002  Kristian Rietveld  <>

	This commit lands the 'dy patch'.

	* gtk/gtktreeview.c (validate_rows_handler): update top_row or dy,
	(gtk_tree_view_top_row_to_dy): new function,
	(gtk_tree_view_row_changed): update top_row or dy,
	(gtk_tree_view_rows_reordered): update top_row

2002-02-16  Matthias Clasen  <>


2002-02-16  Matthias Clasen  <>

	* examples/extract.awk: rearrange rules to not emit the example 
	start and end markers.

	* docs/tutorial/gtk-tut.sgml: turn the start and end markers into
	SGML comments, so they don't clutter the formatted tutorial.

2002-02-16  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_parse_geometry): take
	GDK_HINT_RESIZE_INC into account, and handle negative coordinates
	correctly. (Can't email Owen - hope this is OK.)

Fri Feb 15 20:09:45 2002  Owen Taylor  <>

	* gtk/gtkscrolledwindow.[ch] gtk/gtkmarshallers.list:
	Add key bindings on GtkScrolledWindow for arrow keys,
	PageUp/PageDown Home/End to scroll the window. 
	Bind Control-[Shift]-Tab to focus out of the scrolled
	window entirely. Allow the scrolled window to be
	focused if no child can be focused. (#63480)

	* gtk/gtkwidget.c (gtk_widget_hide): Remove the REALIZED()
	check - if we have visible but not mapped widgets 
	(inside a unshown notebook tab, for instance), we need
	to track their size. (#65087, reported by Damon Chaplin.)

	* gtk/gtkcolorsel.c (palette_change_color): Shut up
	a warning.

2002-02-16  Tor Lillqvist  <>

	* gdk/win32/rc/ (gdk-win32res.lo): Depend on gtk.ico.

	* gdk/win32/rc/gtk.ico: Use the real GTK logo. Thanks to Jernej
	Simoncic for providing the nice multi-resolution .ico file.

2002-02-15 Alexey Malyshev <>
        * gtk/tmpl/gtkimage.sgml
	removed wrong sentence from gtk_image_new() docs

Fri Feb 15 19:38:00 2002  Kristian Rietveld  <>

	* gtk/gtktreestore.c (gtk_tree_store_clear_traverse): new function
	(gtk_tree_store_clear): traverse the tree, so we emit row_deleted
	for every node. This way we don't have confused row refs crashing the
	application. (#70631)

2002-02-14  Richard Hult  <>

	* gtk/gtkpaned.c (gtk_paned_enter): Only queue a draw on the
	handle, not the whole widget. #71530.
	(gtk_paned_leave): Likewise.

2002-02-14  Jody Goldberg <>

	* gtk/gtkrange.c (gtk_range_class_init) : add new signal
	  'adjust_bounds' to potentialy change the bounds before assigning the
	  new value and camping it to the existing bounds.
	(gtk_range_internal_set_value) : used here. #68800.
	* gtk/gtkmarshalers.list : add VOID:DOUBLE

Thu Feb 14 21:08:49 2002  Owen Taylor  <>

	* gdk/gdkglobals.c: Remove GDKVAR from C file, see
	if anyone complains. (#71317, Morten Welinder.)

2002-02-14  Matthias Clasen  <>

	The following changes are the beginning of the work on #71430.
	* examples/, examples/extract.awk: Make extraction work.
	* examples/Makefile (SUBDIRS): Remove packer.

	* examples/packer/pack.c, examples/packer/Makefile: Removed.

	* docs/tutorial/gtk-tut.sgml: Fix the included examples far
	enough to make them compile and (mostly) work, remove the packer

Thu Feb 14 16:46:48 2002  Owen Taylor  <>

	* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
	gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
	Haneman and Padraig O'Briain to add cursor_aspect_ratio
	style property to GtkWidget to allow theming the aspect
	ratio of the cursor.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
	gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
	to GtkWidget.

Thu Feb 14 11:13:22 2002  Owen Taylor  <>

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_surrounding): 
	Fix bug where we called get_surrounding on the context,.
	not the slave.

Thu Feb 14 00:10:09 2002  Owen Taylor  <>

	* gtk/gtktooltips.c (gtk_tooltips_event_handler): Only
	pop the tooltip down on a select set of events, not
	on any unknown event. (#71157, Jody Goldberg)

	* gtk/gtktooltips.c (gtk_tooltips_event_handler):
	Fix some warnings.

Thu Feb 14 00:02:21 2002  Owen Taylor  <>

	* gtk/gtkcalendar.c (gtk_calendar_size_request): A bunch of
	small allocation/drawing fixes.

	* gtk/gtkcalendar.c: Replace DAY_XPAD, DAY_YPAD with

Wed Feb 13 23:01:20 2002  Owen Taylor  <>

	* gtk/gtkcalendar.c: Patch from Bill Haneman to draw
	to focus using gtk_paint_focus() with the focus width
	GtkWidget::focus-width. (#63075)

	* gtk/gtkcalendar.c (gtk_calendar_size_request): Initialize
	label_char_ascent/descent to 0. (#56925, reported by
	(Jean-Noel Guiheneuf)

2002-02-13  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_flush_scroll): validate a
	larger area, proportional to widget size, to fix
	#71427 reported by Dennis Bjorklund

2002-02-13  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush 
	all the first validate stuff if it hasn't been done, presumably
	someone called process_updates at a weird time.

	* tests/testtext.c (do_apply_colors): terminate on >= end, not >
	end, avoids infinite loop when end is at the end of the buffer.

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a
	line data, we were adding it to the wrong line ("line" instead of

2002-02-13  Joe Shaw  <>

	* gtk/gtktreeitem.c (gtk_tree_item_expose): Don't chain up to the
	container's expose event.  Instead call
	gtk_tree_item_expose_child() on each child.  Avoids a failed
	g_assert() in gtk_container_propagate_expose().
	(gtk_tree_item_expose_child): Added.  Synthesize an expose event
	for our children.  Basically gtk_container_propagate_expose()
	minus the g_assert().  (#71396)

2002-02-13  Tor Lillqvist  <>

	* gdk/gdkinternals.h: Add some more GdkDebugFlags, for more
	fine-grained debugging output (mainly used in the Win32 backend).

	* gdk/gdk.c: Corresponding additions to the gdk_debug_keys table.

Wed Feb 13 15:42:42 2002  Owen Taylor  <>

	* gtk/gtktooltips.[ch] gtkwidget.c: Implement Control-F1
	as toggle-tooltips-mode.

	* gtk/gtktooltips.c: Remove parsing of tooltips style
	string from here ... now in gtkrc.c.

Wed Feb 13 12:41:44 2002  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_init_check): g_warning() if setting
	the local fails, like gdk_set_locale() did.

	* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list): 
	Don't free local_list if local_count == 0. (#71241, reported
	by Kevin Vandersloot.)

	* gdk/x11/gdkselection-x11.c (gdk_text_property_to_text_list): 
	Clean up list == NULL handling and failure.

Wed Feb 13 11:27:31 2002  Owen Taylor  <>

	* tests/testtreeview.c (typesystem_recurse): Cast GType
	to long and use %ld to fix warning. (#71318, Morten Welinder)

Wed Feb 13 13:26:39 2002  Tim Janik  <>

	* gtk/gtkmenu.c: fix figuring accel path and changing behaviour.

Wed Feb 13 06:42:37 2002  Tim Janik  <>

	* gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
	my recent expanding change to not expand the table if all children
	have not epxand behaviour. this fixes palette views which often
	use homogeneous non-expanding tables.

Tue Feb 12 14:27:41 2002  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
	row_deleted before we start unreffing the nodes ourselves
	(gtk_tree_model_sort_increment_stamp): always increment the stamp,
	and not only if the stamp equals 0 (pointed out by Darin Adler)

	* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): we want
	to continue the while loop and not the nested for loop.

Tue Feb 12 02:19:49 2002  Tim Janik  <>

	* gtk/gtktable.c (gtk_table_size_allocate_pass1): always spread out
	the extra space allocated for the homogeneous case, as we don't
	properly deal with readjusting table allocation within it. (for  this
	purpose, a GtkAlignment can be used as table parent).

2002-02-11  Darin Adler  <>

	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_row_changed):
	Consider reordering the row even when there's no sort column, if
	there's a default sort function.
	(gtk_tree_model_sort_rows_reordered): Use symbolic constants.
	(gtk_tree_model_sort_level_find_insert): Add code to handle the
	case where there is no sort column, but a default sort function.
	(gtk_tree_model_sort_insert_value): Add code to handle the case
	where there is no sort column an no default sort function.
	(gtk_tree_model_sort_set_model): Use symbolic constant.
	(gtk_tree_model_sort_reset_default_sort_func): Use symbolic constant.

2002-02-11  Sven Neumann  <>

	* gtk/gtkfilesel.c: converted the "Delete File" dialog to
	GtkMessageDialog. Marked missing strings for translation.

Mon Feb 11 22:03:15 2002  Soeren Sandmann  <>

	* gtk/gtkpaned.[ch]: Opaque resizing + prelighting for paned widget.
	* gtk/gtkvpaned.c, gtk/gtkhpaned.c: move reszing logic to gtkpaned.c

Mon Feb 11 21:42:17 2002  Kristian Rietveld  <>

	Implements DnD scrolling and fixes #71139

	* gtk/gtktreeview.c (gtk_tree_view_vertical_autoscroll): new function,
	(scroll_row_timeout): new function,
	(gtk_tree_view_drag_motion): create scroll_timeout, so
	scroll_row_timeout gets called

Mon Feb 11 17:54:46 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper
	member of hadjustment correct, so the hscrollbars of lists smaller
	than 1 page (in width) are somewhat saner

2002-02-11  jacob berkman  <>

	* gdk/gdkwindow.h (gdk_get_default_root_window): fix signature to
	match implementation

Mon Feb 11 16:48:34 2002  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_set_valist): set value of
	func to NULL during initialization (we don't use func in the
	!SORTED case, so we just silent the compiler here) (#71029)

Mon Feb 11 16:40:44 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): install presize
	handler, so the validate_rows_handler will always be run (#70997)

Sun Feb 10 22:20:46 2002  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): increase
	value of new_location by one if cmp_a > 0 and we hit the end of
	the list and pass NULL instead of a 'NULL-iter' with
	_rows_reordered (#71060)

Sun Feb 10 12:32:44 2002  Owen Taylor  <>

	* modules/input/ modules/input/{imam-et.c, imti-er.c,
	imti-et.c} po/ Add three Ethiopic input methods from
	Daniel Yacob.

2002-02-10  Anders Carlsson  <>

	* gtk/gtkcalendar.c (gtk_calendar_class_init): Set finalize handler;
	(gtk_calendar_finalize): Rename gtk_calendar_destroy to 
	gtk_calendar_finalize since ::destroy can be called multiple times, 
	resulting in double-freeing memory.

2002-02-10  Hans Breuer  <>

	* gdk/win32/gdkgeometry-win32.c : don't reduce the scroll
	rect size by the scroll amount

	* gdk/win32/gdkwindow-win32.c
	* gdk/win32/gdkselection-win32.c : added some casts to
	make it compile with msvc's strict type checking

	* gtk/fnmatch.c : #include <ctype.h> again for tolower
	prototype. The fnmatch() code assumes to be in the crt 
	locale though it is feeded by utf8 strings from gtkfilesel.c

	* gtk/gtkfilesel.c : let ->cmpl_text be a strdup managed by
	_CompletionDir instead of referencing already freed memory

	* gtk/gtktooltips.c (gtk_tooltips_init) : fix typo to
	gtk_rc_parse_string (theDefaultTooltipColor) once as it
	was intended

	* tests/makefile.msc : added more tests

	* tests/testgtk.c (create_list) : don't try to load gtkenums.h
	from the current directory use ../gtk/gtkenums.h instead

2002-02-10  Kjartan Maraas  <>

	* gtk/gtksizegroup.c: Fix a double "The" typo in a string.
2002-02-09  Matthias Clasen  <matthias@local>

	* gtk/gtknotebook.c (gtk_notebook_set_focus_child): Avoid segfault
	for selectable tab labels (even without a segfault, they make the
	notebook almost unusable, though).  (#69985)

2002-02-08  Matthias Clasen  <matthias@local>

	* gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path): Silently do 
	nothing if the parent is not a menu.  (#66492)

2002-02-06  Matthias Clasen  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_from_widget,
	gtk_item_factory_path_from_widget): Try fetching the return value 
	from menu_item->submenu as a fallback.  (#69020)
Sat Feb  9 22:57:43 2002  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_build_level): convert
	the iter to a child iter again, after doing _iter_children. It's
	possible that _iter_children added some rows and updated the stamp.

2002-02-09  Daniel Elstner  <>

	* gtk/gtktextchild.c: Use == rather than = in sanity
	checks.  Ouch!

2002-02-09  Daniel Elstner  <>

	* gtk/gtktextchild.c (CHECK_IN_BUFFER_RETURN): Add missing
	curled braces so that it doesn't always return.  Also indent
	both CHECK_IN_BUFFER* macros properly, and make use of

Sat Feb  9 13:27:14 2002  Owen Taylor  <>

	* gtk/gtkbindings.h: Add prototype for

Sat Feb  9 13:19:20 2002  Owen Taylor  <>

	* gtk/ gtk/theme-bits/*: Add
	tools and images used for creating the check/radio
	button images in the default theme.

Sat Feb  9 13:58:41 2002  Soeren Sandmann  <>

	* gtk/gtkpaned.[ch]: Keyboard navigation for GtkPaned
	F6: cycle between panes.
	F8: focus handle (#53584)
	* tests/testgtk.c: Add test cases for GtkPaned keyboard 
Sat Feb  9 00:16:31 2002  Owen Taylor  <>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): 
	XCopyArea with subwindow_mode = IncludeInferiors.

	* demos/testpixbuf-save.c (configure_cb): Fix a minor
	memory management problem.

Fri Feb  8 20:24:58 2002  Owen Taylor  <>
	* gtk/gtkbindings.c (binding_compose_params): Fix problem
	with string-valued parameters (#70012, Johan Dahlin.)

	* gtk/gtkentry.c (gtk_entry_delete_whitespace): Fix 
	white space deletion.

Fri Feb  8 21:25:56 2002  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): fix
	evil ref bug where the wrong row and a deleted row was unreffed.
	Found by Darin Adler <>

Fri Feb  8 18:46:13 2002  Owen Taylor  <>

	* gtk/gtkbindings.[ch] (_gtk_binding_reset_parsed): Add
	a function to delete all bindings add by
	gtk_binding_parse_binding() when rereading RC files.

	* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Reset
	binding set content as well as RC content.

	* gtk/gtkbindings.c (binding_compose_params): Fix 
	various GValue handling problems.

	* gtk/gtkentry.c (gtk_entry_class_init): Remove bindings 
	for C-b, C-f, M-b, M-f, C-a, C-e, C-w, C-y, M-space, C-u,
	C-k, M-\, M-d, C-d.

	* gtk/gtktextview.c (gtk_text_view_class_init): Remove
	same bindings as GtkEntry, plus C-n, C-p, C-space

        * gtk/gtkrc.key.default gtk/gtkrc.key.emacs gtk/
	Add Emacs and Default key themes.
2002-02-08  Darin Adler  <>

	* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Remove a tiny bit more dead code.

2002-02-08  Darin Adler  <>

	* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Fix stale pointer bug.

Fri Feb  8 14:30:14 2002  Owen Taylor  <>

	* gtk/gtkclist.c (title_focus_in): Return FALSE if
	not showing the titles. (#70959, Thomas Leonard)

2002-02-08  Darin Adler  <>

	* demos/gtk-demo/main.c: (load_file): isspace -> g_ascii_isspace
	* gdk/x11/gdkim-x11.c: Remove gdki8n.h include.
	* gdk/x11/gdkkeys-x11.c: Remove <ctype.h> include.
	* gdk/x11/gdkmain-x11.c: Remove <ctype.h> include.
	* gtk/fnmatch.c: Remove <ctype.h> include.
	* gtk/gtkaccelgroup.c: Remove <ctype.h> include.
	* gtk/gtkaccellabel.c: (gtk_accel_label_refetch): toupper ->
	g_unichar_toupper, toupper -> g_unichar_totile
	* gtk/gtkbindings.c: Remove <ctype.h> include.
	* gtk/gtkfontsel.c: Remove <ctype.h> include.
	* gtk/gtkiconfactory.c: Remove <ctype.h> include.
	* gtk/gtkinputdialog.c: Remove <ctype.h> include.
	* gtk/gtklabel.c: Remove <ctype.h> include.
	* gtk/gtkmain.c: Remove <ctype.h> include.
	* gtk/gtkmenu.c: Remove <ctype.h> include.
	* gtk/gtkoldeditable.c: Remove <ctype.h> include.
	* gtk/gtkrc.c: Remove <ctype.h> include.
	* gtk/gtktextbtree.c: Remove <ctype.h> include.
	* gtk/gtktextiter.c: Remove <ctype.h> include.
	* gtk/gtktextsegment.c: Remove <ctype.h> include.

2002-02-08  Sven Neumann  <>

	* gtk/gtkfilesel.c
	* gtk/gtkgamma.c
	* gtk/gtkinputdialog.c: use stock labels for dialog action buttons.

2002-02-08  Darin Adler  <>

	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_ref_node),
	(gtk_tree_model_sort_unref_node): Pass the ref_node and
	unref_node calls through to the child model.

2002-02-08  Laszlo Peter  <>

	* gtk/gtktextchild.c: s/__FUNCTION__/G_GNUC_FUNCTION/
	* gtk/gtktextview.c: ditto

2002-02-07  Havoc Pennington  <>

	* gtk/gtkspinbutton.h (struct _GtkSpinButtonClass): add
	change_value virtual function, to fix build

	* gtk/gtkpixmap.c (gtk_pixmap_class_init): parent_class was 
	from GtkWidget not GtkMisc. Not that it ever mattered.

Thu Feb  7 19:52:00 2002  Owen Taylor  <>

        * gtk/gtknotebook.[ch]: Add ::move-focus-out signal
	to handle Control[-Shift]-Tab and Control-arrow
	bindings and implement bindings as per #53612.

	* gtk/gtktextview.c (gtk_text_view_move_focus): Fix 
	fetching the toplevel for plug-socket.

	* gtk/gtknotebook.c (gtk_notebook_class_init): Remove
	bindings for Return/Enter to select the page.

	* gtk/gtknotebook.c (gtk_notebook_change_current_page):
	Beep at ends.

	* gtk/gtknotebook.c (focus_tabs_move): Don't wrap around
	and beep at ends.

	* gtk/gtknotebook.c (gtk_notebook_focus): When focusing into
	the page with the arrow keys, focus the first widget,
	not the directionally closest widget.

Thu Feb  7 19:00:10 2002  Owen Taylor  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert
	to using  binding set for doing key bindings. (#62622,
	Requested by Skip Montaro)

	* gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow
	bindings as overrides along with control-tab bindings.

	* gtk/gtknotebook.c (gtk_notebook_class_init): Fix return
	type for ::focus_tab signal.

Thu Feb  7 19:39:27 2002  Kristian Rietveld  <>

	Fixes #70782 and some drag dest rectangle/line issues

	* gtk/gtktreeview.c (gtk_tree_view_set_model): set
	GTK_TREE_VIEW_IS_LIST flag (we can switch from a TreeStore to a
	ListStore for example)
	(gtk_tree_view_get_path_at_pos): revert previous change, we
	shouldn't correct for the header, because we are taking bin_window
	coordinates here
	(gtk_tree_view_set_drag_dest_row): queue old drag_dest row and
	upper/lower neighbors for draw, so the drag dest rectangle/line will
	be cleared correctly
	(gtk_tree_view_get_dest_row_at_pos): correct for treeview header
	here, as drag_y is relative to the widget and _get_path_at_pos wants
	coords relative to bin_window, draw black outline rectangle after
	drawing the cells

Thu Feb  7 10:53:12 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_draw_text): Use layout text
	(which may be affected by invisible char) to compute
	selection bounds, not entry text. (#70733, Alex Larsson)

2002-02-07 Padraig O'Briain <>

	* gtk/gtkwidget.[ch]:
	Change show_help signal to return gboolean instead of void. This
	allows the keypress which invokes the signal to be propagated to the
	focus widgets ancestors if not handled by the focus widget.
	* gtk/gtktoolips.[ch]
	Change _gtk_tooltips_show_tip () to return a gboolean indicating
	whether widget has tooltip to display.
2002-02-07 Padraig O'Briain <>

	* gtk/gtkwidget.[ch]:
	Change popup_menu signal to return gboolean instead of void. This
	allows the keypress which invokes the signal to be propagated to the
	focus widgets ancestors if not handled by the focus widget.

	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtktextview.c:
	Change signature of popup_menu signal handler to return gboolean
	instead of void and return TRUE in the signal handler

2002-02-07  Anders Carlsson  <>

	* gdk/x11/xsettings-common.c (xsettings_setting_free): Free 
	the setting name.

Wed Feb  6 23:28:39 2002  Kristian Rietveld  <>

	Fixes #70708

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): we're dealing
	with widget coordinates here, so take the header height into
	account while converting
	(gtk_tree_view_widget_to_tree_coords): take header height into
	(gtk_tree_view_tree_to_widget_coords): ditto
	(gtk_tree_view_get_dest_row_at_pos): we were passing coords
	relative to the tree with _get_path_at_pos, while that function
	wants coords relative to the widget

2002-02-06  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_scroll_hpages): remove unused variable
	(gtk_text_view_get_window): add warning about how you
	can't get the private window. #70683, and avoid default: in the
	switch so we get "enum value unhandled" warnings

2002-02-06  Havoc Pennington  <>

	* gtk/gtktextchild.c: Add warnings if you try to use a child
	anchor that isn't inside a buffer. Really kind of lame; 
	we should separate the anchor from the buffer. But not worth 
	fixing for now. #70601

Wed Feb  6 18:25:24 2002  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c: rip out all the debugging ifdefs, as
	modelsort seems to be stable (and nobody complained :)

Tue Feb  5 19:13:42 2002  Owen Taylor  <>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_queue): Keep
	the length of the anti-expose queue finite, by if
	it gets too long, first doing a XSync() and checking
	the event queue, and if that doesn't work, simply
	discarding all anti-expose items in the queue.

	* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix ordering
	on ConfigureNotify (#56349, Thomas Leonard)

2002-02-05  Havoc Pennington  <>

	* gtk/gtkimage.c (gtk_image_expose): offset area being gotten from
	pixmap by the align/padding offsets, so we don't get warnings
	in gdk_pixbuf_get_from_drawable (and so it works, of course)

2002-02-05  Matthias Clasen  <>

	* gtk/gtkrc.c (gtk_rc_parse_file): Remove a (now) misleading comment.

2002-02-05  Federico Mena Quintero  <>

	* gdk/gdkwindow.h: Do not #include <gdk/gdkwindow.h>.

Tue Feb  5 22:54:16 2002  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_insert_after): let's set the
	path, which we're going to pass with the emission of row_inserted, to
	the iter we inserted and not its sibling.

2002-02-04 Padraig O'Briain <>

	* gtk/gtkmenu.c (gtk_menu_popup):
	Fix leak of GdkEvent (#70519)

Mon Feb  4 10:40:28 2002  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_default_draw_resize_grip):
	Fix from Matthias Clasen to clear background appropriately
	for theme by calling gtk_style_apply_default_background().

Mon Feb  4 10:06:49 2002  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c: gtk-double-click-time,
	not gtk-double-click-timeout. (#70501)

2002-02-04  Havoc Pennington  <>

	* gtk/gtksignal.c (gtk_signal_connect_while_alive): 
	(gtk_signal_connect_object_while_alive): rename 
	"signal" arg to "name" to avoid compiler warnings
	about shadowing signal(). #70453

2002-02-03  Anders Carlsson  <>

	* gtk/gtkstyle.c (gtk_default_draw_expander): Add 
	flipping support to the expanders.

Sat Feb  2 21:54:01 2002  Owen Taylor  <>

	RC file lookup improvements (#68234, suggestions
	from Matthias Clasen.)

	* gtk/gtkrc.c (gtk_rc_parse_file): Look for the 
	locale suffix variants (gtkrc.en_US, gtkrc.en) for
	all RC files we parse, not just the default RC

	* gtk/gtkrc.c (gtk_rc_parse_default_files): Remove
	support for charset specific RC files.

Sat Feb  2 20:16:04 2002  Owen Taylor  <>

	* gtk/gtkmenushell.c (_gtk_menu_shell_select_first): 
	Non-exported _gtk_menu_select_first() function that
	selects the first item of the menu in a standard
	way. (Skipping tearoffs.)

	* gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c
	gtkmenuitem.c: Use _gtk_menu_shell_select_first().

	* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember
	if we are starting the timeout from a keypress so
	we can set menushell->ignore_enter properly.

	* gtk/gtknotebook.c (focus_child_in): Return something
	meaningful if there are no children.

	* gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence

Sat Feb  2 19:15:42 2002  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_popup): Fix some bugs in
	the determination of xgrab_shell.

Sat Feb  2 17:43:00 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_grab_focus): Add a GtkSetting
	(gtk-entry-select-on-focus) controlling whether the
	contents of an entry are selected on focus in.

	* gtk/gtkmenu.c (gtk_menu_key_press): Add a GtkSetting
	(gtk-can-change-accels) controlling whether accelerators can be
	changed on the fly or not. (#51902)

	* gtk/gtkmenu.c (gtk_menu_key_press): Allow unmodified
	accelerators, now that accelerator changing can be turned
	off for those who won't expect it. (#61285)

	* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Allow 
	Backspace/Delete/KP_Delete as valid accelerators.

	* gtk/gtkmenu.c (gtk_menu_key_press): Allow setting of
	Delete/Backspace as accelerators by making them toggle
	the menu item between empty and the pressed key.

	* tests/testgtkrc: Remove the objectionably short cursor blink
	time setting.

Sat Feb  2 16:43:31 2002  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_popup): To get around the fact
	that we may have a owner_events = FALSE grab in effect
	when we pop up a window, make a temporary grab on a
	different window, then grab on the real window. Fixes
	a problem where if a context menu popped up under the 
	cursor, the first item would be stuck unselected.
	(#59812, reported by Arnaud Charlet.)

2002-02-02  Peter Williams  <>

	* gtk/ (install-data-local): Install gtkrc.default
	from $(srcdir) for when $(builddir) is different.

Sat Feb  2 19:00:39 2002  Kristian Rietveld  <>

	* gtk/ remove TESTGTK_RCFILE define

Sat Feb  2 11:37:21 2002  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_popup): Remove the 
	"select first item if popped up from keypress" hack --
	was causing more problems than it was worth 
	(#53191, #68483)

	* gtk/gtktextview.c (popup_targets_received): 
	 gtk/gtkentry.c (popup_targets_received): If activated
	from keyboard, select first item of popup menu.

Sat Feb  2 18:07:51 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member
	of vadjustment correct, so the vscrollbars of lists smaller than
	1 page are somewhat saner (#66905)

	* gtk/gtkliststore.c (gtk_list_store_remove_silently): do not
	increment the stamp, liststore is a model with persisting iters

Fri Feb  1 23:54:00 2002  Owen Taylor  <>

	* gtk/gtkrc.[ch] (gtk_rc_parse_engine):	Support 
	engine "" {} to mean override to the default 
	engine. (#70205)

Fri Feb  1 23:25:33 2002  Owen Taylor  <>

	* gtk/gtktooltips.c (gtk_tooltips_init): Parse the
	RC string here when the first object is created
	rather than in the class_init to not break doc 
	building. (#70341, Havoc Pennington.)

	* gtk/gtkrc.c (parse_include_file): Use the directories
	for the currently parsed files as the starting point
	to look for include files. (#59975)

Fri Feb  1 20:21:56 2002  Manish Singh  <>

	* gtk/gtkinputdialog.c: use gtk_label_new_with_mnemonic for labels
	that actually have mnemonics

Fri Feb  1 19:57:59 2002  Owen Taylor  <>

	* Fix use of ! in shell.

	* gtk/gtktooltips.c (gtk_tooltips_class_init) gtkrc.default: 
	Move the setting of default tooltips colors to gtktooltips.c
	from gtkrc.default. (Use default priority so themes will
	override.) (#58542)

Fri Feb  1 17:48:51 2002  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_get_style): Fix ordering of
	priorities so that priorities take precendence over
	the ordering by type. (#70205)

	* test/testgtkrc tests/testgtk.c (create_rc_file): Add 
	some labels to test priorities in testgtkrc.

Fri Feb  1 00:37:49 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): use
	y coordinate relative to the tree and not the treeview window
	(fixes the PgDn/PgUp brokenness)

Fri Feb  1 23:40:31 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
	cell_area and background_area for possible treeview scroll
	(fixes #70283, #70065)

Fri Feb  1 22:20:13 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
	height - page_size not height - allocation->height (fixes #66269)

Fri Feb  1 15:22:23 2002  Owen Taylor  <>

	* gtk/gtkimage.c (gtk_image_class_init): Fix typo
	in property description. (Christian Rose.)

Fri Feb  1 14:50:36 2002  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_parse_string): Handle reparsing
	any strings if the theme changes. (#69465)

	* tests/testgtk.c: Add a test for gtk_rc_parse_string().

Fri Feb  1 20:50:29 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): set tree to
	NULL if tree_view->priv->tree is NULL (#70152, patch by John Harper).

Fri Feb  1 12:51:20 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (focus_child_in): Catch the
	cur_page == NULL (no children) case. (#70287,
	Paolo Maggi.)

Fri Feb  1 12:12:12 2002  Owen Taylor  <>

	* gtk/gtkfilesel.c (attempt_file_completion): 
	s/directory/folder/ in all labels and messages.

Fri Feb  1 08:57:38 2002  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_exit_func): Remove this useless
	atexit handler. (existance pointed out by Stefan Kost)

	* gtk/gtkmain.c (gtk_init_check): Warning fixes.

Thu Jan 31 18:46:10 2002  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_free): unref the
	model after the last use, not before.

Thu Jan 31 14:50:16 2002  Owen Taylor  <>

	* gtk/gtkrc.default gtk/ Install a Default
	RC file that sets the tooltips color to yellow. (#58542)

	* gtk/gtksettings.c (gtk_settings_class_init): make 
	the default theme "Default", not NULL.

Thu Jan 31 11:33:52 2002  Owen Taylor  <>

	* gdk/x11/gdkproperty-x11.c (insert_atom_pair): Fix 
	another missing static.

	* gtk/gtkimmodule.c (n_loaded_contexts): And another.

	* gdk/x11/ gdk/x11/gxid_lib.c: Don't
	build gxid sources at all except in the vanishingly
	rare case of --with-xinput=xfree.

2002-01-31  Mark McLoughlin  <>

	* gdk/gdkimage.c: (scratch_image_info_for_depth): make static.

	* gdk/x11/gdkimage-x11.c: (get_full_image): ditto.

	* gdk/x11/gxid_lib.[ch]: (_gxid_claim_device), (_gxid_release_device):
	renamed from gxid_(claim|release)_device.

	* gdk/x11/gdkinput-gxi.c: (_gdk_input_enable_window),
	(_gdk_input_disable_window): upd for gxid change.

	* gtk/gtkimage.c: (animation_timeout): make static.

	* gtk/gtkstyle.c: (draw_thin_shadow), (draw_spin_entry_shadow): make

	* gtk/gtktextutil.c: (bidi_menu_entries): make static.

Thu Jan 31 10:21:05 2002  Owen Taylor  <>

	* gtk/gtkplug.c (gtk_plug_focus): Handle the case where
	bin->child is NULL. (#70153, Padraig O'Briain)

	* gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems): 
	Actually call gettext() on the labels; previously they
	were marked with N_() but we never called gettext().

Wed Jan 30 20:15:49 2002  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute
	changes before committing.

	* gtk/gtkliststore.c (gtk_list_store_set_valist): ditto

Wed Jan 30 18:46:14 2002  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_set_valist): only emit the
	signal if an interesting column changes.

	* gtk/gtktreestore.c: ditto.

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor): change behavior so
	that it no longer grabs 

2002-01-30  Manish Singh  <>

	* gtk/gtkhandlebox.c (gtk_handle_box_destroy): remove unused

	* gtk/gtkwindow.c (gtk_window_get_icon): function returns a value,
	so return NULL with g_return_val_if_fail instead of g_return_if_fail.

2002-01-30  Matthias Clasen  <>

	* gtk/*.c: Remove excess g_return_if_fail calls from static
	and virtual functions.  (#57615)
2002-01-30  Anders Carlsson  <>

	* gtk/gtkstyle.c (gtk_default_render_icon): Allow a -1 icon size.

Wed Jan 30 20:29:01 2002  Tim Janik  <>

	* gtk/gtkscale.c (gtk_scale_set_digits): fix revrted bug fix.
	(use a define for max digits).

Wed Jan 30 13:55:59 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_show): Try to make
	sure that we have some focused widget on map. (#50339)

	* gtk/gtkdialog.c (gtk_dialog_map): Handling picking
	a focus widget here differently so that if a
	response button gets picked, it's the default one.

	* tests/testgtk.c (make_message_dialog): Set the 
	default response for the dialogs.

Tue Jan 29 22:52:36 2002  Owen Taylor  <>

	* Released 1.3.13

	* Micro version 13, interface, binary
	age 0. Require GLIB-1.3.13, Pango 0.24.

	* docs/ (EXTRA_DIST): Add widget_geometry.txt,
	sizing-test.txt, tree-column-sizing.txt

	* docs/ (EXTRA_DIST): Don't distribute
	Changes-1.2.txt, Changes-2.0.txt, README.linux-fb,
	since they are no longer canonical.

	* gtk/gtk.def: Convert spaces to tabs in front of
	gtk_widget_set_accel_path in case it matters.

	* NEWS: Updated for 1.3.13.

Tue Jan 29 22:31:07 2002  Owen Taylor  <>

	* gtk/gtkwidget.[ch] gtkmenuitem.c gtkitemfactory.c: Export 

	* gtk/gtk.def: Add gtk_widget_set_accel_path.

Tue Jan 29 21:50:28 2002  Owen Taylor  <>

	* gtk/gtkaccelmap.[ch] gtk/gtkbindings.[ch] gtk/gtkwidget.[ch]:
	Consistently use GdkModifierType. (#66950, Mark Patton)

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
	For consistency with gtk_button_new_from_stock(), fall back
	to gtk_image_menu_item_new_with_mnemnonic(). (#65944,
	Havoc Pennington)
	* gtk/gtkitemfactory.[ch] (gtk_item_factory_path_from_widget): 
	Make G_CONST_RETURN. (#68527, Matt Wilson)

Tue Jan 29 20:56:13 2002  Owen Taylor  <>

	* gtk/gtk[vh]scale.c (gtk_[vh]scale_new_with_range): Document
	that the end points are included in the range. (#69783,
	Jeffrey Baker)

Tue Jan 29 20:38:04 2002  Owen Taylor  <>

	* gtk/gtkscale.[ch]: Revert the last changes to make the
	number of digits only effect drawing, instead, don't
	round unless we are in the 'draw_value' mode -- this
	is the behavior of GTK+-1.2, and keeps the behavior that
	if the user sees a displayed value, it is the correct value.

Tue Jan 29 19:51:05 2002  Owen Taylor  <>

	* gtk/gtkenums.h: Deprecate GtkPreviewType,
	GtkSignalRunType, GtkSideType, GtkSubmenuPlacement, GtkSubmenuDirection
	(#68183, Matthias Clasen)

	* gtk/gtkmenuitem.h: Remove _gtk_menu_item_set_placement() from
	the public header to avoid having to use GtkSubmenuPlacement.

	* gtk/{gtkmenuitem.c,gtkmenubar.c,gtkmenushell.c}: #define
	GTK_MENU_INTERNALS to preserve access to GtkSubmenu*.

	* gdk/gdki18n.h: Deprecate contents. (Darin Adler.)

Tue Jan 29 19:32:47 2002  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_get/set_property): 
	Fix wrong usage of g_value_set/get_object for PROP_TABS
	and memory leak in getter for PROP_TABS. (Jeff Franks)

Tue Jan 29 19:04:41 2002  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_render_icon): Document that
	a size of (GtkIconSize)-1 means don't scale.

	* gtk/gtkstyle.c (gtk_default_render_icon): Obey the
	-1 convention.

	* gtk/gtkimage.c (gtk_image_expose): Pass in -1 to
	gtk_style_render_icon() to make sure that we catch it
	obviously if the style's render function tries to

Tue Jan 29 18:50:59 2002  Owen Taylor  <>

	* gtk/gtkimage.c (gtk_image_expose): Optimize exposes of
	partial insensitive images.

2002-01-24  Havoc Pennington  <>

	* gtk/gtkimage.c (gtk_image_expose): create insensitive version of
	the image regardless of storage type, #63305

	* demos/gtk-demo/images.c: add toggle button to demonstrate that
	GtkImage makes its contents insensitive

Tue Jan 29 17:40:02 2002  Owen Taylor  <>

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
	Call _gdk_draw_pixbuf(), thus enabling using this function
	for pixbufs with alpha. (#68801)

	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Move
	implementation of gdk_pixbuf_render_to_drawable()
	to here.

Tue Jan 29 17:16:17 2002  Owen Taylor  <>

	* gtk/gtklayout.c: Patch from Jacob Berkman to fix problem
	when the height/width of a layout was set before the
	adjustments were added. (#66294)

	* gtk/gtktreeview.c: Warning cleanups.

Tue Jan 29 16:35:04 2002  Owen Taylor  <>

	* gtk/gtkhandlebox.c (gtk_handle_box_motion): Small
	fix to size of torn off window (#60271, Detlef Reichl)

	* gtk/ Don't install gtkhsv.h. (Pointed out
	by Ross Burton)

Tue Jan 29 18:50:46 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): free
	cursor_path after usage
	(gtk_tree_view_real_start_interactive_search): use new g_signal
	and g_object calls
	(gtk_tree_view_search_dialog_destroy): use g_object calls and free
	selected_iter if set
	(gtk_tree_view_search_position_func): rework so it will never ever
	appear offscreen (#68492)
	(gtk_tree_view_search_move): use new g_object calls
	(gtk_tree_view_search_init): free selected_iter if set, use new
	g_object calls
	(gtk_tree_view_leave_notify): don't destroy interactive search

Tue Jan 29 23:07:03 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	send focus in event
	(gtk_tree_view_search_dialog_destroy): send focus out event (#66466)

2002-01-29  Anders Carlsson  <>

	* gtk/gtkfontsel.c (gtk_font_selection_select_size): Show correct
	size in the size entry.

Tue Jan 29 16:11:55 2002  Owen Taylor  <>

	* gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes): Use
	gtk_tree_view_set_cursor() instead of gtk_tree_selection_select_iter().

	* gtk/gtkfontsel.c (gtk_font_selection_init): Add mnemonic to
	preview field. (#52433, patch from Anders Carlsson)
	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Remove the 
	dialog separator. (#69558, Alex Larsson, patch from Anders Carlsson)

Tue Jan 29 15:24:59 2002  Owen Taylor  <>

	* gtk/gtkfontsel.[ch]: Switch over to GtkTreeView from
	GtkCList. Remove the entries above the font/face lists 
	since they were a little confusing. (Not sure about this 
	change, so the code is still there the entries are
	just hidden.) (#68890)

	* gtk/gtkfilesel.c: Switch over to GtkTreeView from
	GtkCList. Add mnemonics for fileops. Allow Control/Shift
	Tab to focus out.

	* gtk/gtkfilesel.c: Make fileop dialogs transient-for
	the fileselector. (#69336, patch from Melvin Hadasht)

	* gtk/gtkgamma.c (button_clicked_callback): Fix handling
	of gamma dialog a bit. (#69336, Matthias Clasen.)

Tue Jan 29 14:56:28 2002  Owen Taylor  <>

	* gtk/gtksocket.c (toplevel_focus_out_handler): Return boolean
	(and FALSE from focus_in / focus_out handlers. (#69528,
	Padraig O'Briain)

Tue Jan 29 14:47:54 2002  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_init_check): Remove the scary startup
	warning. (#69480)

Tue Jan 29 14:24:49 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_class_init): Add <Control>Tab
	bindings for "move-focus" so that Control-Tab to escape from
	something that eats Tab just works if not otherwise overriden.

	* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range) 
	* gtk/gtkvscale.c (gtk_vscale_new_with_range)
	* gtk/gtkhscale.c (gtk_hscale_new_with_range): Use a page_size
	of zero for the adjustment, since at times we think that the range
	is lower to upper - page_size. A page size equally to the 
	step_increment is, in any case, not meaningful.

2002-01-29  Tor Lillqvist  <>

	* README.win32: Add comment about gtk-1-3-win32-production branch
 	currently being ahead in functionality and code cleanliness (in
 	gdk/win32). Just in case somebody looks at the code in gdk/win32
 	here and starts fixing it, when it is going to change soonish

2002-01-29  Sven Neumann  <>

	* gtk/gtkrc.c: don't install an empty icon_set if none of the image
	files could be found in the pixmap_path (bug #69398).
2002-01-29  Sven Neumann  <>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): fixed a segfault
	that showed up when using the color picker.

Tue Jan 29 11:51:14 2002  Tim Janik  <>

	* gtk/gtkscale.[hc]: fix default value for ::digits property,
	leave as 1 as per havoc's request.
	don't apply the draw_digits value to range->round_digits,
	so we don't perform gross quantization by default.

2002-01-25  Havoc Pennington  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): fix assertion
	failure by creating the line data, but not validating it at this
	stage. Also, remove old code related to the "bogus newline" mess
	that removed all tags from the last char in the buffer if you
	tried to delete it.
	(_gtk_text_line_data_new): put this here and prepend underscore,
	remove from gtktextlayout.c

Mon Jan 28 19:57:39 2002  Owen Taylor  <>

	* modules/input/imhangul.c modules/input/imhangul-defs.h
	po/ Add port of Emacs korean-hangul input
	method from Yusuke Tabata (#67665)

Mon Jan 28 18:25:10 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_draw_frame): Paint shadow
	before focus to give theme engines a bit morea
	flexibility. (#69857)

Mon Jan 28 16:23:20 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer

2002-01-28  Jon Trowbridge  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the
	GtkTreeView's model, set prelight_node, prelight_tree,
	button_pressed_node and button_pressed_tree to NULL. (#69603)

2002-01-28 Bill Haneman <>

	* gtk/gtkstyle.c:
	Make sure that the default expanders are drawn with
	an outline thickness appropriate to the size of the
	expanders (RINT expander_size/7).
	Added static gtk_style_draw_polygon_with_gc(), to
	reduce code duplication.

	* gtk/gtktreeview.c: (gtk_tree_view_bin_expose):
	Use focus_line_thickness when drawing focus lines.

	* gtk/gtktreeviewcolumn.c:(gtk_tree_view_column_cell_get_size):
	Adjust requested width to include focus line thickness.
	Calculate a focus line rectangle which gets larger as the focus
	line thickness increases, to avoid overwriting cell content.
	Render left-aligned content at x+focus_line_width.
	Don't draw a focus line around an editable text cell, since the
	text caret already indicates keyboard focus.
	Pass a GtkStateType appropriate to the focussed cell's state
	to gtk_paint_focus.

Mon Jan 28 14:44:40 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): Only
	activate/edit the row if shift is not pressed, #69248

2002-01-28  Anders Carlsson  <>

	* gtk/gtkcurve.c (gtk_curve_set_vector): Fix build.

2002-01-28  Matthias Clasen  <>

	* gtk/{gtkalignment.c,gtkaspectframe.c,gtkbutton.c,
        gtkviewport.c,gtkwidget.c}: General property notification 
	cleanup. (#69066)

2002-01-28  Anders Carlsson  <>

	* gtk/gtkaccelgroup.c (gtk_accel_groups_activate): & with the
	default mod mask so accels work when numlock is on.

Sun Jan 27 23:23:23 2002  Kristian Rietveld  <>

	* gtk/gtkrbtree.[ch]: add _gtk_rbtree_mark_invalid (my previous
	commit already needed this ...)

Sun Jan 27 22:13:02 2002  Kristian Rietveld  <>

	Fix for bug #69586

	* gtk/gtktreeprivate.h: get rid of tab_offset, introduce

	* gtk/gtktreeview.c: get rid of ->priv->tab_offset, introduce
	expander_size caching (from style), fix CELL_HEIGHT macro,
	use MAX ("RBNODE_HEIGHT", expander_size) (differs per case) for
	row height calculation, added style_set callback

2002-01-27  Anders Carlsson  <>

	* gtk/gtklabel.c (gtk_label_create_window): Set the cursor to

	* gtk/gtktextview.h (struct _GtkTextView): add mouse_cursor_obscured.

	* gtk/gtkentry.h (struct _GtkEntry): Add mouse_cursor_obscured.

	* gtk/gtktextview.c (set_invisible_cursor): New function.
	(gtk_text_view_obscure_mouse_cursor): Likewise.
	(gtk_text_view_key_press_event): Call obscure_cursor if text 
	has been inserted.
	(gtk_text_view_motion_event): Restore the mouse cursor.

	* gtk/gtkentry.c (gtk_entry_realize): Add GDK_POINTER_MOTION_MASK.
	(set_invisible_cursor): New function.
	(gtk_entry_obscure_mouse_cursor): Likewise.
	(gtk_entry_key_press): call obscure_cursor if text has been inserted.
	(gtk_entry_motion_notify): Restore the mouse cursor.

2002-01-27  Sven Neumann  <>

	* gtk/gtkstyle.c (sanitize_size): removed unused return value.

Sat Jan 26 19:27:23 2002  Owen Taylor  <>

	* gtk/gtksocket.c (gtk_socket_grab_notify): Don't
	send MODALITY_ON/OFF if socket->same_app (More fixes for #69735)

Sat Jan 26 19:04:37 2002  Owen Taylor  <>

	* gtk/gtkmain.c (check_is_grabbed): Return FALSE not true
	in the grab_widget == NULL case. (Bug reported by 
	Padraig O'Briain, #69735)

	* gtk/gtkplug.c (handle_modality_on): Realize the modality
	window so gtk_widget_event() doesn't complain :-((((.

2002-01-25  Federico Mena Quintero  <>

	Merge from gdk-pixbuf stable.

	* gdk/gdkpixbuf-drawable.c (rgb565msb): Fixed the endianness
	conversion --- swap the individual 16 bit values instead of taking
	everying as a 32 bit value.
	(rgb565lsb): Likewise.
	(rgb555lsb): Likewise.
	(rgb555msb): Likewise.

2002-01-25  Alex Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_drawable_impl_fb_class_init):
	Implement copy_to_image instead of get_image
	* gdk/linux-fb/gdkimage-fb.c:
	Implement _gdk_image_new_for_depth, _gdk_windowing_get_bits_for_depth and
	Based in part on patch from Mathieu Lacage <>

	* gdk/linux-fb/gdkmain-fb.c:
	Make ENABLE_FB_MANAGER region larger.

	* gdk/linux-fb/gdkprivate-fb.h:
	Change _gdk_fb_get_image to _gdk_fb_copy_to_image.

2002-01-25  Sven Neumann  <>

	* gtk/gtkwindow.c (gtk_window_get_size): changed the comment so
	that gtk-doc doesn't get confused.

Fri Jan 25 14:03:36 2002  Tim Janik  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): assert
	that the passed in arrow is always _UP or _DOWN, this catches
	false invocations which lead to drawing artefacts.
	(start_spinning): likewise, i.e. sanity check the passed in arrow.
	(gtk_spin_button_button_release): fix arrow redrawing.
	(gtk_spin_button_button_press): must set click_child for
	button3 even if we don't take spinning action right away.

	* gtk/gtkspinbutton.h (struct _GtkSpinButton): document
	valid values for click_child.

Thu Jan 24 23:03:24 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): update docs,
	return current FALSE if x is smaller than the current visible area,
	not than the requested area, don't correct y coordinate,
	TREE_WINDOW_Y_TO_RBTREE_Y will do that. Fixes #67477.

Thu Jan 24 15:41:08 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c
	 (gtk_tree_view_motion_draw_column_motion_arrow): fix column
	 reordering fully.
	 (gtk_tree_view_size_allocate): fix evil bug.

Thu Jan 24 11:53:19 2002  Owen Taylor  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't clear
	the model until we clean up all the other objects
	that might refer to the object.

2002-01-24  Mark McLoughlin  <>

	* gtk/gtkaccessible.h: include gtk/gtkwidget.h

Wed Jan 23 20:28:59 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_draw_arrow): 
	Use insensitive state for insensitive arrows, not
	just an "etched state". (#67172, Adrian Custer)

2002-01-23  Manish Singh  <>

	* gtk/gtkentry.c (gtk_entry_set_text): use a variable that's actually
	been declared.

2002-01-23  Damon Chaplin  <>

	* (gtk_doc_min_version): set minimum gtk-doc version to
	0.9, since we need to use the new --type-init-func argument for

2002-01-23  Matthias Clasen  <>

	* gtk/gtkentry.c, gtk/gtkwidget.c: Remove excessive
	g_return_if_fail() calls. (#57615)

	* gtk/gtkitemfactory.c (gtk_item_factory_delete_entries): Make
	it work for paths with underline accelerators. (#69247)

Wed Jan 23 15:12:16 2002  Owen Taylor  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_state_changed): 
	Stop spinning if widget becomes insensitive. (#56248)

Wed Jan 23 14:44:12 2002  Owen Taylor  <>

	* gtk/gtkspinbutton.c (EPSILON): Decrease value since
	we now use doubles.

Tue Jan 22 16:58:37 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Fix sizing bug
	I introduced accidentally, #69358

2002-01-22 Padraig O'Briain <>

	* gtk/gtktreestore.c (gtk_tree_store_iter_children):
	Update last change to prevent core dump

Mon Jan 21 01:21:54 2002  Kristian Rietveld  <>

	* gtk/gtktreestore.c: add some more stamp checks (pointed out
	by Anders Carlsson)

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): don't
	assume _row_changed will insert sort (because _row_changed doesn't
	need to follow this signal), so apply insert sort here
	(gtk_tree_model_sort_level_find_insert): header doesn't need to be
	set here, so use a return instead of g_return_val_if_fail.

Mon Jan 21 18:28:17 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
	top_row.  Remove extraneous print statements.

2002-01-21  Matthias Clasen  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_popup, 
	gtk_item_factory_popup_with_data): Document allowed values
	for ifactory.

	* gtk/gtkitemfactory.c (gtk_item_factory_delete_entry): Make 
	it work for paths with underline accelerators.

Fri Jan 18 16:31:21 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): only resize the

Mon Jan 21 11:56:31 2002  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_real_activate): Trap the 
	case where there is no default widget and the entry
	is the focus widget, since this also causes infinite
	recursion. (#69158)

Mon Jan 21 11:46:39 2002  Owen Taylor  <>

	* gdk/gdk.c (gdk_init_check): Set the fallback program class here,
	rather than lazilygdk_get_program_class(), since we don't want
	-name to override it. (#69123, Ryan Lovett)

Mon Jan 21 10:29:45 2002  Owen Taylor  <>

	* gdk/gdk.c: Fix wrong types for command line arguments 
	(#69124, Ryan Lovett)

	* gdk/gdk.c (gdk_arg_context_parse): Fix bug in parsing
	parsing '--arg VALUE'.

	* gdk/gdk.c: Remove unused variable gdk_error_trap_free_list.

2002-01-21  Havoc Pennington  <>

	* gdk/gdkwindow.c (gdk_window_add_filter): mention that window 
	arg can be NULL

Sat Jan 19 20:49:41 2002  Kristian Rietveld  <>

	* demos/gtk-demo/editable_cells.c: fix a load of open line ends
	(cell_edited): modified patch from German Poo Caaman~o
	to fix up old_text declaration and free the memory
	(do_editable_cells): unref the model after creating the treeview

	* demos/gtk-demo/list_store.c: fix a load of open line ends,
	(add_columns): set the sort column id, so we can sort

	* demos/gtk-demo/tree_store.c: fix a load of open line ends,
	(do_tree_store): unref the model after creating the treeview

2002-01-19  Havoc Pennington  <>

	* gtk/gtkwindow.c: link to new X11 section in a lot of places when
	mentioning the window manager.

	* gtk/gtkwidget.c (gtk_widget_hide_on_delete): don't mention
	window manager since we're portable.

Sat Jan 19 08:47:41 2002  Jeff Garzik  <>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
	Wrap case values in GPOINTER_TO_UINT().  Fixes build with gcc 3.x.

	* gtk/gtkmain.c:  Include sys/types.h if G_OS_UNIX.
	Fixes build with gcc 3.x and -ansi.

Fri Jan 18 23:01:37 2002  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_parse_style): Fix problems when
	an engine declaration occurs in a reopened style, and
	g_free() of objects when errors occur.

2002-01-18  Matthias Clasen  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_get_widget_by_action):
	Clarify documentation. (#69026)

	* gtk/gtkprogressbar.c (gtk_progress_bar_size_request): Fix 
	missing initialization of adjustment. (#69025)

2002-01-17  Raja R Harinath  <>

	Simplify Makefiles. 
	* gdk/ Remove use of automake conditionals to pick
	library to build.
	* gtk/ Likewise.
	* gdk/ (LDFLAGS): Use $(libdir), not @prefix@/lib.
	* gtk/ (LDFLAGS): Likewise.

Thu Jan 17 20:13:14 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_redraw_tabs): Fix
	missing allocation.x/y offsets. (#68962, Jacob

	* gtk/gtknotebook.c (gtk_notebook_size_allocate):
	Queue a redraw on the entire widget if we hide
	the last page or show the first. (Also #68962)
2002-01-17  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): change
	GTK_MOVEMENT_PARAGRAPHS to go to start/end of paragraph before it
	starts to go up/down paragraphs. This makes Ctrl+Up/Ctrl+Down work
	as in the keynav spec, though it makes the interpretation of
	GTK_MOVEMENT_PARAGRAPHS different from the interpretation of some
	of the other GTK_MOVEMENT_ thingies, maybe, as if that enum makes
	any sense anyhow.

Thu Jan 17 16:34:55 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): For
	some reason, I was activating a row while just selecting it.
	Reported by andersca.
	(gtk_tree_view_size_request): add a
	validate_rows_handler to give us a rough width of the widget.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	Queue a resize here just in case.  It's needed in over half the
	cases, and I don't want to do a diff to figure out exactly when
	it's needed.

2002-01-17  Matthias Clasen  <>

	* gtk/gtkinputdialog.c,
	gtk/gtkcolorsel.c, gtk/gtkfilesel.c, gtk/gtkfontsel.c:
	Mark children as composite. (#66360)

	* gtk/gtkwidget.c (gtk_widget_push_composite_child): Explain
	composite children some more. (#66360)

2002-01-17  Havoc Pennington  <>

	* gtk/gtktextlayout.c (_gtk_text_layout_get_line_xrange): new
	function (which I then decided not to use but I think it's needed
	to fix #68963

	* gtk/gtktextview.c: add page_horizontally action signal and
	implement Ctrl+PgUp, Ctrl+PgDown based on patch from Padraig, 
	hackily modified to avoid adding GTK_MOVEMENT_ API. Part of 

	* gtk/gtkmarshalers.list: add NONE:INT,BOOL

Thu Jan 17 17:02:38 2002  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_real_unrealize): Call
	gtk_selection_remove_all() here, not in destroy/
	finalize. (#66636, Sergey Vlasov)

	* gtk/gtkselection.c (gtk_selection_request): Fix
	reentrancy problem with multiple conversions.

	* gtk/gtkselection.c (gtk_selection_remove_all): 
	Don't remove incrs, we don't need the widget for
	maintain the incr.

	* gtk/gtkselection.c (struct _GtkIncrInfo): Remove
	the widget field from here, we don't need it.

Thu Jan 17 13:08:34 2002  Owen Taylor  <>

	* gdk/x11/gdkmain-x11.c (gdk_error_trap_push): Move
	here, and save/restore the X error handler to allow
	people using GTK+ to set the X error handler to something
	custom without disturbing the operation of GDK.

	* gdk/linux-fb/gdkmain-fb.c (gdk_error_trap_push) 
	* gdk/win32/gdkmain-win32.c (gdk_error_trap_pop): Add
	dummy implementations.

	* gdk/x11/gdkmain-x11.c gdk/x11/gdkevents-x11.c 
	gdk/x11/gdkdnd-x11.c: Use gdk_error_trap_push()/pop()
	for all error trapping.

	* gdk/x11/gdkdnd-x11.c: Remove '#if 0' code.

	* gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Fix
	problem where we would add the results anyways,
	and then add it again if no error occurred, and problem
	where we could leave _gdk_error_warnings() unset.

Wed Jan 16 20:28:38 2002  Owen Taylor  <>

	* gtk/gtkfilesel.c: Fix "deleting" filename by adding
	another boolean parameter to file_selection_populate() -
	whether to clear the entry. Also, never fill in the
	entry when the user clicks on something in the 
	directory list. (#6791, Reported by Jos Dehaes and many,
	many, many others.)

2002-01-16  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_scroll_pages): update
	cursor_y_pos with clamped delta rather than theoretical delta
	(#68788). Also, if we can't page up/down further then jump 
	to top/bottom of the document.

Wed Jan 16 19:33:41 2002  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_map): Refresh
	the dialog on map. (#52877, inspired by request from
	Murray Cumming)

Wed Jan 16 19:23:04 2002  Owen Taylor  <>

	* gtk/gtkbindings.c (gtk_binding_entry_activate): 
	Support "optional" bindings. If a binding signal
	has a boolean return value, and returns FALSE it
	is as if it didn't exist all.

	* gtk/gtkbindings.c (binding_compose_params): Switch
	over to GValue.

	* gtk/gtknotebook.[ch]: Make the select_page() and
	change_current_page() signals only take effect when
	the focus is on the tab area so that key presses
	in children pass up to the toplevel correctly.

Wed Jan 16 12:16:37 2002  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Fix 
	calculation error in the (shouldn't happen) case where
	option_menu->height < child_requisition.height. (Patch
	from Jacob Berkman, #66969)

2002-01-15  Matthias Clasen  <>

	* gtk/gtkenums.h (GtkMatchType): Deprecate. (#68183)

	* gtk/gtkscale.h (gtk_scale_value_width): Remove useless 
 	compatibility macro. (#67730) 

Wed Jan 16 10:54:38 2002  Owen Taylor  <>

	* Fix typo in --help output.
	(Arnaud Charlet).

Wed Jan 16 10:18:42 2002  Owen Taylor  <>

	* gtk/stock-icons/ (EXTRA_DIST): Add 

	* Make TIFF, JPEG, PNG loaders mandatory
	unless you configure with --without-libtiff, etc.
	(#54045, Brian Cameron)

2002-01-16  Padraig O'Briain <>

	* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
	Avoid unexpected warning message when navigating menu (#68517)

2002-01-15  Jody Goldberg <>

	* gtk/gtklayout.c (gtk_layout_realize) : It is possible that a
	GtkLayout may have been scrolled _before_ it was realized.

Tue Jan 15 18:10:24 2002  Owen Taylor  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): Stop
	the timer on destroy, or when we are notified that we are
	shadowed by a modal dialog.

	* gtk/gtkspinbutton.c: Remove explicit gtk_grab_add()/remove() -
	not needed any more.

	* gtk/gtkmain.c (gtk_grab_notify): Fix problem where notifications
	weren't sent out for the default grab group.

	* gtk/gtkmain.c (gtk_grab_notify): Fix notification of widgets that
	were getting events because they were part of the previous grab.

Tue Jan 15 12:23:33 2002  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_mnemonic_activate_switch_page): 
	focus the activated tab, not the page. (#53612)

	* gtk/gtknotebook.c (gtk_notebook_set_focus_child): Track
	the last focus descendant of the page.

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): If the focus
	was on the previous page, move it to the last focused widget /
	first element on the new page, if possible, or if not, to the 
	notebook itself. (#68224, reported by Jonathan Blandford)

	* gtk/gtknotebook.c (focus_tabs_in): Don't focus tabs
	tabs aren't visible. (#65462, Damon Chaplin, fixed based 
	on patch from Anders Carlsson)

2002-01-15            Vitaly Tishkov       <>

        * gtk/gtkstyle.c
	a misprint in documentation for gtk_style_render_icon () is fixed

Mon Jan 14 23:21:47 2002  Tim Janik  <>

	* gtk/gtkmenuitem.c (gtk_menu_item_map): map event_window after
	mapping child, so we don't loose events.

2002-01-15  Sven Neumann  <>

	* gtk/gtkaccellabel.h
	* gtk/gtkitemfactory.c: fixed documentation by syncing the parameter
	names used in headers and code.

2002-01-14  jacob berkman  <>

	* gtk/gtkrc.c (gtk_rc_get_im_module_path): close a comment block

Tue Jan 15 01:13:51 2002  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c: fix a load of open line ends,
	(gtk_tree_model_sort_set_model): only free root level if it's

2002-01-14  Matthias Clasen  <>

	* gtk/gtkoldeditable.c, gtk/gtkrc.c, 
	gtk/gtkstyle.c: Documentation additions.

	* gtk/gtkmenu.c (gtk_menu_set_accel_path),
	gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path), 
	gtk/gtkwidget.c (gtk_widget_add_accelerator): Typo and markup fixes.

	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document.

	* gtk/gtkaccelmap.c (gtk_accel_map_add_filter): Explain intended use.

Mon Jan 14 17:14:13 2002  Owen Taylor  <>

	* gdk/x11/gdkselection-x11.c (sanitize_utf8): Don't
	mangle sequences of consecutive \n or \r.

Mon Jan 14 17:42:28 2002  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_stop_editing): allow cancel to

	* gtk/gtktreeview.c (install_presize_handler): only install the
	handler if we're realized, #68056

Mon Jan 14 16:35:58 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): Unset 
	initial_pos_set after the first configure request.

2002-01-13  Jody Goldberg <>

        * gtk/gtktexttag.c (get_color_arg) : set_boxed will copy the color
	  and will use a mem_chunk to do it.  Avoid an unnecessary copy, a
	  leak, and confusion.

Sun Jan 13 23:23:22 2002  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_compute_hints): Fix problem where
	widget->requisition was being used instead of
	gtk_widget_get_child_requisition (), causing geometry widgets
	with usizes to misbehave.

2002-01-14  Sven Neumann  <>

	* gtk/gtkrc.c: g_getenv() returns a const string.

2002-01-14  Hasbullah Bin Pit  <>

        * Added ms at ALL_LINGUAS.
	* po/ms.po: Added Malay Translation.

2002-01-14  Matthias Clasen  <>

	* gtk/gtkitemfactory.c: Documentation.

2002-01-13  Sven Neumann  <>

	* gdk/gdkwindow.c: documentation cleanups.

Sun Jan 13 01:15:45 2002  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c: various cleanups,
	(get_child_iter_from_elt): removed,
	(gtk_tree_model_sort_elt_get_path): rewritten to be a lot cleaner
	and especially faster,
	(gtk_tree_model_convert_iter_to_child_iter): use

Sat Jan 12 16:57:31 2002  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	revert Owen's change (using a strdupped string as object data), so
	the interactive search works again

2002-01-11  Havoc Pennington  <>

	* gtk/gtklabel.c: put in more links to Pango markup format docs
	(gtk_label_set_justify): mention gtk_misc_set_alignment

2002-01-12  Tor Lillqvist  <>

	Fixes contributed by Archaeopteryx Software: This is a first small
	part of their changes. Will commit more later.
	* gdk/win32/*.c: Add some more checks for failed GDI calls. If a
	call fails, don't use bogus values.

	 gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): Plug
	memory leak: g_free() the AND and XOR bitmaps after use.
	(_gdk_cursor_destroy): If we are destroying the current Windows
	cursor, set the Windows cursor to none first.

	* gdk/win32/gdkgc-win32.c (predraw_set_foreground): Delete the old
	brush that was in the DC, like the win32-production branch does.

	* gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_finalize): If
	the window has a cursor which is the current Windows cursor,
	before destroying it set the current Windows cursor to none.
	(gdk_window_set_cursor): Also here, if destroying the current
	Windows cursor, set the current Windows cursor to none first.
	(gdk_window_get_pointer): Revamp logic.
2002-01-10  jacob berkman  <>

	* gtk/gtkwidget.c (gtk_widget_add_events): actually iterate
	through the list rather than infinitely loop

2002-01-08  Matthias Clasen  <>

	* gtk/gtkwidget.c (gtk_widget_set_style_recurse): Rename to
	reset_rc_styles_recurse(). (#68084)

2002-01-10            Vitaly Tishkov       <>
        * gtk/gtkimage.c
	* gtk/gtkimcontext.c
	* gtk/gtktreemodel.c
	* gtk/gtktreemodelsort.c
	* gtk/gtkwindow.c
	fix docs	

Wed Jan  9 20:56:42 2002  Jonathan Blandford  <>

	* gdk/x11/gdkkeys-x11.c (get_xkb): get the types as well as the
	symbols because we need them in MyEnhancedXkbTranslateKeyCode.

2002-01-10  Tor Lillqvist  <>

	Apply the same fixes and improvements as to the
	gtk-1-3-win32-production branch: Bug fixes and cleanup of
	selection and DND functionality. Still doesn't work as well as the
	win32-production branch, though, but getting closer.

	After this, need to add Archaeopteryx Software's OLE2 DND support.

	* gdk/win32/gdkselection-win32.c (gdk_selection_owner_set,
	gdk_selection_send_notify, generate_selection_notify): Don't use
	SendMessage() to generate events for the same app, instead use

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkevents-win32.c: Thus, remove declaration, definition,
	initialisation and handling of gdk_selection_notify_msg,
	gdk_selection_request_msg and gdk_selection_clear_msg. 

	* gdk/win32/gdkselection-win32.c (gdk_text_property_to_text_list,
	gdk_free_text_list, gdk_string_to_compound_text,
	gdk_free_compound_text): Implement trivially, witrh a text_list
	always having a single element, and a compound text always
	consisting of just a single (UTF-8!) string. Let's see how well
	this works.

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix
	non-ASCII paste from the clipboard: Try getting the same formats
	from the Windows clipboard that gdk_property_change() puts there:

	* gdk/win32/gdkproperty-win32.c (gdk_property_change): When
	storing text on the clipboard, handle non-ASCII text
	correctly. The logic is as follows:

	If we have only ASCII characters, use CF_TEXT.

	Else, if we are on NT, use CF_UNICODETEXT.

	Else (we are on Win9x), if all the characters are present in the
	code page of some installed locale, use CF_TEXT and also set
	CF_LOCALE to that locale.

	Else (still on Win9x) store as RTF. We use a very simple RTF
	string, just the text, no fonts or other crap, with the non-ASCII
	characters as Unicode \uN keywords. Additionally, also store the
	UTF-8 string as such, under the format "UTF8_STRING", so that GDK
	can also paste from the Clipboard what it has copied there. (Thus
	no need to implement any RTF parser.)
	(find_common_locale): New function, implements the search for a
	locale for case 3 above.

	* gdk/win32/gdkglobals-win32.c: New global variables
	compound_text, text_uri_list, utf8_string, cf_rtf and

	* gdk/win32/gdkim-win32.c (_gdk_ucs2_to_utf8): New function,
	converts from a wchar_t string to UTF-8.
	(_gdk_utf8_to_ucs2): Rename from _gdk_win32_nmbstowchar_ts.
	(_gdk_utf8_to_wcs): Rename from gdk_nmbstowchar_ts.

	* gdk/win32/gdkevents-win32.c (build_keypress_event): Use

	* gdk/win32/gdkselection-win32.c: Remove some unnecessary logging.

	* gdk/win32/gdkdnd-win32.c: Plug memory leaks, the
	gdk_drag_context_ref() was called unnecessarily in a couple of
	places, meaning drag contexts were never freed. The same memory
	leaks seem to be present in gdk/linux-fb/gdkselection-fb.c, BTW.

	(gdk_drop_reply): For WIN32_DROPFILES drops, free the temporarily
	stored file list.

	* gdk/win32/gdkselection-win32.c: Clarify the use of the
	sel_prop_table. Now it is used only for storing the GDK_SELECTION

	The file names dropped with WM_DROPFILES -style DND is stored
	temporarily (between the drop and the target picking them up) in a
	separate place.

	Have a separate hash table to map selection atoms to owner
	windows. This used to be quite mixed up.

	(_gdk_dropfiles_store): New function, to store the dropped file
	list for the drop target to possibly fetch, and clear it
	afterwards, from gdk_drop_reply().

	(gdk_selection_owner_get): Much simplified now.

2002-01-09  jacob berkman  <>

	* gtk/gtklayout.c (gtk_layout_style_set): set the background of
	our bin window also (fixes #58957)

Wed Jan  9 19:10:07 2002  Jonathan Blandford  <>

	* gtk/gtktreeselection.c
	(_gtk_tree_selection_internal_select_node): Now we test we can
	unselect nodes before selecting new ones.
	(gtk_tree_selection_real_select_node): be careful comparing booleans.

Wed Jan  9 21:31:44 2002  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_sort): pass NULL to
	gtk_tree_model_rows_reordered and not an iter with user_data
	set to NULL (which is an invalid liststore iter, so
	iter_n_children failed, etc)

2002-01-09  Sven Neumann  <>

	* tests/prop-editor.c: declared internal functions static.
Wed Jan  9 11:13:12 2002  Owen Taylor  <>

	* gtk/gtkmenuitem.c (_gtk_menu_item_refresh_accel_path): 
	Fix problem with menus without accel groups, such as the
	menus for option menus.

	* gtk/gtkpaned.c (gtk_paned_expose): Only conditionalize
	drawing of handle on whether both children are visible,
	not the drawing of the other child!. (#68325, Diego Gonzalez)

Wed Jan  9 10:20:16 2002  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkgc-c11.c: Check for
	RENDER before trying to use it... XRenderFindFormat() prints
	warnings if called when extension isn't present.

Wed Jan  9 15:20:40 2002  Tim Janik  <>

	* gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel
	path upon parent changes.

Wed Jan  9 13:20:14 2002  Tim Janik  <>

	* gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important
	fix to force vadjustments at size_alocate time from Xavier Ordoquy

Wed Jan  9 11:23:39 2002  Tim Janik  <>

	* gtk/gtklayout.c (gtk_layout_get_property): 
	* gtk/gtkspinbutton.c (gtk_spin_button_get_property): 
	* gtk/gtktreeview.c (gtk_tree_view_get_property): 
	* gtk/gtkwidget.c (gtk_widget_get_property): 
	* gtk/gtkfontsel.c (gtk_font_selection_get_property): 
	* gtk/gtkrange.c (gtk_range_get_property):
	* gtk/gtkviewport.c (gtk_viewport_get_property):
	* gtk/gtkprogressbar.c (gtk_progress_bar_get_property): don't cast a
	possible NULL pointer.

2002-01-08  Mike Kestner  <>

	* gtk/gtkcelleditable.h : Use G_TYPE_INSTANCE_GET_INTERFACE.
	* gtk/gtktreednd.h : ditto.
	* gtk/gtktreemodel.h : ditto.
	* gtk/gtktreesortable.h : ditto.
	* gtk/gtkwidget.h : Don't reference incomplete _GdkRectangle type.

2002-01-08  Matthias Clasen  <>

	* gtk/gtkplug.c, gtk/gtksocket.c: Speak of window IDs rather 
	than XIDs in the docs.

	* gtk/gtkclipboard.c (gtk_clipboard_clear): Fix docs.

Tue Jan  8 18:39:23 2002  Jonathan Blandford  <>

	* gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): wow!
	Am I a moron or what 0 < 1 is not equivalent to strcmp ("a", "b")

Tue Jan  8 18:04:01 2002  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_set_icon_size):
	Handle TOGGLE/RADIOBUTTON as well. (#68201,
	Damon Chaplin.)

	* gtk/gtktoolbar.c (get_first_child): Fix stupid 
	bug, just introduced.

Tue Jan  8 15:53:28 2002  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_find_widget): Fix coordinate
	translations, once and for all.

	* gtk/gtktextbuffer.c (paste_from_buffer): Free
	the ClipboardRequest structure. (#66198, HideToshi

2002-01-08  jacob berkman  <>

	* gtk/gtklayout.c (gtk_layout_move_internal): queue a resize on
	the child rather than the layout. see bug #68263

Tue Jan  8 14:51:19 2002  Owen Taylor  <>

	* gtk/gtkpaned.c (gtk_paned_expose): Don't draw
	the handle if we aren't showing both children.
	(#68135, Diego Gonzalez)

Tue Jan  8 14:45:43 2002  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_add_events): Fix
	leak of result of gtk_container_get_children().

Tue Jan  8 14:42:19 2002  Owen Taylor  <>

	* gtk/gtktoolbar.c: Fix leaks of results of
	gtk_container_get_children(). (#68199, Damon Chaplin)

Tue Jan  8 14:19:43 2002  Owen Taylor  <>

	* gtk/gtkcheckbutton.c (gtk_check_button_size_allocate): 
	Fix problem where child->requisition was accessed
	directly instead of calling get_child_requisition()
	(#68199, Damon Chaplin)

2001-01-08  James Henstridge  <>

	* gtk/gtkstyle.c: add trailing */ on doc comment.

Mon Jan  7 22:19:32 2002  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (draw_with_pixmaps): Fix a
	problem where were the offset into the image was passed
	into convert_to_format() wrong.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Call
	gdk_x11_drawable_update_picture_clip () before using
	the picture; allow update_picture_clip() to take a NULL gc
	to mean no clipping.

2002-01-07  Matthias Clasen  <>

	* gtk/gtksocket.c (gtk_socket_get_id): Doc typo fix. (#68172)

	* gtk/gtktreemodel.c (gtk_tree_path_is_descendant): Fix docs.

	* gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Document.

	* gtk/gtkwindow.c (gtk_window_remove_accel_group): Fix docs.

	* gtk/gtkrc.c (gtk_rc_get_style_by_paths),
	gtk/gtkwidget.c (gtk_widget_get_toplevel, 
	gtk_widget_push_composite_child), gtk/gtkdialog.c 
	(gtk_dialog_new_with_buttons, gtk_dialog_run): Keep gtk-doc
	from messing up the indentation of inline examples.	

	* gtk/gtkmain.c, gtk/gtkrc.c: Consistently call g_getenv() 
	instead of getenv().

	* gtk/gtktreemodel.c, gtk/gtkaccelgroup.c, gtk/gtkclipboard.c,
	gtk/gtkdnd.c, gtk/gtkiconfactory.c, gtk/gtkrc.c,
	gtk/gtkstyle.c, gtk/gtkselection.c: Doc fixes.

	* gtk/gtkaccelmap.c (gtk_accel_map_add_filter,
	gtk_accel_map_foreach_unfiltered, gtk_accel_map_load_scanner):

2002-01-07  Anders Carlsson  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Remove
	unused pixels and rowstride variables.
	(gtk_cell_renderer_pixbuf_get_size): Check for non-NULL width.

Mon Jan  7 08:48:23 2002  Tim Janik  <>

	* gtk/gtkdnd.c (gtk_drag_find_widget): don't forget to offset
	the pointer by x/y_offset into the new window when we found
	the drag destination.

	* gtk/gtkaccelmap.c (internal_change_entry): fix return code
	for simulation when the entry already contains the required
	accel key and mod.

2002-01-06  Matthias Clasen  <>
	* docs/debugging.txt: Replace GTK_NO_CHECK_CASTS by 

	* gtk/gtkaccelgroup.c (gtk_accel_group_from_accel_closure,
	gtk_accel_group_query, gtk_accel_group_find,
	gtk_accel_groups_from_object): Document.

	* gtk/gtkaccellabel.c (gtk_accel_label_set_accel_closure): Document.

2002-01-04  Hans Breuer  <>

	* gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c : 
	need to cast image->mem away from void* to avoid 
	'error C2036: 'void *' : unknown size'. Doing pointer 
	arithmetics on void pointers is a GCCism afaik.

	* gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
	_gdk_draw_pixbuf ()

	* gdk/makefile.msc gdk/win32/makefile.msc 
        gdk/gtk/ : use -FI msvc_recommended_pragmas.h

	* gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
	and take care of image->visual possibly NULL.

	* gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
	_gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
	Again take care of image->visual possibly NULL.

	* gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()

	* gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
	instead of private field access

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
	colormap setting to the gdk-X behaviour

2001-01-04  Matthias Clasen  <>

 	* gtk/gtkwidget.c: Documentation additions.

2001-01-04  Matthias Clasen  <>

	* gtk/gtkobject.c (gtk_object_dispose): Fix a comment.

	* gtk/gtkwidget.c (gtk_widget_set_sensitive): tiny docs change

2002-01-04  Havoc Pennington  <>

	* gtk/gtkwidget.c (gtk_widget_set_sensitive): tiny docs change
Fri Jan  4 13:05:15 2002  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_find_widget): At least
	don't infinite loop if the widget and window heirarchies
	don't correspond.

	* gtk/gtkdnd.c (gtk_drag_find_widget): Handle changes
	in heirarchy in ::drag_motion, ::drag_drop callbacks
	by referencing child widget lists. (Patch from Tim)

	* gtk/gtkdnd.c (gtk_drag_find_widget): Fix a problem
	with widgets where window.x != widget->allocation.x

Fri Jan  4 01:36:48 2002  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (convert_to_format): Optimize
	a little bit. (More for consistency than because it
	makes much of a difference.)

Thu Jan  3 22:18:15 2002  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
	(_gdk_x11_have_render): Private function to tell if we have RENDER

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
	None if we don't have RENDER extension.

	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
	use Xft unless we have render extension.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
	Handle missing render extension.

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
	gdk/gdkinternals.h: Add a private copy_to_image() virtual function
	to the GdkDrawable vtable that extends get_image() to allow
	copying onto existing images.  Make the default implementation of
	get_image() use this so that backends don't have to implement
	both. Add private wrapper _gdk_drawable_copy_to_image().

	* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
	gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
	copy_to_image() semantics, speed up by using ShmPixmaps and
	XCopyArea when possible, XFlush() after ungrabbing the server,
	generally redo the logic once again.

	* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
	_gdk_windowing_bits_per_depth(): Function to convert from depth to
	bits-per-pixel. (We assume only one bpp per depth - X requires

	* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
	scratch image code into a generic _gdk_image_get_scratch() chunk
	of code that we can use other places we need scratch images.

	* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
	Add _gdk_image_new_for_depth() as the backend 
	to _gdk_image_new() to allowing creating images with
	a depth and no visual.

	* gdk/gdkpixbuf-drawable.c: Fix so that getting 
	parts of images not at 0,0 actually works.

	* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
	gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c: 
	 - Add a new GdkDrawableClass vfunc _draw_pixbuf, and 
	  _gdk_draw_pixbuf() [ will be made public later ], to allow 
	  backends to accelerate drawing pixbufs. 
	 - Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
	   to be the default implementation. 
	 - Update docs for gdk_pixbuf_render_to_drawable_alpha(). 
	 - Optimize the default implementation by using 
	   _gdk_image_copy_to_pixmap() and scratch shared images, and
	   special casing the compositing.

	* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
	with alpha using the RENDER extension.

        * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
	Optimize by _gdk_image_copy_to_pixmap() and scratch images.

	* tests/testrgb.c: Add test for speed of alpha composition,
	reduce the number of iterations since alpha composition
	can be a bit slow.

	* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap): 
	Private function to get a ShmPixmap for an image, if possible.

2002-01-04  Anders Carlsson  <>

	* tests/testtreesort.c: Add my cool list of integers.

Thu Dec 27 18:12:55 2001  Owen Taylor  <>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Fix
	problem where retrieved atoms weren't properly returned.

2002-01-03  Anders Carlsson  <>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): When
	tab is pressed and the text view isn't editable, 
	move the focus instead.

	* gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if

	* gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list.

	* gtk/gtkcolorsel.c (get_focus_gc): Free dash list.

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask
	if it's NULL.

	* gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
	(gtk_tree_view_row_has_child_toggled): Only redraw one node.

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): 
	sort_column_id can be 0.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	Only redraw one the node being selected.

	* gtk/gtktreeprivate.h: Add _gtk_tree_view_queue_draw_node.
Wed Jan  2 23:09:06 2002  Tim Janik  <>

	* gtk/gtkcontainer.c (_gtk_container_queue_resize): don't ignore
	realized but visible && !mapped resize containers (which is
	possible with unset CHILD_VISIBLE now).

2002-01-02  jacob berkman  <>

	* gtk/ (LDFLAGS): automake still doesn't support
	libsomething_la_LDFLAGS, so fix the build again

2002-01-01  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_expose_event): propagate
	exposes to no window children not in the buffer window.
	(gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab
	- is this the right way to do it?
	(gtk_text_view_focus): add focus method, just chains up for now, 
	I'm not sure why the GtkContainer implementation doesn't work

	* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill
	in the text line for the child anchor segment

	* tests/testtext.c (do_add_focus_children): add another test
	example (to put focusable buttons into the widget)

2002-01-01  Havoc Pennington  <>

	* docs/README.linux-fb: note that this file is obsolete

	* docs/Changes-2.0.txt, docs/Changes-1.2.txt: Add notes to these
	files that they should not be edited and look in the reference 
	manual instead. Probably these files should just be replaced by 
	the note, and their main contents deleted.

	* gtk/gtktextview.c: docs

	* gtk/gtktextmark.c: docs

	* gtk/gtktextchild.c: docs

	* gtk/gtktextbuffer.c: docs stuff

	* gtk/gtkclipboard.c (gtk_clipboard_get): fool with docs to maybe
	give people more leads in sorting out PRIMARY vs. CLIPBOARD

2002-01-01  Tor Lillqvist  <>

	* demos/ (test-inline-pixbufs.h): Append EXEEXT to

2001-12-31  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c (predraw_set_foreground): Improved error
	(gdk_win32_hdc_get,gdk_win32_hdc_release): Silence gcc -Wall.

	* gdk/win32/gdkimage-win32.c (_gdk_win32_get_image): Silence gcc
	-Wall.  Use GDK_IS_PIXMAP_IMPL_WIN32 instead of GDK_IS_PIXMAP in
	one more place.

	* gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Silence gcc

	* gtk/ (libgtk_win32_1_3_la_LDFLAGS): Add -lwsock32.

2002-01-01  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_get_default_attributes): doc 
2002-01-01  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): Replace call to
	gtk_widget_size_request() that expected to actually compute the
	request with a direct use of widget_class->size_request, so we get
	our size request right; fixes remaining part of #63065 reported by
	Matthias Clasen

2001-12-31  Havoc Pennington  <>

	* tests/testtext.c (do_insert_and_scroll): remove backward_char
	since we no longer have bogus newline
	(dialog_response_callback): remove another backward_char horkage, 
	reported by Matthias Clasen #63065

2001-12-31  Havoc Pennington  <>

	* gtk/gtktextbtree.c (gtk_text_btree_node_view_check_consistency):
	fix an incorrect assertion that the "valid" flag is always correct
	in a node and add explanatory comment. This keeps me from 
	reproducing #59101, but I'm remembering that 59101 was actually 
	about incorrect pixel totals, so I'm not sure 59101 is actually 
	fixed. May just have stopped happening due to some change in 
	how C-k works.

2001-12-31  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_start_selection_drag): extend
	selection if shift is down, bug #50939
	(gtk_text_view_button_press_event): add double/triple click
	selection to the current selection if shift is down

2001-12-31  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index): fix 
	to use ensure_byte_offsets not ensure_char_offsets, patch 
	from Padraig O'Briain bug #67356
2001-12-30  Havoc Pennington  <>

	* gtk/gtkdialog.h (GtkDialogFlags): fix GtkDialogFlags to have 
	the right values, reported by Jeff Franks

2001-12-30  Matthias Clasen  <>

	* gtk/gtkwindow.c, gtk/gtkimcontextsimple.c: Minor documentation tweaks.

2001-12-28  Matthias Clasen  <>

	* gdk/x11/gdkproperty-x11.c, gdk/x11/gdkselection-x11.c: 
	Minor documentation tweaks.

2001-12-28  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c: Use G_N_ELEMENTS().
	(unicode_classify): Don't return -1 on encountering an
	unclassified character, but play it safe and return U_BASIC_LATIN.

Thu Dec 27 16:05:30 2001  Owen Taylor  <>

	* gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation
	of misc->xpad/ypad consistent with GtkLabel. Do 
	directional flipping when interpreting misc->xalign/yalign.
	Fix off-by-one error for negative x,y. (#67472, reported
	by Mathieu Lacage)

Thu Dec 27 15:45:41 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_set_style_internal):
	Remove optimization that was causing problems because
	we called gtk_widget_size_request() before we called
	gtk_widget_queue_resize() so RESIZE_NEEDED was not
	set. Optimization shouldn't mattter now that we
	are smart about needlessly size requesting or allocating
	widgets. (#67598, reported by Jacob Berkman)

Thu Dec 27 15:38:20 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_stop_navigating_submenu_cb):
	Call gdk_window_get_pointer() on menu->bin_window not
	menu->window, so we get the correct window for the
	menu item. (#65213, Guillermo S. Romero)

Thu Dec 27 15:13:44 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_set_title): Allow unsetting
	the title by setting to NULL. Move docs inline. 
	Update the title if the tearoff window already
	exists. Code cleanup. (Fixes #65190, reported by
	Vitaly Tishkov.)

Thu Dec 27 14:04:22 2001  Owen Taylor  <>

	* gtk/gtksocket.c (gtk_socket_key_press_event): 
	gtk/gtkplug.c (gtk_plug_key_press_event): Don't do
	special handling of key presses unless we are doing 
	iter-app embedding. (Fixes #67590, Anders Carlsson)

Thu Dec 27 16:37:04 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted),
	(gtk_tree_model_sort_insert_value): fix a few places where
	I was confused between modelsort iters and other iters. This was
	really going to happen someday ;)

Wed Dec 26 23:41:41 2001  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_rows_reordered): ensure
	we are unprelighted before reordering

	* gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): we
	need to break out of the for loop, not return (this fixed
	the 'selection freeze' bug).

	* gtk/gtktreemodelsort.c: more fixage and cleanups. It seems to
	be pretty stable now, though it still needs some more code

Wed Dec 26 12:32:31 2001  Owen Taylor  <>

	* docs/Changes-2.0.txt: Document the fact that
	gtk_paned_set_handle_size() has been removed.

	* gtk/gtkpaned.h Remove gtk_paned_handle_size() compat macro, 
	since it pointed to gtk_paned_set_handle_size(), which
	was removed. (#66760, Matt Wilson)

Wed Dec 26 12:28:24 2001  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_highlight): Connect 
	gtk_drag_hightlight_expose _after_, so it works with
	widgets that paint there entire background. (#66735)

Wed Dec 26 12:17:06 2001  Owen Taylor  <>

	* gtk/gtkplug.c (gtk_plug_size_allocate): Assign the
	allocation to widget->allocation. (Fixes #67290,
	Chris Phelps.)

Wed Dec 26 11:49:01 2001  Owen Taylor  <>

	(#67542, reported by Anders Carlsson)
	* gtk/gtkstyle.c (gtk_style_real_init_from_rc): Merge
	rc_style->font_desc with defaul style instead of replacing

	* gtk/gtkrc.c (gtk_rc_style_real_merge): Allow partial
	font descriptions in RC styles by calling

2001-12-24  James Henstridge  <>

	* gtk/gtkdialog.h (doc comment): s/<!>/<!-- -->/ to make the doc
	valid with both SGML and XML.

Sat Dec 22 12:38:03 2001  Owen Taylor  <>

	* 1.3.12, interface, binary age 0.

	* Require new versions of Glib, Pango, ATK.

	* NEWS: Updated.

	* Make explicit what libtool we are executing.
	(Tomas Ogren)

	* gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes.

	* gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix 
	parameter names for docs.

Sat Dec 22 22:35:29 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_realize) 
	  gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK.

	* gtk/gtkentry.c (gtk_entry_key_release)
	  gtk/gtktextview.c (gtk_text_view_key_release_event): Pass
	key release events to the input method.

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
	Handle release of Control/Shift to end hex sequence.

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): 
	Handle key releases as well as presses.

2001-12-21  Matthias Clasen  <>

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment.

	* gtk/gtklabel.c (gtk_label_new_with_mnemonic),
	gtk/gtkbutton.c (gtk_button_new_with_mnemonic): More precise
	documentation about underscores and mnemonics. (#66380)

	* gtk/gtktextiter.c (gtk_text_iter_backward_word_starts): Fix
	cyclic reference in docs.

	* gtk/gtklabel.c (gtk_label_set_justify): Correct documentation
	of default value. (#65402)

	* gtk/gtkmain.c (gtk_set_locale, gtk_disable_set_locale): 
	Markup fixes.

2001-12-20  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_realize): Don't call
	map here.

Tue Dec 18 16:15:55 2001  Owen Taylor  <>

	* gdk/gdkgc.h: Explicitely deprecate gdk_gc_set_font()
	(reported by Jeff Franks.)

Tue Dec 18 16:07:28 2001  Owen Taylor  <>

	* gdk/gdkkeys.h (struct _GdkKeymapClass): Fix 
	prototype for direction_changed. (Reported by
	Jeff Franks.)

2001-12-18  Padraig O'Briain <>

	* gtk/gtktreeview.c (gtk_tree_view_get_expander_column):
	Fix typo (list->data becomes list->next)

2001-12-06  Havoc Pennington  <>

        Add Unicode control char menu, based on patch from Dov.
	Bug #63495
	* gtk/gtkentry.c (gtk_entry_commit_cb): share code via
	(gtk_entry_enter_text): function to do "typing in text"
	(popup_targets_received): add the Unicode menu items

	* gtk/gtktextview.c (popup_targets_received): add missing mnemonic
	on Input Methods item, and add the unicode menu items.

	* gtk/gtktextutil.h, gtk/gtktextutil.c: private utilities to be
	used in GtkEntry and GtkTextView - may become public later.	

2001-12-16  Kjartan Maraas  <>

	* gtk/gtkprogressbar.c: Fix a typo.
	* gtk/gtkpaned.c: Fix a typo.
2001-12-15  Darin Adler  <>

	Fix some warnings.

	* gdk/x11/gdkproperty-x11.c: (gdk_property_get): Fix wrong type in
	g_new -- bug if sizeof (GtkAtom) != sizeof (GtkAtom *).
	* gdk/x11/gdkwindow-x11.c: (create_moveresize_window): FALSE -> NULL
	* gtk/gtkaccellabel.c: (gtk_accel_label_refetch): Remove unused local.
	* gtk/gtklistitem.c: (gtk_list_item_expose): Remove unused local.
	* gtk/gtktextiter.c: (_gtk_text_iter_backward_indexable_segment):
	Restructure loop to get rid of uninitialized variable warning. Also
	gives a tiny efficiency gain.

2001-12-15  Murray Cumming  <>

	* Fixed first arg type of GtkScale's "format_value" signal's
	function pointer.

2001-12-14            Vitaly Tishkov
                gtkcelleditable -> GtkCellEditable
                gtktreesortable -> GtkTreeSortable

2001-12-13  Sebastian Wilhelmi  <>

	* demos/testpixbuf-drawable.c, demos/testpixbuf-save.c,
	demos/testpixbuf-scale.c, demos/testpixbuf.c: Call g_object_ref
	and g_object_unref instead of gdk_pixbuf_ref and gdk_pixbuf_unref

Thu Dec 13 22:02:41 2001  Kristian Rietveld   <>

	* gtk/gtktreeview.c (validate_visible_area): free path
	at the end

2001-12-13  Matthias Clasen  <>

	* gtk/gtkdialog.c, gtk/gtkrc.c, gtk/gtkwidget.c: Markup fixes.

Thu Dec 13 20:37:27 2001  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): do not try
	to find the clicked node in the tree when tree == NULL

2001-12-13  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Compare 
	event->state with the default mod mask. 

2001-12-12  jacob berkman  <>

	* gtk/gtk*.h (GTK_IS_*_CLASS): s/obj/klass/ where appropriate

Wed Dec 12 17:22:45 2001  Owen Taylor  <>

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
	Reset the existing slave before removing it to give
	it a chance to commit and emit "preedit_changed" 
	in case there was still a preedit string.

2001-12-12  Matthias Clasen  <>
	* gtk/gtktextlayout.c: Typo fixes
	* gtk/gtkwindow.c (gtk_window_set_position): Typo fix. (#66746)

	* gtk/gtkwidget.c (gtk_widget_send_expose, gtk_widget_get_toplevel, 
	gtk_widget_get_default_direction): Doc fixes. (#66727, #66737, #66744)

	* gtk/gtkstyle.h (GTK_STYLE_NUM_STYLECOLORS): Remove. (#66467)

Wed Dec 12 16:43:10 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): Remove
	validate_rows_timer in unrealize.  Reported by Matthew Wilson.

Wed Dec 12 16:18:26 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_realize): Remove support for
	"prepainting" the menu before realizing other than
	via gtk_style_set_background() - this was broken when
	we added menu scroll support.

	* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
	window in the expose event -- fixes problem with border
	flashing during scrolling.

Wed Dec 12 15:11:49 2001  Owen Taylor  <>

	* gtk/gtksettings.c (gtk_settings_get_property): Support
	using names/nicks for the gdk_settings values for enum valued
	types. (#57678, reported by Anders Carlsson)

Wed Dec 12 15:01:33 2001  Jonathan Blandford  <>

	* gtk/gtknotebook.c (gtk_notebook_set_tab_label): keep in sync
	with insert_page_menu.  Code duplication is bad.

	* gtk/gtklabel.c (gtk_label_mnemonic_activate): Whoops -- got the
	wrong fix yesterday.

Wed Dec 12 14:27:30 2001  Owen Taylor  <>

	* gtk/gtkmenubar.c (window_key_press_handler): Fix check for

2001-12-12  James Henstridge  <>

	* gtk/gtkmenu.c (gtk_menu_key_press): check GTK_MENU_ITEM
	(menu_item)->accel_path first when looking up the accel path.

Tue Dec 11 19:18:21 2001  Owen Taylor  <>

	* tests/testgtk.c (layout_expose_handler): Only draw
	for events on the bin window.

Tue Dec 11 18:55:16 2001  Jonathan Blandford  <>

	* gtk/gtklabel.c (gtk_label_mnemonic_activate): Small fix to let
	mnemonics work with notebooks.

Tue Dec 11 15:25:06 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Change
	bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
	Makes some flicker while scrolling go away.

2001-12-11  Michael Natterer  <>

	* demos/testpixbuf-save.c: added new keyboard shortcut 'a' which
	adds alpha to the pixbuf; re-load the saved pixbuf and
	pixel-by-pixel compare it with the original one.

Tue Dec 11 15:39:08 2001  Soeren Sandmann  <>

	* ChangeLog: Fix wrong ChangeLog entry
	* gtk/gtkstyle.c (gtk_default_draw_shadow_gap): Fix drawing of top
	right corner

2001-12-10  jacob berkman  <>

	* gdk/x11/gdkinput-xfree.c (_gdk_input_grab_pointer): 
	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab): 
	(gdk_keyboard_grab): do not grab things if the nograb debug flag
	is set

	* gdk/gdkinternals.h: 
	* gdk/gdk.c: add nograbs debug flag to disable grabs of the
	keyboard / mouse

Mon Dec 10 19:42:29 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_rows_handler): stupid bug where I
	didn't reset the timer.

2001-12-10  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_child_type): Close comment.

2001-12-09  Matthias Clasen  <>

	* gtk/gtkviewport.c: Add docs.

Mon Dec 10 16:21:38 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_fixup_parity): New function to fixup parity.
	RBTree corruption bug--

2001-12-10  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Return
	if edited_column is NULL, also grab focus before removing
	the cell_editable.

Sun Dec 09 15:06:51 2001  George Lebl <>

	* gtk/gtkrange.c (gtk_range_calc_layout): check for 0 value on the
	  denominator in the horizontal case just like we do in the vertical
	  case (why I didn't notice that there were two cases the first time
	  around is beyond me:).  Also fix indentation in the vertical case.

2001-12-09  Anders Carlsson  <>

	* gdk/x11/gdkevents-x11.c: Update xsettings name.

	* gtk/gtkdnd.c (gtk_drag_check_threshold): Use the
	gtk-dnd-drag-threshold GtkSetting.

	* gtk/gtksettings.c (gtk_settings_class_init): Add 
	setting for dnd drag threshold.

2001-12-09  Matthias Clasen  <>

	* gtk/gtkcontainer.c: Add docs.

2001-12-08  Matthias Clasen  <>

	* gtk/gtkwidget.c: Doc markup fix. 

	* gtk/gtktreeviewcolumn.c: Markup fixes. (#66447)

	* gtk/gtktreestore.c: Typo fixes. (#66445)

	* gtk/gtkaccelgroup.c: Misc doc markup. (#66425) 

	* gtk/gtkclipboard.c (gtk_clipboard_get_owner): Fix reference
	to gtk_clipboard_set_with_owner(). (#66424)
Sat Dec  8 16:12:10 2001  Christopher Blizzard  <>

	* gdk/gdk.c (gdk_init_check): Fallback to setting the prgname to
	"<unknown>" if someone doesn't pass in a valid argc.  (Patch from
	Fabrice Bellet <>, #54127).

Sat Dec  8 10:04:54 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_gtk_rbtree_debug_spew): Add debug spew to lots
	of places, so that people with crashy trees can just run their
	program with GTK_DEBUG=TREE.

Sat Dec  8 20:57:24 2001  Kristian Rietveld  <>

	* gtk/gtkliststore.c (gtk_list_store_remove): nuke the stamp++,
	per jrb's request

2001-12-08  Anders Carlsson  <>

	* tests/testgtk.c (layout_expose_handler): Don't return TRUE
	since then the default GtkLayout expose handler won't be called.

Fri Dec  7 23:42:50 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_rows_handler): remove

	* gtk/gtktreeview.c (validate_visible_area): Patch from Manish
	Singh <> to fix bug when rendering Tree with an
	empty model.

Fri Dec  7 20:06:14 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (validate_visible_area): get logic right,

	* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): fix bug where
	removing a node ended up with a corrupt tree.  Really really nasty
	(_gtk_rbtree_debug_spew): new debug helper function
	(_fixup_validation): new inline function to clean up code
	readability a lot. 

Fri Dec  7 19:34:51 2001  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element):
	Close comment.

2001-12-07  Matthias Clasen  <>

	* gtk/gtkstyle.h: Typo fixes.

	* gtk/gtkstyle.c, gtk/gtktoolbar.c: Add docs.

	* gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Fix docs.

Fri Dec  7 16:05:22 2001  Owen Taylor  <>

	* modules/input/gtkimcontextxim.c: Display the XIM
	status callbacks with a popup window. (Patch from
	HideToshi Tajima, #50628, somewhat modified.)

Fri Dec  7 12:07:15 2001  Tim Janik  <>

	* gtk/ each source generation rule needs to use its own
	temporary file, to avoid clashes for parallel builds. fixed rules
	for gtkmarshalers.h and gtkmarshalers.c to use their own temp files.

2001-12-07  Havoc Pennington  <>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new): fix up my list of
	"cursors that are actually useful" in gdk_cursor_new() docs

Thu Dec  6 23:09:21 2001  Owen Taylor  <>

	* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Fix errors
	in computing the size of the second child.

Thu Dec  6 16:50:17 2001  Owen Taylor  <>

	* gtk/gtkrange.c: Make button 1 clicks on the trough
	do pages, button 3 steps. (Patch from Hans Breuer

2001-12-06  Matthias Clasen  <>

	* gtk/gtklabel.c: Fix docs. (#66383)

	* gtk/gtkbbox.c (gtk_button_box_set_child_secondary): Fix docs. 
     	(#66278, #66280)
	* gdk/gdkwindow.h (gdk_window_get_deskrelative_origin),
	gdk/gdkimage.h (gdk_image_get): Deprecate. (#66208)

	* gtk/gtkcolorsel.c (gtk_color_selection_set_update_policy):
	Don't emit a g_warning() about being deprecated. (#66208)	

	* gtk/gtkaccellabel.c (gtk_accel_label_set_accel_widget): Add docs.

	* gtk/gtkcontainer.c: Doc fixes.
	* gtk/gtkliststore.c (gtk_list_store_clear): Add docs; misc doc fixes.

	* gtk/gtkstyle.c (gtk_style_attach): Add docs.

2001-12-05  Sven Neumann  <>

	* gtk/gtkwidget.c (gtk_widget_reset_shapes): close comment.

	* gtk/queryimmodules.c: g_dir_read_name() returns const.

Tue Dec  4 21:46:13 2001  HideToshi Tajima  <>

	* gtk/gtktreeprivate.h: restore the else case of #ifdef __GNUC__
2001-12-04  Manish Singh  <>

	* gtk/gtkmain.c
	* gtk/queryimmodules.c: g_module_symbol takes a gpointer *, not just
        a gpointer.

	* gtk/gtkwidget.c (gtk_widget_push_composite_child): minor cosmetic
	correction to docs.

	* demos/gtk-demo/item_factory.c: add GTK_WINDOW() cast

2001-12-04  Havoc Pennington  <>

	* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): remove
	g_assert_not_reached() that was bogus, since we demand-create the
	tag info. reported by Chris Phelps

        Jump through assorted hoops to fix bug from Chris Phelps where 
	removing tags from the table resulted in btree trying to 
	access tag->table
	* gtk/gtktextbuffer.c: set up mechanics of adding/removing 
	ourselves to the tag table

	* gtk/gtktexttagtable.c (_gtk_text_tag_table_add_buffer) 
	(_gtk_text_tag_table_remove_buffer): private cruft to 
	let us notify buffer of disappearing tags

	* gtk/gtktexttag.h: remove BTreeNode typedef from this public
	header, put it in tagprivate	

	* gtk/gtktextbtree.c (_gtk_text_btree_new): don't connect to
	tag_removed; it's emitted too late.
	(_gtk_text_btree_notify_will_remove_tag): rename tag_remove_cb to

	Padding for ABI-compat expansion
	* gtk/gtktexttag.h (struct _GtkTextAttributes): pad this
	(struct _GtkTextAppearance): one pad in here too

	* gtk/gtktextlayout.h (struct _GtkTextLayoutClass): padding here

	* gtk/gtktextview.h (struct _GtkTextViewClass): more padding,
	since action signals etc. seem pretty likely

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): padding

	* gtk/gtktexttag.h (struct _GtkTextTagClass): padding

	* gtk/gtktexttagtable.h (struct _GtkTextTagTableClass): padding

2001-12-04  Matthias Clasen  <>

        * gdk/gdkcolor.h (gdk_colormap_change): Deprecate. (#65851)

        * gdk/gdktypes.h (GdkKeyInfo): Remove. (#66025)

	* gtk/gtkwindow.c, gtk/gtkwidget.c: Add docs, markup fixes.

Tue Dec  4 18:51:44 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.h: remove gtk_tree_view_column_cell_event,

Tue Dec  4 18:38:35 2001  Jonathan Blandford  <>

	* demos/gtk-demo/main.c: (create_tree): Minor fix.

	* docs/tree-column-sizing.txt: Update

	* gtk/gtkrbtree.[ch]: Massive work to support validation.

	* gtk/gtktreemodel.c: Doc fixes.

	* gtk/gtktreeview.c: Incremental reflow added.
	* gtk/gtktreeviewcolumn.c: ditto
	* gtk/gtktreeviewcolumn.h: ditto

2001-12-04  Havoc Pennington  <>
	* gtk/gtktexttag.c (gtk_text_tag_set_property): add a warning for
	"invisible" property, #65999

2001-12-04  Matt Wilson  <>

	* gtk/gtktreestore.c (gtk_tree_store_insert): fixed docs

Tue Dec  4 12:16:31 2001  Owen Taylor  <>

	* gtk/gtksettings.c (gtk_settings_set_property_value):
	Simplify, make more efficient and fix memory leak
	when turning quark into a string. (#66103, HideToshi

	* gtk/gtkcolorsel.c: Ref and sink priv->tooltips in
	init() and unref priv->tooltips in destroy rather
	than calling gtk_object_destroy() which has no
	effect on memory management. (#66104, HideToshi

	* gtk/gtkcolorsel.c (palette_set_color): Use g_object_set_data_full()
	so we free the when the object is freed. (Fixes memory
	leak, #66096, HideToshi Tajima)

	* gdk/gdkevents.c (gdk_synthesize_window_state): Use 
	a full GdkEvent structure to avoid reads of uninitialized/
	invalid memory in gdk_event_put() (#65877, patch
	from Hidetoshi Tajima)

Tue Dec  4 11:06:54 2001  Owen Taylor  <>

	* gtk/gtkmenuitem.c: Revert my last mistaken change - 
	toggle-size-request doesn't take a requisition.

	* gtk/gtkmenuitem.c (gtk_menu_item_class_init): Fix
	reference to marshaler that no longer exists.

Mon Dec  3 16:39:17 2001  Owen Taylor  <>

	Patch from Bill Haneman (with many modifications) to make
	the focus color work on dark themes and to make the
	focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties, 
	::focus-widget, ::focus-line-width, and ::focus-padding.

	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a 
	state argument as well so we can use fg[STATE] to
	draw instead of always drawing with black. 
	Cange paint_focus() to respect GtkWidget::focus-width
	and GtkWidget::focus-line-pattern. Fix continuity
	problem where the default 1-1 stipple had a blob
	in one corner and a gap in the other. Change the
	interpretation of x/y/width/height to be the bounding
	box of the focus rect instead of the rectangle
	passed to gdk_draw_rectangle.

	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c 
	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c 
	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width 
	and ::focus-line-padding.

	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
	and remove duplicated code; fix drawing of focus rectangle
	when interior-focus = FALSE. (#63072, #63073)

	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
	Range and TreeViewColumn will need more extensive fixing.

	* gtk/gtkcolorsel.c: Honor focus line attributes when
	drawing the focus on the color swatches. (#63071)

	* gtk/gtkhsv.c: Honor focus line attributes when
	drawing the focus for the ring and triangle.

	* docs/widget_geometry.txt: Start at documenting how 
	various widgets are drawn.

	* gtk/gtkbutton.c (_gtk_button_paint): Export 
	_gtk_button_paint() librarywide, so we don't have 
	duplicate a bunch of code in gtktogglebutton.c.

	* gtk/gtktogglebutton.c: Use _gtk_button_paint().

Mon Dec  3 21:04:13 2001  Jonathan Blandford  <>

	* gtk/gtkmarshalers.list: remove VOID:BOXED,POINTER and

2001-12-03  Alex Larsson  <>

	* gtk/gtkaccellabel.c:
	* gtk/gtkarrow.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcontainer.c:
	* gtk/gtklabel.c:
	* gtk/gtktextview.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c:
	Return FALSE from expose handlers.

Mon Dec  3 21:15:59 2001  Kristian Rietveld  <>

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
	we use pointers, we should free the previous pointer first (if
	it exists), before we set a new pointer. (#64726)

	* gtk/gtktreeprivate.h: get rid of cursor_drag

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check	
	for cursor_drag
	(gtk_tree_view_bin_expose): don't directly return in the while
	(gtk_tree_view_class_init): indentend expanders by default
	(gtk_tree_view_header_focus): only give the button focus
	if it's clickable, visible and the column is reorderable

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	create and free cursor

Mon Dec  3 10:23:07 2001  Owen Taylor  <>

	* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
	some bugs with size requisition. (From Bill Haneman)

	* gtk/gtkcalendar.c: Draw headers and selection in 
	base/text[SELECTED] instead of fg/bg[SELECTED].

	* gtk/gtkcalendar.c: Miscellaneous cleanups to drawing
	code and formatting.

2001-12-03  Havoc Pennington  <>

	* gtk/gtktextview.c (set_window_height): 
	(set_window_width): Hmm, setter functions normally assign the new
	value to the object field. Reported by Chris Phelps.

2001-11-30  jacob berkman  <>

	* gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set the
	signal id to 0 after we disconnect from it

2001-11-30  Matthias Clasen  <>

	* gdk/gdkdrawable.h (gdk_drawable_ref, gdk_drawable_unref),
	gdk/gdkcolor.h (gdk_colormap_ref, gdk_colormap_unref),
	gdk/gdkdnd.h (gdk_drag_context_ref, gdk_drag_context_unref),
	gdk/gdkgc.h (gdk_gc_ref, gdk_gc_unref):	 Deprecate.

	* gdk/gdkvisual.h: Use GDK_DISABLE_DEPRECATED, not 

	* gdk/gdkcolor.c (gdk_colormap_ref, gdk_colormap_unref),
	gdk/gdkgc.c (gdk_gc_ref, gdk_gc_unref): Document.

Fri Nov 30 16:37:01 2001  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_popup_list): Sanitize
	move/resize code, removing various bad, non-functional
	hacks. (Fixes #65048, reported by Damon Chaplin.)

Fri Nov 30 16:12:21 2001  Owen Taylor  <>

	* gdk/gdkpango.c: Patch from Hidetoshi Tajima to fix 
	bad match error when target drawable is not the 
	same depth as the root window. (#65841)

	* HACKING: Update.

2001-11-29  Matthias Clasen  <>

	* gdk/gdkwindow.c: Typo fix.

Thu Nov 29 21:35:56 2001  Kristian Rietveld  <>

	* gtk/gtkmenu.c (gtk_menu_motion_notify): add checks for
	empty menu items to behave like insensitive items (#59456)

	* gtk/gtkmenuitem.c (gtk_real_menu_item_activate_item): select
	next item if the first item in the menu is a tear off item
	(#59456-2, suggestion by Matthias Clasen)

	* gtk/gtkmenushell.c (gtk_menu_shell_button_press),
	(gtk_menu_shell_button_release), (gtk_menu_shell_entry_notify),
	(gtk_menu_shell_leave_notify), (gtk_real_menu_shell_move_current),
	(gtk_real_menu_shell_activate_current): add check, so empty
	menu items behave like insensitive items (#59456)
	* gtk/gtkmenuitem.[ch]: add _gtk_menu_item_is_selectable to make
	the checks more readable ...
	* gtk/gtkmenushell.c (gtk_menu_shell_button_press),
	(gtk_menu_shell_button_release): causes the menu to dropdown if the
	caption is clicked again (#64977)

2001-11-29  Havoc Pennington  <>

	* gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment):
	assertion here that we were at the end iterator was not correct;
	change code to move us to the end iterator. bug #65731

Wed Nov 28 20:05:44 2001  Owen Taylor  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Remove 
	improper use of g_locale_to_utf8() to convert from
	latin-1, and do it the easy way by building the string
	correctly in the first place.

Wed Nov 28 19:34:15 2001  Owen Taylor  <>

	* gdk/x11/gdkproperty-x11.c (gdk_property_change, gdk_property_get): 
	Convert atoms to and from atoms for properties of type XA_ATOM.
	(#65555, patch from Hidetoshi Tajima)

Wed Nov 28 18:37:04 2001  Owen Taylor  <>

	* gtk/gtksocket.[ch] (gtk_socket_add_id): Rename 'id' parameter 
	to avoid problems with Objective C.

2001-11-28  Matthias Clasen  <>
	* gtk/gtkaccelmap.c: Typo fixes. (#65607)

	* gtk/gtkfixed.c (gtk_fixed_set_has_window, gtk_fixed_get_has_window):
	Fix docs. (#65505)

	* gtk/gtkwindow.c (gtk_window_set_mnemnonic_modifier): Document.

Wed Nov 28 18:19:12 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_hints): Move
	accounting of menu->tearoff_scrollbar width to here
	and make sure we have the correct requisition.

	* gtk/gtkmenu.c (gtk_menu_position): Fix fixme
	by using gtk_window_move().

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Force
	the requisition to be updated by calling
	gtk_widget_size_request() (#65440)

	* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_activate): 
	queue resize before calling gtk_menu_set_tearoff_state().

Wed Nov 28 22:20:44 2001  Kristian Rietveld  <>

	* demos/gtk-demo/editable_cells.c: fix typo

	* demos/gtk-demo/list_store.c (add_columns): remove call to
	gtk_tree_view_column_set_clickable which didn't make sense

2001-11-28  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_paint): put the warning
	explaining the validation error in front of the G_BREAKPOINT

	* gtk/gtkrange.c (gtk_range_adjustment_value_changed): call
	process updates with include_children = FALSE instead of TRUE, so
	we redraw the range only, not the whole darn window.  Making
	GtkRange a NO_WINDOW widget had weirdly caused the text widget
	Trace/breakpoint trap bug to become much easier to trigger.

Wed Nov 28 14:12:03 2001  Owen Taylor  <>

	* gdk/ (gdk_public_h_sources): Remove reference
	to gdkcursors.h.

2001-11-28  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_move): Add markup to docs.

	* gdk/gdkcursor.h: Directly include the contents
	of gdkcursors.h in the GdkCursorType enum.

	* gdk/gdkcursors.h: Deleted.

	* gdk/gdkkeysyms.h: Remove XFree86-specific keysyms, add 
	header boilerplate.

	* gdk/ Remove the X-derived-headers rule.

Tue Nov 27 20:17:55 2001  Owen Taylor  <>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_activate):
	Notify on the ::active property _here_, not in

Mon Nov 26 19:11:18 2001  Jonathan Blandford  <>

	* gtk/gtkcellrendererpixbuf.c
	(gtk_cell_renderer_pixbuf_class_init): add 2 properties

Sun Nov 25 21:19:02 2001  Owen Taylor  <>

	* gdk/x11/gdkgeometry-x11.c: Add long, but horribly sketchy
	comment about what is going on in this file.

	* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
	x/y problem.

Sun Nov 25 18:59:19 2001  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_calc_size): 
	Calculate size based on the _child_ of the menu item,
	not the menuitem. (#65005, Damon Chaplin)

	* gtk/gtklistitem.c (gtk_list_item_new_with_label): Add
	some extra vertical padding to the label widget ... restores
	GTK+-1.2 spacing. (#65085, Damon Chaplin.)

2001-11-26  Tor Lillqvist  <>

	* demos/pixbuf-demo.c
	* demos/gtk-demo/pixbufs.c: M_PI -> G_PI.

	* demos/gtk-demo/main.c (read_line): No flockfile() or
	getc_unlocked() on Win32.

2001-11-25  Tor Lillqvist  <>

	* acconfig.h: As we now use GDir, no need to check for dirent.h.

Sun Nov 25 23:18:39 2001  Kristian Rietveld  <>

	* gtk/gtktexttag.c (gtk_text_tag_set_property): free font_desc
	when finished (#65266)

Sun Nov 25 23:16:29 2001  Kristian Rietveld  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): free
	data after we set the property. (#65264)

Sun Nov 25 23:14:06 2001  Kristian Rietveld  <>

	* gtk/gtkbutton.c: add destroy method so label_text gets freed
	if it has been allocated (#65268)

Sat Nov 24 13:39:51 2001  Manish Singh  <>

	* gdk/linux-fb/gdkdrawable-fb2.c
	* gdk/linux-fb/gdkpango-fb.c: update to latest Pango API

	* gdk/linux-fb/gdkwindow-fb.c: implement gdk_window_show_unraised

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_load): plug memleak on
	* gdk/linux-fb/gdkfbswitch.c: minor cleanups

Sat Nov 24 22:05:27 2001  Kristian Rietveld  <>

	* gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't
	deactivate menu when menu_item isn't sensitive (#61389)

Sat Nov 24 15:35:26 2001  Kristian Rietveld  <>

	* gtk/gtktreemodel.c (gtk_tree_model_foreach): free path before
	we return (in case of a failure here)

Fri Nov 23 19:22:50 2001  Owen Taylor  <>

	* gtk/gtknotebook.c: Handle events in windows other
	than widget->event_window properly. (#65079, reported
	by Damon Chaplin)

	* gdk/gdkevents.c (gdk_event_get_coords): Fix x/y bug.

Fri Nov 23 18:57:46 2001  Owen Taylor  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): Align
	the image at the top. (#65020, request from Seth Nickell)

Fri Nov 23 18:49:53 2001  Owen Taylor  <>

	* gtk/{gtkclist,gtkctree.c} (draw_row): Remove some strange
	arithmetic that was resulting in rows being drawn too low.
	(#65001, reported by Damon Chaplin)

Fri Nov 23 18:36:42 2001  Owen Taylor  <>

	* gtk/gtkrange.c (gtk_range_button_press): Offset 
	invalidated range correctly.

	* gtk/gtkclist.c (hadjustment_value_changed): Fix scrolling 
	of title window. (#65001, reported by Damon Chaplin)

	* gtk/gtkcombo.c (gtk_combo_button_event_after): Replace
	horrible hack with use of ::event_after.

Thu Nov 22 15:01:03 2001  Owen Taylor  <>

	* Version 1.3.11

	GLib-1.3.11, Pango-0.22, ATK-0.7.

	* tests/prop-editor.c (property_widget): Restore
	to working as well as it did before.

	* gtk/gtklistitem.h: Mark deprecated since it is
	an integral part of GtkList.

 	* demos/gtk-demo/demo-common.h: New header file,
	for a common functions not important to the meat
	of the demos.
	* demos/gtk-demo/main.c (demo_ifind_file): Add a utility
	function to search for a file used by the demo.

	* demos/*.c: Use demo_find_file.

2001-11-23  Matthias Clasen  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_tag),
	gtk/gtkruler.c (gtk_ruler_get_metric): Actually commit typo 
	fixes already mentioned in ChangeLog entry on 2001-11-14.

	* docs/reference/gtk/tmpl/drawing.sgml: Minor markup fixes.

2001-11-23  Hans Breuer  <>

	* gdk/win32/gdkfont-win32.c (gdk_font_from_description) : 
	reflect Pango API change

	* gtk/gtk.def : updated externals

	* gtk/gtkfixed.c (gtk_fixed_get_has_window) : use 
	g_return_val_if_fail() to avoid 'function must return a value'

	* gtk/gtkrc.c : added spaces to fix small coding style issues
	* gtk/gtkwidget.c : ... and linebreaks. Also a static for
	'static correctness'

	* gtk/ : temporary(?) disable gtk<plug|socket>
	because they only can be build on win32 after applying my patch

Wed Nov 21 22:55:37 2001  Tim Janik  <>

	* gtk/gtkbutton.c (gtk_button_map): raise event window afte
	children, in order for the input pnly window to stay *above*

Wed Nov 21 22:44:27 2001  Tim Janik  <>

	* tests/testtreeview.c: make hackery worse ;) by checking fundamental
	type walks againts G_TYPE_FUNDAMENTAL_MAX.
	* tests/prop-editor.c: disable type hackery.

Wed Nov 21 17:41:39 2001  Owen Taylor  <>

	* gdk/gdkimage.c (gdk_image_get): Fix problem with
	lost parameter.

Wed Nov 21 17:01:25 2001  Owen Taylor  <>

	* gtk/gtkcellrenderer.h gtk/gtktreemodel.h 
	gtk/gtktreeprivate.h gtk/gtktreesortable.h: Remove
	trailing commas in enum declarations.

Wed Nov 21 15:21:26 2001  Owen Taylor  <>

	* (GTK_MICRO_VERSION): Version 1.3.11, 
	interface, binary age 0.

	* NEWS: Updates

	* gtk/gtktreemodel.c gtk/gtkrc.c gtk/gtkentry.c: SGML
	fixes in docs.

	* gtk/gtkmain.h: Remove unused and misnamespaced
	get_gtk_win32_directory() prototype.

	* gdk/gdkimage.c (gdk_image_get): Fix parameter names
	to match header.

	* gdk/gdkwindow.h: Fix parameters to gdk_window_shape_combine_mask(),
	gdk_window_set_transient_for(), gdk_window_set_geometry_hints(),
	to match docs.

	* gdk/gdkevents.c (gdk_event_get_coords)
	  gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_active)
	  gtk/gtkdnd.c (gtk_drag_set_icon_stock):
	Fix parameter names in docs.
	* docs/faq/ (FAQ_FILES): Add missing files.
	(#64961, Akira Tagoh)

Wed Nov 21 11:41:29 2001  Owen Taylor  <>

	* tests/testgtk.c (create_tooltips): Ref-sink the tooltips object.

	* gtk/gtktoolbar.c (gtk_toolbar_init): Ref-sink the tooltips object.

	* gtk/gtkfilesel.c (open_new_dir): Fix some constness warnings.

	* gtk/gtkaccelgroup.c: Rename gtk_accel_groups_from_acceleratable()
	back to gtk_accel_groups_from_object(), change @acceleratable
	parameter to gtk_accel_groups_activate() accordingly.

	* gtk/gtkaccelmap.c (gtk_accel_map_lookup_entry): Remove
	left-over comment about quark return.

	* gtk/gtkaccelmap.h: Fix spelling of gtk_accel_map_foreach_unfiltered().

 	* gtk/gtk-boxed.defs (GtkIconSource): added as a boxed type.
        (Patch from Matt Wilson)

	* gtk/gtkobject.c (gtk_object_finalize): Warn if a floating
	object is finalized.

Tue Nov 20 21:25:08 2001  Tim Janik  <>

	* applied patch from owen to get rid of accel map notifiers.
	changed things to fix reentrancy and API as discussed on gtk-devel.

	* gtk/gtkaccelgroup.[hc]:
	(gtk_accel_group_finalize): unregister this accel group from all
	accel map paths.
	(accel_closure_invalidate): handle invalidation of closures by
	disconnecting their accelerators.
	(quick_accel_add): move closure connection and changed notification
	into this function to reduce code duplication. don't emit change
	notification on closurers without accelerators.
	(quick_accel_remove): rewrite, do the exact opposite of quick_accel_add
	for a GtkAccelGroupEntry.
	(gtk_accel_group_connect): get rid of the accel_path_quark argument.
	(gtk_accel_group_connect_by_path): new function to add accelerators
	with an accel path.
	(gtk_accel_group_disconnect_closure): new function, disconnect a
	closure from of an accel group.
	(gtk_accel_group_disconnect): loop over all closure for a accel_ley,
	accel_mods pair and remove them.
	(_gtk_accel_group_reconnect): new function that basically does
	gtk_accel_group_disconnect_closure() and
	gtk_accel_group_connect_by_path() once an accel path changed.
	(gtk_accel_groups_disconnect_closure): remove this, there's
	* gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now,
	nuke notifiers.
	(_gtk_accel_path_is_valid): make this non-static for
	gtkwidget.c and gtkaccelgroup.c assertions.
	(gtk_accel_map_add_notifer): removed this function.
	(gtk_accel_map_remove_notifer): same.
	(_gtk_accel_map_remove_group): (un-)register accel groups, with
	accel paths for correct propagation.
	(gtk_accel_map_add_entry): return void.
	(gtk_accel_map_lookup): return gboolean instead of GQuark.
	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always
	set accel_path on widgets.
	* gtk/gtkwidget.[hc]:
	(accel_path_changed): got rid of this, changes are handled by
	accel maps internally now.
	(_gtk_widget_set_accel_path): get things to work without notifiers.
	(gtk_widget_list_accel_closures): list accel closures of a widget.
	* gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed.

2001-11-20  Matthias Clasen  <>

	* gtk/gtkcontainer.c (gtk_container_propagate_expose): Typo fix.

Tue Nov 20 23:01:01 2001  Kristian Rietveld  <>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path):
	replace gboolean free_last in the function parameters with
	gint depth. Changes to reflect new situation.

	* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper):
	replace gboolean free_last, with gint depth, add gint current_depth.
	Changes to reflect new situation.

	* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): changes
	to reflect new situation

	* gtk/gtktreemodel.c (gtk_tree_row_reference_free): ditto

Tue Nov 20 12:37:10 2001  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_paint): Fix problem
	where notebook gap was double shifted by allocation.x/y

	* gtk/gtknotebook.c (gtk_notebook_unmap): Chain up
	to unmap children.

Tue Nov 20 14:49:59 2001  Tim Janik  <>

	* gtk/gtkvpaned.c (gtk_vpaned_size_allocate): fix
	allocation to be relative to paned->allocation, now
	that this is a NO_WINDOW widget.
	* gtk/gtkhpaned.c (gtk_hpaned_size_allocate): same here.

	* gtk/gtkaccellabel.c (gtk_accel_label_class_init): ::closure
	needs to be a boxed property.

Mon Nov 19 17:34:40 2001  Owen Taylor  <>

	* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator):
	Use the widget's state when drawing the indicator, as
	in GtkCheckButton. This gives us color changes for
	un-prelighted checkbuttons. (#63308, Matt Wilson)

Mon Nov 19 17:11:23 2001  Owen Taylor  <>

	(Fixes related to #64428, Michael Meeks)

	* gtk/gtkplug.c (gtk_plug_set_is_child): Unmap the
	widget, so it gets mapped again properly when we
	add to a parent.

	* gtk/gtkplug.c (_gtk_plug_add_to_socket): Set

	* gtk/gtkplug.c (_gtk_plug_remove_from_socket): Set
	socket_window to NULL, not FALSE.

	* gtk/gtkplug.c (_gtk_plug_add_to_socket): Set
	socket->same_app to TRUE. (#64612)

Mon Nov 19 15:50:41 2001  Owen Taylor  <>

	* gtk/gtkfixed.[ch] docs/Changes-2.0.txt: Add 
	gtk_fixed_set/get_has_window() to remove criticism
	about GTK_WIDGET_SET_FLAGS() hacks.

2001-11-19  Michael Natterer  <>

	* gtk/gtknotebook.c: show notebook->event_window with
	gdk_window_show_unraised(), so it doesn't catch the events which
	should go to the tab widgets first.

Mon Nov 19 15:30:51 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add a
	"resizable" property, to get rid of the
	(gtk_tree_view_column_set_resizable): New function to set resizable.
	(gtk_tree_view_column_set_resizable): getter.

	* tests/testtreecolumns.c (add_clicked): modify for above change.

	* (install-data-hook): remove old .pc files before
	installing the new one.  We used to symlink this, and it will
	break old installs.

2001-11-19  Havoc Pennington  <>

	* tests/testtext.c (fill_example_buffer): put in a test for
	negative indentation values

Mon Nov 19 14:08:18 2001  Owen Taylor  <>

	* gtk/gtklabel.c (gtk_label_init): Change default for
	justify to GTK_JUSTIFY_LEFT. Assuming that multiline
	labels are most often wrapped labels, this gives better
	compatibility with GTK+-1.2, where justification was
	ignored for wrapped labesl and is a more sensible
	default in any case. (#64489)

	* gtk/gtklabel.c (gtk_label_class_init): Fix default
	for wrap property to FALSE.

2001-11-19  jacob berkman  <>

	* gtk/ (gtk_extra_sources): add gtkmarshal.list

Mon Nov 19 13:56:45 2001  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use 
	RevertToParent, not RevertToNone. (#64613, 
	Matthias Clasen)

Mon Nov 19 12:28:02 2001  Owen Taylor  <>

	* gtk/gtkframe.c (gtk_frame_class_init): label_xalign
	and label_yalign need to be float properties to
	correspond to GTK+-1.2, to gtk_frame_set_label_align,
	and to the types of the xalign and yalign properties of GtkMisc.
	(#63484, Vitaly Tishkov)

Mon Nov 19 12:24:30 2001  Owen Taylor  <>

	* gtk/gtksocket.h (struct _GtkSocketClass): Fix return
	of plug_added vfunc. (#64408, Jeff Franks)

Mon Nov 19 12:07:20 2001  Owen Taylor  <>

	* (deps): Undef HAVE_STDLIB_H before
	checking for jpeg, because jconfig.h has this
	in it too (%#$@!). Fix from Matthias Clasen, #64500.

Mon Nov 19 11:30:03 2001  Owen Taylor  <>

	* gdk/x11/gdkproperty-x11.c (get_atom_name): Fix a 
	memory leak when retrieving atom names. (Michael Meeks,

2001-11-18  Alex Larsson  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_from_description):
	Update to new Pango API.
Sun Nov 18 19:47:29 2001  Owen Taylor  <>

	* gtk/gtkobject.h docs/Changes-2.0.txt: Rename the
	GTK_OBJECT_DESTROYED() check macro.

	* gtk/gtkbindings.c (gtk_bindings_activate): Remove
	instances of GTK_OBJECT_DESTROYED() that weren't
	needed any more.

	* gtk/gtkdialog.c: Exchange use of GTK_OBJECT_DESTROYED
	for a connection to ::destroy.

Sun Nov 18 18:18:11 2001  Owen Taylor  <>

	* gtk/gtkfixed.c: Make a NO_WINDOW widget, as it should
	have been since the beginning, but as special hack,
	allow clearing the NO_WINDOW flag to get a window widget.

Sun Nov 18 22:01:36  Kristian Rietveld  <>

	* gtk/gtktreestore.c: return TRUE when value changed, so
	row_changed is being emitted

2001-11-18  Hans Breuer  <>

	* gtk/gdkaccelmap.c : make it compile with msvc: !HAVE_UNISTD_H;
	no label without op, even if it's a no-op.

	* gtk/gtk.def :
	* gtk/ : reflect marshaler split, some clean-up	

	* : remove definition of HAVE_DIRENT_H
	* gtk/gtkfilesel.c : due to GDir (new in glib) DIR isn't
	required anymore, replace it.
	* gtk/queryimmodules.c : DIR -> GDir replacement, also
	getcwd() -> g_get_current_dir()

	* gdk/win32/gdkgeometry-win32.c : adapt to refactored gdkgeometry-x11.c
	Even 'noisy laugh' scolling appears to work, though I still can't
	claim to have fully understood what it is supposed to do ...

Sat Nov 17 21:07:46 2001  Owen Taylor  <>

	* gtk/gtkenums.h: Include glib-object.h instead of

	* gdk/{gdkinternals.h,gdkwindow.c,gdkwindow.[ch],
	  x11,{fb,win32,x11/gdkwindow-*.c}: Add a dummy GdkScreen
	argument to the window_at_pointer() field of
	GdkPointerHooks. (Patch from Erwann Chenede)

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Up
	to 6 pointers.

2001-11-17  Matt Wilson  <>

	* gtk/gtkenums.h: must include glib-object.h only

Sat Nov 17 19:26:20 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_key_press_event): Reprioritize
	key bindings in order of visibility - mnemonics, then 
	accelerators, then send key to the focus widget, then
	bindings on the GtkWindow.

	* gtk/gtklayout.h docs/Changes-2.0.txt tests/testgtk.c: 
	Removed the xoffset, yoffset fields of GtkLayout which were
	identically zero for compat with 1.2, but were no longer 
	compatible with	all uses of these fields in 1.2.

	* gtk/gtkwindow.c (gtk_window_set_default): Remove 
	unused variable.

Sat Nov 17 19:08:13 2001  Owen Taylor  <>

	* tests/testtreeview.c (gtk_tree_model_types_get_type): 
	We no longer need to create the signals here ... they
	come from the interface.

	* gtk/maketypes.awk: Use GType, not GtkType in output.

	* gtk/gtktypeutils.h: Mark virtually all of this
	file deprecated.

	* gtk/gtkcontainer.h: Deprecate gtk_container_foreach_full;
	the only use of this function is the GtkArg using
	GtkCallbackMarshal, since destroy notification is
	silly here.

Sat Nov 17 18:26:45 2001  Owen Taylor  <>

	* gtk/ gtk/gtkmarshal.list gtk/gtkmarshalers.list
	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
	only for compatibility with GTK+-1.2; and deprecate it; 
	put all marshalers we actually use into gtkmarshalers.list 
	and use the _gtk_marshal_ prefix for these marshalers.

2001-11-17  Murray Cumming  <>

	* gtk/gtktexttagtable.c (gtk_text_tag_table_class_init):
	The first parameters of the signals are now registered as
2001-11-17  Tor Lillqvist  <>

	* Build separate runtime and developer

	* gtk/gtk.def: Reflect recent accelerator-related changes.

Fri Nov 16 19:44:35 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_set_default): Move 
	notification of "has_default" to here, so it
	is safe to call gtk_window_set_default() instead
	of gtk_widget_grab_default().

	* gtk/gtkwindow.c (gtk_window_set_focus): Make it call
	gtk_widget_grab_focus(), which then calls 
	_gtk_widget_internal_set_focus(). This makes 
	gtk_window_set_focus() a safe way of both setting
	and unsetting the focus widget.

	* gtk/gtkwidget.c (gtk_widget_propagate_state): Use
	gtk_widget_get_toplevel(), instead of gtk_widget_ancestor
	to find the toplevel.

	* gtk/gtkwindow.h: Move gtk_window_set_focus/default
	from the "internal functions" section.

2001-11-16  jacob berkman  <>

	* tests/testgtk.c (create_radio_buttons): add some no-indicator
	radio buttons

	* gtk/gtkradiobutton.c (gtk_radio_button_init): since we are
	initially active, also initially be depressed
	(gtk_radio_button_clicked): also update our depressed state

Thu Nov 15 12:54:36 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_key_press_event): Propagate
	key press events not just to focus/window but also to
	intermediate widgets.

	* gtk/gtknotebook.c: Handle Ctrl-PageUp/Ctrl-PageDown
	to switch pages. (Needs some work on handling focus
	when switching pages.)

Fri Nov 16 14:06:31 2001  Owen Taylor  <>

	* gtk/gtknotebook.c: Fix child allocations to be relative to 
	widget position and some drawing bugs.

	* gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem
	with reading uninitialized variable.

Fri Nov 16 00:16:40 2001  Owen Taylor  <>

	* gtk/{gtkmenuitem.[ch],gtkcheckmenuitem.c,gtkimagemenuitem.c,
	gtkradiomenuitem.c,gtktearoffmenuitem.c}: Make Menu items
	NO_WINDOW widgets.

	* gtk/gtk{h,v,}paned.[ch]: Make NO_WINDOW widgets, some

	* gtk/gtkstyle.c (gtk_default_draw_handle): Don't assume
	we are drawing in a window when drawing the paned handle.

2001-11-16  Sven Neumann  <>

	* demos/gtk-demo/appwindow.c
	* demos/gtk-demo/menus.c: reduce compiler warnings

Thu Nov 15 19:47:09 2001  Owen Taylor  <>

	* demos/gtk-demo/main.c (button_press_event_cb): Remove 
	unused callback to make things compile with 

Thu Nov 15 18:44:33 2001  Jonathan Blandford  <>

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_free): maybe fix #64160

2001-11-15  Matthias Clasen  <>

	* gtk/gtkwindow.c (gtk_window_new): Move '.' out of quote. (#64407)
Thu Nov 15 16:24:55 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_bin_window): New function
	to get a GdkWindow to compare event->window to.

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): emit
	the signal for lateral motion too, #64361

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): remove window
	arg as it is useless, #64137

Thu Nov 15 16:07:42 2001  Owen Taylor  <>

	* gtk/gtknotebook.c: Some small drawing fixes for scroll arrows.

Thu Nov 15 14:19:34 2001  Owen Taylor  <>
 	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
 	gdk_window_invalidate_maybe_recurse() for recursion.
 	(Soeren Sandmann)

 	* gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann)
	* gtk/gtkcontainer.c (gtk_container_expose): Call
	gtk_container_forall() not _foreach() to propagate,
	since we need to propagate exposes to internal children
	as well.

	* gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events): 
	Remove the restriction of only being able to call these
	on window widgets, since we have lots of NO_WINDOW widgets
	with windows now; for add events, recurse over the children
	of widget->window to find one owned by the widget.

	* gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only
	window to catch events.

	* gtk/gtktogglebutton.[ch]: Remove the code for switching
	between NO_WINDOW and WINDOW widgets based on the mode.

	* gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c
	gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton.

	* gtk/gtkrange.[ch]: Make into a NO_WINDOW widget.

	* gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW
	change for range.

	* gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget.
	* docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.

Thu Nov 15 11:59:35 2001  Owen Taylor  <>

	* gtk/gtkmessagedialog.c: Patch from Murray Cumming to add
	"message_type" and "buttons" CONSTRUCT properties. (#64069)

	* tests/testsocket.c: Expand tests to add a "local passive
	child" (Test case for #64428)

2001-11-14  jacob berkman  <>

	* gtk/gtkgamma.c (button_clicked_callback): create the label with
	a mnemonic

2001-11-15  Sven Neumann  <>

	* tests/testgtk.c: make it compile without warnings.

2001-11-14  Alex Larsson  <>

	* gtk/gtklabel.c:
	Don't recalculate the layout on each gkt_label_ensure_layout () for
	wrapped labels.

Wed Nov 14 17:40:23 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_expander_column): Return
	the currently selected column when we get the column, #64380

	* gtk/gtkentry.c (gtk_cell_editable_key_press_event): Handle Esc
	to cancel CellRendererText editting, #63613

	* gtk/gtkcellrenderertext.c: ditto

	* gtk/gtkcellrenderertext.h: formatting changes

2001-11-14  Matthias Clasen  <>

	* gtk/gtkbutton.c (gtk_button_get_label): Rearrange docs (#64566)

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Typo fix (#64474)

	* gtk/gtkruler.c (gtk_ruler_get_metric): Typo fix (#64470)

	* gtk/gtknotebook.c (gtk_notebook_prepend_page): Typo fix (#64467)

	* gtk/gtklabel.c: Documentation fixes (#64452)

2001-11-14  Daniel Egger  <>

	* gdk-pixbuf/io-xpm.c: 
	(xpm_skip_whitespaces): Remove unused static function.
	(xpm_skip_string): Dito.	
	(xpm_extract_color): Declare const variable const to avoid warnings. 

	* gtk/gtkfixed.c: (gtk_fixed_map): Remove unused static function.
	* gtk/gtkplug.c: #if 0'ed prototype for #if 0'ed code.
	* gtk/gtksocket.c: Change type of mask to g_message to %ld for 
	a long.

Wed Nov 14 15:14:48 2001  Owen Taylor  <>

	* gtk/gtkcontainer.c (gtk_container_idle_sizer): Back
	out accidental commit of debugging timing code.

2001-11-14  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_move_cursor): fix Control-E so
	it doesn't move to a new line each time you press it

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_line_end): fix
	return value, #62987

2001-11-14  Havoc Pennington  <>

	* tests/testtextbuffer.c (main): bulk of the tests were commented
	out, oops.

	* gtk/gtktextiter.c (find_paragraph_delimiter_for_line): make this 
	function work, should resolve #63426
	(gtk_text_iter_ends_line): return TRUE for the end iterator

	* gtk/gtktextiter.h: put padding back in GtkTextIter, I thought of
	a couple things that might get cached in here.

Tue Nov 13 21:00:59 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): new
	"model" construct property for language bindings.

	* gtk/gtktreestore.c (gtk_tree_store_set_column_types): New
	function to let you set the column types of a GtkTreeStore for
	language bindings.

	* gtk/gtkliststore.c (gtk_list_store_set_column_types): ditto.

2001-11-13  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_add_child_in_window): docs
	including reference to bugzilla bug about how we should have 
	a better way of positioning children

	* gtk/gtktextview.h (struct _GtkTextViewClass): add some padding

	* gtk/gtktextview.c (gtk_text_view_size_allocate): assign zero
	size to side rects if they don't exist, #63438

2001-11-13  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): fix to
	properly replace selection with Return or Tab

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): fix broken code
	that didn't locate the end of the line correctly, should fix #63800

2001-11-13  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_size_request): add border width
	to requisition, request non-anchored children
	(gtk_text_view_size_allocate): handle border width, allocate
	non-anchored children
	(text_view_child_new_window): set the child as object data
	(gtk_text_view_move_child): allow children at negative
	coordinates, no reason why not
	(gtk_text_view_forall): make it copy the list of children before
	walking it, to avoid reentrancy issues	
	(gtk_text_view_move_child): short-circuit if position is unchanged
	(changed_handler): only queue_resize if requisition has changed
	(gtk_text_view_init): don't redraw_on_allocate, since we can do 
	a better job of invalidation ourselves

	* tests/testtext.c: add tests for the fixed-position children

Tue Nov 13 19:51:43 2001  Tim Janik  <>

	* gtk/gtkwindow.c (handle_accels_changed): protect idle handle
	with gdk threads macro.

Mon Nov 12 23:08:37 2001  Tim Janik  <>

	* gtk/maketypes.awk: fix type utils generation on unix.

	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator

	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
	introduced ::accel_changed signal for change notification, and
	gtk_accel_group_connect/disconnect to connect closures to accel groups.
	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
	deprecated gtk_accel_group_ref/unref.

	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
	to accel group changed notification and basically operate on closures.
	removed gtk_accel_label_get_accel_object and
	introduced gtk_accel_label_set_accel_closure, and for convenience,

	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
	which mostly moved into gtkaccelmap.[hc].
	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
	and gtk_item_factory_print_func.

	* gtk/gtkmain.c: call _gtk_accel_map_init().

	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
	that associates an accelerator path with menu items, through which
	persistent accelerator settings on menu items are enabled.

	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
	paths of menu item can be default constructed to allow installation
	of accelerators on menu items that don't come with an accelerator
	binding by default.

	* gtk/gtksettings.c: fix STRING type rc settings by special casing
	them appropriately in the parser.

	* gtk/gtksignal.[hc]: allow a class function offset of 0 for

	* gtk/gtkwidget.[hc]: accelerator API revamp.
	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
	accelerators maintained through gtk_widget_add/remove_accelerator()
	are not runtime changable now, the correct sequence to setup a
	widget for runtime changable accelerators is now:
	  gtk_accel_map_add_entry(accel_path, key, mods);
	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);

	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
	group changes (as well as mnemonic changes) through the new signal

Sat Nov 10 12:08:56 2001  Tim Janik  <>

	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
	GString->string conversions.

Mon Nov 12 19:33:52 2001  Owen Taylor  <>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new): Warn
	if GTK_DIALOG_NO_SEPARATOR is passed in and ignore it.

2001-11-12  Matthias Clasen  <>

	* gtk/gtktreeview.c: Documentation fixes. (#64377)
	* gtk/gtktreestore.c: Documentation fixes. (#64376)

2001-11-11  Matthias Clasen  <>

	* gtk/gtkiconfactory.c, gtk/gtktextbuffer.c, gtk/gtktreemodel.c,
	gtk/gtkwindow.c, gtk/gtknotebook.c, gtk/gtkradiobutton.c, 
	gtk/gtktextiter.c, gtk/gtkdialog.c: Mass fixing of trivial doc bugs.  
	(#63544, #57007, #64141, #63472, #57108, #60818, #61562)

2001-11-10  Hans Breuer  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate) : make sure 
	we know what we are talking about when asked for MINMAXINFO.
	Also some cleaning for !HAVE_DIMM_H etc.

2001-11-10  Matthias Clasen  <>

	* gtk/gtktreeviewcolumn.c: Fix docs for 
	gtk_tree_view_column_set_sort_order. (#62647)
	* gtk/gtkcontainer.c: Fix docs for 
	gtk_container_set_border_width. (#64139)

	* gtk/gtkcolorsel.c: Documentation fixes.

2001-11-10  Hans Breuer  <>

	* gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
	don't have strcasecmp()

	* gtk/gtktextview.c : to fix crashing on e.g. TextView::find need 
	to remove the idle funcs in gtk_text_view_destroy (). To reduce 
	code duplication wrap it in its own function and use it in 
	gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()

	* gdk/win32/gdkdrawable-win32.c : implement the finalize
	method like the X11 version does, allow to set_colormap NULL
	* gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
	set_colormap, also some adaption to X11 version :
	(gdk_window_hide) call _gdk_window_clear_update_area
	(gdk_window_reparent) call _gdk_window_init_position

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) : 
	call gdk_window_resize() after all hints are set, because the
	window resizing process (WM_GETMINMAXINFO) takes all of them into 

	* gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean

	* gdk/win32/gdkvisual-win32.c : register GdkVisual with 
	sizeof (GdkVisualPrivate)

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

	* gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
	  gdk-pixbuf/pixops/makefile.msc gtk/ tests/makefile.msc :
	from now on use make.msc from $(TOP)/glib/build/win32

	* gtk/stock-icons/makefile.msc : add stock_missing_image

2001-11-08  Tor Lillqvist  <>

	* README.win32: Add headers. Add section about ActiveIMM.

	* Add --with-ie55 flag to specify the location of
	the "IE55 libs and headers" package downloadable from Microsoft,
	which contains, among other things, the Active IMM header dimm.h
	and UUID library uuid.lib. Use test -f instead of AC_CHECK_FILE.
	Require GLib 1.3.10.
	* New version, produced by merging two
	configure-generated ones (for gcc and MSVC). Hopefully #defines
	the same flags that the previous, hand-written one, did.

	* gdk/
	* gdk/win32/ Handle the uuid library from the IE55 lib.

	* gdk/win32/gdkevents-win32.c: Conditionalize ActiveIMM
	stuff. Remove unused GdkIOClosure.

	* gdk/win32/surrogate-dimm.h: Remove, use real dimm.h instead (if

	* gdk/win32/ New file, handwritten libtool wrapper
	for uuid.lib. (Does it really have to be this hard to use an
	existing library with libtool? Probably I am missing something.)

2001-11-08  Darin Adler  <>

	* gtk/gtklabel.c: (gtk_label_ensure_layout): Fix an obvious
	typo where it says LEFT instead of CENTER.

2001-11-07  Darin Adler  <>

	* gtk/gtkdialog.c: (gtk_dialog_set_response_sensitive),
	(gtk_dialog_set_default_response): Add g_return_if_fail.

Mon Nov  5 22:34:29 2001  Owen Taylor  <>

	* gtk/gtktreednd.[ch] (struct _GtkTreeDragSourceIface): 
	Add row_draggable() vfunc, and wrapper function.

	* gtk/gtktreednd.[ch] (struct _GtkTreeDragDestIface): Make
	row_drop_possible take a GtkSelectionData, rather than
	model/row pair.

	* gtk/gtktreestore.c gtk/gtkliststore.c: Update for 
	new DND interfaces.

	* gtk/gtktreeview.[ch]: Remove the row_draggable_func
	location_dropable_func from gtk_tree_view_set_rows_drag_source/dest.
	and rename them to enable_model_drag_source/dest.

	* gtk/treeviewcolumn.c: Add DND of columns between rows.
	Still can't drop _to_ the left tree, but other places

	* gtk/gtktreeview.c (unset_reorderable): Unset the
	reorderable property if unset/enable_model_drag_source/dest
	are called manually.

	* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): 
	Correct for change in depth count handling.

	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
	Pass in a expose area to gtk_tree_view_column_cell_render()

2001-11-06  Havoc Pennington  <>

	* demos/gtk-demo/textview.c (easter_egg_callback): wacky easter egg

Tue Nov  6 10:13:16 2001  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c: Fix misplaced HAVE_XFT.

2001-11-05  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_paint): expose the child
	widgets in here
	(gtk_text_view_realize): set parent window of child widgets
	(gtk_text_view_size_request): use child req to decide whether
	to invalidate layout, not widget->requisition

	* gtk/gtktextdisplay.c (render_layout_line): set
	shaped_width_pixels for NULL shape objects, so that we properly
	draw the "missing pixbuf/widget" thing
	(render_layout_line): don't draw the widget here
	(gtk_text_layout_draw): pass out a list of widgets that need exposing

	* demos/gtk-demo/textview.c (insert_text): add demo of child

	* gtk/gtktextlayout.c (add_child_attrs): remove debug spew

	* gtk/gtktextdisplay.c (render_layout_line): remove debug spew

	* gtk/gtktextview.c (gtk_text_view_update_child_allocation): add
	scroll offsets
	(gtk_text_view_value_changed): poke new X and Y into child allocations

2001-11-06  Tor Lillqvist  <>

	* gtk/gtkmain.c (find_module): Do search GTK_BINARY_VERSION
	-specific directory on Windows, too (#63759).

Mon Nov  5 12:46:44 2001  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
	gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h
	gdk/x11/gdkwindow-x11.c: Redo Xft support to go
	directly to Picture objects instead of using XftDraw.
	This fixes the problem where we weren't able to 
	properly destroy XftDraw objects before destroying
	the accompanying windows, and probably improves
	efficiency a bit too. (#50214)

Mon Nov  5 10:01:49 2001  Owen Taylor  <>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): 
	Clamp max window width/height to 32767, not 32768 since
	we have to be able to deal with a dx/y of -32768 without
	getting a width of 65536 when guffaw scrolling.

	* gdk/x11/gdkgeometry-x11.c: Implement gdk_window_scroll()
	for the guffaw scrolling case, fixing some problems with
	copy-area case as well. Fix BadValue bug with moving windows
	by large amounts.

	* gdk/x11/gdkgeometry-x11.c (gdk_window_clip_changed): Update
	clip in window structue before calling gdk_window_invalidate_region
	since that trims new invalidations to the window's visible

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_static_gravities): 
	Really set the static window gravity on the children, not
	repeatedly on the window.

	* gtk/testgtk.c: Add a torture test for big windows and 

Sun Nov  4 17:36:08 2001  Manish Singh  <>

	* acconfig.h sigsetjmp is macroized in some places,
	so use AC_TRY_LINK instead of AC_CHECK_FUNCS for the check.

Sun Nov  4 19:16:23 2001  Owen Taylor  <>

	* gdk/gdkcolor.c (gdk_color_parse): Implement gdk_color_parse()
	in terms of pango_color_parse().

	* gdk/{linux-fb,win32,x11}/gdkcolor-*.c: Remove port-specific
	gdk_color_parse() implementations.

Sun Nov  4 18:39:43 2001  Owen Taylor  <>

	* gtk/gtksizegroup.c (gtk_size_group_set_mode): 
	queue_resize_on_group with both the old and new mode, not
	just the new mode. (#60171, Nicolas Setton). Also, notify
	the "mode" property.
Sun Nov  4 16:02:08 2001  Owen Taylor  <>

	* gdk/gdkwindow.[ch]: Add a function gdk_window_invalidate_maybe_recurse() 
	for use in "shallow invalidation" of a widget. (Windows belonging
	to the widget, but not to the widget's children)

        * gtk/gtkprivate.h gtk/gtkwidget.c gtk/gtksizegroup.c: Add private
	flags GTK_ALLOC_NEEDED, GTK_REQUEST_NEEDED.  These flags are set
	up on ancestors up to the resize container on queue_resize. Size
	requests only actually take place if GTK_REQUEST_NEEDED, size
	allocations only take place if GTK_ALLOC_NEEDED or the size

        * gtk/gtkcontainer.c gtk/gtkwidget.c: Remove
	container->resize_widgets and the RESIZE_NEEDED flag since the
	above flags are sufficient to figure out what needs to be
	resized/reallocated. Remove code manipulating

        * gtk/gtkwidget.[ch]: Add gtk_widget_set_redraw_on_alloc(); this
	allows widgets to turn off being automatically invalidated is when
	they are resized.

	* gtk/gtkwidget.[ch] (gtk_widget_size_allocate): Invalidation when
	a widget is resized or moved is "shallow" as described above -
	only the windows that need to be invalidated are invalidated.

	* gtk/gtkbox.c gtk/gtktable.c gtk/gtkalignment.c docs/Changes-2.0.txt: 
	Make these widget's init functions call 

	* gtk/gtkwindow.c (gtk_window_configure_event): Call 
	_gtk_container_queue_resize(), since we don't want
	redrawing. (Probably could be done for other 
	calls to gtk_widget_queue_resize() in gtkwindow.c,
	but this is the most important one.)

	* gtk/gtkwindow.c (gtk_window_move_resize): Don't call
	gtk_widget_queue_draw() - size_allocate() handles
	that as appropriate.

	* gtk/gtkframe.c (gtk_frame_size_allocate): Invalidate instead
	of queue_clear() to avoid invalidating children.

2001-11-04  jacob berkman  <>

	* gtk/gtkmain.c (find_module): don't free the module name until
	after we load the module

Sat Nov  3 13:57:21 2001  Owen Taylor  <>
 	* gtk/gtkctree.c: Convert GTK_TYPE_CTREE_NODE to pointer
 	derivation instead of boxed derivation.
 	* gtk/gtkmarshal.list: Remove some now unused marshallers.
2001-11-04  Tor Lillqvist  <>

	* gtk/gtkimmodule.c: Can't include gtkprivate.h (I added the
	include yesterday, without really thinking), as that defeats the
	working of correct_libdir_prefix() (it becomes a no-op.). Add
	comment mentioning that. Thanks to Hans Breuer for noticing.
2001-11-03  Daniel Elstner  <>

	* gtk/gtkwindow.h (frame_event): Use GtkWindow* as first
	signal argument (was GtkWidget*).

	* gtk/gtkwindow.c (gtk_window_frame_event),
	  gtk/gtkwindow-decorate.c (gtk_decorated_window_frame_event):
	Fixed argument types as above, removed GTK_WINDOW casts and
	added some GTK_WIDGET casts instead.

2001-11-03  Hans Breuer  <>

	* gtk/gtkfilesel.c (gtk_file_selection_finalize) : chain
	finalize to parent class to get removed from the toplevel_list.
	Should fix 'random' crashes of #63474.

	* gtk/gtktreemodelsort.c : chain finalize() to parent class

2001-11-03  Tor Lillqvist  <>

	* modules/input/ Use -no-undefined on Windows. Look
	for .dll or .so as appropriate as module suffix.

	* Use correct import library names.

	* gtk/gtk.def: Add a couple of missing entry points. (#63585)

	* gtk/gtkimmodule.c (correct_libdir_prefix): New function, used on
	Windows to turn build-time paths from a gtk.immodules distributed
	as part of a binary package into runtime ones in the
	end-user-chosen installation directory.
	(gtk_im_module_init): Use it for module path and domain

2001-11-02  Tor Lillqvist  <>

	* gtk/gtkrc.c (gtk_rc_make_default_dir): Fix typo: extraneous
	comma.  Include gtkprivate.h for GTK_LIBDIR etc definitions on

2001-10-30  Tor Lillqvist  <>

	* Makefile (install-data-hook): Use cp, not $(LN_S) on the .pc
	files. Configure on Win32 (running on Cygwin) thinks symlinks
	exist, but pkg-config is not necesarily a Cygwin program, and
	doesn't understand them.

Fri Nov  2 16:45:17 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Clean up height code
	a bit.  I don't think it's completely correct yet, but it's
	getting there.

Fri Nov  2 16:14:15 2001  Owen Taylor  <>

	* gtk/gtkviewport.c (gtk_viewport_size_request): Remove
	random + 5 for width and height. If people want padding,
	they should add padding. (Note the +5 isn't padding
	that will always appear - it just appears in the case
	where the widget is allocated it's requisition.)
	(#51018, Janet Davis)

Fri Nov  2 15:53:23 2001  Owen Taylor  <>

	* gtk/gtkimcontext.h (struct _GtkIMContextClass): Pad
	the structure for future expansion.

Fri Nov  2 15:30:34 2001  Owen Taylor  <>

	Patch from HideToshi Tajima (#51922)
	* gtk/gtkimmulticontext.c: Proxy set_use_preedit().

	* gtk/modules/input/gtkimcontextxim.[ch]: Implement
	* gtk/modules/input/gtkimcontextxim.[ch]: If we have
	to destroy the input context because we change the
	client window or use_preedit, make sure we empty
	the preedit string.

Fri Nov  2 14:55:53 2001  Owen Taylor  <>

	* gtk/{gtkcolorseldialog.c,gtkfilesel.c,gtkfontsel.c,
	gtkgamma.c,gtkmessagedialog.c}: Go to the GUP
	proposed ordering of buttons with [OK] in the lower
	right hand corner. Patch from Gregory Merchan,

Fri Nov  2 11:51:49 2001  Jonathan Blandford  <>

	* gtk/gtklabel.c (gtk_label_select_region_index): remove
	extraneous gtk_label_clear_layout (label)

2001-11-02  Sebastian Wilhelmi  <>

	* tests/makefile.msc, gtk/ Removed

	* docs/Changes-2.0.txt:

	* gtk/, gdk/gdkcompat.h: Removed from CVS.

Fri Nov  2 10:21:03 2001  Owen Taylor  <>

	* examples/**/ Convert to use pkg-config
	rather than gtk-config. (#53375, Skip Montanaro)

2001-11-02  Matt Wilson  <>

	* gtk/gtkdialog.c (find_child_by_response_id): remove totally
	broken unused, non-compiling, static function.

Fri Nov  2 08:17:06 2001  Owen Taylor  <>

	* gtk/gtkdialog.c (gtk_dialog_set_response_sensitive): 
	Iterate through children of the action area, not of
	the vbox. (#58278, Sergey Kuzminov)

2001-11-01  Havoc Pennington  <>

	* gtk/gtktext.c (gtk_text_set_position): handle -1 argument in
	order to remove a workaround in Nautilus that forced

	* gtk/gtkwidget.c (gtk_widget_modify_style): fix typos in the docs

Thu Nov  1 20:09:31 2001  Owen Taylor  <>

	* gtk/gtkrange.c: Patch from George Lebl to 
	fix division by zero for full scroll bars. (#62114)

Thu Nov  1 19:56:40 2001  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_main_do_event): ref/unref
	around gtk_widget_event() if we are going to
	set a flag afterwards. (#63464)

Thu Nov  1 19:44:48 2001  Owen Taylor  <>

	* gtk/gtkiconfactory.c gtk/stock-icons/ 
	Actually add the missing/broken image icon as the
	image for the "missing image" stock icon.

Thu Nov  1 19:18:34 2001  Owen Taylor  <>

	* demos/gtk-demo/stock_browser.c (do_stock_browser): 
	Set a reasonable default height for the window.

	* demos/gtk-demo/stock_browser.c (id_to_macro): Fix
	bug where subsequent '-' weren't converted to '_'.
	(#59550, Matthias Clasen)

	* demos/gtk-demo/appwindow.c (menu_items): Don't right 
	justify the Help menu - just include a comment on
	how to do it. (#63539, 	Marius Andreiana)

	* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): Don't 

	* demos/gtk-demo/stock_browser.c: Show the biggest available
	size, not a fixed size. (Often reported, including #63539, 
	Marius Andreiana)

Thu Nov  1 19:11:35 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (gtk_rbtree_reorder_fixup): Fix reorder_fixup,

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): fix

Thu Nov  1 16:54:00 2001  Owen Taylor  <>

	* gtk/gtktypeutils.h: Make GtkFunction return boolean, not gint.
	(Daniel Elstner).

Thu Nov  1 16:20:56 2001  Owen Taylor  <>

	* gtk/gtkimcontext.[ch]: Add:
	  - A ::retrieve_surrounding signal that asks the widget for
	    context around the insertion point.
	  - A ::delete_surrounding signal that asks the widget to 
	    delete context aroudn the insertion point.
	  - gtk_im_context_set_context() for widgets to set context
	    around the insertion point in response to ::retrieve_context.
	  - gtk_im_context_get_context() for context to get context
	    around the insertion point

	* gtkmarshal.list: Add BOOL:INT,INT

	* gtk/gtkimmulticontext.c: Proxy the get_surrounding() /
	set_surrounding() methods, and the ::retrieve_surrounding /
	::delete_surrounding signals.

	* gtk/gtkentry.c gtk/gtktreeview.c: Hook up to the
	GtkIMContext::retrieve_surrounding / ::delete_surrounding

Thu Nov  1 15:45:04 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
	it's amazing how well things work sometimes, even when they're
	completely wrong.

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
	where you could try to collapse a node w/o it having children.

	(gtk_tree_view_class_init): remove Shift L<->R as they already
	existed for expand/collapse.

Thu Nov  1 12:21:31 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_focus_to_cursor): Fix crash
	found by Matt Wilson.

Thu Nov  1 00:44:50 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Support Shift,
	Control, and Shift|Control L<->R, #63475

Wed Oct 31 18:53:51 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): fix
	infinite loop noticed by yosh.

2001-11-01  Michael Meeks  <>

	* gtk/gtksocket.c (gtk_socket_unrealize): unset the
	GTK_REALIZED flag so we don't re-enter when we are
	destroyed from the plug side.

Wed Oct 31 18:23:47 2001  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_detacher): 
	Add a "menu" property and notify on it. (#62798,
	Padraig O'Briain)

	* gtk/gtkselection.[ch] gtk/{gtkentry.c, gtkfilesel.c,
	gtkoldeditable.c, gtktextbuffer.c, gtktextview.c}: 
	Fix set_text to take a gchar, not a guchar, and to have 
	a len argument.

Wed Oct 31 15:31:13 2001  Manish Singh  <>

	* gtk/gtkstock.c: fix typo to make it compile

Wed Oct 31 17:27:20 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): if
	the widget is insensitive, draw the text insensitively, #63306

2001-10-31  Matthias Clasen  <>

	* gtk/gtkstock.c: Add stock items for most stock icons. (#61757)

Wed Oct 31 16:53:48 2001  Jonathan Blandford  <>

	* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): rename
	gtk_selection_data_set_tree_row, #60218
	(gtk_tree_get_row_drag_data): rename
	gtk_selection_data_get_tree_row, #60218

	* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): Actually
	get this right, after the third try, #63122.

2001-10-31  jacob berkman  <>

	* gdk/gdkselection.h (GDK_TARGET_STRING): 
	(GDK_SELECTION_TYPE_STRING): these should be 31, not 3.  Hooray
	for Xatoms (and not using the XA_* macros)!

Wed Oct 31 15:38:14 2001  Owen Taylor  <>

	* gtk/gtkwindow.[ch] (gtk_window_get_focus): Add a
	gtk_window_get_focus() getter to determine the currently
	focused widget within the window. (#63145, request
	from Damian Ivereigh)

Wed Oct 31 14:45:08 2001  Jonathan Blandford  <>

	* gtk/gtkenums.h (enum): Add GTK_SELECTION_NONE enum, #61695

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Handle new
	(_gtk_tree_selection_internal_select_node): ditto

	* gtk/gtkcellrenderer.h (struct _GtkCellRendererClass): add

	* gtk/gtkcellrenderertoggle.c: more yummy constness.

	* gtk/gtkclist.c (gtk_clist_set_selection_mode): g_return_if_fail

Wed Oct 31 14:05:17 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Added a
	"cursor_changed" signal, #62850.

2001-10-31  Matt Wilson  <>

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_alloc): after
	allocating the treedatalist, zero it to make sure the values are
	cleared from any garbage that was in this chunk.

2001-10-31  Murray Cumming  <>

	* gtk/cellrenderertext.h: "edited" default signal handler
	gchar* args are now const.
	gtk/cellrenderertoggle.h: "toggled" default signal handler
	gchar* arg is now const.
	Also changed other signal handlers for "edited" and "toggled" to
	have the same signature.

Tue Oct 30 19:17:57 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): massize
	rewrite.  Static models now totally work.  I'm not 100% sure about
	row_inserted and row_changed, but I'll get those later.

2001-10-30  Sven Neumann  <>

	* use GLIB_AC_DIVERT_BEFORE_HELP() so we get proper
	output for configure --help.

2001-10-30  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): Update the IM spot location
	here, if text was invalidated in the visible area, because the
	scroll offset doesn't normally change in that case, and the mark
	isn't set, just implicitly moved over as text is added/removed
Mon Oct 29 19:18:35 2001  Jonathan Blandford  <>

	* gtk/gtkseparatormenuitem.c: Code cleanup.
	(gtk_separator_menu_item_class_init): Fix bugs in this code.

2001-10-29  jacob berkman  <>

	* gdk/ (LDFLAGS): 
	* gtk/ (LDFLAGS): automake doesn't support conditionalized
	LDFLAGS, so put win32 flags in here

Mon Oct 29 15:41:58 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): Darn.
	I can't believe this took this long to fix.

Mon Oct 29 13:54:49 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): fix
	reordered signal.

Mon Oct 29 12:27:51 2001  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_rename_file): Grab
	the focus to the fileop entry for create dir / rename
	file. (#62838)

Mon Oct 29 12:21:49 2001  Owen Taylor  <>

	* Don't use AC_CHECK_FILE to check for a 
	file since it always spits warnings about cross compilation,
	use -f instead. It's not like we cross compile properly

	* (gtktargetlib): Move call to AC_PROG_CC
	to suppress autoconf warning.

	* acconfig.h: Add some missing #undefs from recent
	Win32 additions.

Mon Oct 29 11:31:40 2001  Owen Taylor  <>

	* m4macros/gtk-2.0.m4: Don't try to use pkg-config
	when we didn't find it. (#62944, Eric Lemings)

	* m4macros/gtk-2.0.m4: Fix problem with spaces around =
	sign in assignment. (#63209, Arkadiusz Miskiewicz)

2001-10-29  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_request): Calculate
	the buttons size request before using it. Fixes #61696.

2001-10-29  Tor Lillqvist  <>

	* README.win32: Updates.

	* New file, used to build distribution package for

	* gdk/gdkglobals.c: Mark gdk_threads_mutex for DLL export when
	applicable with GDKVAR.

	* gdk/win32/ New file, hand-written wrapper for the
	Wintab library.

	* gdk/win32/gdkwin32.h
	* gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
	X11 headers better, and to enable gdkwin32.h to be installed and
	included from applications, but not the *-win32.h headers.

	* gdk/win32/*.c: Corresponding small changes, simplifications of
	* gdk/win32/gdkregion-win32.c: Remove.

	* gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.

	* gdk/win32/gdkfont-win32.c
	* gdk/win32/gdkgeometry-win32.c: Remove unused variables.

	* gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
	GDK_NONE values into hash table.

	* gtk/gtk.def: Update.

	* gtk/gtkfilesel.c: Include <winsock.h> (if available) for

	* gtk/gtkmain.c 
	* gtk/gtkrc.c: (Win32) Save actual DLL name for later use in DLL
	entry function. Avoid hardcoded paths GTK_LIBDIR, GTK_SYSCONFDIR,
	GTK_DATA_PREFIX and GTK_LOCALEDIR, instead add functions that call
	g_win32_get_package_installation_subdirectory() with the actual
	DLL name saved above. Redefine above directory name macros to call
	these functions. Remove some ifdefs.

	* gtk/maketypes.awk: Output GTKTYPEBUILTINS_VAR (that marks
	variable for export on Win32) also to the _vars file.

	Changes for autoconfiscated build on Win32, and addition of Win32
	backend to the related files:
	* Like in GLib, set LT_CURRENT_MINUS_AGE for use
	when forming DLL name in some files. Set MS_LIB_AVAILABLE is
	lib.exe is available. Call AC_LIBTOOL_WIN32_DLL. Set
	PLATFORM_WIN32, OS_WIN32 and USE_WIN32 automake conditionals. Add
	win32 target, using pangowin32. Don't use the
	-export-symbols-regex option on Win32, we use .def files to list
	exported symbols. Check <winsock.h> (for gethostname() in
	gtkfilesel.c). Enclose nested AC_CHECK_* macros in brackets to
	prevent premature m4 expansion.

	* acconfig.h: Add HAVE_WINTAB.

	* gdk/ Add target and associated
	macros and rules. Use -no-undefined on Win32. Use gdk.def file. If
	MS_LIB_AVAILABLE, build MS import library. Install the import
	libraries. If HAVE_WINTAB, link with the Wintab library.

	* gdk/win32/ Actually enable building the win32
	objects here, not just list all files in EXTRA_DIST. Link in the
	compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
	copy the Wintab library into the .libs directory. 

	* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
	name of the GDK DLL when fetching the icon. Use the HMODULE saved
	in gdk_dll_hinstance by DllMain.

	* gdk/win32/rc/ Build gdk-win32res.lo using the
	build/win32/lt-compile-resource script.

	* gdk/win32/rc/
	* gtk/ Use the DLL name that libtool would use.

	* gtk/ Add target and associated
	macros and rules. Use -no-undefined on Win32. Use gtk-win32.def
	file. Install import libraries.

2001-10-29  Anders Carlsson  <>

	* gtk/gtkiconfactory.c (get_default_icons): Fix build.

2001-10-28  Hans Breuer  <>

	* gdk/gdk.c gdk/gdkevents.c
	  gdk/win32/gdkcolor-win32.c gdk/win32/gdkdnd-win32.c
	  gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
	  gdk/win32/gdkfont-win32.c gdk/win32/gdkgc-win32.c
	  gdk/win32/gdkim-win32.c gdk/win32/gdkmain-win32.c
	  gdk/win32/gdkprivate-win32.h gdk/win32/gdkproperty-win32.c
	  gdk/win32/gdkselection-win32.c gdk/win32/gdkwin32.h
	  gdk/win32/gdkwindow-win32.c gdk/win32/gdkwindow-win32.h :
	static correct-ness, underscore prefixing of library internal 
	(applied the undisputed and the win32 part. Of the latter 
	 I'm probably the one who will change it back again, if Owen
	 decides that the Gdk*Impl types should not be private to Gdk)

	* gdk/gdk.def : added the remaining exported functions

2001-10-28  Matthias Clasen  <>

	* gtk/gtkcellrenderertoggle.c, gtk/gtkimcontextsimple.c,
	gtk/gtkimmulticontext.c, gtk/gtkimagemenuitem.c,
	gtk/gtkiconfactory.c, gtk/gtkwindow.c: Documentation updates.

2001-10-28  jacob berkman  <>

	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): do not call
	gtk_settings_get_default() here as that requires an X connection
	(which breaks doc building with no X connection) and is not
	multihead safe
	(gtk_color_selection_init): delay palette loading until realize
	(gtk_color_selection_realize): load the palette, and initialize
	the global palette if it hasn't been already

	* gtk/gtkpreview.c (gtk_preview_class_init): don't initialize the
	visual/cmap fields of klass->info since they are gone
	(gtk_preview_get_visual): just return gdk_rgb_get_visual ()
	(gtk_preview_get_cmap): just return gdk_rgb_get_colormap ()
	(gtk_preview_realize): don't set VISUAL and COLORMAP attributes

	* gtk/gtkpreview.h (struct _GtkPreviewInfo): remove visual and
	cmap fields
	(gtk_preview_get_cmap): mark as deprecated

	* docs/Changes-2.0.txt: add a little note about the GtkPreviewInfo

Sun Oct 28 09:15:39 2001  Owen Taylor  <>

	* gtk/gtkimcontext.h (struct _GtkIMContext): Fixed
	structure to have GObject not GtkObject as
	parent_instance. (Jeff Franks.)

2001-10-27  Matthias Clasen  <>

	* gdk/x11/gdkinput.c: Typo fix.

2001-10-26  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_mark_set_handler): Call
	update_im_spot_location here explicitly
	(gtk_text_view_reset_im_context): don't update the spot location

2001-10-27  Anders Carlsson  <>

	* gtk/gtktreemodel.c (gtk_tree_model_get): Fix typo in docs.
	This fixes #62942.

	* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): 
	Clarify that we're returning a spin button in the _new function.
	This fixes #54097.
Fri Oct 26 20:55:57 2001  Owen Taylor  <>

	* gtk/gtkbutton.c: Revert changes to GTK_RUN_LAST. 
	Unfortunately, people apparently erroneously connect
	to ::clicked for GtkToggleButton and expect
	they know what happened in the default signal handler
	instead of appropriately connecting to notification
	signal ::toggled. When the revolution comes, such
	people will be first against the wall.

	We'll just have to go back to the old less-reliable
	set-it-back hacks for handling model-view check
	buttons and radio buttons. :-(. 

2001-10-27  Hans Breuer  <>

	* gtk/gtkbbox.c gtk/gtkctree.c gtk/gtkhbbox.c
	  gtk/gtkimmulticontext.c gtk/gtklabel.c gtk/gtkliststore.c
	  gtk/gtkmenu.c gtk/gtkpaned.c gtk/gtkrc.c gtk/gtkscale.c
	  gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
	  gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextview.c
	  gtk/gtktreestore.c gtk/gtkvbbox.c : 
	to simplify parsing for exported functions:
	- made implementation signature static, when the local 
	  prototype already was
	- put the functions return value on it's own line
	- added as space between the function name and the 
	  opening bracket

	* gtk/gtk.def : added the remaining exported functions

2001-10-27  Anders Carlsson  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width): 
	Add note about width having to be greater than 0. This fixes

	* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_start): 
	Fix docs to say previous instead of next.
	(gtk_text_iter_backward_word_start): Likewise.
	This fixes bug #62980.

	* gtk/gtkcontainer.c (gtk_container_set_border_width): Mention
	that the valid width is in range 0-65535 pixels. Fixes bug 

	* gtk/gtksizegroup.c (gtk_size_group_set_mode): Remove
	a dot in the documentation. Fixes bug #62632.

	* gdk/x11/gdkmain-x11.c: Replace int and guint with
	long and gulong in some places to make the code 64-bit
	(_gdk_windowing_init_check): Replace gint with gulong.
	This patch was made by George Lebl and fixes bug #62113.

	* tests/testgtk.c (create_range_controls): Don't set a 
	fixed height on the hscale widget. This fixes "bug" 
	(create_window_states): Set up destroy signals so that
	all windows will be destroyed when one is. This fixes 
	bug #58133.

2001-10-26  Anders Carlsson  <>

	* gtk/gtktreeview.c: 
	(gtk_tree_view_class_init): Create new "indent_expander"
	style property.

	(gtk_tree_view_get_arrow_xrange): Add a tree argument
	to the function since the xrange can change depending
	on where in the tree we are. 
	(coords_are_over_arrow): Update function call to
	(gtk_tree_view_draw_arrow): Likewise.
	Call real_{expand|collapse}_row, so that we'll have an

Fri Oct 26 20:13:36 2001  Kristian Rietveld  <>

	* tests/ fixed a small typo

Fri Oct 26 18:27:11 2001  Kristian Rietveld  <>

	* demos/gtk-demo/list_store.c (create_model): Anders
	Carlsson suggested to use G_N_ELEMENTS here

2001-10-26  Sven Neumann  <>

	* gtk/gtkbutton.[ch]
	* gtk/gtkdnd.c: fixed inline comments
	* gtk/gtkgamma.c: gtk_entry_get_text() returns a const gchar.

2001-10-26  Hans Breuer  <>

	* gdk-pixbuf/gdk_pixbuf.def : 
	* gdk/gdk.def : 
	* gtk/gtk.def : updated externals

	* gdk/win32/gdkpixmap-win32.c : removed duplicate of
	gdk_window_lookup implementation. It already was in

	* gdk/win32/gdkproperty-win32.c : made it compile again
	after GdkAtom API change

	* gtk/gtk/ : updated

Wed Oct 24 11:36:33 2001  Owen Taylor  <>

	* (GTK_MICRO_VERSION): Version 1.3.10,
	require GLib 1.3.10.

	* NEWS: updates.

Thu Oct 25 16:27:29 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_gtk_rbnode_rotate_left): Add support for
	invalid nodes.
	 (_gtk_rbnode_rotate_right): Ditto.
	 (_gtk_rbtree_node_mark_invalid): New function.
	 (_gtk_rbtree_node_mark_valid): New function.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): We're a
	GObject, not a GtkObject.
	(gtk_tree_model_sort_row_has_child_toggled): Rewrote to be more
	(gtk_tree_model_sort_row_deleted): ditto.
	(gtk_tree_model_sort_{un,}ref_node): Fix.

	* gtk/gtktreeview.c: Protean incremental reflow support (commented

	* gtk/gtktreeview.h (GtkTreeViewSearchEqualFunc): change char *key
	to const char *key.

	* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper):
	Important 1 line fix to fix a lot of refcounting woes.

2001-10-25  Matt Wilson  <>

	* gtk/gtktextview.c (gtk_text_view_destroy): call
	gtk_text_view_destroy_layout after gtk_text_view_set_buffer (which
	now invalidates) so that we remove our idle functions.
	(gtk_text_view_destroy_layout): remove the first_validate_idle as

	* gtk/gtktexttag.c (gtk_text_tag_class_init): the valid range for
	the 'indent' property is G_MININT to G_MAXINT.  Don't use
	-G_MAXINT for the minimum of the 'rise' property, use G_MININT

2001-10-24  Anders Carlsson  <>

	* gtk/gtktreeview.c: 
	(gtk_tree_view_real_expand_row): add an animate argument
	(gtk_tree_view_real_collapse_row): likewise
	(gtk_tree_view_button_press), (gtk_tree_view_button_release), 
	(gtk_tree_view_collapse_all), (gtk_tree_view_expand_row),
	(gtk_tree_view_collapse_row): update functions that call
	real_{expand|collapse}_row to set the animate argument 
2001-10-24  Alex Larsson  <>

	* gdk/linux-fb/gdkfont-fb.c:
	Update to new Pango APIs

	* gdk/linux-fb/gdkproperty-fb.c:
	Update to new GdkAtom APIs

	* gdk/linux-fb/gdkwindow-fb.c:
	Remove warnings

Mon Oct 22 20:07:21 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_prepend): Fix docs, #62808

Wed Oct 24 22:54:07 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat
	s_path as a child path

Wed Oct 24 20:29:47 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.c: more changes in an attempt to get
	it right. It's not yet ready for general consumption.

	* tests/treestoretest.c: add a button and entry for the new
	iter_change function
	(iter_change): new function, to test
	the row_changed signal implementation of the GtkTreeModelSort

	* tests/testtreesort.c: cleanups, changes to test more features
	of the GtkTreeModelSort at once

2001-10-24  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (clipboard_clipboard_buffer_received):
	remove hack to strip off the bogus newline, since we killed the
	bogus newline; fixes #61779

2001-10-24  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_update_adjustments): don't
	create layout if we didn't have one
	(gtk_text_view_set_buffer): invalidate so we get the idle handlers
	as appropriate, avoids blanking the screen 
	(gtk_text_view_invalidate): new function to do invalidation,
	containing old guts of invalidated_handler

Wed Oct 24 10:29:47 2001  Owen Taylor  <>

	* gtk/gtkalignment.c (gtk_alignment_class_init): Improve
	dreadful tooltips.

Tue Oct 23 17:31:42 2001  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c: Always 
	set window->parent (except or the root window itself); if 
	the window's parent is not a GdkWindow, or is a window of 
	type GDK_WINDOW_FOREIGN, set window->parent to the root parent.

	* gdk/gdkwindow.c (gdk_window_get_toplevels): Don't include
	windows of type GDK_WINDOW_FOREIGN.

2001-10-24  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_backward_chars): if we move to
	the front of a segment, use the "slow" technique for moving
	backward, so we don't mess up the any_segment field in the iter. 
	Fixes #57707

	* tests/testtextbuffer.c: add code to detect #57707, to avoid

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextview.c (popup_targets_received): only sensitize Cut
	if selection contains some editable text, #60975
	(gtk_text_view_scroll_to_iter): remove warning about scrolling
	prior to map; it should actually be OK to do so in many cases, 
	it would be nice to warn about scrolling when many lines have
	height 0, but I don't know what to do about that. Perhaps 
	move part of flush_scroll into this function? comment added 
	to consider this.

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): Correctly keep the same
	text on the top of the screen, considering that the changed region
	may have overlapped the first paragraph. Should fix msw's "text
	widget scrolled to wrong place on map" bug, and probably some
	other scrolling cases as well.
	(gtk_text_view_set_scroll_adjustments): start adjustments at 0.0, 
	instead of some random value

	* gtk/gtktextview.c (gtk_text_view_class_init): actually override
	grab_focus, so #59708 is really fixed

2001-10-24  Anders Carlsson  <>

	* gtk/gtkentry.c: (append_action_signal): Use an image menu item here
	(popup_targets_received): Call append_action_signal with stock items
	* gtk/gtklabel.c: (append_action_signal): Use an image menu item here
	(gtk_label_do_popup): Call append_action_signal with stock items
	* gtk/gtktextview.c: (append_action_signal): Use an image menu item here
	(popup_targets_received): Call append_action_signal with stock items

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): queue a resize here; will
	temporarily slow down the widget a lot, until we figure out how to
	optimize to avoid full redraw everytime we queue a resize.

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextiter.c (test_log_attrs): handle case where offset ==
	0 and char_len == 0, bug #61729

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_forward_cursor_positions): fix
	return value, #61714 (Vitaly Tishkov)
	(gtk_text_iter_backward_sentence_starts): ditto
	(gtk_text_iter_backward_word_starts): ditto
	(gtk_text_iter_forward_word_ends): ditto
	(gtk_text_iter_forward_sentence_ends): ditto
	(gtk_text_iter_backward_cursor_positions): ditto

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_pixel): Apply
	fix from Dov Grobgeld, #61858

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_update_im_spot_location): 
	Update IM spot location at appropriate times, #50626
        (Hidetoshi Tajima)

2001-10-23  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
	on grab focus, unless it's caused by button click, #59708

Tue Oct 23 11:53:00 2001  Owen Taylor  <>


	* gtk/gtkfontsel.[ch]: Make gtk_font_selection_get_font()
	G_CONST_RETURN. (Murray Cumming)	

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_preview_text):

	* gtk/gtkfilesel.c (open_user_dir): Fix bug with freeing
	results of g_get_home_dir().

	* gtk/gtkfilesel.c: Make filesel->fileop_file a duplicated 
	copy. Storing the return from gtk_entry_get_text() is evil.

	* gtk/gtkcombo.c gtk/gtkcellrenderertext.c gtk/gtkbindings.c 
	gtk/gtkfilesel.c gtk/gtkfontsel.c gtk/gtkimmodule.c 
	gtk/gtkobject.c gtk/gtkoldeditable.c gtk/gtktreedatalist.c
	gtk/gtksignal.c: Add const.

	* gdk/x11/gdkkeys-x11.c (get_direction): Add missing const.

	* gtk/gtktreeview.c: Namespace object data keys to be safe, even 
	if we are setting them on private widgets.

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): 
	Duplicate entry->text before setting it as object data.

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_place_cursor): don't back
	up a char from the end iterator, fixes #61859 ("can't put cursor
	at the end of the buffer")

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_line_end): fix this
	to work with delimiters other than newline.

	* tests/testtextbuffer.c: add some tests for get_chars_in_line,

	* gtk/gtktextiter.c (gtk_text_iter_get_chars_in_line): fix for the
	last line, since the newline is no longer counted.
	(gtk_text_iter_get_bytes_in_line): ditto

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_insert): add assertion that 
	#58290 would trigger if it reappeared, I think

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment):
	add temporary code to dump btree contents on assertion failure
	described in #62656
	* gtk/gtktextbtree.c (ensure_end_iter_segment): add some
	assertions that we're getting the right end iter segment

	* gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment):
	verify that we aren't on the end iterator after moving 
	forward one segment - fixes return value in an obscure case. 
	Also, some trivial code cleanup/rearranging.
2001-10-22  Havoc Pennington  <>

	* gtk/gtktextlayout.h: add a #error unless you define
	GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so people don't use this accidentally

        * gtk/gtktext*.c: #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API as appropriate.
2001-10-22  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_get_border_window_size): fix 

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_get_window_type): fix 

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_set_border_window_size): Fix 

Mon Oct 22 11:47:47 2001  Owen Taylor  <>

	* gtk/gtklabel.c: Add cursor-position, selection-bound 
	properties. (#62148, reported by Padraig O'Briain)

	* gtk/gtkentry.c (gtk_entry_class_init): Rename text_position
	to cursor_position. (1.3.x addition, text_position is an awful
	name.) Make cursor_position read-only to avoid sticky questions
	of interaction with selection_bound. (#62636, reported by
	Padraig O'Briain)

Mon Oct 22 16:25:12 2001  Owen Taylor  <>

	Fixing popup menus to have "Paste" sensitized correctly. Original
	patches from Damian Ivereigh, much mangled.

	* gtk/gtkselection.c: Add functions gtk_selection_data_get_targets(),
	gtk_selection_data_targets_include_text(). (#60854)

	* gtk/gtkclipboard.c: Add a simple do-it-all non-async "check if
	the clipboard has text" function gtk_clipboard_wait_is_text_available.

	* gtk/gtkentry.c: Only enable the paste item if the clipboard
	contains text. (#60973)

	* gtk/gtktextview.c: Only enable the paste item if the clipboard
	contains text. (#60975)

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): rip out
	"height_lines" and "width_columns" properties, it doesn't make
	sense to set the size request on a text view really. #62103

Mon Oct 22 15:17:05 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_iter_depth): Realized
	g_node_depth is broken, and that it's not worth being consistent
	with it.

2001-10-22  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_set_line): Clarify behavior in
	docs, #61777
	(gtk_text_iter_forward_search) (gtk_text_iter_backward_search):
	change the two boolean args to a flags field, so we can extend 
	to add case insensitive, regexp searches later. #61852

Mon Oct 22 15:07:17 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_iter_depth): update docs to
	reflect reality, #62810

Mon Oct 22 14:08:26 2001  Jonathan Blandford  <>

	* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.

	* gtk/gtktreeview.c (size_allocate): Move to a different drawing
	system.  Instead of having a window the size of the tree, we have
	a window the size of widget->allocation, and simply draw with the
	(coords_are_over_arrow): ditto.  Move to window coordinates.
	(do_prelight): ditto
	(do_unprelight): ditto

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
	Minor fix from Kristian Rietveld to fix unsorted case.

2001-10-22  jacob berkman  <>

	* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to
	a PIXMAP cell (fixes crash when using PIXTEXT cells)

Sat Oct 20 18:58:25 2001  Owen Taylor  <>

	* gtk/gtkentry.h: Deprecate gtk_entry_set_editable.
	(#58768, Vitaly Tishkov)
	* gtk/gtkobject.h: Deprecate with abandon. 
	(#61942, Vitaly Tishkov, Matthias Clasen)

	* gtk/gtksignal.h: Deprecate everything.

	* gtk/gtkmain.h (GTK_PRIORITY_INTERNAL): Deprecate
	all GTK_PRIORITY_* defines other than GKT_PRIORITY_RESIZE>
	(#61942, Matthias Clasen)

	* gtk/gtkstyle.h: Deprecate gtk_draw_*. (#61140,
	Havoc Pennington)

	* gtk/gtkitemfactory.h: Deprecate compat functions
	for GtkMenuFactory code. (#62071)

	* gdk/gdkdrawable.h: Deprecate gdk_draw_string,
	gdk_draw_text,gdk_draw_text_wc. (#62071)

Mon Oct 22 10:12:08 2001  Owen Taylor  <>

	* gdk/gdk.c docs/Changes-2.0.txt (gdk_threads_init): Don't call
	g_thread_init(), we don't want to link to -lgthread if we don't
	have to.

Mon Oct 22 08:51:02 2001  Owen Taylor  <>

	* gdk/gdk.[ch] (gdk_threads_init) docs/Changes-2.0.txt: 
	Add a function, gdk_threads_init() that must be explicitely 
	called to enable the GDK thread mutex.

2001-10-22  Jakub Steiner <>

	* gtk/stock-icons/stock_stop.png: no body parts
Sun Oct 21 23:27:00 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix
	problem with g_return_if_fail return value.

 	* gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the 
	virtual atom code from the gdk-multihead branch, removing the per-display
	part. Virtualizing atoms needs to be done now to prevent compat
	breakage in direct Xlib accessing code in the future. (#62208)
 	* gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export
 	gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom().
	* gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom
	an opaque pointer type so the compiler catches attempts
	to mingle it with X atoms.

	* gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c,
	  gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c, 
	  gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c}
	Fix up for above atom changes.

	* gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we
	now have the ability to add custom predefines.

	* gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
	to gtk_clipboard_get().

	* gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up
	for GdkAtom => pointer change.

	* gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined
	atoms, fix for GdkAtom => pointer change.

Mon Oct 22 00:26:46 2001  Kristian Rietveld  <>

	* gtk/gtkspinbutton.c: remove ARROW_SIZE constant, use
	new function spin_button_get_arrow_size() instead.

	* gtk/gtkstyle.c (gtk_default_draw_arrow): actual size of
	arrow was hardcoded, it's now variable.

	Fixes bug #50200

Sat Oct 20 18:16:04 2001  Manish Singh  <>

	* gtk/gtktreeview.c (gtk_treeview_get_property): PROP_MODEL and
	PROP_EXPANDER_COLUMN can be NULL, so don't do a object cast check
	for those

Sat Oct 20 19:38:16 2001  Owen Taylor  <>

	* demos/*.c demos/gdk-pixbuf/*.c: Eliminate gtk_signal_*
	in favor of g_signal_*, gtk_object_* in favor of 

Fri Oct 19 18:35:22 2001  Manish Singh  <>

	* gtk/{gtkentry.c,gtktextview.c}: since GtkIMContext derives directly
	from GObject now, we have to use the g_object_* functions, not

Fri Oct 19 22:46:54 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.[ch]: we probably have rows_reordered
	nailed down now (this code is not yet ready for general consumption)

Fri Oct 19 13:44:51 2001  Manish Singh  <>

	* gtk/gtktreeview.c (gtk_treeview_scroll_to_cell): correct docs
	for use_align

Fri Oct 19 15:34:06 2001  Owen Taylor  <>

	* gtk/gtk.h gtk/ Export GtkIMContextSimple publically. (#61862)

Fri Oct 19 15:08:30 2001  Owen Taylor  <>

	* gtk/{gtkimcontext.c,gtkimcontextsimple.c,gtkimmulticontext.c}
	imipa.c,imthai-broken.c,imviqr.c}: Make GtkIMContext derive from
	GObject, not GtkObject. (#62621)

Fri Oct 19 12:49:12 2001  Owen Taylor  <>

	* tests/testsocket.c: Remove now useless include of unistd.h,
	fix wrong argument gtk_socket_steal. (Hans Breuer, #58541)
Fri Oct 19 12:24:32 2001  Owen Taylor  <>

	* gdk/linux-fb/gdkfont-fb.c: Fix up for change to 
	Pango font API. #61933. (Untested, even for compilation.)

Fri Oct 19 11:24:58 2001  Owen Taylor  <>

	* gtk/gtkmain.[ch] (gtk_disable_setlocale): Actually
	export gtk_disable_setlocale(). (Caught by Sven Neumann)

2001-10-18  Havoc Pennington  <>

	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_lookup): fix compilation

2001-10-18  Havoc Pennington  <>

	* gtk/gtkbutton.c (gtk_button_class_init): Change button signals
	to GTK_RUN_LAST, #50239

2001-10-18  HideToshi Tajima  <>

	* gtk/gtkimmodule.c (match_locale):
	Support "*" for all locales with least priority
	when to select default im module, #58201

2001-10-18  Matthias Clasen  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): 
	Fix docs. (#61976)
	* gtk/gtkplug.c (gtk_plug_get_id) : Fix docs. (#62144)

	* gtk/gtkliststore.c: Fix docs. (#61672, #61675)

        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)

        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
	Don't restrict the width of the spinbutton entry field 
	to 10 digits. (#58681)

Thu Oct 18 14:58:14 2001  Jonathan Blandford  <>

	* tests/testtreeflow.c: new test program for the tree.

Thu Oct 18 14:22:10 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_remove): fix small bug
	reported by (Oleg Maiboroda), #62600

2001-10-18  Michael Meeks  <>

	* gtk/gtkentry.c (gtk_entry_set_property),
	(gtk_entry_get_property): impl 'text'
	(gtk_entry_class_init): add the 'text' prop.
	(gtk_entry_insert_text): notify 'text' changed.
	(gtk_entry_delete_text): ditto.

2001-10-17  Matthias Clasen  <>

	* gtk/gtkdnd.c, gtk/gtkclipboard.c, gdk/x11/gdkmain-x11.c:
	Documentation updates.

Wed Oct 17 15:17:20 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_real_insert_text): Fix mistake
	in truncating length of text to MAX_SIZE. (Found by 
	Padraig O'Briain, #62055)

Tue Oct 16 17:04:44 2001  Owen Taylor  <>

	* gtk/gtkwidget.c: Rename ACTIVATE_MNEMONIC enum to
	MNEMONIC_ACTIVATE; signal was changed a long time

	* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale): 
	Fix wrong return statement. (Reported by HideToshi
	Tajima and others.)

	* gtk/gtklabel.h (struct _GtkLabelClass): Remove
	left over select_all vfunc.

Tue Oct 16 15:50:03 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Add
	a utility function to translate coordinates relative to
	one widget's allocation to coordinates relative to another
	widget's allocation.

	* gtk/gtkradiobutton.c: Add a special ->focus() implementation
	 - only accepts external focus if there is no active
   	   member of the group or the button is active.
	 - makes arrow keys move the active button as well
	   as the focus
	 - make tab tab out directly.
	This makes a radio button group act as a single focus location.
	* gtk/gtkcontainer.c (gtk_container_focus): Remove prefiltering -
	it was only a small optimization that didn't matter and made
	things more complicated.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): Get rid of custom
	sorter for FOCUS_TAB as we did for the other focus directions,
	sort by center of widgets, not upper-left corner. (Shouldn't
	matter in general.)

	* gtk/gtkcontainer.c: Restructure code to remove duplicate code
	from the different types of focusing: encapsulate sorting the
	widgets for the focus direction into one routine
	(gtk_container_focus_sort()) and then share the work of moving the
	focus between the different focus directions.

	* gtk/gtkcontainer.c: Fix bug where arrow navigation might not
	work correctly with focus chains containing non-immediate
	children. Sorting was being done using allocation coordinates for
	each widget in the focus chain, and if there were intermediate
	window-widgets, these allocations would not be in the same
	coordinate system.

Tue Oct 16 15:12:26 2001  Jonathan Blandford  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_mnemonic_activate): add a
	mnemonic_activate function to option menu.

2001-10-15  Murray Cumming <>

	* gtk/gtkinputdialog.c, gtk/gtktoolbar.c,  gtk/gtkwidget.c:
	  Corrected the type names used in some calls to g_signal_new().
Sat Oct 13 07:09:30 2001  Tim Janik  <>

	* gtk/gtkbindings.c (gtk_binding_set_add_path): to compare pattern
	specs, use g_pattern_spec_equal() instead of direct field accesses.
	upon compressing two equal paths of the same type, the resulting
	priority has to be the maximum.
	* gtk/gtkenums.h (enum): take GTK_PATH_PRIO_MASK out of the
	GtkPathPriorityType enum and make it a macro.

2001-10-12  Matthias Clasen  <>

	* gtk/gtkwidget.c: Fix some doc comments.

Fri Oct 12 11:39:20 2001  Joshua N Pritikin  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): Fix to work
	on empty models.

2001-10-11  Matthias Clasen  <>

	* gtk/gtkcolorsel.c, gtk/gtkwidget.c, gtk/gtktreeview.c:
	Remove stale gdk backend includes.
2001-10-10  Michael Meeks  <>

	* gtk/gtkcombo.c (gtk_combo_class_init): add enable_empty
	and value_in_list properties.
	(gtk_combo_set_value_in_list): notify change.
	(gtk_combo_set_property, gtk_combo_get_property): impl. prop.

2001-10-11  James Henstridge  <>

	* add AS=CC and ASFLAGS=CFLAGS substitutions so
	that gtk+ can be built with automake 1.5 while not breaking
	things for automake 1.4.

Wed Oct 10 12:48:38 2001  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, "").

	* gtk/gtkmain.c (gtk_disable_setlocale): Add function
	to disable calling setlocale (LC_ALL, "").

	* gtk/gtkmain.c (gtk_set_locale): Indicate in the 
	docs that this function is not typically useful.

	* gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}: 
	Automatically initialize GDK for the current locale
	on gdk_init(). Don't reset locale to C when
	XSupportsLocale() fails.

	* gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove
	useless checks for UTF-8 locale breakage that mattered
	only for X.

	* examples/calendar/calendar.c
	tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to 

	* gtk/gtkiconfactory.c gtk/gtkitemfactory.c:
	gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline.

Wed Oct 10 21:13:46 2001  Kristian Rietveld  <>

	* gtk/gtktreemodel.[ch]: added gtk_tree_model_get_iter_from_string().

	Fixes bug #61904

Wed Oct 10 01:19:04 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_iter_is_selected):
	new function, #61923
	(gtk_tree_selection_path_is_selected): Ditto

Tue Oct  9 17:40:24 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_finalize): We're a gobject,
	not a GtkObject.  Thanks andersca.

	* gtk/gtkliststore.c (gtk_list_store_finalize): ditto

Tue Oct  9 14:50:51 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_model_sort_column_changed): fix broken code.

2001-10-08  Matthias Clasen  <>

	* gtk/gtkselection.c: s/succesfully/successfully/g

2001-10-08  Havoc Pennington  <>

	* demos/gtk-demo/stock_browser.c: remove unused enum

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	pass the current selection state of the node in to the user
	selection func

2001-10-06  Matthias Clasen  <>

	* gdk/x11/gdkx.h (GDK_CURSOR_XCURSOR): Replace reference to 
	non-existent function gdk_x11_cursor_get_xid 
	by gdk_x11_cursor_get_xcursor.

Fri Oct  5 20:50:00 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_iter_has_child): improve

	* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): ref and
	unref nodes, #okay61676

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_sort): we listen
	to the property; no need to clear the other columns.  Also, we go
	to 'unsorted' if the model supports it.

2001-10-05  Sven Neumann  <>

	* demos/testpixbuf-save.c
	* demos/testpixbuf-scale.c: simple tests for the new PNG tEXt chunk 

Fri Oct  5 19:06:07 2001  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_leave_notify): should
	destroy the search dialog

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	added check to prevent creation of a search dialog if there's
	already one around

	* gtk/gtktreeview.c: Define GTK_TREE_VIEW_SEARCH_DIALOG_KEY, and use
	it instead of "search-dialog" (when getting/setting the search dialog

2001-10-05  Jakub Steiner <>

	* gtk/stock-icons/stock_broken_image.png: broken images icon

2001-10-04  Havoc Pennington  <>

        Fix #56586
	* gtk/gtksettings.c (gtk_settings_class_init): move the F10
	accelerator setting here...

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): ...from over here,
	because we try to use it when a menu bar hasn't necessarily been 

2001-10-03  Havoc Pennington  <>

	* tests/testtextbuffer.c (logical_motion_tests): fix test case, 
	it previously verified incorrect behavior

        Fixes for #61565
	* gtk/gtktextiter.c (gtk_text_iter_set_line): don't return lines
	off the end
	(_gtk_text_btree_get_iter_at_line_char): don't return lines off
	the end
	(_gtk_text_btree_get_iter_at_line_byte): don't return lines off
	the end
	(gtk_text_iter_forward_lines): if on the last line, move to end of

	* gtk/gtktextbtree.c (_gtk_text_btree_last_could_contain_tag):
	don't return a line off the end

Wed Oct  3 23:47:25  Kristian Rietveld  <>

	* gtk/gtkeditable.[ch]: move insert_text and delete_text virtual
	functions to do_insert_text and do_delete_text, add signals
	insert_text, delete_text and changed

	* gtk/gtkentry.[ch]: remove signals insert_text, delete_text
	and changed. Updates to match new situation.

	* gtk/gtkspinbutton.c: updates to match new situation

	* gtk/gtkoldeditable.h: remove signals changed, insert_text
	and delete_text

	* gtk/gtkoldeditable.c: updates to match new situation

	* gtk/gtktext.c: updates to match new situation

	Fixes bug #59803

2001-10-03  Havoc Pennington  <>

	* gtk/gtktextiter.c (test_log_attrs): allow testing the end 

	* gtk/gtktextbuffer.c (compute_log_attrs): update for pango

	* tests/testtextbuffer.c (logical_motion_tests): updates

2001-10-03  jacob berkman  <>

	* gtk/gtkwidget.c (gtk_widget_style_get_property): 
	* gtk/gtkstyle.c (_gtk_style_peek_property_value): 
	* gtk/gtksettings.c (apply_queued_setting): 
	* gtk/gtkmain.c (gtk_init_check): 
	* gtk/gtkcontainer.c (gtk_container_child_get_property):

Wed Oct  3 20:29:29 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.[ch]: preparation for surgery
	* tests/testtreesort.c: ditto

2001-10-02  Havoc Pennington  <>

        Throughout: assorted docs
	* gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken,
	gdk_window_set_geometry_hints() should be used instead.

	* gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and
	document them

	* gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't
	seem to exist in any .c files

	* gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs, 
	g_return_if_fail (pixel < colormap->size).

Wed Oct  3 10:42:54 2001  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow
	NULL for @target_list to mean, use
	gtk_drag_dest_get_target_list (widget).

	* gtk/gtkdnd.c (gtk_drag_finish): Fix problem where
	drop could hang when calling gtk_drag_finish with 
	success == FALSE and del == TRUE.

	* gtk/gtkdnd.c (gtk_drag_dest_drop): Fix problem where
	drops without a matching target found would propagate
	to the parent widget rather than being rejected.

	* gtk/gtktextview.c (gtk_text_view_drag_data_received): 
	Use text_view->dnd_mark instead of mark name to be
	consistent with the rest of the code.

	* gtk/gtktextview.c (gtk_text_view_drag_motion): Make
	pendantically correct for a drop-only-in-some-places
	widget. (Check whether you can insert in drag_drop,
	not just in drag_motion ... matters in theory, and
	for Motif drag and drop in practice.)

	* gtk/gtkentry.c (gtk_entry_drag_drop): Patch from 
	Damian Ivereigh to not allow drops on non-editable
	entries. (#61124)

	* gtk/gtkentry.c (gtk_entry_motion_notify): Don't allow
	text to be moved from a non-editable entry.
2001-10-03  James Henstridge  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width):
	s/width/fixed_width/ in order to get things to compile.

Wed Oct  3 00:37:09 2001  Jonathan Blandford  <>

	* gtk/gtkcelleditable.c: docs

	* gtk/gtktreemodel.h: more docs.

2001-10-02  Havoc Pennington  <>

	* gdk/x11/gdkwindow-x11.c: docs

	* tests/testtextbuffer.c (logical_motion_tests): add sentence
	boundary tests

Tue Oct  2 20:18:32 2001  Kristian Rietveld  <>

	* demos/gtk-demo/ add editable_cells.c,
	list_store.c and tree_store.c

	* demos/gtk-demo/appwindow.c: remove tearoff item from
	File menu, put menubar and toolbar in handle boxes.

	* demos/gtk-demo/ various changes to support trees

	* demos/gtk-demo/main.c: various changes to support trees

	* demos/gtk-demo/stock_browser.c: changed name of demo
	to Stock Item and Icon Browser, so doesn't see
	it as child

	* demos/gtk-demo/editable_cells.c: new file/demo
	* demos/gtk-demo/list_store.c: new file/demo
	* demos/gtk-demo/tree_store.c: new file/demo

Mon Oct  1 16:05:44 2001  Owen Taylor  <>

	* gtk/gtkrc.c gtk/gtksettings.c: 
	g_string_printfa => g_string_append_printf.

Mon Oct  1 16:08:23 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_class_init): add a finalize
	and destroy handler.

	* gtk/gtktreestore.c (gtk_list_store_class_init): ditto, #59963

	* gtk/gtktreeview.h (struct _GtkTreeViewClass): Add
	'start_editing' flag to select_cursor_row.  Bug spotted by Manish
	Singh <>.

2001-10-01  Matthias Clasen  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): replace
	g_scanner_add/remove_symbol by g_scanner_scope_add/remove_symbol.

	* gtk/gtkrc.c (gtk_rc_parse_any): here as well.

Mon Oct  1 14:07:02 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): change
	scroll_to_cell delayed code to happen in size_allocate.

	* gtk/gtkstyle.c (gtk_default_draw_expander): change
	prelight/normal arrow drawing.

	* gtk/gtktreedatalist.c: Change compare func to use g_utf8_collate

	* gtk/gtktreestore.c: refactor.

Sun Sep 30 22:15:52 2001  Manish Singh  <>

	* gtk/gtkcheckbutton.c (gtk_check_button_size_allocate): Applied
	patch from Soeren Sandmann <>. Vertically
	centers the child in relation to the to indicator height.

Sun Sep 30 15:11:59 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_remove): Make ITERS_PERSIST

Sun Sep 30  07:01:42 2001 CEST <>

	* gtk/gtkcellrenderertext.c: I reverted back to old "weight"
	property code using g_param_spec_int and changed from
	g_value_get_enum to g_value_get_int instead. Probably a better way
	to fix the problem :-)

Sun Sep 30  05:31:32 2001 CEST Mikael Hermansson <>

    * gtk/gtkcellrenderertext.c changed "weight" property type from 
      g_param_spec_int to g_param_spec_enum.

Sat Sep 29 12:25:26 2001  Manish Singh  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): typo
	fix: s/Wether/Whether/ in reorderable property description

Thu Sep 27 16:46:36 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): only
	start editing when you select with a keyboard.

	(gtk_tree_view_button_press_event): much more graceful now.

	* gtk/gtkstyle.c: Draw togglebutton better.

2001-09-26  Havoc Pennington  <>

	* demos/gtk-demo/dialog.c (interactive_dialog_clicked): add demo
	of passing non-stock label in to gtk_dialog_new_with_buttons

	* gtk/gtktextview.c (cursor_blinks): disable cursor blink when
	debugging updates

	* gtk/gtktextiter.h: comment about how GtkTextIter struct contents
	are private

	* gtk/gtkbutton.c (gtk_button_new_from_stock): if stock ID doesn't
	exist, fall back to mnemonic label, not plain label, bug #61184
Wed Sep 26 19:48:01 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_set_valist): Stop being
	stupid and emitting the signal every time.

	* gtk/gtkliststore.c (gtk_list_store_set_valist): ditto

Wed Sep 26 16:35:59 2001  Owen Taylor  <>

       Patch from Mark McLoughlin <> (#61233)

       * contrib/gdk-pixbuf-xlib/ install

Wed Sep 26 16:15:25 2001  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_set_tab_label): Fix
	problem where menmonic wasn't removed properly when
	setting a label when there already is a label.
	Also, handle setting the tab label back to the same
	value. (#61160, #61161)

	* gtk/gtkentry.c (paste_received): Patch from 
        Damian Ivereigh to replace selection if there is 
	one. (#61121)

2001-09-25  Darin Adler  <>

	* tests/.cvsignore: Ignore new test program.

2001-09-25  Havoc Pennington  <>

	* gtk/gtktextview.c: fix for #50317
2001-09-25  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): use 
	* gtk/gtktextbuffer.c: use gtk_text_iter_can_insert

	* gtk/gtktextiter.c (find_line_log_attrs): fixes, #57611, #57613
	 (gtk_text_iter_can_insert): new function to fix #60282, should
	also fix msw's "can paste into empty buffer" bug.

	* gtk/gtktexttag.c (gtk_text_tag_event): change type check for 
	"event object,"  #59091

	* gtk/gtktextbtree.c: indentation fixes

	* gtk/gtktextiter.c (find_by_log_attrs): fixes

Tue Sep 25 12:41:17 2001  Owen Taylor  <>

	* Version 1.3.9, interface age 0, binary age 0.

	* Require GLib-1.39, Pango 0.20, Atk 0.5.

	* NEWS: Updates.

Mon Sep 24 11:59:09 2001  Owen Taylor  <>

	* gtk/gtkstyle.[ch] (_gtk_draw_insertion_cursor): Shared
	function for drawing cursors between gtkentry/gtklabel/gtktextview.
	Should this be public? It has a bit of an odd interface, but
	custom editing widgets probably should be using it.
	Function will draw with wider width for taller cursors, and
	draws a little indicator arrow to indicate directoin for split 

	* gtk/gtktextview.c: Add a "cursor_color" property.

	* gtk/gtktextdisplay.[ch]: Add a cursor_gc parameter to

	* gtk/gtkentry.c gtk/gtklabel.c gtk/gtktextdisplay.c: Use

Tue Sep 25 11:22:23 2001  Owen Taylor  <>

	* gtk/gtkcellrenderertext.c gtk/gtktexttag.c: Restore
	the behavior where you could turn family_set (etc) back on
	and get back the values you had before.

	* demos/gtk-demo/stock_browser.c (id_to_macro): Use
	g_string_ascii_up() rather than looping through the
	string ourself.

Tue Sep 25 15:32:44 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_set_cell_renderer): Removed
	(gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0, 1.0);  Fixes 61012.

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Fixed #61012
	Patch from Detlef Reichl

2001-09-25  Havoc Pennington  <>

	* tests/testtextbuffer.c (line_separator_tests): Add tests for
	line separators, addresses bug #57428

Tue Sep 25 12:34:42 2001  Jonathan Blandford  <>

	* gtk/gtkentry.c: Make a GtkCellEditable
	(get_widget_window_size): Change to let it honor size_allocate
	when a CellEditable.

	* gtk/gtktreeview.c: M-x clean-line-ends.  Lots of focus and
	editable changes.
	(gtk_tree_view_set_cursor): Now you can set the cursor
	horizontally, as well as start editing.

	* gtk/gtkstyle.c (gtk_default_draw_check): changing toggle drawing
	code to look more like the other check buttons.

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
	Change the way we calculate cell size.

	* gtk/gtkmarshal.list (VOID:STRING,STRING): new marshaller.

	* demos/gtk-demo/sizegroup.c: Add mnemonics.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): Fix docs.
	Fix logic.

	* gtk/gtkcellrenderertext.c: Change to be editable.

	* gtk/gtkcellrenderertoggle.c: Change to be activatable.

	* test/testtreesort.c: Fix misspelling

	* test/testreecolumns.c: Add mnemonics.

	* test/testreeedit.c: New test program.

2001-09-25  Havoc Pennington  <>

	* gtk/gtkwindow.c: Put notes in gtk_window_set_has_frame(),
	etc. docs about how these are not going to do what you want for 
	the X/win32 ports. Futile attempt to avoid a FAQ...

2001-09-24  James Henstridge  <>

	* gtk/gtkmarshal.list (VOID): add marshal function types.

	* gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
	(gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
	with no-op copy/free functions.

	* gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
	GtkCTreeNode get_type function.

2001-09-24  Havoc Pennington  <>

	* gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
	Get rid of the newline-that-could-not-be-deleted; buffers may 
	now be zero-length. Much easier to fix than expected, once 
	I figured out the right way to do it. However, there are 
	various subtle bugs introduced by this that will have to get 
	sorted out. Please use bugzilla.

Mon Sep 24 15:09:08 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): Don't wait for a
	response back from the window manager if our size hasn't changed 
	since we won't get a response back from the window manager;
	there was code in there to do this, but it was in the wrong
	place so if the hints change and the size didn't we'd expect
	a response.

	Also, optimize the position-only-changed case by running
	the resize queue immediately, and clean up some comments
	for the changes.

Mon Sep 24 12:48:25 2001  Owen Taylor  <>

	* gtk/gtknotebook.h: Add a compat macro that got lost.

	* gtk/gtktreestore.c: Doc fixes.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
	leak for windows that receive events after being destroyed.
	(#60863, Joshua N. Pritikin)

	* gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
	rather than gtk_container_queue_resize().

	* gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
	gtk_container_queue_resize, gtk_container_queue_resize_widgets,
	gtk_container_child_composite_name. (#60217.)

2001-09-22  Hans Breuer  <>

	* gtk/gtkmenu.h : fix compat macros for gtk_menu_<prepend|insert>

Sat Sep 22 16:50:34 2001  Kristian Rietveld  <>

	* gtk/gtktexttag.c (gtk_text_tag_set_property): (case PROP_WEIGHT):
	weight value should be an int

Sat Sep 22 15:17:41 2001  Kristian Rietveld  <>

	* gtk/gtkmenu.c (gtk_menu_select_item): move most code
	to gtk_menu_scroll_item_visible(). Only call
	gtk_menu_scroll_item_visible() if the menu widget has been
	realized. Fixes bug #55310.

2001-09-21  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass
	key press to IM context if cursor isn't in an editable location;
	bug #58425, patch from Hidetoshi Tajima

2001-09-21  Havoc Pennington  <>

        Bug #60862
	* gtk/gtktextbtree.c (gtk_text_btree_node_destroy): 
	(_gtk_text_btree_unref): fix up mark memory management

	* gtk/gtktextmark.c (mark_segment_delete_func): ditto

2001-09-20  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): don't
	try to handle alignment here, because it's done by PangoLayout
	after we set the layout width. Fix from Dov.

2001-09-21  Hans Breuer  <>

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

	* gtk/gtkmain.h : define get_gtk_win32_directoty () 
	* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
	Also handle that Win32 pathes cann't be hard-coded	

	* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
	module, themes etc directory calculations

	* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
	>16 bit right. The size limit within Win9x appears _not_ to be 32767
	but slightly smaller ...

	* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid 
	>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()

	* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()

	* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
	handling. I'm not sure if it is better now, but at least not worse

	* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup

	* gdk/win32/gdkwin32.h : reflect recent API restrictions

2001-09-21  Matt Wilson  <>

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set
	radio_menu_item->group to NULL after removing it from the list, as
	it is no longer in the group. (#60869)

	* gtk/gtkradiobutton.c (gtk_radio_button_destroy): likewise

2001-09-20  Havoc Pennington  <>

	(ATK_REQUIRED_VERSION): add variables and checks for specific 
	versions of dependencies. Previously we didn't verify the 
	Pango or ATk versions.

2001-09-09  Havoc Pennington  <>

	* gtk/gtktextiter.c: fool with indentation
	(gtk_text_iter_in_range): add g_return_if_fail

Thu Sep 20 17:45:54 2001  Joshua N Pritikin  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Fix
	ref count on new tag to be 1.  Update doc.  (#60836)

Thu Sep 20 16:20:47 2001  Owen Taylor  <>

	* gdk/gdkrgb.c (gdk_rgb_allocate_images): Remove unnecessary
	call to gdk_image_new_bitmap(). (#59094, reported by
	by Sven Neumann)

Thu Sep 20 15:31:35 2001  Owen Taylor  <>

	* gtk/gtkcalendar.c (gtk_calendar_init): Use the current
	day, as well as the current month and year.
	(#59047, reported by Vitaly Tishkov)

Thu Sep 20 15:10:30 2001  Owen Taylor  <>

	* gtk/gtkdialog.c (gtk_dialog_init): Automatically set
	set dialogs to GTK_WIN_POS_CENTER_ON_PARENT. (#60554)
Thu Sep 20 18:00:56 2001  Kristian Rietveld  <>

	* tests/testgtk.c (struct OptionMenuItem): get rid of it,

	(build_option_menu): add func argument, connect ::changed
	signal to option menu instead of connecting the ::activate
	signal to the menu items,

	(toplevel): get rid of RADIOMENUTOGGLED macro,

	(list_toggle_sel_mode), (clist_toggle_sel_mode),
	(ctree_toggle_line_style), (ctree_toggle_expander_style),
	(ctree_toggle_justify), (ctree_toggle_sel_mode),
	(progressbar_toggle_orientation), (progressbar_toggle_bar_style):
	use gtk_option_menu_get_history() instead of RADIOMENUTOGGLED,

	(notebook_type_changed): merged standard_notebook(),
	notabs_notebook(), scrollable_notebook() and borderless_notebook()
	into notebook_type_changed()

	(create_list), (create_ctree), (create_notebook),
	(create_progress_bar): changed OptionMenuItem arrays into
	gchar * arrays. Removed "Extended" item where used.

	Fixes bug #59885

2001-09-20  Sven Neumann  <>

	* gdk/
	* gtk/
	* gtk/gtkselection.c
	* gtk/gtktreeview.c
	* gtk/gtkwindow.c: removed remaining traces of nanox GDK backend.

Thu Sep 20 11:19:42 2001  Owen Taylor  <>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): Add
	a missing pango_layout_iter_free ().

Thu Sep 20 11:03:51 2001  Owen Taylor  <>

	* gtk/gtkobject.c gtk/gtklist.c gtk/gtkplug.c gtk/gtksocket.c
	gtk/gtktreemodelsort.c gtk/gtktreeview.c: Small warning cleanups.

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_get_group): Change
	the function definition so we don't accidentally rely on
	the compat #define from gtk_radio_menu_item_group.
	(#60782, Jeff Franks)

Thu Sep 20 16:51:02 2001  Kristian Rietveld  <>

        * gtk/gtkwindow.c (gtk_window_get_frame_dimensions): returned
        incorrect values for top, right and bottom due to cut-and-paste
        bug. Pointed out by Vitaly Tishkov, fixes bug #59008

Wed Sep 19 17:59:27 2001  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set
	_NET_WM_PID and WM_CLIENT_MACHINE properties on each
	window, not just on the client leader. (#58463)

Wed Sep 19 17:28:47 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_new): Add missing cast.

	* gtk/gtkmenuitem.[ch] gtk/gtkmenushell.c: Underscore prefix
	non-public _gtk_menu_item_set_placement.

	* gtk/gtktooltips.h: Deprecate gtk_tooltips_set_delay().

Wed Sep 19 16:16:38 2001  Owen Taylor  <>

	* gdk/win32/gdkcolor-win32.c gdk/x11/gdkcolor-x11.c 
	Fix propagated (flags && GDK_COLOR_WRITEABLE) typo.

Wed Sep 19 16:12:16 2001  Owen Taylor  <>

	* gdk/gdkpixbuf-render.c: Allow -1 for width/height
	to mean "width/height of pixbuf" (Patch from Matthias Clasen,

Wed Sep 19 16:01:27 2001  Owen Taylor  <>

	Patch from Frank Belew #59037 for Solaris compilation.

	* gtk/maketypes.awk: Change syntax slightly for a call
	to sub(), apparently making awk on Solaris happier.

	* gtk/gtktreeview.c: Remove C++ comments.

Wed Sep 19 15:46:29 2001  Owen Taylor  <>

	* gtk/gtkwindow.c: Add xgettext:no-c-format comment to
	to handle '99% of the time. (#60473, reported by Christian Rose)

	* gtk/gtkwidget.h: Remove prototype for gtk_widget_get_usize()
	which no longer exists. (#60379, reported by Vitaly Tishkov)

Wed Sep 19 11:06:24 2001  Tim Janik  <>

	* Released 1.3.8.

	* gdk/ kill EXTRA_DIST clearing.
Wed Sep 19 02:50:40 2001  Tim Janik  <>

	* demos/ ($(testpixbuf_OBJECTS)): don't use BUILT_SOURCES
	as its broken in automake 1.4, add explicit object rule to
	generate this.
	* gdk-pixbuf/ fix maintainer and normal cleanfiles.
	get rid of uneccessary stamps, group stuff more logically, and build
	sources due to object rules. fix srcdir!=builddir.

Tue Sep 18 20:47:16 2001  Owen Taylor  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Fix 
	incorrect parameter to compute_double_length
	(#58680, patch from Matthias Clasen)

	Fixes for compilation with Forte cc. (#59734, Derek Rafter)

	* gtk/gtkwindow.h gtk/gtksizegroup.h: Remove extra ;.

	* gdk/gdktypes.h (GdkModifierType): Write 1u << 31
	for GDK_RELEASE_MASK to avoid warnings with Forte.

	* gtk/gtktexttag.c gtk/gtkcellrendertext.c: Add some missing
	break; statements.

2001-09-18  Alex Larsson  <>

        * gtk/gtkcheckbutton.c:
	* gtk/gtkradiobutton.c:
	Don't draw with GTK_STATE_ACTIVE.

	* gtk/gtkclist.c:
	* gtk/gtkctree.c:
	Draw lines between rows with base_gc[GTK_STATE_NORMAL].

	* gtk/gtktextdisplay.c:
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].
	* gtk/gtkentry.c:
	Add select all menu-item.
	Default cursor color is red.
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].

	* gtk/gtklabel.[ch]:
	Add keynav + menu to selectable lables.
	Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
	unfocused with base_gc [GTK_STATE_ACTIVE].

	* gtk/gtkfilesel.c:
	Add drag and drop support.

	* gtk/gtkstyle.c:
	(This was checked in earlier)
	New default values for text/base SELECTED and ACTIVE
Tue Sep 18 23:51:49 2001  Tim Janik  <>

	* up version to 1.3.8, interface age 0,
	binary age 0, depend on glib 1.3.8.

	* NEWS: 1.3.8 updates.

Tue Sep 18 18:46:54 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_start_editing): centralize all
	the editing code

	* gtk/gtkcelleditable.c: Got rid of stop_editing, as there was no
	reason to call it beyond emiting the two signals.

	* gtk/gtkentry.c (gtk_entry_class_init): add "has_frame" property
	to GtkEntry.

Wed Sep 12 11:21:14 2001  Owen Taylor  <>

	* gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch]
	  gtk/gtktextview.c tests/testgtk.c: Fix up for changes to 

	* gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c
	gtk/gtkspinbutton.c: Fix up for change to PangoMetrics
	* gtk/gtkfontsel.c: Fix up for new Pango font listing API.

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace
  	direct access to style->font. Deprecate gtk_style_ref/unref.
 	* gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c:
  	Remove gtk_style_ref/unref with g_object_ref/unref.
  	* gtk/gtkcalendar.c: Remove leftover macros accessing
  	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused
  	* gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of 

Tue Sep 18 13:51:35 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderer.h (enum): Get rid of broken "can_edit" and
	"can_activate" properties in favor of

Tue Sep 18 12:12:43 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_put): Add put for use with
	editable widgets.  This function is private, and should only be
	used by GtkTreeView.

2001-09-18  Matt Wilson  <>

	* docs/ (EXTRA_DIST): don't use += before =

	* docs/faq/ (EXTRA_DIST): likewise

	* docs/tutorial/ (EXTRA_DIST): likewise
	* gdk/ (MAINTAINERCLEANFILES): likewise
	(EXTRA_HEADERS): likewise

	* gtk/ (MAINTAINERCLEANFILES): likewise
	(EXTRA_HEADERS): likewise
	(EXTRA_DIST): likewise
	(CLEANFILES): likewise

	* gtk/stock-icons/ (CLEANFILES): likewise

	* tests/ (EXTRA_DIST): likewise
	* (install-data-local): changed to use
	install-data-hook, which runs after install-pkgconfigDATA, so that
	the pkgconfigdir will have been created and populated first.

Mon Sep 17 17:39:52 2001  Jonathan Blandford  <>

	* gtk/gtkcelleditable.[ch]: Add editable interface.  This should
	be the last big GtkTreeView API change.

	* gtk/gtkcellrenderer.[ch]: Get rid of the "event" vfunc, and
	replace with "activate" and "start_editing".  Also, added a
	"can_activate" and "can_edit" property.

	* gtk/gtktreeviewcolumn.c: modify to use above.

2001-09-16  Alexander Larsson  <>

	* gtk/gtkoptionmenu.c:	Handle scroll wheel events.

Fri Sep 14 22:31:25 2001  Matthias Clasen  <>

	* demos/gtk-demo/main.c (setup_default_icon): Use a shaped
	icon instead of one with ugly white background.

Fri Sep 14 22:26:01 2001  Matthias Clasen  <>

	* demos/gtk-demo/stock_browser.c (id_to_macro): make
	the uppercasing work. (#59550)

2001-09-14  Jakub Steiner <>

	* gtk/stock-icons/dialog_error.png:
	* gtk/stock-icons/dialog_question.png: more road signs

2001-09-13  Jakub Steiner <>

	* gtk/stock-icons/dialog_question.png:
	* gtk/stock-icons/dialog_warning.png: anders and jonathan seem to
	  like a road sign.

Wed Sep 12 19:01:05 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): Rename interface
	signals to make them more clear.  Also, change ::range_changed to
	* gtk/gtktreemodel.c: Adjust to interface change
	* gtk/gtktreemodel.h: ditto
	* gtk/gtktreemodelsort.c: ditto
	* gtk/gtktreestore.c: ditto
	* gtk/gtkliststore.c: ditto
	* gtk/gtktreeview.c: ditto
	* tests/testtreecolumns.c: ditto
	* gtk/gtkmarshal.list: Actually remove a marshaller!

2001-09-12  Padraig O'Briain <>

	* gtk/gtktextview.c
	Add support for Ctrl+Up/Down arrow to move cursor to beginning
	of previous/next paragraph. If within a paragraph cursor moves to
	beginning of that paragraph.

2001-09-12  Jakub Steiner <>

	* gtk/stock-icons/dialog_question.png: replacing the shaky
	  question mark with a sans-serif one.
	* gtk/stock-icons/stock_top.png, stock_bottom.png,
     stock_first.png, stock_last.png: using the new style arrows
	* gtk/stock-icons/stock_font.png: simple one to replace the ugly
	* gtk/stock-icons/stock_refresh.png: anti-aliased and changed
	* gtk/stock-icons/stock_zoom*: anti-aliased
	* gtk/stock-icons/dialog_error.png, dialog_warning.png: confused
     '-' with a '_', removed the wrong files

Sat Sep  8 16:19:02 2001  Owen Taylor  <>
 	* gtk/gtkmain.c: Implement a search path for GTK+ modules.
 	* gtk/gtkrc.c gtk/ Look for modules
 	in gtk-2.0/<type>/major.minor.(micro-binary_age) rather
 	than in gtk-2.0/major.minor.micro/<type>/. This
 	works better for a search path for modules.
 	* Add
 	gtk_binary_version variable holding major.minor.(micro-binary_age).
 	* modules/input/ (moduledir): Fix installation
 	directory to match change in lookup location.
 	* gtk/gtkmain.c (gtk_init_check): Remove OS/2 code for dll 
 	suffixes. Needs to be handled in g_module_build_path().

	* gtk/gtkrc.c gtk/queryimmodules.c: Use g_build_filename() where
Tue Sep 11 13:59:12 2001  Owen Taylor  <>

	* gtk/gtkrc.c (insert_rc_property): Fixed reversed comparison
	causing RC properties not to work.

2001-09-11  Jakub Steiner <>

	* gtk/stock-icons/dialog-error.png: less drastic
	* gtk/stock-icons/dialog-warning.png: no body parts. (I hope
	  "STOP" is international enough.
	* gtk/stock-icons/stock_dnd*.png: get rid of the cursor
	* gtk/stock-icons/stock_menu_properties.png: 16x16 version

Mon Sep 10 21:26:24 2001  Joshua N Pritikin  <>

	* gtk/gtktextview.c (gtk_text_view_set_buffer): Make
	(add|remove)_selection_clipboard symmetric. (bug #59836)

	* gtk/gtktreeview.c (gtk_tree_view_unref_and_check_selection_tree): 
	Avoid SEGV for empty tree. (bug #60243)

Mon Sep 10 20:47:22 2001  Tim Janik  <>

	* tests/testgtk.c (create_idle_test): slight fix for
	g_object_set() not usable for nesting anymore.

	* gtk/gtkhandlebox.c (gtk_handle_box_class_init): 
	* gtk/gtkframe.c (gtk_frame_class_init): deprecate ::shadow
	properties, supply ::shadow_type properties instead as most
	other widgets do.

2001-09-10  Alex Larsson  <>

	* demos/gtk-demo/stock_browser.c:
	* gdk/gdkcolor.c:
	* gdk/gdkfont.c:
	* gdk/gdkcursor.c:
	* gdk/gdkevents.c:
	* gdk/gdkrectangle.c:
	* gtk/gtktypeutils.c:
	Update to use the new g_boxed_type_register_static API.

2001-09-10  Padraig O'Briain <>

	* gtk/gtktreestore.c:
	Fix looping in gtk_tree_store_init() waiting for zero random int.

Mon Sep 10 16:55:49 2001  Tim Janik  <>

	* gtk/gtkalignment.c (gtk_alignment_init): fix xscale and yscale
	behaviour which havoc broke. they have to default to 1.0 for
	expand behaviour.

	* gtk/gtkwindow.c (gtk_window_get_property): don't cast NULL objects.

2001-09-10  Padraig O'Briain <>

	* gtk/gtkstyle.c (_gtk_style_peek_property_value)
	Amend previous change to avoid runtime error in g_param_spec_ref()

Mon Sep 10 06:58:56 2001  Owen Taylor  <>

	* gtk/gtkrc.c (insert_rc_property): Fix blank line
	in the wrong place.

Mon Sep 10 06:50:39 2001  Owen Taylor  <>

	* gtk/gtkstyle.c (_gtk_style_peek_property_value): Don't
	do a lookup immediately after creating style->property_cache,
	since bsearch crashes on zero length for Solaris.
	(Found by Padraig O'Briain.)

2001-09-09  Alexander Larsson  <> 

	* gtk/gtkwidget.c (_gtk_widget_peek_colormap):
	Really return NULL if not set.
	(gtk_widget_init): Remove unused varaible.
2001-09-09  Alexander Larsson  <> 

	Remove gdk/nanox/Makefile from AC_OUTPUT(), since it is no longer
	in cvs.

2001-09-08  Havoc Pennington  <>

	* gtk/gtkaccelgroup.c: add docs to functions that I can imagine 
	people might want to use

2001-09-08  Havoc Pennington  <>

	* gtk/gtkalignment.c (gtk_alignment_class_init): default
	xscale/yscale to 0.0, not 0.5, 0.5 isn't useful

	* tests/testtextbuffer.c: fix usage of gtk_text_iter_spew

	* gtk/gtktextiter.c: fix docs
	(gtk_text_iter_spew): get rid of this

	* gtk/gtklayout.c: docs

	* gtk/gtkbutton.c (gtk_button_construct_child): add an alignment
	to center image and label together, instead of having image on
	left and label centered, patch/suggestion from Jacob

	* gtk/gtkdialog.c: docs

Sat Sep  8 14:19:49 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c: Write documentation
	* gtk/gtktreestore.c: Write documentation

Sat Sep  8 13:53:09 2001  Owen Taylor  <>

	* gtk/gtkrc.[ch] gtk/gtkstyle.[ch]: Replace uses of GBSearchArray
	with GArray and bsearch(), to remove dependency on a still
	evolving interface that we want to keep private to glib/gobject. 

2001-09-08  Havoc Pennington  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_add_attribute):
	docs fixes

	* gtk/gtktable.c (gtk_table_get_col_spacing): docs fixes

	* gtk/gtkspinbutton.c (gtk_spin_button_get_increments): docs fixes

	* gtk/gtksocket.c (gtk_socket_steal): docs fixes

	* gtk/gtkscrolledwindow.h: docs fixes

	* gtk/gtkimage.c (gtk_image_new): docs fixes

Sat Sep  8 01:49:22 2001  Owen Taylor  <>

	* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check): Prevent a 
	false alarm  constness warning with a cast.

	* gdk/x11/gdkx.h: Undefine GDK_ROOT_PARENT before redefining it
	for the inside-gdk case.

Sat Sep  8 01:44:18 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_dirty):
	remove g_print.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): unref model when we
	change models, #59899

2001-09-07  Havoc Pennington  <>

	* gtk/gtkmain.c: move some docs inline

2001-09-07  Havoc Pennington  <>

	* gtk/gtk.h: tsk tsk, jrb broke the build

Fri Sep  7 20:45:29 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_{start,end}):
	Removed 'fill' attribute.  It was silly b/c that was a property of
	the cell renderer, anyway.
	(gtk_tree_view_column_render): Actually render the packed
	* doc/tree-column-sizing.txt: initial devel documentation.
	* gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix bug.
	* gtk/gtkcellrenderertextpixbuf.[ch]: removed.

	* tests/testtreefocus.c: fix up to reflect above changes.
	* tests/testtreeview.c: ditto
	* demos/gtk-demo/stock_browser.c: ditto

2001-09-07  Alex Larsson  <>

	* gdk/linux-fb/gdkcolor-fb.c:
	Removed unused function.
	* gdk/linux-fb/gdkdrawable-fb2.c
	* gdk/linux-fb/gdkfont-fb.c:
	Use PangoLanguage functions.

	* gdk/linux-fb/gdkinput.c:
	* gdk/linux-fb/gdkselection-fb.c:
	Fix const warnings.
	* gdk/linux-fb/gdkwindow-fb.c:
	Fix warning. Implement gdk_window_set_icon_list() and
	gdk_window_get_frame_extents(). (No icon support yet though.)

	* gtk/gtkwindow.c (gtk_window_get_position):
	If window->frame is set get the extents of it instead.
Fri Sep  7 18:50:59 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_get_default_colormap): 
	Make the default default colormap the GdkRGB colormap,
	not the system colormap.

	* gtk/gtkinvisible.c (gtk_invisible_init) 
	  gtk/gtkwindow.c (gtk_window_init): Set the current
	colormap, as returned by _gtk_widget_peek_colormap()
	on the widget.

	* gtk/gtkwidget.[ch]: Export _gtk_widget_peek_colormap
	to GTK+. Make it return %NULL instead of the default
	colormap if no colormap has explicitely been pushed.

	* gtk/gtkwidget.c (gtk_widget_get_colormap): Check for
	colormaps on ancestral widgets before defaulting the
	the system default colormap.

	* docs/Changes-2.0.txt: explain colormap changes.

2001-09-07  Havoc Pennington  <>

	* gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes 

Fri Sep  7 18:17:47 2001  Owen Taylor  <>

	* gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, 
	make gdk_set_use_xshm a noop. Remove --no-xshm command line
	option. If we aren't autodetecting properly, we need
	to fix the problem, or at least make it an environment
	variable setting, to avoid problems with propagating
	to embedded children, plugins, etc.

	* gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size().

	* gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h
	New function to render a pixmap and mask for a particular colormap.

	* gtk/gtkwindow.c (get_pixmap_and_mask): Change to use
	gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead
	of internal implementation of the same.

2001-09-07  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_lines): remove some
	debug code that seems to have caused a breakpoint in valid cases
	* gtk/gtktextbtree.c (_gtk_text_btree_add_view): set the prev
	pointer on the first view when adding the second view, fixes
	crash when closing gtk-demo text test with active selection

	* gtk/gtktextbuffer.c
	(gtk_text_buffer_remove_selection_clipboard): don't leave dead
	clipboards in the list of clipboards - probably fixes #59836

Fri Sep  7 11:51:44 2001  Owen Taylor  <>

      Make gdkx.h the only installed header from gdk/x11.
      All structures in gdk/x11 are opaque.

	* gdk/x11/ gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
	Don't install gdk{drawable,pixmap,window}-x11.h.

	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c: 
	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11, 
	GdkVisualClass into C files.

	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.

	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
	Add public functions to replace previously exported direct
	structure access.
	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.

      Fix a number of variables and functions that were exported
      "accidentally" from GDK.

	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit, 
	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
	gdk_event_queue_find_first, gdk_event_queue_remove_link,
	gdk_event_queue_append, gdk_event_button_generate,
	gdk_debug_flags, gdk_default_filters, gdk_parent_root.

	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c, 
	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks, 
	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
	gdk_use_xshm, gdk_input_ignore_core.

	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
	#defines to namespace functions into the private _gdk_ 

	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
	to replace gdk_parent_root exported variable. Adjust and
	deprecate GDK_ROOT_PARENT().

	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
	GDK_ROOT_PARENT usage, remove includes of port-specific

	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for 
	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core, 
	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.

	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
	docs/Changes-2.0.txt: Remove gdk_wm_protocols, 
	gdk_wm_delete_window functions, gdk_wm_take_focus, 
	use gdk_atom_intern() instead.

	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h} 
	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
        Unexport gdk_selection_property, just use 
	gdk_atom_intern ("GDK_SELECTION").

	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}: 
	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type, 
	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate, 
	GdkVisualprivate, gdk_x11_gc_flush.

      Make a number of public exports of variables into functions
      to increase encapsulation.

	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h 
	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer, 
	move to gdkinternals.h. Add gdk_device_get_core_pointer ().	

	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code, 

	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
	Add gdk_x11_get_default_xdisplay().

	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c 
	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c 
	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class, 
	Don't export gdk_progclass, move --class command line
	option and handling to common portion of GDK.

      Miscellaneous fixes:

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
	g_return_val_if_fail that should have been g_return_if_fail.

	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
	gdk_synthesize_window_state() to the semi-public gdkprivate.h.

	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
	X11 dependency.

	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO: 
	Remove unused gdk_key_repeat_disable/restore.

	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c 
	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
	Remove unused gdk_null_window_warnings variable.

	* gdk/ (DIST_SUBDIRS) nanox/*: cvs remove nanox;
	it can be retrieved from the repository; it is too far
	from functional to be worth having people check out;
	it would be easier to start from scratch, I suspect.

	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c 
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: 
	Fix some accidentally global variables and unused global variables.

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c 
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: 
	Fix some accidentally global variables and unused global variables.

      Add some space for future expansion to multihead.

	* gdk/gdkdrawable.h: Add four reserved function pointers
	for future expansion of GdkDrawableClass.

	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
	where we can put a GdkScreen * later.

2001-09-07  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_flush_scroll): update
	adjustments after validating destination yrange; fixes #53918
	(This may cause other issues, but I hope it won't)
2001-09-05  Havoc Pennington  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when merging end
	line into start line, update the character counts in parent nodes; 
	caused a bug when end and start line had different parent nodes.

2001-08-30  Havoc Pennington  <>
	* gtk/gtktexttag.c (_gtk_text_attributes_fill_from_tags): add
	assertion that tag is in a table

Fri Sep  7 12:48:56 2001  Matthias Clasen  <>

	* gdk/x11/gdkkeys-x11.c (get_direction): Don't call
	g_strcasecmp on NULL strings. (#59058)

2001-09-06  Alex Larsson  <>

	* gtk/gtkbin.c:
	* gtk/gtkfontsel.c:
	* gtk/gtkspinbutton.c:
	* gtk/gtktipsquery.c:
	Use GtkType/GType instead of uint.

Tue Sep  4 18:13:43 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_init): fix initial val for
	sort column.

	* gtk/gtktreestore.c (gtk_list_store_init): ditto

	* gtk/gtktreesortable.c: add docs.

Tue Sep  4 09:37:19 2001  Owen Taylor  <>

	* Version 1.3.7

	* docs/ docs/ Remove 
	docs for gtk-config

	* modules/input/ (install-data-local): Don't
	run gtk-query-immodules if DESTDIR is set.

	* NEWS: Various additions.

Tue Sep  4 03:12:25 2001  Tim Janik  <>

	* NEWS: updates for 1.3.7 release.

Mon Sep  3 18:03:56 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func):
	handle default sort feature

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_default_sort_func):
	new function to handle default sort.
	(gtk_tree_sortable_has_default_sort_func): check if default sort
	is set.

	* gtk/gtkliststore.c (gtk_list_store_set_default_sort_func): 
	handle default sort feature

Sun Sep  2 20:32:36 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from (Joshua N Pritikin) to fix math and an assertion,

Sun Sep  2 17:38:42 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from (Joshua N Pritikin) to emit signal at the correct
	time, #59727

	* gtk/gtkbutton.c (gtk_button_update_state): Get depressed

Sun Sep  2 21:41:21 2001  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c (update_keymaps): Set current serial
	so that we don't eternally update the keymap after we
	get a change notification.

	* gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Fix
	incorrect cast.

Sun Sep  2 23:27:16 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.[ch]: much changes in an attempt to make
	it working. It mostly works now, although there're still a few issues
	to be worked out.

	* tests/testtreesort.c (main): changes to have a better test
	application for the GtkTreeModelSort.

Sun Sep  2 23:19:07 2001  Kristian Rietveld  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_iter): code cleaup,
	fix for bug #59222.

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): add
	gpointer search_data argument to function definition and
	prototype, to match GtkTreeViewSearchEqualFunc typedef.

Sat Sep  1 21:57:27 2001  Kristian Rietveld  <>

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): add warnings
	per jrb's request.

Fri Aug 31 20:01:23 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_search_iter): pass in user data.

	* gtk/gtktreeview.c (gtk_tree_view_destroy): destroy search_data.

Wed Aug 29 20:40:58 2001  Owen Taylor  <>

	* gtk/gtktextbuffer.[ch] (gtk_text_buffer_add/remove_selection_clipboard): 
	Instead of always mirroring the selection to a single PRIMARY
	selection, allow it to be mirrored to any number of clipboards.

	* gtk/gtktextbuffer.[ch] (gtk_text_buffer_paste_primary): Remove, 
	just use gtk_text_buffer_paste_clipboard with the appropriate clipboard.

	* gtk/gtktextbuffer.[ch] (gtk_text_buffer_cut/copy/paste_clipboard): Add a
	GtkClipboard argument, and for paste_clipboard, the
	@override_location argument from @paste_primary.

	* gtk/gtktextview.c: Adapt to above change.
2001-08-30  Havoc Pennington  <>

	* gtk/gtktextview.c (invalidated_handler): put validate idle at
	resize - 2 just for flexibility

2001-08-30  Havoc Pennington  <>

	* gtk/gtktextdisplay.c (render_layout_line): handle NULL shaped
	object from the empty-child-anchor case by drawing a little box.
	* gtk/gtktextlayout.c (add_child_attrs): Still set shape attribute
	if the child anchor has no anchored widgets - fixes #59328.

	Also, remove bizarre deletion of preedit string that seems to have
	gotten in here somehow.

2001-08-30  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): apply fix
	to #58420 from Hidetoshi Tajima and Matthias Clasen

Wed Aug 29 17:28:04 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	change color when the GtkTreeView loses focus.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
	* gtk/gtkstyle.c (gtk_default_draw_flat_box): ditto

2001-08-28  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_set_icon_list): fix g_object_notify

2001-08-28  Havoc Pennington  <>

	* demos/gtk-demo/main.c (setup_default_icon): add default icon

	* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic):
	warning fix
	(gtk_radio_button_new_with_label): warning fix

	* gtk/gtkdnd.c: used some random GtkImage private structs, 
	update to reflect GtkImage changes

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check
	whether the hint is supported, just always set the icon. A task
	list might want to use it even if the WM doesn't, and the WM may
	change over time. Also, XDeleteProperty() if list == NULL.

	* gtk/gtkwindow.c (gtk_window_set_icon_list)
	new functions

	* gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet

	* gtk/gtkimage.c: Implement property support, bug #59408

	* gtk/gtkcontainer.c (gtk_container_add): make the warning message
	on reparent-without-removing-first a bit more helpful.
	Let's just destroy this FAQ.

Tue Aug 28 21:37:11 2001  Matthias Clasen  <>

	* demos/gtk-demo/appwindow.c (do_appwindow): Use g_signal_connect_object
	instead of gtk_signal_connect, to avoid warnings at destruction time. (#58161)

Tue Aug 28 21:00:44 2001  Matthias Clasen  <>

	* gtk/gtkprogressbar.c (gtk_progress_bar_set_text): Move the setting
	of use_text_format to the end of the function. (#56447)

Tue Aug 28 20:06:07 2001  Matthias Clasen  <>

	* demos/testpixbuf.c (update_timeout): Use gdk_pixbuf_loader_get_pixbuf
	only in response to an area_prepared signal.

2001-08-28  Alex Larsson  <>

	* gtk/gtkwidget.c (gtk_widget_class_init):
	Make unrealize GTK_RUN_LAST.

Mon Aug 27 22:00:41 2001 Manish Singh <>

	* gtk/gtkradiobutton.c: fix silly cut'n'paste error,
	with_label and with_mnemonic should create radio buttons, not
	check buttons

Mon Aug 27 15:28:56 2001  Jonathan Blandford  <>

	* tests/testtreefocus.c (main): Fix to use GtkSelectionMode.
	* tests/treestoretest.c (make_window): ditto
	* demos/gtk-demo/main.c (create_tree): ditto
	* demos/gtk-demo/stock_browser.c (do_stock_browser): ditto.

Mon Aug 27 15:18:14 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Use the
	GTK selection types rather than GtkTreeSelectionMode.

	* docs/Changes-2.0: Add comment about selection change.

Mon Aug 27 14:21:30 2001  Jonathan Blandford  <>

	* gtk/gtkenums.h (GtkSelectionMode): deprecate

	* gtk/gtkclist.c: Remove old GTK_SELECTION_MULTIPLE behavior.

	* gtk/gtkctree.c: ditto

	* gtk/gtklist.c: ditto

	* gtk/gtktree.c: ditto

Mon Aug 27 14:18:12 2001  Owen Taylor  <>

	* gtk/gtkmenubar.h (gtk_menu_bar_prepend): Fix a cuple
	of typos in compat macros. (#59624, Skip Montaro)

Sun Aug 26 20:00:00 2001  Owen Taylor  <>

	* acinclude.m4: Use autoconf 2.13/2.50 compat

	 (patch from ERDI Gergo  <>, #58920)
 	* gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Change
	interface to be a standard setter from gtk_menu_item_right_justify.
 	(gtk_menu_item_get_right_justified): a getter to go with the setter

	* gtk/gtkmenuitem.h: Add a deprecated compat macro for

	* demos/gtk-demo/menus.c tests/testgtk.c: Switch to 
2001-08-27  Jens Finke <>

	* Updated to match gpp requirements, reworked the
	files section to make it work with 1.3.x releases.

2001-08-26  Alexander Larsson  <>

	* gtk/gtkbutton.[ch]:
	Add properties for labels, mnemonics and stock items.
	Added C accessor functions for the properties.
	Removed deprecated button->child.

	* gtk/gtkradiobutton.c:
	* gtk/gtktogglebutton.c:
	Update to use the functions in GtkButton.

	* gtk/gtkcheckbutton.c:
	Update to use the functions in GtkButton.
	Changed size allocation of child. Now only gets as much
	space as it requests.

	* gtk/gtkclist.c:
	Don't use GtkButton->child

	* gtk/gtklabel.c:
	Fixed typo in docs
2001-08-26  Alexander Larsson  <>

	* tests/testgtk.c:
	* tests/
	Ressurect the properties test.
	I don't care if it is inferior, I just want to test my property code.

2001-08-25  Chema Celorio  <>

	* gtk/gtktable.c (gtk_table_set_child_property): pass ->nrows to
	gtk_table_resize as the first argument for CHILD_PROP_RIGHT_ATTACH
	and CHILD_PROP_LEFT_ATTACH v.s. using ->ncols

2001-08-24  Havoc Pennington  <>

	* gtk/gtkcompat.h: remove gtk_menu_* compat defines; 
	these are already in gtkmenu.h, and the copies
	here were broken.


	* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_image):
	special-case bitmaps to allow no colormap
	(bitmap1): implement no-colormap bitmap-getting
	(bitmap1a): implement no-colormap bitmap-getting to pixbuf with
	(rgb8): indentation
	(rgb1a, rgb1): change the way we read the data out of the image, 
	old way didn't seem to work quite right.

	I'm pretty sure a lot of the rgbconvert code is still broken.
	* gtk/gtkwindow.c (gtk_window_move_resize): move hints comparison
	above position constraint (I really intended to do this before,
	don't know what's up with that)
	(gtk_XParseGeometry): shut up gcc

	* gdk/gdkpixbuf-drawable.c (rgb1a): fix bug where "x1" was used
	and "0" should have been. remove the attempted 4-bytes-at-once
	optimization, it was totally broken.

Sat Aug 25 19:02:39 2001  Owen Taylor  <>

	* gtk/gtkbutton.[ch] gtk/gtktogglebutton.c: Add optional movement
	on push to buttons (based on patch from Soeren Sandmann, #54720)

	  - Add child_displacement_x/y style properties to control how far the
	    child moves when the button is depressed.

	  - Add non-exported function _gtk_button_set_depressed to clean
	    up the handling of the in/out shadow and separate it frmo

	  - Lots of code cleanup and simplification of state handling
	    for GtkButton/GtkToggleButton.
        * tests/testgtkrc: Set the x/y displacement to 1 to provide a test
        of button movement. testgtk + testgtkrc == test ugly GTK+, as always. 	

Fri Aug 24 23:09:05 2001  Owen Taylor  <>

	* gtk/gtkimage.[ch] docs/Changes-2.0.txt: Break compatibility 
	and make gtk_image_new() take no arguments. The compiler will
	catch it, and it is vastly more useful than having
	gtk_image_new() be a deprecated alias for gtk_image_new_from_image().  

	* gtk/gtkmenu.c (gtk_menu_set_property): Apply patch
	to add tearoff-title property (#51319, Lee Mallabone)

Fri Aug 24 22:12:32 2001  Owen Taylor  <>

	* gtk/gtkmenuitem.[ch]: Remove unused and useless function
	gtk_menu_item_configure(). (#58925)

Fri Aug 24 16:03:45 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): Add
	"use_align" to give people the option to just make a cell visible.

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): fix bug where
	we were scrolling past the end of the tree.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_start):
	rename gtk_tree_view_column_pack_start_cell_renderer to
	gtk_tree_view_column_pack_start.  Same for pack_end, and clear.

Fri Aug 24 12:02:08 2001  Owen Taylor  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Remove
	a stray g_object_ref() left over from gtk_object_ref/sink.
	(Pointed out by Josh Pritikin.)

Thu Aug 23 19:33:54 2001  Owen Taylor  <>

	* gtk/gtkcontainer.[ch]: Rename gtk_container_children()
	to gtk_container_get_children. Added deprecated compatibility
	macro. (Suggested by Vitaly Tishkov, #59051)

	* gtk/gtktoolbar.c gtkdialog.c: Fix gtk_container_children()

Thu Aug 23 19:10:01 2001  Owen Taylor  <>

	* gtk/gtkmenubar.h (gtk_menu_bar_insert): Deprecate 
	gtk_menu_bar_append/prepend/insert, forgot to do this
	when we deprecated gtk_menu_append/prepend/insert.

	* gtk/gtkmenu.h (gtk_menu_insert): Add casts to deprecated
	compat macros.

	* gtk/gtkmenu.c: Fix problem with static gtk_menu_insert() being
	renamed by compat macro.

	* gtk/gtkfontsel.h: Deprecated gtk_font_selection_get_font(),
	gtk_font_selection_dialog_get_font(). (Suggested by
	Vitaly Tishkov, #59383)

Thu Aug 23 18:23:31 2001  Owen Taylor  <>

	* gtk/gtktexttag.c (gtk_text_tag_table_get_size): 
	Rename from gtk_text_tag_table_size(). (#59366)

Thu Aug 23 20:01:41 2001  Kristian Rietveld  <>

	* gtk/gtktreemodelsort.[ch], gtk/gtktreesortable.[ch],
	gtk/gtktreestore.[ch], gtk/gtktreeviewcolumn.[ch],
	gtk/gtkliststore.[ch]: use GtkSortType instead of GtkTreeSortOrder.

Thu Aug 23 16:26:47 2001  Tim Janik  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): 
	* gtk/gtktextmark.c (gtk_text_mark_finalize): chain parent class
	handlers, pointed out by Joshua N Pritikin <>.

Wed Aug 22 19:15:39 2001  Owen Taylor  <>

	[ Patch from Sebastian Wilhelmi, 52790 ]

	* gtk/ gtk/gtk.h: New file replacing gtkcompat.h

	* gdk/gdkcompat.h gdk/gdk*.h gtk/ gtk/gtk*.h: 
	Move compatibility macros from g[dt]kcompat.h to within 
	#ifndef G[DT]K_DISABLE_DEPRECATED in each file.

	* gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h.

	* demos/ demos/gtk-demo/ 
	  docs/reference/gdk-pixbuf/ modules/input/
	  tests/ Remove references to -G[DT]K_DISABLE_DEPRECATED.

	* demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c,
	         testpixbuf.c}: Fix usages of deprecated functions.

Wed Aug 22 19:03:27 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): clean up selection
	when changing models.

Wed Aug 22 18:25:46 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c: Fix selection.  I think it's all dandy now.
	We check the current event for modifiers rather than try to trap
	all presses.

2001-08-22  Anders Carlsson  <>

	* gtk/gtkliststore.h (GTK_LIST_STORE_CLASS): Fix a small typo.

Tue Aug 21 12:43:29 2001  Owen Taylor  <>

	* gtk/gtk.h: Remove commented out gtkpacker reference.

2001-08-21  Matthias Clasen  <>

	* (all_loaders): Add tga loader, 
	patch by Nicola Girardi. (#56067)

Tue Aug 21 02:57:13 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Fix up selection
	a little.  More needs to be done tomorrow.

Tue Aug 21 00:45:55 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right.

Mon Aug 20 23:48:18 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug
	reported by Kristian Rietveld <> to handle row
	== NULL.
	(gtk_tree_view_destroy): Fix bug reported by Kristian Rietveld
	<> to change destroy order.

Mon Aug 20 11:39:44 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_class_init): Use
	correct marshaller.

Sun Aug 19 03:22:59 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c: Fix up warnings, #58928.

	* gtk/gtktreeselection.h: Change signal prototype, #58647

	* gtk/gtktreeview.c (_gdk_tree_view_find_node): Make more robust,

	* gtk/gtkstyle.c: Actually prelight arrow, #50981
2001-08-18  Hans Breuer  <>

	* gdk/gdk.def : updated externals

	* gdk/win32/gdkselection-win32.c : returning TRUE with gdk_selection_set
	is required to get (at least) visible in entry fields. Some selections
	are really handled now - even on win32 - but copying via middle
	mouse button into a different app needs to wait ... 

	* gdk/win32/gdkdnd-win32.c : implemented inter-app drag&drop
	mostly by stealling code from gdkdnd-fb.c. Thanks to who ever wrote it!

	* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
	handling. I'm not sure if it is better now, but at least not worse

	* gdk/win32/gdkgeometry-win32.c : replaced every call to MoveWindow
	with SetWindowPos () which allows more fine-tuning backing-store wise

	* gdk/win32/gdkwindow-win32.c : allow unraised gdk_window_show ().
	Also changed move/resize to be more like the X version.

	* gtk/gtk.def : updated externals

2001-08-19  Sven Neumann  <>

	* gtk/gtktooltips.c
	* tests/testtreesort.c
	* tests/treestoretest.c: inserted some casts to get rid of compiler

Sun Aug 19 01:44:44 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_pack_{start,end}_cell_renderer): sink cell.

	* gtk/gtktreeview.c (gtk_tree_view_insert_column): sink column.
	(_gtk_tree_view_find_node): If *node is NULL,
	*tree should be NULL too.

	* demos/gtk-demo/stock_browser.c (do_stock_browser): don't unref
	* tests/testtreecolumns.c: ditto
	* tests/testtreefocus.c: ditto
	* tests/testtreesort.c: ditto
	* tests/testtreeview.c: ditto
	* tests/treestoretest.c: ditto

Sat Aug 18 04:34:31 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): 2 new
	signals; is_expander/is_expanded.

	* gtk/gtlcellrendererpixbuf.c: Allow other expanded and closed

	* gtk/gtktreeview.c: set above properties.

Sat Aug 18 23:01:33 2001  Owen Taylor  <>

	* gtk/gtkwidget.h: Really remove set_default_style().

	* docs/Changes-2.0.txt: added a note about

2001-08-18  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): constrain position on
	hints_changed in addition to the other cases.
	(gtk_window_move_resize): include last position from configure
	notify in debug spew

2001-08-18  James Henstridge  <>

	* gtk/gtkaccelgroup.c (gtk_accel_group_object_destroy): use the
	second argument to the weak ref notify, cleaning up some uglyness.
	(gtk_accel_group_attach): remove and add the weak notifier when
	changing the accel groups slist.
	(gtk_accel_group_detach): same here.

2001-08-17  Darin Adler  <>

	* gtk/gtktreeview.c: (gtk_tree_view_search_equal_func): Add
	missing parameters to utf8 functions to make it compile.

Fri Aug 17 19:30:14 2001  Jonathan Blandford  <>

	* gtk/gtktreeprivate.h:
	* 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_destroy),
	(gtk_tree_view_key_press), (gtk_tree_view_leave_notify),
	(gtk_tree_view_focus_out), (gtk_tree_view_set_model),
	(gtk_tree_view_search_move), (gtk_tree_view_search_equal_func),
	(gtk_tree_view_search_iter), (gtk_tree_view_search_init):
	* gtk/gtktreeview.h:
	Add heavily modified patch from Kristian Rietveld to handle
	interactive searching.

Fri Aug 17 17:30:34 2001  Tim Janik  <>

	* gtk/gtktreemodel.c (gtk_tree_path_new_from_string): const correct
	string parameter.

	* gtk/gtkoptionmenu.c (gtk_option_menu_set_menu): connect to
	GtkMenuShell::selection_done, now that we have it, instead of 
	::deactivate so we're not tearing the menu apart and notify
	the user prematurely.

Thu Aug 16 05:22:01 2001  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): if we actually move our
	window, clear window->need_default_position to avoid infinite loops.
	some comment fixups and GTK_RESIZE_IMMEDIATE fixups.

Wed Aug 15 12:36:55 2001  Tim Janik  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): move all model setup
	code into this place. get rid of GTK_TREE_VIEW_MODEL_SETUP usage.
	(gtk_tree_view_set_property): don't cast possible NULL objects.
	(gtk_tree_view_destroy): reset the model to NULL.

	* gtk/gtktreeselection.c (gtk_tree_selection_finalize): chain
	parent_class handler.

2001-08-17  Matthias Clasen  <>

	* gtk/demos/gtk-demo/*: Remove all uses of deprecated functions.

2001-08-17  Anders Carlsson  <>

	* gtk/gtkstyle.c (create_expander_affine): Divide with floating
	point numbers so that the result will be floating point.

2001-08-16  Matthias Clasen  <>

	* tests/testgtk.c (create_handle_box): 
	(create_toolbar): Replace gtk_window_set_policy calls by

2001-08-16  Jakub Steiner <>

	* gtk/stock-icons/dialog_info.png: new style bulb
	* gtk/stock-icons/dialog_error.png: maybe a little drastic ;)
	* gtk/stock-icons/dialog_warning.png: need a hand?
	* gtk/stock-icons/stock_add.png, stock_remove.png: I hope 
	  the aa border gets chopped off ok
	* gtk/stock-icons/stock_colorselector.png: using the new hand
	* gtk/stock-icons/stock_dnd_multiple.png: I'm not totally sure what 
	  this one is for, but the old icon was butt ugly.
	* gtk/stock-icons/stock*_insert_image.png: not sure if it belongs here
	* gtk/stock-icons/stock*_insert_object.png: "
	* gtk/stock-icons/stock_index.png: using new hand icon
	* gtk/stock-icons/stock*_new.png: the document template being used 
	  elsewhere too
	* gtk/stock-icons/stock*_print*.png: new print and print preview 
	  icons (panel/menu)  
	* gtk/stock-icons/stock*_save*.png, stock*_revert.png: new save/revert 
	  icons based on Tuomas' floppy image.
	* gtk/stock-icons/stock*_search*.png: search and s'n'r icons for panel/menu
	* gtk/stock-icons/stock*_stop.png: replacing the old 'x' button
	* gtk/stock-icons/stock*_trash.png: based on Tuomas' trash icon
	* gtk/stock-icons/stock*_undelete.png: "
	* gtk/stock-icons/stock_preferences.png: I have a version with a 
	  document base if the sliders are no good.
	* gtk/stock-icons/stock_properties.png: properties 

	* gtk/stock-icons/stock*_copy.png, stock*_cut.png, stock*_paste.png: Tuomas' 
	  ( clipboard icons
	* gtk/stock-icons/stock_{up,down,left,right}_arrow.png: tigert's new arrows
	* gtk/stock-icons/stock*_{undo,redo}.png: tigert's undo/redo icons.
	* gtk/stock-icons/stock_open.png: shaded open icon by Tuomas. we should make it a
	  little bigger IMHO

2001-08-16  Sven Neumann  <>

	* gtk/gtkbox.c (gtk_box_class_init): removed unused widget_class.

2001-08-15  Padraig O'Briain  <>

	* gtk/gtkcellrenderertext.c:
	Avoid warning when specifying NULL for "attributes" property

2001-08-15  Matthias Clasen  <>

	* docs/debugging.txt: Add a warning about --enable-debug=no,
	some editorial changes.

2001-08-13  Matthias Clasen  <>

	* gtk/docs/debugging.txt, gdk/gdk.c, gdk/gdkinternals.h, 
	gdk/x11/gdkmain-x11.c, gtk/gtkdebug.h, gtk/gtkmain.c: Update 
	debugging info, remove unused debug flags. (#58330)

Mon Aug 13 13:17:32 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_select_all): 
	(gtk_tree_selection_select_all): Remove strict checking for rows.

2001-08-13  Matthias Clasen  <>
	* gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips): 
	Don't remove the tooltip window when the tip text changes. (#15891)

Sun Aug 12 12:02:09 2001  Owen Taylor  <>

	* gtk/ ($(srcdir)/gtkmarshal.c): Remove extra

Sun Aug 12 10:39:12 2001  Owen Taylor  <>

	* (EXTRA_DIST): Fix problem with trying to
	dist files from intl/, which is no longer there.

2001-08-11  Hans Breuer  <>

	* gtk/gtkalignment.c, gtk/gtkarrow.c, gtk/gtkaspectframe.c,
	  gtk/gtkcellrenderer.c, gtk/gtkcellrenderertext.c, 
	  gtk/gtkcombo.c, gtk/gtkcurve.c, gtk/gtkfontsel.c, 
	  gtk/gtklayout.c, gtk/gtkmisc.c, gtk/gtkpacker.c, 
	  gtk/gtkprogress.c, gtk/gtkruler.c,, gtk/gtksettings.c,
	  gtk/gtkspinbutton.c, gtk/gtktexttag.c : coalescing property notifies

	* gtk/gtkclist.c, gtk/gtktipsquery.c, gtk/gtktexttag.c,
	  gtk/gtkwidget.c : added G_SIGNAL_TYPE_STATIC_SCOPE to all

	* gtk/gtkalignment.c : removed 'direct allocation bug',
	which Tim discovered while reading the patch

Sat Aug 11 14:32:14 2001  Owen Taylor  <>

	* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
	compat macros for push/pop/set_visual that were supposed
	to be added a long time ago, but got dropped. 

Fri Aug 10 16:55:53 2001  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_set_policy): coalesce multiple
	property notifies.

2001-08-07  Havoc Pennington  <>

	* gtk/gtkfilesel.c (open_ref_dir): fix a typo.

	* gtk/gtkplug.c (gtk_plug_init): remove setting of auto_shrink;
	some fixage is needed here, but nothing simple. Owen understands
	it. ;-)

        * gtk/gtkwindow.h, gtk/gtkwindow.c: Rework code and API for window
	sizing and positioning.  Also, fix bug in compute_geometry_hints
	(width/height confusion for setting min size). 
	(gtk_window_move): new function
	(gtk_window_resize): new function
	(gtk_window_get_size): new function
	(gtk_window_get_position): new function
	(gtk_window_parse_geometry): new function
 	* gtk/gtkwidget.c (gtk_widget_set_size_request): new function
 	(gtk_widget_get_size_request): new function
 	(gtk_widget_get_usize): delete, that was a short-lived function
 	(gtk_widget_set_usize): deprecate
 	(gtk_widget_set_uposition): deprecate, make it a trivial 
	gtk_window_move() wrapper
	(gtk_widget_class_init): remove x/y/width/height properties,
	add width_request height_request
        * demos/*: update to avoid deprecated functions
	* gtk/gtklayout.c: add x/y child properties

	* gtk/gtkfixed.c: add x/y child properties, and get rid of 
	uses of "gint16"

	* tests/testgtk.c (create_window_sizing): lots of tweaks to window
	sizing test

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ensure that
	configure events on toplevel windows are always in root window
	coordinates, following ICCCM spec that all synthetic events 
	are in root window coords already, while real events are 
	in parent window coords. Previously the code assumed that 
	coords of 0,0 were parent window coords, which was 
	really broken.
 	* gtk/gtkcontainer.c (gtk_container_get_focus_chain): fix
 	* gdk/gdkwindow.h (GdkWindowHints): add GDK_HINT_USER_POS 
 	and GDK_HINT_USER_SIZE so we can set USSize and USPosition 
 	hints in gtk_window_parse_geometry()
 	* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): support
 	new USER_POS USER_SIZE hints 	

2001-08-09  Matthias Clasen  <>

	* tests/prop-editor.c (properties_from_type): Use 
	g_object_class_list_properties to get the param specs 
	for a given type. (#58609)

2001-08-09  Matthias Clasen  <>

	* gtk/gtkstyle.c (gtk_style_real_unrealize): Don't forget to
	free the text_aa parts. (#57549)

2001-08-09  Matthias Clasen  <>

	* gdk/gdkgc.c (gdk_gc_set_rgb_bg_color): Set the background color,
	not the foreground color. (#57621)

2001-08-09  Alexander Larsson <>

	* gdk/win32/gdkfont-win32.c:
	Update to the new pango win32 api.

2001-08-08  HideToshi Tajima  <>

	* gtk/gtkclipboard.c (request_text_received_func): ask apps for
	* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): correctly
	interpret the return value of g_string_to_compound_text()

2001-08-08  Matthias Clasen  <>

	* gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Don't
	fail if iter is NULL. (#58347)

2001-08-07  Matthias Clasen  <>

	* gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
	some off-by-one issues, fixing selection of line-ends. (#50323)

2001-08-07  Matthias Clasen  <>

	* gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these
	functions in order to make mouse operation work again in the
	color wheel. (#58604)

2001-08-07  James Henstridge  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_set_accel_object): refetch
	the accelerator when the accel object is changed.  Fixes bug

2001-08-06  HideToshi Tajima  <>

	* modules/input/gtkimcontextxim.c (mb_to_utf8), xim_text_to_utf8):
	Skip g_convert when to_codeset and from_codeset are both 'UTF-8'
	(gnome bugzilla #58202)

2001-08-06  Havoc Pennington  <>
 	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole 
 	GDK_IS_WINDOW() branch of this was a bit screwed up, because 
 	it was expecting a GdkWindow, not a GdkWindowImplX11.
 	Also, we were getting the window rect in screen coords 
 	and the screen rect in window coords then intersecting 
 	them; instead, get window rect in window coords.
 	Finally, there were codepaths that resulted in a stuck server grab
 	(when the window was fully onscreen, or on gdk_image_new()
 	failure); make the server ungrab thing a bit more

2001-08-06  Sven Neumann  <>

	* gdk/gdkpango.c (gdk_pango_context_destroy): 
	check if info->colormap != NULL before unref'ing it. It might have
	been set to NULL using gdk_pango_context_set_colormap().

Sun Aug  5 11:24:27 2001  Owen Taylor  <>

	* gtk/gtkcolorsel.c (gtk_color_selection_set_current_alpha): 
	Fix conversion from float to int so that we don't get
	skew in the int => float => int roundtrip. 
	(#58120, reported by Vitaly Tishkov). Also fix problem
	where if no alpha was set, the returned alpha
	from (say) set_current_alpha() was returned as 1, not 65535.

Sun Aug  5 09:48:08 2001  Owen Taylor  <>

	* gtk/gtklist.c (gtk_list_clear_items): Fix
	problem with selecting a new focus child.

	* gtk/gtklist.c (gtk_list_clear_items): Clear 
	list->undo/list_focus_child after unparenting
	child, since unparenting the child can result
	in list->last_focus_child being set. (#58024)

	* (SUBDIRS): Add target specific pc

	* gtk/ add @GTK_DEBUG_FLAGS@
	(58327, Matthias Clasen)

Sat Aug  4 19:28:21 2001  Owen Taylor  <>

	* tests/testgtk.c: Patch from Hans (with various modifications),
	to add the ability to use testgtk as a rough-and-ready
	benchmark. Try, 'testgtk --bench all:5' (if you want decent
	numbers, run without a window manager)

2001-08-04 Alexander Larsson <>

	* gdk/win32/gdkinput.c:
	Add #ifdef HAVE_WINTAB around wintab.h include.

	* gtk/gtk.def:
	Removed marshals that have been moved to glib.
	Commented out plug and socket. They didn't compile for me 
	on win32.

2001-08-04  Hans Breuer  <>

	* gtk/stocks-icons/makefile.msc : new file
	* gtk/ : use it

	* gtk/gtkstyle.c : not all platforms do provide M_PI and
	friends, but luckily there is G_PI

	* gtk/gtk.def : updated

	* gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP 
	windows WS_POPUP, but only those without a parent. This fixes the 
	mis-alignment between the selectable (temp, input only) window and 
	the window text of GtkLabel.

	(gdk_window_show) : respect private->state when actually showing
	the window.

	(gdk_window_set_transient_for) : Implementation from Wolfgang 
	Sourdeau <> ported to 2.0 and added some 
	error handling. Should fix #50586.

	* gdk/win32/gdkevents-win32.c : beautify log output

2001-08-04  Michael Natterer  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item):
	Need to show the image after adding it to the GtkImageMenuItem.
	This used to work without in testgtk because of the
	gtk_widget_show_all() at the end of the function.
	(Closes #54978).

Tue Jul 31 22:59:33 2001  Tim Janik  <>

	* gtk/gtknotebook.c (gtk_notebook_get_child_property): 
	(gtk_notebook_set_child_property): fix finding of child's page,
	since we have to validly deal with labels and menus here as well.
	(gtk_notebook_get_child_property): fix warning.
	(gtk_notebook_class_init): property tab_pack is of type
	GTK_TYPE_PACK_TYPE (enum) not boolean.
	(gtk_notebook_find_child): don't always warn, we might be looking
	for a label or menu child.
	(gtk_notebook_map): fix mapping of panel.

	* gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain
	widget's mapped state, regardless of the value being set equals
	old settings, since things like REALIZED(parent) or MAPPED(parent)
	may have changed since the old value was set. make it an error to
	invoke this function on a toplevel widget.

2001-07-31  Darin Adler  <>

	* gdk/gdkprivate.h:
	* gdk/x11/gdkx.h:
	Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED.

	* demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not

Tue Jul 31 15:34:57 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_remove_column): Whoops.  Stupid
	scoping error pointed out by

2001-07-31  Sven Neumann  <>

	* demos/gtk-demo/appwindow.c
	* demos/gtk-demo/item_factory.c
	* tests/testgtk.c: gtk_accel_group_attach() takes a GObject.

Mon Jul 30 10:49:16 PDT 2001 Suresh Chandrasekharan <>

	* gtk/gtksignal.h (gtk_signal_handler_pending): corrected the wrong
	argument order for g_signal_has_handler_pending.

Sun Jul 29 17:14:01 2001  Tim Janik  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): use g_file_test()
	instead of long deprecated g_scanner_stat_mode().

2001-07-29  Hans Breuer  <>

	* gdk/makefile.msc : build in the backend dir after
	auto-generating files

	* gdk/win32/gdkfont-win32.c (gdk_font_load) : reimplement
	with code from win32-production-branch.

	*  gdk/win32/gdkwindow-win32.c : set the private->destroyed flag
	before calling DestroyWindow, which indirectly calls 
	gdk_window_destroy_notify ()

	(performance patch merged from win32-production-branch)
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_segments): 
	Use PatBlt() instead of LineTo() when possible (solid single-pixel pen, 
	R2_COPYPEN rop). It is claimed to be much faster.

Fri Jul 27 11:31:15 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
	add an "attributes" property to the text renderer for ATK.

2001-07-26  Alex Larsson  <>

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
	Initialize image->bits_per_pixel from the drawable, not from
	the root window.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth):
	Fix cast. argument is an IMPL already.

2001-07-15  James Henstridge  <>

	* gtk/gtkwindow.c (gtk_window_add_accel_group): cast to GObject.
	(gtk_window_remove_accel_group): same here.
	(gtk_window_key_press_event): same here.

	* gtk/gtkwidget.c (gtk_widget_add_accelerator): cast to GObject.
	(gtk_widget_remove_accelerator): same here.
	(gtk_widget_remove_accelerators): same here.

	* gtk/gtkplug.c (gtk_plug_accel_entries_changed): same here.

	* gtk/gtkmenushell.c (gtk_menu_shell_key_press): cast to GObject
	instead of GtkObject.

	* gtk/gtkmenu.c (gtk_menu_key_press): update since GtkAccelGroup
	now takes GObjects.

	* gtk/gtkitemfactory.c (gtk_item_factory_propagate_accelerator):
	pass a GObject to gtk_accel_group_entries_from_object.
	(gtk_item_factory_create_item): s/accel_widget/accel_object/

	* gtk/gtk-boxed.defs: remove GtkAccelGroup boxed def.

	* gtk/gtkaccellabel.c: convert to handle GObject accel objects.

	* gtk/gtkaccellabel.h: fix header to reflect that arbitrary
	GObjects can have accelerators set now.  Add compatibility

	* gtk/gtkmarshal.list: add missing marshallers.

	* gtk/gtkaccelgroup.[ch]: convert to a GObject, and allow setting
	accelerators on plain GObjects.  gtk_accel_group_object_destroy
	has been converted into a weak reference, and
	gtk_accel_group_delete_entries is now a destroy notify for that
	piece of data.

2001-07-23  Ron Steinke  <>

	* gdk/gdkdraw.c: Added a check on the colormap depth to
	* gdk/x11/gdkimage-x11.c: combination of Matthias Clasen's
	patch to fix colorsel and my patch to fix gdk_drawable_get_image()
	for pixmaps without visuals (more specifically, bitmaps)
	* gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it
	doesn't set a colormap with the wrong depth

2001-07-22  Anders Carlsson  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Replace the
	expander_height and expander_width properties with a single
	property, expander_size.
	(gtk_tree_view_init): Set the tab_offset to expander_size
	plus some padding.
	(gtk_tree_view_unrealize): Remove the expand/collapse
	timeout if it exists.
	(coords_are_over_arrow): Fix a small bug.
	(gtk_tree_view_motion_draw_column_motion_arrow): Use
	(gtk_tree_view_draw_focus): Use "treeview" instead of
	"add-mode" as detail when drawing the focus.
	(gtk_tree_view_bin_expose): Use "treeview-drop-indicator"
	instead of "add-mode" as detail when drawing the focus.
	(gtk_tree_view_deleted): If we have a node currently being
	expanded or collapsed, remove the timeout and set the node 
	to NULL.
	(gtk_tree_view_queue_draw_arrow): New function that just
	redraws the arrow of a node.
	(gtk_tree_view_draw_arrow): Use expander_size instead of
	expander_width/expander_height, also pass a different
	expander_style to gtk_paint_expander depending on the 
	state of the node being drawn.
	(expand_collapse_timeout): New function for expanding 
	or collapsing a node depending on the previous state.
	(gtk_tree_view_real_expand_row): Add timeout and set 
	correct state for node being expanded.
	(gtk_tree_view_real_collapse_row): Add timeout and set
	correct state for node being collapsed.

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add
	information about the node currently being expanded or
	collapsed, and also a timeout id.

	* gtk/gtkstyle.h (struct _GtkStyleClass): Replace is_open
	with expander_style for draw_expander.

	* gtk/gtkstyle.c (gtk_draw_expander): Replace is_open with
	(create_expander_affine): New function for creating an 
	expander affine.
	(apply_affine_on_point): New function for applying an 
	affine to a point.
	(gtk_default_draw_expander): Modified to take expander_style
	instead of is_open, and to draw the rectangle rotated differently
	depending on the expander style.
	(gtk_paint_expander): Replace is_open with expander_style.

	* gtk/gtkrbtree.h: Add expander states to GtkRBNodeColor.

	* gtk/gtkenums.h: Add expander style enum.

2001-07-21  Jonas Borgström  <>

	* gtk/gtktreemodel.c (gtk_tree_model_foreach): Check the return
	value from gtk_tree_model_get_iter, the model might be empty.

2001-07-20  Hans Breuer  <>

	* gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to
	gdk/gdkinput.c like the other backends

	* gdk/win32/gdkinput-win32.h :
	* gdk/win32/gdkinput.c :
	* gdk/win32/gdkvisual-win32.c :
	* gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and
	GdkVisual GObjectification. UNTESTED for pen-devices because
	I simply have none.

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

	* gtk/gtkiconfactory.c :
	* gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL) 
	before passing &error to functions to avoid strange crashes
	* gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static

	* gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail

	* gtk/ : updated

Thu Jul 19 15:35:32 2001  Owen Taylor  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment):
	Add property support. (#51858)

Thu Jul 19 14:56:33 2001  Owen Taylor  <>

	* gtk/gtkaccellabel.c (gtk_accel_label_class_init) 
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
	Use Shift/Ctrl instead of Shft/Ctl. (#53807)

Thu Jul 19 11:41:00 2001  Owen Taylor  <>

	* gtk/gtkcolorsel.c: Add propery support (roughly
	based on patch from Lee Mallabone, #51014)

	* gtk/gtkcolorsel.h: Mark gtk_color_selection_set_update_policy as
	deprecated, since we already g_warning() on it.

Thu Jul 19 14:24:34 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_set_positions): Fix
	typo that sometimes caused selection not to work properly.

	* gtk/gtkentry.c (gtk_entry_grab_focus): Select text in
	entry when tabbing in. (#57743)
	* gtk/gtkentry.c (gtk_entry_motion_notify): If the
	user drags up above or down below the entry, move
	to the end or the beginning of the entry. (Suggestion
	from Jay Cox, #50940)

	* gtk/gtkentry.c (gtk_entry_move_cursor): If we have
	a current selection, then when moving by chars or
	words, move to the end of the selection rather than
	from entry->current_pos. (Suggestion from Jay Cox,
Thu Jul 19 12:14:28 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_set_decorated): Actualy
	set window->decorated. (Patch from Hidetoshi Tajima,

Sat Jul  7 02:50:14 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
	the widget/child realization/mapping invariants.

	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions 
	gtk_widget_[get/set]_child_visible() to control
	whether visible children of a mapped window are

	* docs/widget_system.txt: Updated for changes in
	container contract, and addition of GTK_CHILD_VISIBLE.

	* gtk/gtkcontainer.c: Add generic map()/unmap()
	functions that work for almost all containers.

	* gtk/gtknotebook.c gtk/gtkpacker.c: Use 
	gtk_widget_set_child_visible() where necessary.

	* gtk/*.c: Remove excess map(), unmap(), and 
	realization/mapping invariant enforcing code
	from many containers.

Wed Jul 18 19:51:45 2001  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_set_attributes_from_style): 
	Get the foreground color from 'text', nor 'fg'. (#57568)

Wed Jul 18 19:28:46 2001  Owen Taylor  <>

	* gtk/*.c: Patch from Matthias Clasen to remove remove
	all instances of g_return_if_fail (foo != NULL); that are
	immediately before a g_return_if_fail (GTK_IS_FOO (foo));
	since the second check catches the NULL anyways.

Wed Jul 18 18:23:05 2001  Owen Taylor  <>

	* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
	gtktreeview.c: Fix idles and timeouts to be properly surrounded by 

	* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
	to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
	pairs. (Problem found by M. Meeks)

2001-07-18  Darin Adler  <>

	* gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so
	that we don't get a g_warning message every time we register a new
	icon size.

	* gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by
	using pixel variable of the correct type.
Fri Jul 13 15:33:32 2001  Owen Taylor  <>

	* gdk/gdkwindow.[ch]: Add a function gdk_window_get_internal_paint_info(),
	so that using X functions on a GdkWindow is possible, if
	a little hairy.

	* gdk/gdkgc.c (gdk_gc_offset): Add a function to offset the clip
	and ts_origin of a GC, so that external parties can offset/restore
	a GC, when using gdk_window_get_internal_paint_info().

2001-07-17  Darin Adler  <>

	* .cvsignore: Ignore the sgml directory made by gtkdoc.
	* demos/pixbuf-demo.c: (main): Use gtk_window_set_resizable
	instead of the deprecated gtk_window_set_policy.
	* demos/testpixbuf-scale.c: Add missing <stdlib.h> include.
	* gdk/gdkkeys.c: (gdk_keymap_class_init): Remove empty finalize
	function to get rid of warning and some code too.
	* gdk/x11/gdkfont-x11.c: (gdk_font_charset_for_locale): Add
	missing const.
	* gdk/x11/gdkmain-x11.c: (_gdk_windowing_init_check): Remove
	unused local.
	* gdk/x11/gdkpango-x11.c: (gdk_pango_context_get): Add missing
	* gdk/x11/gdkselection-x11.c: (gdk_text_property_to_utf8_list),
	(gdk_utf8_to_compound_text): Add missing const.
	* gtk/gtkimage.c: (gtk_image_expose): Remove unused local.
	* gtk/gtkmenubar.c: (gtk_menu_bar_hierarchy_changed): Add missing
	cast and get rid of an unnecessary one.
	* gtk/gtksettings.c: (gtk_settings_notify): Remove unused local.
	* gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate): Remove unused
	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_build_level):
	Remove unused local.
	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_new): Add
	missing const.
	* tests/testsocket.c: (add_child): Add cast so the printf format
	doesn't make us implicitly depend on what integer type
	gtk_socket_get_id returns.
	* tests/testtextbuffer.c: Add missing const.
	* tests/testtreefocus.c: (main): Remove unused local.
	* tests/treestoretest.c: (iter_remove): Remove unused local.
	(uppercase_value): Remove unused function.
	(make_window): Add statement to quiet the compiler's uninitialized
	variable warning.

Sat Jul 14 12:47:35 2001  Tim Janik  <>

	* gtk/gtkrange.c:
	(gtk_range_calc_layout): compute the new layout based on an
	adjustment->value being passed in as argument.
	(gtk_range_button_press): for button2 slider warps, first recalc
	the layout, then adjust the value. also, use update_slider_position()
	for adjusting the value, so we keep pixel quantisation at which we
	usually operate (upon motion or button releases). the reason for this
	is that, we can't change the adjustment upon button2 presses to a non
	quantised value and upon button2 release re-quantise the value since
	that'd alter the value even if we didn't get any motion events (causing
	unexpected scroll area warps upon release and/or slider pixel-jitter).
	(gtk_range_motion_notify): update the slider position from queried
	coordinates, not event coordinates.

Fri Jul 13 09:47:52 2001  Tim Janik  <>

	* gtk/gtkstyle.c (gtk_default_draw_focus): fix line style resetting,
	the default gc values are: width=0, CapBut, JoinMiter.

2001-07-13  Anders Carlsson  <>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Take
	into account the xpad and ypad when calculating the width and the
	height of the pixbuf cel.

Thu Jul 12 18:29:40 2001  Owen Taylor  <>

	* gtk/gtkradiomenuitem.[ch] (gtk_radio_menu_item_group): 
	Rename to gtk_radio_menu_item_get_group(), add deprecated
	alias. (#57044)

	* gtk/gtkfilesel.c: Indentation fix.

Thu Jul 12 17:33:00 2001  Owen Taylor  <>

	* gtk/gtkbbox.h gtk/gtkcompat.h: Patch from Mathias 
	Hasselmann to fix warnings in compat macros. 

	* gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Fix 
	stupid wrong cast added in last patch.

Thu Jul 12 16:51:34 2001  Owen Taylor  <>

	* gtk/gtkwidget.c: Replace a couple of inappropriate calls to 
	GTK_WIDGET_HAS_FOCUS() with gtk_widget_is_focus(). (#57067)

Thu Jul 12 14:06:19 2001  Owen Taylor  <>

	* gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add
	missing cast.

	* gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix
	NULL/FALSE return value confusion.

	* gtk/gtkrange.c (coord_to_value): Fix division-by-zero
	problem when scrollbar completely fills range. (Patch
	from  Matthias Clasen, #57047)

Thu Jul 12 13:53:28 2001  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
	clean up when handling events for move-resize emulation.
	(Problem traced down by Matthias Clasen, #57271)

Thu Jul 12 13:43:27 2001  Owen Taylor  <>

	* gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c
	  gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c
	  gtk/gtkfontsel.c gtk/gtkhandlebox.c 
	  gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c
	  gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c
	  gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c
	  gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c:
	Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]

2001-07-09  Peter Williams  <>

	* gtk/ ($(srcdir)/stamp-gtk.defs): Add a cd $(srcdir)
	for when srcdir != builddir

Mon Jul  9 12:50:51 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of

	* gtk/gtkliststore.c: Add a bunch of g_return statements.
	(gtk_list_store_iter_n_children): Fix up.

	* gtk/gtktreestore.c: Add a bunch of g_return statements.

Fri Jul  6 15:38:33 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_class_init):
	restore some workingness.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix 
	handle of window type for input-only windows.

Thu Jul  5 21:53:46 2001  Owen Taylor  <>

	* gtk/gtkbbox.[ch] gtk/gtkbox.[ch] gtk/gtk[hv]bbox.c:
	Patch from Gregory Merchan to add 
	gtk_button_box_set_secondary(), which separates
	the child into a separate group from the normal
	buttons. (#56331)

	* gtk/gtkdialog.c: Make help buttons secondary by

	* gtk/gtkbbox.c: Added a child property "secondary".

	* gtk/testgtk.c: Turn on the help button for the 
	color selector to check that it properly appears
	as secondary.

Mon Jul  2 01:09:37 2001  Owen Taylor  <>
 	* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
 	gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
 	Add gdk_set_pointer_hooks() to allow pointer-querying to
 	be hooked by an event record/playback system like GERD.
Thu Jul  5 08:57:07 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_reset_rc_style): Pass
	in the right value of initial_emission to
	gtk_widget_set_style_internal (#57091)

Wed Jul  4 23:17:04 2001  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed):
	Make compile.

	* gtk/gtkwidget.c (gtk_widget_reset_rc_style): Fix problem
	with calling gtk_widget_set_style_internal() with
	the old style, not the new style. (#56989)

Wed Jul  4 22:35:40 2001  Owen Taylor  <>

	* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
	Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
	Indicate the best practice in the docs for gtk_widget_get_toplevel().

	* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
	so GtkPlug can give the correct signals when transforming
	from a child to a toplevel.
	* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
	reparentation correctly.

	* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
	Propagate the previous_toplevel argument down properly.

	* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
	of wrong atr list.

	* gtk/gtkplug.[ch]: Add an "embedded" signal.

	* gtk/gtksocket.[ch]: Add "child_added", "child_removed"

	* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add 
	functions gtk_plug_get_id(), gtk_socket_get_id(),
	to avoid the user having to worry about realization,
	and gdkx.h.

	* tests/testsocket.c: Extend to try out the new signals
	and gtk_plug/socket_get_id().

	* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
	setting of underline attributes.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
	DestroyNotify events from SubstructureNotifyMask

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
	Switch GDK_WINDOW_TYPE (window) as needed.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
	allow creation of toplevel windows as children of
	foreign windows.

	* gtk/gtkplug.c: Remove hacks involving changing private
	fields of GdkWindow.

	* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make 
	exactly the same signals and notification
	be emitted for local embedding as for inter-process

2001-07-04  James Henstridge  <>

	* gtk/gtkliststore.h: add missing gtk_list_store_newv prototype.

Mon Jul  2 16:53:25 2001  Owen Taylor  <>

	* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
	XEMBED embedding add a _XEMBED_INFO property to the
	client with version number and a "mapped" flags.
	Use the mapped flag instead of the racy MapRequestEvent

        * gtk/gtksocket.c: Clean up the gtk_socket_steal()
	code to reliably set things (when the child is a passive
	embedder participating in the XEMBED protocol) intead
	of just being a hack for embedding non-participating
	programs. Fix various bugs and race conditions.
	* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
	work by simply making the GtkSocket the gtk parent
	of the GtkPlug. Set a flag in this case and make
	the GtkPlug work like a normal container by overriding
	methods such as check_resize and "chaining past" GtkWindow
	to GtkBin.

 	* gtk/gtkentry.c (gtk_entry_real_activate)
	  gtk/gtkmain.c (gtk_propagate_event): 
 	Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
	* gtk/gtkwidget.c (gtk_widget_get_toplevel,
	Explain	why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
	might not give the expected result and recommend
	an alternative.

	* tests/testsocket.c tests/testsocket_child.c
	tests/testsocket_common.c tests/ Extended
	to test different type of adding plugs to sockets
	(local,active,passive),	and to test mapping/unmapping
	the plug.

 	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
 	mark the window as destroyed until after we
 	called _gdk_windowing_window_destroy().
	(_gdk_windowing_window_destroy() may use GDK functions
	on the window.)

 	* gdk/x11/gdkinput.c: Remove the check for finalization - 
 	devices can be finalized under some circumnstances.
 	* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix 
 	small problem with GDK_TYPE_DEVICE.
2001-07-02  Havoc Pennington  <>

	* gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to 
	use constants not atoms.

2001-07-02  James Henstridge  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): same here for

	* gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):

	* gtk/gtk-boxed.defs: move all the boxed definitions to the top of
	the file.  Remove Pango types from defs -- they are now defined in

Mon Jul  2 06:35:10 2001  Tim Janik  <>

	* gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/

	* gtk/gtkobject.c (gtk_object_destroy): invoke

	* gtk/gtkwindow.c: 
	* gtk/gtkwidget.c: 
	* gtk/gtkobject.c:
	* gtk/gtklist.c: s/shutdown/dispose/ for the GObject

Sat Jun 30 20:44:48 2001  Owen Taylor  <>

	* gtk/gtktypeutils.c (gtk_type_class): Remove
	change check for GTK_TYPE_OBJECT derivation to
	G_TYPE_OBJECTS - it's Tim-approved to use this 
	for arbitary objects.

	* gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore
	prefix gtk_container_dequeue_resize_handler().

	* gtk/gtkwidget.[ch]: Add a previous_toplevel argument
	to the hierarachy_changed signal, since you otherwise
	have to always keep that around.

	* gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt
	for extra argument to hierarchy_changed.

Tue Jun 26 19:39:03 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
	for style to mean "revert to default style"

	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
	  gtk_widget_restore_default_style): Make this functions
	deprecated aliases for gtk_widget_set_style (widget, NULL).

	* gtk/gtkwidget.[ch]: Remove:
	   gtk_widget_set_default_style ()
	   gtk_widget_push_style ()
	   gtk_widget_pop_style ()
	These functions interact are overriden by RC files, and
	thus virtually useless, and complicated.

Fri Jun 22 18:49:48 2001  Owen Taylor  <>

        * gtk/gtkrc.c: Add a GtkRcContext structure to hold 
	most of the previous global variables in gtkrc.c. This is
	in preparation for multi-head, since each screen can
	have different GtkSettings and RC information.

	* gtk/gtkrc.[ch]: 

	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
	GtkSettings parameter to GtkRcStyle::parse.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c: 
	Add two new settings gtk-theme-name, gtk-key-theme-name,
	for RC files that are loaded by name after reading
	the default RC files.
	* gtk/gtkrc.c: Allow priorities for styles, as wll as

	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
	and use it by default for RC files loaded via 
	gtk-theme-name, gtk-key-theme-name.

	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
        gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string) 
	tests/testgtkrc: Require pathnames to be absolute.

	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
	the source when parsing, since the operation of looking up a
	pixmap from an RC file depends on the parsing context.

	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
	reset RC styles on all widgets when files are reparsed.

	* tests/testgtk.c (create_rc_file) 
	  gtk/gtkwindow.c (gtk_window_read_rcfiles): 
	Simplify, now that gtk_rc_reparse_all() resets styles on
	all widgets itself.

	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
	return value.

	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
	GtkSettings argument.

	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from

	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
	to get the appropriate GtkSettings for a widget. (For now,
	just gets the default GtkSetttings.) 

	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings

	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
	getting a style for a path without actually having a widget.
	(Allows using a style for a subpart of a widget, for

	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
	the RC files to be reloaded for just one GtkSettings
	(not sure how useful this really is.)

	* gtk/gtkrc.h: Deprecate

2001-06-30  Alex Larsson  <>

	* gdk/linux-fb/gdkinput-none.c:
	* gdk/linux-fb/gdkinput.c:
	* gdk/linux-fb/gdkinputprivate.h:
	Convert GdkDevice to a GObject.

	* linux-fb/gdkprivate-fb.h:
	* linux-fb/gdkvisual-fb.c:
	Convert GdkVisual to a GObject.

2001-06-29  Alex Larsson  <>

	* gdk/gdkvisual.h:
	* gdk/gdkcolor.c:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkvisual-x11.c:
	Convert GdkVisual to a GObject.

	* gdk/gdkinput.h:
	* gdk/gdkevents.c:
	* gdk/x11/gdkinputprivate.h:
	* gdk/x11/gdkinput-gxi.c:
	* gdk/x11/gdkinput-none.c:
	* gdk/x11/gdkinput-x11.c:
	* gdk/x11/gdkinput-xfree.c:
	* gdk/x11/gdkinput.c:
	Convert GdkDevice to a GObject.

Fri Jun 29 22:13:28 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
	to just plain new, fixing the number of columns, and column types
	at creation time.

	* gtk/gtkliststore.c (gtk_list_store_new): ditto.

	* gtk/gtkcellrenderertext.c
	(gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
	height to a specific font.

	* gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.

	* tests/*c: change to work with new store models.

2001-06-29  Havoc Pennington  <>

       * Throughout: fixes to compile with G_DISABLE_COMPAT

Fri Jun 29 03:14:16 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
	add path argument to selection callbacks.

Fri Jun 29 00:13:34 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to
	walk through a model in a depth first manner, with the option to
	break out.

Fri Jun  8 18:52:10 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.[hc]: Patch Thomas Broyer from
	<>. Expander arrows are now attached to a specific
	column and follow it when draged, rather than a location in the
	view. "expander_column" property and drawing functions changed
	accordingly.  Fixes bug #55942.

	(gtk_tree_view_{set,get}_expander_column): Now works with a
	GtkTreeViewColumn* instead of int.

Thu Jun 28 22:53:18 2001  Owen Taylor  <>

	*  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 

2001-06-28  Havoc Pennington  <>

	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
	image data to the screen, using a server grab to avoid race

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
	check for NULL return from gtk_image_new_from_stock(), it never
	returns NULL.
	(gtk_item_factory_create_item): fix bug where we parsed the stock
	ID as an inline pixbuf

	* gtk/gtktext.c (gtk_text_key_press): numeric keypad support

	* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
	support (should be using binding set here)

	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 

	* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad

	* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_filter_keypress): keypad

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 

	* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes

	* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support

	* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
	should be binding-setted)

	* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes

	* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes

	* gtk/gtkcalendar.c: numeric keypad fixes

	* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad

	* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
	clip the render area to the drawable's clip region in advance,
	so we don't get data from the server that we don't need.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	check return value of gdk_pixbuf_get_from_drawable(), fall back 
	to bilevel alpha if we can't get the pixbuf to composite against.

	* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap

	* gdk/gdkimage.c (gdk_image_get_colormap): add
	gdk_image_set_colormap, gdk_image_get_colormap

	* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
	take a region of the image, instead of converting the entire

	* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
	keybinding signal. Add default bindings for it. Add default
	handler for show_help that shows the tooltip for the widget.

	* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
	"close" keybinding signal, remove key press handler.

	* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
	it's not our usual practice to leave a deprecated function around
	with a runtime warning, plus we don't want it to appear in docs,
	plus if we make them yellow no one will want to change them

Thu Jun 28 23:53:31 2001  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
	GTK_WIDGET_REALIZE() for resize queueing.

	* gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
	GTK_WIDGET_REALIZE() for post event delivery destruction upon
	* gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
	sompensate for former (pre-2.0) connect_after() facility.
	(gtk_widget_event): assert the widget is realized, since event delivery
	to non-realized widgets is essentially a bug. event handlers should
	be able to unconditionally rely on widget->window (unless they
	emit events on their own which can trigger widget destruction).
	(gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
	logic. event delivery happens as follows:
	a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
	b) if !was_handled in (a) and the widget is still realized, emit event-
	   specific signal (RUN_LAST handler). returns was_handled.
	c) emission of GtkWidget::event-after for notification if the widget is
	   still realized (regardless of was_handled from previous stages, no
	   class handler). no return value.
	d) was_handled gets passed on to caller, to determine further
	   propagation. if the widget got unrealized meanwhile, was_handled
	   is returned as TRUE.

	* gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and

Thu Jun 28 17:18:41 2001  Tim Janik  <>

	* (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.
	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.
	* gtk/gtkmenubar.c (add_to_window): likewise.
	* gtk/gtktextbtree.c: and here...
	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.
	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().
	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.
	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.
	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.
	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-29  James Henstridge  <>

	The following changes correspond to bug #56812

	* gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
	code for GdkDevice.

	* gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for

2001-06-19  Havoc Pennington  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
	for mapping a window without fooling with stacking order, but
	updating the "withdrawn" flag

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
	filtering as soon as possible, moving move resize and wmspec_check
	handling after the event filter.  Make default filter apply to all
	events, not just those with no GdkWindow wrapped around the X
	window. Fix a FIXME about how the window could be a pixmap using 
	RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 

	Also, be robust against events not on a known GdkWindow.

	* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
	gdk_x11_ungrab_server): export reference-counted server grabs, so
	other people can grab server over a GDK function that also does

Wed Jun 27 19:40:31 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_pack_start_cell_renderer): New function to
	reflect that you can (hypothetically) pack cell renderers into a
	(gtk_tree_view_column_pack_end_cell_renderer): ditto.
	(gtk_tree_view_column_cell_is_visible): Move more functionality to
	the column.
	(gtk_tree_view_column_cell_can_focus): Move more functionality to
	the column.

	* gtk/gtktreeview.c: Move to use new column-packing code.
	(gtk_tree_view_real_expand_row): remove	totally braindead code.
	(gtk_tree_view_real_collapse_row): ditto.

2001-06-27  Kjartan Maraas  <>

	* gtk/gtktreeviewcolumn.c: Fix a typo.
2001-06-26  Joel Becker  <>

	* gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
	  at the end of the file

2001-06-26  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification

2001-06-26  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_class_init): add "resizable"

Tue Jun 26 12:59:28 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
	stupid missing statement

	* gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
	private function for ATK.  It notifies you of how many _visible_
	children are deleted when a node is deleted.  Should be used by
	atk only.

Tue Jun 26 11:06:34 2001  Owen Taylor  <>

	* gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
	Use new pango_context_get_metrics() to fix problems
	with font lists in descriptions. (#56184, reported by
	Jonas Borgström)

Tue Jun 26 10:04:30 2001  Tim Janik  <>

	* gtk/gtkiconfactory.c:
	* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
	item factory so inlined pixbufs actually work.

2001-06-25  Havoc Pennington  <>

	* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:

	* gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/

2001-06-25  Alexander Larsson  <>

	Added --enable-fbmanager. This is some experimental code
	that lets several GtkFB apps coordinate their access to the
	* acconfig.h:

	* gdk/linux-fb/
	Added gdkfbmanager and gdkfbswitch.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	* gdk/linux-fb/gdkmouse-fb.c:
	* gdk/linux-fb/gdkprivate-fb.h:
	Split device init and open so that
	they can be opened and closed while switched

	* gdk/linux-fb/gdkmain-fb.c:
	Add the basic manager communication.

	* gdk/linux-fb/gdkrender-fb.c:
	Don't update to the shadow fb if we're
	blocked by the fb manager.

Sun Jun 24 22:15:16 2001  Owen Taylor  <>

	* docs/Changes-2.0.txt: Add note about child property

Sun Jun 24 21:34:32 2001  Owen Taylor  <>

	* gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
	drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)

	* gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
	with un'reffing wrong list reported by Jeff Franks.

	* gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.

	* gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
	for the default icon. Remove inline XPM.

	* gtk/gtkstock.h gtk/gtkiconfactory.c:
	is used for GTK_STOCK_DND, but it is a bit too small.)

	* gtk/stock-icons/stock_dnd_multiple.png
	gtk/stock-icons/ New stock icon moved from gnome-libs.

	* gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
	TRUE when starting a drag. In other cases, we are
	just observing. (#52995)

	* gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
	function to set the icon for a drag from a GdkPixbuf
	or stock ID.

	* gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
	Likewise, for drag sources.

	* gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
	(Now should be done using the stock system.)

Sun Jun 24 12:06:47 2001  Owen Taylor  <>

	* gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
	Removed - didn't work and not particularly useful anyways
	if it did. 

Sun Jun 24 11:29:35 2001  Owen Taylor  <>

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
	introduced last night that was making things decidedly not work.

	* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
	so that we have getter/setter pairing everywhere it makes
	sense. (#55767)

	* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
	Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
	deprecated compat macro. (#55516)

	* gtk/gtklabel.[ch]: Add functions
	gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
	gtk_label_set_label(), which mirror the property API for GtkLabel.
	Make gtk_label_get_attributes() only reflect the attributes
	set by gtk_label_set_attributes.

	* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
	from gtk_notebook_set_page().

Sat Jun 23 18:02:46 2001  Owen Taylor  <>

	* Fix tests for XShm.h.

	* gdk/x11/gdkimage-x11.c: Cleanup error handling in
	gdk_image_new() by use of goto, properly use g_object_unref().

Sat Jun 23 22:03:20 2001  Tim Janik  <>

	* gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
	calls, as GdkImage is an object. these should be g_obejct_unref()
	instead but that won't work because of the g_error() statement
	in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
	to spot these places.

Sat Jun 23 10:27:53 2001  Owen Taylor  <>

	* modules/input/gtkimcontextxim.c: Fixup some problems with 
	text length handling in error cases.

	* gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
	a bit to make test actually warn on attempt to allocation
	a negative size. (#56101, Matthias Clasen)

Fri Jun 22 14:06:08 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
	noticed by Brian Cameron.
	(gtk_tree_view_real_expand_row): Fix bug noticed by Brian

2001-06-22  Hans Breuer  <>

	* gdk/gdk.def : updated externals

	* gdk/win32/gdkdrawable-win32.c : corrected some casts

	* gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
	to translate coordinates to the internal > 16 bit system
	Try to handle WM_WINDOWPOSCHANGED to get better performance for
	when moving/resizing

	* gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
	and gdk_keymap_get_direction (). The latter is untested for
	the RTL case

	* gtk/gtk.def : updated externals

	* gtk/gtkmain.c : gtk_get_default_language () should reurn the result
	from pango_language_from_string (), not an already freed pointer

	* gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
	binary (-kb) to be useable on windoze
2001-06-21  Alexander Larsson  <>

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
	Update to new PangoLanguage changes.
	* gtk/gtkwindow-decorate.c:
	* gtk/gtkwindow.[ch]:
	Added setting argument to gtk_window_set_has_frame ()
Thu Jun 21 13:42:01 2001  Owen Taylor  <>

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
	the case without XKB properly.

	* gtk/gtkrc.c (gtk_rc_set_default_files): Remove
	unused gtk_rc_auto_parse variable.

	* gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
	Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
	longer needed with GdkPixbuf.

	* gtk/gtkrc.c (_gtk_rc_init): Make private.

Fri Jun 15 16:26:12 2001  Owen Taylor  <>

	* gtk/gtkentry.h: Mark deprecated functions with

Mon Jun 11 18:15:16 2001  Owen Taylor  <>

	* gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.

	* gtk/gtk[hv]scale.c: Include math.h, stdlib.h

	* gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
	  gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
	  gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
	  gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
	  to recent changes in Pango.

	* tests/testgtk.c: Set language tags with gtk_label_set_markup()
	  to test whether the basic engine honors them.

Thu Jun 21 02:13:40 2001  Tim Janik  <>

	* gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and

Wed Jun 20 19:19:15 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
	(gtk_tree_view_move_cursor_page_up_down): implement.

Wed Jun 20 05:32:05 2001  Tim Janik  <>

	* gtk/gtkspinbutton.c: make maximum digits compile time configurable
	via MAX_DIGITS and up to 20. 5 was just ridiculously small.
	don't use automatic fixed size buffer for printf-ing floats, doubles
 	can expand to really _huge_ strings, use g_strdup_printf() instead.

Wed Jun 20 04:28:24 2001  Tim Janik  <>

	* gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
	construct property in 1.2 and still needs to be.

	* gtk/gtkwidget.c: "composite_child" is not a settable property.

Tue Jun 19 19:13:19 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_clear): 
	* gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
	clear a model.

Mon Jun 18 02:00:49 2001  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.

	* gtk/
	* gtk/gtk.h: disabled GtkPacker compilation.

	* gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.

	* gtk/gtknotebook.c:
	* gtk/gtktable.c:
	* gtk/gtkbox.c: ported this over to child properties.

	* gtk/gtksettings.c: fetch class properties via

	* gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
	child arg interface. use gobjectnotifyqueue.c for child property

	* gtk/gtkwidget.[hc]: provide necessary means for container child
	properties, i.e. ::child_notify signal,

	* tests/testgtk.c: removed inferior property handling code, for
	property editing, a generic module should be used, and GLE
	coincidentally fullfills that purpose.

	* docs/reference/ disabled gtk docs building, gtk-doc
	needs to be adapted to g_object_class_list_properties() before this
	builds again.

Mon Jun 18 20:06:10 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
	test if a node is expanded.

Mon Jun 18 19:41:38 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
	where collapsing a selected row would result in the cursor/anchor
	getting screwed up.

Fri Jun 15 18:53:48 2001  Jonathan Blandford  <>

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
	gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
	* gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
	Now I can really reorder/sort all Store widgets.  treesorttest
	seems to just work now.
	* gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
	testtreesort worked through a big coincidence all this time.
	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
	* tests/testtreecolumns.c: Big 'ol warning at the top letting
	people know that this code should never ever ever be copied.

2001-06-15  Jonas Borgström  <>

	* gtk/gtkwindow.h: Fixed a small typo, it should be
	on line 134.

2001-06-14  Havoc Pennington  <>

        Docs fixups, and:
	* gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with

Thu Jun 14 19:21:27 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
	this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
	finish it off tonight, though it basically works now when it's a
	list.  Also, I have a sinking feeling neither GtkTreeStore or
	GtkListStore actually resort when adding a new item.  I'll look
	into it.

2001-06-14  Havoc Pennington  <>

	* demos/gtk-demo/main.c (load_file): fix bug identified by
	warnings I just added to gtktextbuffer

2001-06-14  Havoc Pennington  <>

	* gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo

	* gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo

	* gtk/gtktextbtree.c: don't leak node data all over the place.

	* demos/gtk-demo/main.c (main): create fontify tags for the right

	* gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
	to mention tags in the same table can't have the same name,
	suggested by Skip Montanaro

2001-06-11  Havoc Pennington  <>

	* gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
	for trying to add two tags with same name to the tag table

	* demos/gtk-demo/main.c (main): fix colors ;-)

`Fri Jun  8 17:56:52 2001  Owen Taylor  <>

	* gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
	that allows grouping together multiple windows so that grabs
	within that set of windows only affect those windows.

	* gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
	signal for notification when a widget becomes shadowed
	by a grab or is no longer shadowed by a grab.

	* gtk/gtkwidget.c (gtk_widget_propagate_state)
	  gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
	insenstive widgets to maintain a grab.

2001-06-14  Alexander Larsson  <>

        * docs/README.linux-fb:
	Add some example config files that can be used with the URW fonts.
	* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
	Set up the color ramps for DirectColor mode.

2001-06-11  Havoc Pennington  <>

	* Release 1.3.6
2001-06-13  Alexander Larsson  <>

	* gdk/linux-fb/gdkwindow-fb.c:
	Unify shaped window code and make it repaint the area that used
	to be part of the shape, but isn't anymore.

2001-06-11  Havoc Pennington  <>

	* NEWS: Updates

	* (GTK_MINOR_VERSION): bump version to 1.3.6

	* gtk/ glib_genmarshal already contains top_builddir
2001-06-13  Alexander Larsson  <>

	* gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
	Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
	passes zero instead, so do we.
2001-06-13  Alexander Larsson  <>

	* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
	Deep copy dash_list too.
	(_gdk_fb_gc_new): Set default cap_style before
	setting values.

2001-06-12  Alexander Larsson  <>

	* gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
	gdk_keymap_get_direction): New functions.

Tue Jun 12 12:41:27 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
	gtk_tree_model_get_flags by adding a second flag for atk.

	* gtk/gtktreemodel.c: make cursor behavior interact better with
	mouse presses.

Mon Jun 11 12:43:08 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): changed
	expand_row/collapse_row to be 2 signals each -- test_expand_row
	and row_expanded as well as test_collapse_row and row_collapsed.

2001-06-10  Anders Carlsson  <>

	* demos/gtk-demo/stock_browser.c (do_stock_browser): Update
	signal name to be changed instead of selection_changed.

2001-06-08  Havoc Pennington  <>

	* gtk/gtkentry.c (gtk_entry_class_init): add read-only
	"scroll_offset" property for notification when the layout offsets
	may have changed
	(gtk_entry_adjust_scroll): add notify for scroll_offset
	(gtk_entry_layout_index_to_text_index): function to compensate for
	preedit string when doing coordinate stuff on the entry's layout
	(gtk_entry_text_index_to_layout_index): inverse function
	(gtk_entry_get_layout_offsets): hook to get current position of
	the layout	
	(gtk_entry_get_layout): hook to get the layout itself.

	* gtk/gtklabel.c (gtk_label_get_layout): new function

Fri Jun  8 19:49:29 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
	(gtk_tree_view_focus): Fix merge conflict.

Fri Jun  8 18:41:30 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
	clean up cursor handling.

2001-06-08  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this

	* gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
	this function

2001-06-08  Alex Larsson  <>

	* gtk/
	Added compat macros for all old GTK_TYPE_GDK_xxx types.
	Fixes bug #52892

2001-06-08  Havoc Pennington  <>
	* gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
	parent still

2001-06-08  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
	don't call g_list funcs on GSList

	* gtk/gtkwidget.c (gtk_widget_child_focus): replaces
	gtk_container_focus(), since some widgets have focusable locations
	which are not other widgets. These widgets should not have to be 
	containers just to manage the focus. For example, GtkHSV is
	currently a container for no good reason. Also, this cleans
	up the "if (is_container && is_sensitive && is_drawable)
	container_focus ()" mess in widget implementations.

	* gtk/gtkcontainer.c (gtk_container_focus): deprecate this
	function, and have it just call gtk_widget_child_focus().

	* gtk/gtkhsv.c: derive from widget not container
	Throughout: fix to reflect GtkContainer::focus change
Fri Jun  8 12:38:49 2001  Jonathan Blandford  <>

	* gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
	range.  Fix bug #55921

	* gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug

Fri Jun  8 12:03:07 2001  Owen Taylor  <>

	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
	and gdk_keymap_get_current_direction().

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
	the current locked group, use it to set the keymap

	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
	to determine whether we draw a split cursor or use
	a jumping cursor based on the current direction.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
	Obey the split cursor setting. 

Fri Jun  8 11:57:50 2001  Owen Taylor  <>

	* gtk/gtkimmulticontext.c (activate_cb): Only activate
	when toggling on, not when toggling off... (#55906)

Wed Jun  6 10:37:07 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
	in docs. (#55812, Vitaly Tishkov)

2001-06-08  Anders Carlsson  <>

	* demos/gtk-demo/main.c (create_tree): Changed signal name from
	selection_changed to changed in signal connection to GtkTreeSelection,
	also used g_signal_connectc since GtkTreeSelection is now a GObject.

Thu Jun  7 18:25:42 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c: Now it's a GObject instead of a
	GtkObject.  The GtkTreeSelection::selection_changed signal is now
	the GtkTreeSelection::changed signal.

	* gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection

	* tests/gtktree*.c: Modified to deal with new GtkTreeSelection

2001-06-07  Havoc Pennington  <>

	* gtk/ fix glib-mkenums and glib-genmarshal again

2001-06-07  Havoc Pennington  <>
	* gtk/ fixups for glib-mkenums and glib-genmarshal
	(not tested yet because with absolute path to srcdir I can't build
	atk, but it was broken anyway so this may help)	

2001-06-07  Havoc Pennington  <>

	* output m4macros/Makefile
Wed Jun  6 21:59:16 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
	buttons.  Fixes #55460 reported by

Wed Jun  6 21:18:54 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
	expansion/collapsing so it only happens in one place.
	(gtk_tree_view_real_expand_row): ditto.

2001-06-07  Havoc Pennington  <>

	* tests/ add missing -I flag

	* gtk/ use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.

	* use pkg-config to see if GModule is
	supported; fix to properly turn on included loaders 
	when GModule isn't supported; don't use AC_CHECK_LIB 
	when libs are not installed yet

	* add support for AUTOGEN_SUBDIR_MODE

	* (SUBDIRS): add m4macros subdir

	* gtk/ $(srcdir)/foo targets must be $(srcdir)/foo in
	dependencies also.

Wed Jun  6 19:31:11 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
	reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.

Wed Jun  6 20:01:38 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c
	(gtk_tree_view_real_expand_collapse_cursor_row): Handle key
	bindings to expand and collapse rows.
	(gtk_tree_view_real_select_cursor_parent): New key binding.
	(gtk_tree_view_real_toggle_cursor_row): New key binding.

	* gtk/gtkmarshal.list: new

2001-06-06  Havoc Pennington  <>

	* gtk/gtkrange.c (gtk_range_class_init): add "inverted" property

	* gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
	Down to move visually rather than logically, since it confuses 
	people. Add -/+ and Ctrl--/+ bindings for logical movement.

2001-06-06  Alex Larsson  <>

	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
	Fix up error messages.

Wed Jun  6 10:34:42 2001  Owen Taylor  <>

	* gtk/gtktooltips.h: Include gtkwidget.h 
	(#55798, Karl Nelson)

	* gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
	a valid latin-1 character. (Marc Lehmann, #35467)

	* gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
	(Marc Lehmann, #35467)
2001-06-05  Alex Larsson  <>

	* demos/gtk-demo/appwindow.c (do_appwindow):
	Don't swap the order of the args to gtk_widget_destroyed.

	* tests/testgtk.c (destroy_properties):
	Don't crash when the properties window is destroyed.

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
	Use with_mnemonics to handle the case of stock items with
	underscores in them.

2001-06-05  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_order): rename from 

2001-06-05  Havoc Pennington  <>

	* gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function

2001-06-05  Havoc Pennington  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
	to the range that was set

	* gtk/gtkrange.c: add value_changed signal, primarily 
	intended for use with GtkScale
	(gtk_range_set_increments): new function
	(gtk_range_set_range): new function with weird name
	(gtk_range_set_value): new function
	(gtk_range_get_value): new function

	* gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
	from gtk_spin_button_get_value_as_float(). Compat #define
	added for get_value_as_float.

	* gtk/gtkhscale.c (gtk_hscale_new_with_range): new function

	* gtk/gtkvscale.c (gtk_vscale_new_with_range): new function

Tue Jun  5 14:57:18 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573

Mon Jun  4 12:41:25 2001  Owen Taylor  <>

	* gtk/gtkwidget.h: Deprecate gtk_widget_set().

	* tests/testgtk.c (create_tooltips): Remove usage of

2001-06-05  Havoc Pennington  <>

	* gtk/gtkcolorsel.c: Use new mnemonic convenience functions

	Applying patch from Jeff Franks, with function docs added.
	* gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
	remove call to set_mnemonic_widget, change docs a bit.	

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
	new function

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
	new function

	* gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function

	* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
	(gtk_radio_button_new_with_mnemonic_from_widget): new function

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
	new function

	* gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new

	* gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
	auto-selection of mnemonic widget.

Mon Jun  4 15:05:24 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
	Fix segfault found by Vitaly Tishkov <>.
	(gtk_tree_view_column_set_min_width): ditto.

Tue Jun  5 11:04:06 2001  Owen Taylor  <>

	* gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
	s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)

Mon Jun  4 12:50:11 2001  Owen Taylor  <>

	* gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing

2001-06-04  Havoc Pennington  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
r	eleases for buttons 6, 7

2001-06-04  Havoc Pennington  <>

	* gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
	(s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug

2001-06-04  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_size_request): handle case
	where text_view->layout == NULL by assuming its size is 0, 
	i.e. same as if we haven't done any reflow. Reported by 
	Hidetoshi Tajima #55448 

2001-06-04  Havoc Pennington  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
	and 7 for scroll left/right, from Thomas Broyer

2001-05-10  Havoc Pennington  <>

	* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
	we need to parse the xsetting as if it were an RC file string.

	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
	value of palette from settings, not from static variable

	* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
	xsettings translation table

	* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
	hardcoding the toolbar style conflicts with new customizable 
	toolbar style philosophy
	(gtk_toolbar_class_init): add settings for default toolbar style;
	these are used unless the app specifically forces a toolbar style

	* gtk/gtksettings.c (settings_install_property_parser): only
	return at the start if we warn and parser == NULL

	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
	palette changed handler so we don't notify dead color selections

	* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
	xthickness/ythickness of 0 or 1 properly 
	(gtk_default_draw_resize_grip): clear the background behind the
	resize grips, and align to bottom right if we square the 
	area to be drawn.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
	statusbar label to 1, so it doesn't make toplevels resize oddly
	(gtk_statusbar_size_request): add grip size to request
	(gtk_statusbar_size_allocate): hack so the hbox still works with 
	the grip size in the request

	* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
	bug where showing all on a toplevel makes the toolbar 
	button text appear despite the toolbar mode

	* gtk/gtkmenubar.c: add internal padding style property

	* gtk/gtktoolbar.c: Add internal padding style property; add
	shadow type style property

	* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
	state; and put Container::border_width outside the frame

	* gtk/gtktextview.c: don't draw focus rectangle if we're in
	interior focus mode, we just use blinking cursor

2001-06-04  Havoc Pennington  <>

	* Make gdk-pixbuf have same version number as GTK

2001-06-04  Havoc Pennington  <>

	* gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
	digits greater than 6. If there actually are limits (which there
	likely aren't), should clamp to them not warn.
	(gtk_spin_button_new_with_range): don't take log of 0
	(gtk_spin_button_size_request): use digits to compute size
	request, rather than step increment.

	* tests/testgtk.c (create_spins): test larger values of digits
	* gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
	font on map not expose, so we don't get weirdness during scrolling

2001-06-04  Havoc Pennington  <>

	* gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
	Sam Solon, bug #54577, update value even if not drawable.

2001-06-04  Havoc Pennington  <>

	* gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
	SCROLL_LEFT, reported by Thomas Broyer.

2001-06-04  Havoc Pennington  <>

	* gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
	Process updates immediately, to prevent funny lag effect
	when scrolling, at some mild potential efficiency cost.

2001-06-04  Havoc Pennington  <>

	* gtk/gtkrange.c (gtk_range_button_press): on middle click, center
	slider on the click.

2001-06-03  Havoc Pennington  <>

	* gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
	hscale/vscale details, so we can use it for scrollbar as well.

	* tests/testgtk.c (reformat_value): honor digits from GtkScale

	* gtk/gtkenums.h (GtkTroughType): Remove this enum
	(GtkScrollType): add START and END from GtkTroughType

	* gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
	its x/y arguments

	* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
	gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
	gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
	gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
	gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.

	Notable changes in the process:
	- stepper_size style property is the height for vertical 
	  ranges, width for horizontal; the other dimension matches
	  the trough size
	- add ability to do NeXT-style steppers (and several other styles
	  that don't make any sense)
	- added min_slider_length, fixed_slider_length properties to
        - cleaned some private (or at least useless) functions out of
        - moved bindings to GtkScale from subclasses, even arrow keys,
	  since blind users don't know scale orientation.
        - change move_slider action signal to use new GtkScrollType,
	  remove GtkTroughType argument
	- digits rounds the values a range will input to the given 
	  number of decimals, but will not try to force adjustment 
	  values set by other controllers. That is, we no longer
	  modify adjustment->value inside a value_changed handler.
	- added getters for GtkScale setters
        - middle-click begins a slider drag
Fri Jun  1 18:54:47 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
	getting the focus code to work.
	(gtk_tree_view_class_init): Add a bunch of keybindings.

	* gtk/gtktreeviewcolumn.c
	(_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
	of "properties_changed" to help justify the death of the latter
	signal. (-:

	* tests/testtreefocus.c (main): Let some columns be focussable to
	test focus better.

2001-06-01  Havoc Pennington  <>

	* gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
	* gtk/gtktextview.c (gtk_text_view_commit_handler): don't
	overwrite in overwrite mode if we already deleted the selection
	and replaced it with new text.	

	* gtk/gtklabel.c (gtk_label_select_region_index): if you set the
	selection to an empty range, clear the clipboard if we owned it.
	(gtk_label_set_selectable): give up selection if we become
	(gtk_label_state_changed): override state changed to unselect text
	when insensitive
	(get_text_callback): add paranoia check that indexes aren't
	outside of label->text
	(gtk_label_select_region): make -1 for start_offset mean "end of
	label," for consistency with GtkEditable

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor

Fri Jun  1 11:47:11 2001  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
	notifications on non-existant "enable_arrow_keys".
	(#53753, Skip Montanaro)

Fri Jun  1 11:31:55 2001  Owen Taylor  <>

	* gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix type
	of allocation argument be GDK_TYPE_RECTANGLE.

Thu May 31 12:43:57 2001  Owen Taylor  <>

	* gtk/gtkoptionmenu.c: Account for the fact that the border
	width is _outside_ the window. (Fixes #54585, bug found
        by Bastien Nocera.)

Wed May 30 15:56:30 2001  Owen Taylor  <>

	* gtk/gtksettings.c (gtk_settings_get_property): Validate
	value from GDK settings against parameter spec.

	* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
	to temporary values and use g_value_transform(), since
	thinking that GValue was going to be easy or efficient
	to use was, of course, a mistake.

        * gtk/gtksettings.c: Add cursor blink setting.
	* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.

	* gtk/gtkentry.c: Add cursor blinking.

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
	cursor blink global settings.

	* gtk/gtkentry.c (gtk_entry_button_press): Add notification
	for :text_position in places where it is missing.

Tue May 29 18:17:11 2001  Owen Taylor  <>

	* (have_libtool): Fix GNU sedism (#55430)

Tue May 29 17:40:29 2001  Owen Taylor  <>

	not pkg-config. (#51032)

	* gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
	(fixes #51952, James Henstridge)
2001-05-27  Alexander Larsson  <>

	* gtk/gtkstock.h (GTK_STOCK_GO_UP):
	Rename to the more correct gtk-go-up.

	* gtk/stock-icons/stock_menu_sort_ascending.png:
	Added new file.
	* gtk/stock-icons/stock_menu_sort_descending.png:
	Changed to show descending instead of ascending.

	* gtk/gtkiconfactory.c:
	Added menu size icon to sort ascending.

	* gtk/stock-icons/
	Added stock_menu_sort_ascending.png.
	* gtk/gtkseparatormenuitem.c:
	Use correct typenames.

Sun May 20 20:07:35 2001  Tim Janik  <>

	* gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
	gulong as in GSignal.

Fri May 25 19:04:17 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
	instances of GtkCellRenderer in code (all but dnd icon code).
	Virtualized in GtkTreeViewColumn.  Now I need to move focus in
	there, and I can do multiple Cells per column.

	* gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly

	* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
	when model was unreffed prior to removing the row reference.

2001-05-25  Havoc Pennington  <>

	* gtk/gtkiconfactory.c: fix so that default icons are created if 
	you call gtk_stock_list_ids()

	* demos/gtk-demo/stock_browser.c (create_model): sort stock items
	in list

2001-05-25  Havoc Pennington  <>

	* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
	set can render without falling back to missing image icon

	* gtk/gtktextview.c (gtk_text_view_size_request): request full
	size of text, instead of random values

	* gtk/gtktreeview.c (gtk_tree_view_size_request): request full
	size of tree view, instead of random values

	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
	image in an appropriate size

        * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
	etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/

        Throughout: fix GTK_STOCK_BUTTON_ instances
	* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
	gtk/gtkiconfactory.c, gtk/stock-icons/
	Add a bunch of new stock items/icons

	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
	new function, convenience for inserting columns with a data func

	* gtk/gtkiconfactory.c: keep a list of all existing icon factories
	(_gtk_icon_factory_list_ids): use list of all factories to
	generate a list of all known IDs

	* gtk/gtkstock.c (gtk_stock_list_ids): replace
	gtk_stock_list_items() with a function that returns all IDs known
	including those for GtkIconFactory.

2001-05-25  Hans Breuer  <>

	* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
	work -> check boxes and radio buttons are drawn now, even on win9x.
	Improved line settings a bit, still no clue how to get really dotted
	lines on win9x, on NT it's PS_ALTERNATE.

	* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 

	* gdk/win32/ : added gdkkeys-win32.c to EXTRA_DIST

	* gtk/gtk.def : updated

	* gtk/gtktreeprivate.h : change column_drop_func to be a function
	pointer not a function pointer pointer

	* tests/testdnd.c : include <stdlib.h> for putenv prototype

	* tests/testsocket.c : made it compile on win32 again

	* tests/makefile.msc : one more test-app uses prop-editor.obj

2001-05-22  Havoc Pennington  <>

	* gtk/gtkbin.c (gtk_bin_get_child): New function

Wed May 23 20:07:53 2001  Owen Taylor  <>

	* gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
	to ignore when doing compose processing.

2001-05-22  Joe Shaw  <>

	* gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
	Simplify as suggested by Havoc. Just get the last iter and work
	backward to the tag instead of getting a line and working back from
	there. Fixes passing in an invalid offset to

Tue May 22 16:25:27 2001  Jonathan Blandford  <>

	* gtk/gtktreeview*.h: 
	* gtk/gtkcell*.h:
	* gtk/gtk*store.h:
	Added patch from Jeff Franks <> to add GET_CLASS
	macros to all objects.

Tue May 22 15:13:52 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertext.c
	(gtk_cell_renderer_text_set_fixed_size): Evil function to deal
	with very large (TM) amounts of text.  May be moved to
	GtkCellRenderer in the future, though I'm not sure it wants to be
	this accessible.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	More sanity brought to this class.  I like it.

	* tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
	case.  Kids, don't try this at home.

	* gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
	convenience function.

	* gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.

2001-05-21  Alexander Larsson  <>

	* gtk/gtkfontsel.c:
	Added properties. Based on patch by Lee Mallabone.

	* gtk/gtkruler.c:
	* gtk/gtkhruler.c:
	* gtk/gtkvruler.c:
	* gtk/gtktext.c:
	* gtk/gtktextview.c:
	Converted GtkArg to GParam. Based on patches by John Margaglione.

	* tests/
	* tests/testtext.c:
	Add a property editor to testtext.
Mon May 21 11:29:21 2001  Owen Taylor  <>

	* gtk/gtk{h,v,}paned.c: Only show the separator if 

	* Fixed reversed conditional causing all image
	libraries to be linked in.

2001-05-21  Joe Shaw  <>

	* gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
	that top_y needs to be >= 0.

2001-05-11  Havoc Pennington  <>
	* gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
	losing connection to the X server.

Sun May 20 13:59:20 2001  Owen Taylor  <>

	* Start checks for X from pangox/pangoxft
	CFLAGS to avoid duplicate libraries.

	* gdk/ (LDFLAGS): Remove extra -lm.

	to include gobject.
2001-05-18  Alexander Larsson  <>

	* gtk/gtkspinbutton.c:
	Convert GtkArgs to GParams. Based on patch by John Margaglione.
	Also do size request reasonable for MAXDOUBLE. Previously it printed
	the limits to a buffer and overran it. Instead do it using log10() and
	limit the width to 10 digits.
	* gtk/gtkwidget.c (gtk_widget_get_property):
	Correctly handle setting the parent property to NULL.

Fri May 18 15:26:26 2001  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_style_set): Reset 
	style attributes even if the widget isn't realized.

	* demos/gtk-demo/main.c: Use a slightly smaller font.

Fri May 18 14:25:20 2001  Owen Taylor  <>

	* gtk/gtkcontainer.c: Remove reallocate-redraws property.
	This is something that only a widget writer would ever want
	to change.

	* gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for

	* gtk/gtkviewport.c: Fix some warnings.

	* gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
	allowing the requisitions of multiple widgets to be grouped

	* tests/testgtk.c: Add GtkSizeGroup test

	* demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.

	* demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some

	* Switch to using AM_GLIB_GNU_GETTEXT.

2001-04-28  Martin Baulig  <>

	* gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
	to gtk_image_menu_item_set_icon() and made it work if there's already
	an image.
	(gtk_image_menu_item_new): This function doesn't take any arguments anymore.
	(gtk_image_menu_item_new_with_label): New function.

Thu May 17 16:20:04 2001  Jonathan Blandford  <>

	* demos/gtk-demo/main.c (fontify): It's the worlds ugliest
	highlighting code!!!!  The result is okay so long as you don't try
	to stress it.  It also highlights a bug in the TextView so it's in
	an unproportional font right now until it's fixed.

	*demos/gtk-demo/*.c: Clean up code a bit to make it
	ugly-parser(TM) friendly. (-:

2001-05-17  Joe Shaw  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
	that x_offset and y_offset must be >= 0. Clip the cursor being drawn
	if it is only partially onscreen.

Thu May 17 17:10:13 2001  Owen Taylor  <>

	* gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
	not by characters.

	* gtk/gtkentry.c: Handle "trailing" returns from Pango when they
	are not zero or one; that is, when graphemes of multiple characters
	are involved.

	* gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary

2001-05-17  Alexander Larsson  <>
	* gtk/gtkbbox.c:
	Add properties, based on patch by Lee Mallabone.

	* gtk/gtknotebook.c:
	* gtk/gtktoolbar.c:
	Convert from GtkArg to GParam, based on patch by John Margaglione.
	* gtk/gtkhscale.c:
	* gtk/gtkvscale.c:
	* gtk/gtkhscrollbar.c:
	* gtk/gtkvscrollbar.c:
	* gtk/gtkrange.c:
	Move adjustment property to GtkRange.

	* gtk/gtklabel.c:
	Setup mnemonics on property changes

	* gtk/gtkwidget.c (gtk_widget_get_property):
	GdkExtensionMode is an enum, not a flag. Set it with
	g_value_set_enum ().

	* tests/prop-editor.c:
	Better propery editor.

	* tests/testgtk.c:
	Add new property test. Pass zero to the property editor to
	get properties from all derived types.
Sun May 13 12:01:12 2001  Owen Taylor  <>

	* (have_automake): Require libtool-1.4,

	* acinclude.m4: Remove libtool macros.

	* gdk-pixbuf/ Add dependencies to loade

	* gdk/ Add dependency on
	for libgdk.

	* gtk/ Add dependency on for libgtk.

	* modules/input/ Make modules have full

Wed May 16 14:06:01 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
	#54699 where paths weren't being checked for correctness.

Tue May 15 20:13:24 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
	in any order you wan, whether or not the column is added to the
	tree, or the tree is realized.  Yay!

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_setup_sort_column_id_callback): handle
	sorting columns a lot saner

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
	new function to actually set wether or not a column is

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
	if we have 'em.

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
	Fix nasty bug where we were showing the button just before
	realizing it.  As a result, the parent window was
	tree_view->window instead of tree_view->priv->header_window.

	* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
	to let you easily reorder a list or tree.

2001-05-15  Alexander Larsson  <>

	* gtk/gtkpacker.c: Apply patch from John Margaglione that converts
	from args to properties.

Tue May 15 10:11:59 2001  Owen Taylor  <>

	* gtk/gtkpreview.c: Apply patch from John Margaglione converting
	from args to properties. (#51957)

	* gtk/gtkscale.c (gtk_scale_class_init): Move install property
	calls to after ->set_property call.

Mon May 14 14:56:21 2001  Owen Taylor  <>

	* tests/prop-editor.c: Block against redundant changes.

	* gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set

Sun May 13 18:40:04 2001  Owen Taylor  <>

	* gdk/gdkpixmap.h: Remove creative formatting.

Thu May 10 19:22:28 2001  Owen Taylor  <>

	* gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
	property API. (#51669)

	* gtk/gtkscale.c: Patch from John Margaglione converting to
	property API. (#51891)

	* gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
	to property API. (#50985)

Fri May 11 20:13:44 2001  Tim Janik  <>

	* gtk/gtkmain.c (gtk_main_do_event): remember widget's double
	buffering state across expose event, so we still call end_paint().

2001-05-11  Alexander Larsson  <>

	* gtk/gtkhsv.c (paint_triangle):
	Expose the ring in the triangle at the correct place when
	exposing just a part of the triangle.

	* gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
	Return FALSE, or window focusing will not work.

2001-05-11  Havoc Pennington  <>

	* gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug

	* gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
	bug #54330

Fri May 11 02:53:57 2001  Tim Janik  <>

	* gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
	propagate exposes to NULL child.

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
	against not having one of the scrollbars.

	* gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
	we don't keep a mnemonic window if we have no mnemonic installed.

Fri May 11 01:05:00 2001  Tim Janik  <>

	* gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
	it has the _important_ side effect of initializing a class.

2001-05-10  Alexander Larsson  <>

	* gdk/linux-fb/gdkprivate-fb.h:
	Make sure you can compile out the implementation/wrapper assert

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Check implementation/wrappers, initialize type for pixmap dummys.

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
	Hide the cursor if reading from the screen.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
	Fix sign bug in tiling code.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	Handle background pixmaps.

Wed May  9 15:27:22 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
	function to let user control where columns are dragged.

	* gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
	Escape is pressed.

Wed May  9 09:08:44 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): New
	"columns_changed" signal.
	(gtk_tree_view_motion_draw_column_motion_arrow): Change column
	motion code to draw arrows to the side if indicator is outside the
	(gtk_tree_view_map_expanded_rows): Implement.

2001-05-07  Alexander Larsson  <>

	* demos/testpixbuf-save.c: 
	* demos/testpixbuf-drawable.c:
	Include gdkfb.h on linux-fb.

2001-05-07  Alexander Larsson  <>

	* gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
	New function for getting toplevel window at position.
	(gdk_drag_find_window): Use get_toplevel_window () instead
	of gdk_window_get_pointer(). (gdk_drag_status): Use
	correct context for getting window.

	* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
	g_strdup the atom name.

	* gdk/linux-fb/gdkwindow-fb.c:
	Costmetic fix.

	* gtk/gtkdnd.c (gtk_drag_source_handle_event):
	Add code for changing cursor on linux-fb backend (same as

2001-05-07  Federico Mena Quintero  <>

	* gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
	present before doing anything with it.  Patch from Håvard Kvålen
	<>.  Fixes Ximian bugzilla #2492 (OK, the bug
	report was not for the development branch of GTK+, but it applies

2001-05-04  Havoc Pennington  <>

	* fix some shell typos

	* gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix

	* gtk/gtkimage.c: handle animations

	* gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
	border_width * 2, not just border_width

	* gtk/gtkscale.c: add "format_value" signal to allow people
	to override the way values are drawn.
	(gtk_scale_get_value_size): fix width/height mistake,
	and compute size from actual displayed text, not 
	from made-up text.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
	signal registration

	* tests/testtext.c: Add "Remove all tags" menu item for testing

	* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement

	* demos/gtk-demo/main.c (main): add hack so we can find modules
	without installing gtk

	* demos/gtk-demo/textview.c (insert_text): demo font scaling

	* gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
	(gtk_cell_renderer_text_set_property): remove some bogus

	* gtk/gtktexttag.c: add "scale" property which is a font scaling

	* gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
	to layout

	* gtk/gtktextiter.c (gtk_text_iter_is_start): rename from

2001-01-06  Hans Breuer  <>

	* gdk/gdk.def : updated exports

	* gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
	gdk won't compile anymore
	* gdk/win32/gdkevents-win32.c : initialize ret_val when
	processing GDK_FILTER functions, initialize event.key->hardware_keycode.
	Improved gdk_flush () to not only do pending drawing operations
	but also process all currently pending events. This should make
	the behaviour more similar to the X11 version.	

	* gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
	option needs to be set even if there is no GDK_GC_BACKGROUND.
	(gdk_win32_hdc_get) : use predraw_set_background () independent
	of value_mask. This allows to draw dashed lines leaving the original
	background intact.

	* gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
	after processing, because we can't reuse it as the X11 version does.

	* gtk/gtk.def : updated exports

	* gtk/ : added ATK, removed all test apps. (I
	would like to get rid of this file again, and use straight
	makefile.msc again, as the other Gtk+ subdirs do)

	* test/makefile.msc (new file) : build the test apps here

2001-05-05  ERDI Gergo  <>

	* gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
	strike-through setting
	(gdk_draw_layout_line_with_colors): Render strike-through

Sat May  5 10:06:24 2001  Owen Taylor  <>

	* Release 1.3.5

	* (GTK_MICRO_VERSION): Up to 1.3.5

	* NEWS: Updated

	* demos/gtk-demo/ (EXTRA_DIST): Fix minor
	Makefile breakage.

Sat May  5 09:18:30 2001  Owen Taylor  <>

	* demos/gtk-demo/images.c (progressive_timeout): Fix
	typo in filename.

	* gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
	out FIXME warning; just too annoying.

2001-05-04  Alex Larsson  <>

	* gdk/linux-fb/gdkcolor-fb.c:
	Better error messages.

	* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
	Initialize abs_x and abs_y.
	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
	Correct handling of stipple offset.

	* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
	Treat directcolor framebuffers as truecolor.
Thu May  3 14:13:49 2001  Owen Taylor  <>

        * HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
	dependency on Atk for accessibility support.

	* **/ Major reworking of substituted
	variables for CFLAGS/LIBS to make a lot more sane and 
	keep the the compile/link lines a bit shorter.

	* gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.

Thu May  3 08:10:54 2001  Owen Taylor  <>

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
	value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
	use _gtk_boolean_handled_accumulator.

Thu May  3 07:00:09 2001  Owen Taylor  <>

	* gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
	to fix things so clicking inside selection leaves cursor
	at point where clicked. (#50324)

	* gtk/gtksettings.c (gtk_settings_class_init): Restore
	sane value for default double click time.

	* tests/testtext.c (test_init): Really path to input modules.

2001-05-03  Sven Neumann  <>

	* demos/testpixbuf-save.c: include target-specific headers as
	done in testpixbuf-drawable.c

Wed May  2 20:36:38 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
	new_text_length appropriately when we run into the 
	size limit for the entry. (#53445, reported by Jeff Franks)

	* tests/testgtk.c (create_entry): Remove most of the
	property toggle buttons. Replace with a "Props" button
	that brings up a property editor.

	* tests/prop-editor.[ch] test/testtreeview.c tests/
	Split the property editor code out for reuse, improve.

Wed May  2 17:26:22 2001  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
	trap errors around calls to XSetInputFocus since we have
	no way of knowing reliably whether we are viewable or
	not. (#53947)

Tue May  1 09:21:23 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
	fix bug in dropping columns.  Moving columns now basically works
	modula some fine tuning.

Tue May  1 19:09:21 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
	autoscroll support.  It mostly works, but could use some fine
	* gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
	Actually move the column.

Mon Apr 30 20:29:27 2001  Owen Taylor  <>

	* gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
	  gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
  	  New default theme! A slighly improved version of the 2.0 Raleigh
	  theme, with Windows-esque focus/drawing default. 
	  (GtkWidget::interior_focus defaults to TRUE.)

	* gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.

2001-04-30  Havoc Pennington  <>

	* tests/testtext.c (line_numbers_expose): fix to work with
	gtk_paint_layout change

Mon Apr 30 19:18:07 2001  Owen Taylor  <>

	* gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
	  gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
	  gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
          use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].

	* gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
	  with GtkWidget::interior_focus = TRUE better.

	* gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
	::default_outside_border for more flexibility.

	* gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
	G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
	change that had to be made with g_object_get.

Sun Apr 29 20:13:40 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
	(gtk_tree_view_move_column_after): Clean up interface. 

Sun Apr 29 03:02:02 2001  Tim Janik  <>

        * gtk/gtkpacker.h:
        * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
	 to gtkenum.h.

	* gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
	handled in switch).

	* gtk/
	(gtk.defs): generate enum portions with  glib-mkenums.
	(gtktypebuiltins_evals.c): generate this with glib-mkenums.
	got rid of and makeenums.awk in distributed tarballs.
	* gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning

	* docs/Changes-2.0.txt: keep a note on signal handlers now
	not getting emitted during the emission they were connected within.

2001-04-28  Havoc Pennington  <>

	* gtk/gtkcolorsel.c (palette_new): fix bug in tooltip

2001-04-24  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
	(gtk_text_layout_move_iter_to_next_line): fix these two for
	invisible text, lots of other stuff still hosed.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
	new function, replaces the get/set palette stuff. This function 
	is intended for use by libgnomeui which should set the hook to a
	thing which sets the palette in GConf, and we need the
	GConf-to-xsettings proxy which will result in the change being
	propagated back to the GTK app.

	* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
	about unusable signals that it may be because the signal has 

	* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
	style, otherwise gtkrc.c won't know to create a new GtkStyle for
	(gtk_widget_modify_color_component): call
	gtk_widget_modify_style() so the rc style will get copied.
	(gtk_widget_modify_font): ditto

	* gtk/gtkrc.c: make a couple variables static

	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
	help button by default, since it does nothing

	* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
	around with UI

	* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
	so we can have tooltips

	* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
	can have tooltips

	* gdk/gdkimage.h: mark gdk_image_new_bitmap with
	GDK_ENABLE_BROKEN, because its memory behavior is completely

	* gtk/gtknotebook.c: remove key press handler, replace with
	binding set, add numeric keypad support

	* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete

	* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms

	* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
	addition to plain Delete

	* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
	GDK_KP_Enter in addition to GDK_Return

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
	activate on entry instead of key press
	(gtk_font_selection_on_clist_key_press): get
	rid of this signal handler, not needed with new font sel.

	* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
	no-longer-needed emit_stop_by_name(), just return TRUE

	* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
	cruft, this widget is no longer focusable.

	* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
	gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
	move_slider action signal, add binding set for vscale/hscale, in
	the process support numeric keypad

	* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
	make GDK_Return and GDK_KP_Enter activate the entry via 
	binding set, instead of hardcoded.

Fri Apr 27 20:27:21 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
	code.  Some documentation added.

2001-04-27  Havoc Pennington  <>

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable

	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
	line/para separators
	(gtk_entry_create_layout): set single paragraph mode on the layout

	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
	spacing between the image and label; instead, inside a button box 
	the button will get extra space that will go there, but if people 
	configure button box for 0 chubbiness, then there's no spacing.

	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
	and min/max size style properties, so people can tune their

	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
	space_style, and button_relief into style properties, remove
	functions for setting them
	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
	it back down

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
	types from gtk_widget_style_get

	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
	with a style property.

	* gdk/x11/gdkevents-x11.c: namespace the settings

	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.

	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
	be used. Also, translate doc strings for settings. Also, namespace
	the double-click-time property. Also, remove bell properties crap.

2001-04-27  Sven Neumann  <>

	* before creating links, check if pkg-config files
	exist for the default target. Otherwise link to the pkg-config files
	that got installed with this build.

Thu Apr 26 19:11:46 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
	dragging code.  Revealed some (potential) GdkWindow bugs.

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
	_gdk_window_init_position to the end of reparent to fix the case
	of reparenting when new_x != old_x and new_y != old_y.

Thu Apr 26 10:54:50 2001  Owen Taylor  <>

	* gtk/gtkentry.c (strstr_len): Fix optimization that
	was correct for the use here, but completely incorrect
	in general.

Thu Apr 26 10:40:41 2001  Owen Taylor  <>

	* gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
	until patch adding gtk_window_set_size() is recommitted. 

	* ** gdk/x11/gdkim-11.c
	  gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
	  gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.

Wed Apr 25 12:16:36 2001  Owen Taylor  <>

	* gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
	window == NULL in a number of cases.

	* tests/testdnd.c: Set module path for gdk-pixbuf.

Thu Apr 19 16:11:07 2001  Owen Taylor  <>

	* gtk/ xembed.h: File containing #defines
	for XEMBED protocol.

	* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 

	- Change protocol from old plug/socket specific protocol
	  to XEMBED draft
	- Various fixes to work with GTK+-2.0

	Still quite a bit of work to do here to handle initiation
	from the socket side (as specified by XEMBED), to handle
	the more advanced features of XEMBED, and to figure out
	a good way to handle same-app embedding with less overhead
	than using full XEMBED.

Wed Apr 18 16:04:28 2001  Owen Taylor  <>

	* gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
	track of whether the toplevel has the focus; only send
	focus-in events to the focus widget when the window
	actually has the focus.

2001-04-25  Havoc Pennington  <>

	* gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
	were still in the header

2001-04-24  Alexander Larsson  <>

	* gtk/gtkclist.[ch]:
	* gtk/gtkctree.c:
	When there is a row highlighted for D'n'D it must alse
	be painted hightlighted on exposes. Otherwise exposes from
	the icon being dragged will mess up the hightlight.

	* gtk/gtkfontsel.c:
	Don't recenter selected font when exposing the font family
	clist. This means you can now actually scroll the font family

	* gtk/gtknotebook.c:
	Fix focus movement on scrolling tabs that are placed on the left
	and right.

2001-04-21  Havoc Pennington  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
	empty/invisible lines.

	* gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
	(gtk_text_iter_set_visible_line_index): new functions to set
	indexes excluding invisible text

	* gtk/gtktextlayout.c (line_display_iter_to_index): get visible 

	* gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
	(gtk_text_iter_get_visible_line_offset): new functions to 
	get indexes excluding invisible text

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
	bunch of extra padding that served no purpose

	* gtk/gtkdialog.c: Make all the spacings configurable via style
	properties, for chubbiness configuration in themes

	* tests/testtext.c: fix path to the immodules.
Mon Apr 23 18:57:03 2001  Jonathan Blandford  <>

	* gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
	got munched by #endif.

	* gtk/ (gtk_plug_c_sources): add missing '\'

	* gtk/gtktreeview.c: Refactored code to clean up a number of

	* gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
	values to make consistent with other functions.  Spotted by Jeff
	Franks <>.

	* gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
	declaration spotted by Jeff Franks <>.

2001-04-23  Sven Neumann  <>

	* gtk/
	* gtk/gtkplug.c
	* gtk/gtksocket.c: on request of Owen, reverted my last change 
	and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets

2001-04-23  Sven Neumann  <>

	* gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
	compile for non-X11 targets again

2001-04-20  Alexander Larsson  <>

	* gtk/gtkcolorsel.[ch]:
	API Change. Take GdkColor arguments instead of gdouble *.
	Leave the old gtk_color_selection_set_color for compatibility,
	but marked deprecated.
	Do correct rounding when converting RGB <-> HSV.
	* gtk/gtkcolorseldialog.c:
	* tests/testgtk.c:
	Use new GtkColorSelection API.

	* gtk/gtkhsv.c:
	Fix problem selecting colors in triangle when Hue is 330.
	Fix some black dots around the HSB triangle.
	* gtk/gtkfilesel.c:
	return FALSE from the focus_in_event handler to fix focus problems.

2001-04-18  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
	set, so keybindings are configurable	
	(gtk_window_activate_default): Change to activate the focus widget
	instead if there's a focus widget, to be consistent with the
	behavior that previously existed in key_press_event

2001-04-18  Havoc Pennington  <>

	* gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201

2001-04-18  Havoc Pennington  <>

        Close bug #50615:
	* gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
	the layout

	* gtk/gtktext.c: Use base/text instead of bg/fg throughout

	* gtk/gtkentry.c: Use base/text instead of bg/fg throughout

	* gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
	* gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
	to blue for base, in addition to bg
2001-04-18  Havoc Pennington  <>

	* tests/testgtk.c (create_image): allow shrinking the image window
	to test that we clip to allocation.

	* gtk/gtkimage.c (gtk_image_expose): clip to allocation,

	* gtk/gtkenums.h: move GtkWrapMode in here, #50472

Wed Apr 18 14:23:14 2001  Owen Taylor  <>

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
	mode on shm segments to 0600. We'll see who complains.

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
	_gdk_windowing_window_destroy() AFTER recursing through

	* tests/ (noinst_PROGRAMS): Build testsocket,
	testsocket_child on X.

	* tests/testsocket[_child].c: Fix uses of

	[ Merge patch from Ramiro Estrugo  <> from gtk-1-2 ]

	* gdk/gdkimage.c: (gdk_image_get):
	Deal with the possibility that XGetImage() might return NULL.
	Allocate the GdkImagePrivate structure only after XGetImage()
	succeeds in order not to dereference a NULL ximage pointer.  This
	prevents a core dump when XGetImage() fails - which is unlikely,
	but can happen due to race conditions accessing the geometries of
	drawables.  An x error will still be triggered, but the gdk image
	wrapper at least wont seg fault.
2001-04-18  Havoc Pennington  <>

	* gtk/gtkimage.c: fix to properly queue resizes when the image is

	* gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
	if the insertion point isn't editable

	* demos/gtk-demo/images.c: Added a GtkImage demo

	* demos/gtk-demo/drawingarea.c: drawing area demo
	* demos/gtk-demo/menus.c (create_menu): cleanups

Wed Apr 18 12:15:52 2001  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
	  gdk/x11/gdkevents-x11.c: Introduce an extra child
	of toplevel windows that serves to hold the focus to
	avoid events being delivered to embedded windows.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
	some extra variables to clean up code and reduce the
	number of casts.

	* gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
	guint for 1 bit bit fields, not gboolean.

Wed Apr 18 10:04:23 2001  Owen Taylor  <>

	* gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
	not TRUE. (Fixes #52925)

Tue Apr 17 18:05:34 2001  Owen Taylor  <>

	* Released 1.3.4

	* NEWS: Updated

	* gtk/gtktextview.c (gtk_text_view_class_init): Fix to not

Tue Apr 17 13:47:12 2001  Owen Taylor  <>

	* Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS

	* gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
	names to compatibility #defines so docs work.

	* gtk/gtkenums.h: Remove GtkMenuFactoryType

	* gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.

	* Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS

	* tests/testgtkrc: No magenta cursors, please.

	* HACKING README.cvs-commits: Updated.

	* gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
Mon Apr 16 14:38:41 2001  Owen Taylor  <>

	* gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
	grabs, since they are no longer necessary.

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
	by signal_connect() and call gtk_button_pressed() rather
	than signal_connect_after().

	* tests/testgtk.c: Restore radio menu items to combos 
	since they'll look OK with Raleigh, and it is easier
	than finishing the process of removing them that was
	started earlier.

2001-04-16  Hans Breuer  <>

	* gdk/gdk.def :
	* gtk/gtk.def : added all exports required to link PyGtk 0.7.1

	* gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
	we are interested in the functions return value not the function address
	* gdk/gdkvisual.h : same for GDK_TYPE_VISUAL

	* gtk/ : reflect movement of GDK_TYPEs from gtk to gdk

2001-04-14  Hans Breuer  <>

	* gdk/gdk.def :
	* gdk/makefile.msc : updated

	* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
	"fill with tile" do so with new helper function	gdk_win32_draw_tiles 
	(the testgtk::text backgound pixmap is drawn again)
	Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
	Win32 Pango change
	* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles

	* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
	Not sure if the returned settings have the right unit, because I couldn't
	find any docs for the X version ...

	* gtk/gtk.def :
	* gtk/ : updated

Thu Apr 12 17:41:17 2001  Owen Taylor  <>

	* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
	wording problems. (Compared to version from Johannes Stezenbach to
	check correctness.)

Thu Apr 12 21:04:26 2001  Tim Janik  <>

	* gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
	this to compile.

2001-04-12  Anders Carlsson  <>

	* gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
	not pixbufpos.

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
	are unsigned insts, therefore use g_value_set_uint.
	(gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.

Sun Apr  8 05:36:06 2001  Jonathan Blandford  <>

	* gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.

	* gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to

	* gtk/gtktreeview.c: New functions to allow initial column
	dragging work.

	* gtk/gtktreeviewcolumn.c: Initial column dragging support.

	* tests/testtreefocus.c: give dave some love.

	* tests/testtreesort.c: Modify test to check really long samples.

2001-04-11  Alexander Larsson  <>

	* gtk-2.0.m4: Pass pkg-config options
	before the other args so it works even if

Mon Apr  9 19:02:07 2001  Tim Janik  <>

	* (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
	0, interface 0).

2001-04-04  Denis Oliver Kropp  <>

	* gtk/gtkcalendar.c (gtk_calendar_button_press):
        check for action_func != NULL

2001-04-04  Sven Neumann  <>

	* tests/testgtk.c (test_init): corrected path to gtk.immodules

Wed Apr  4 09:18:18 2001  Tim Janik  <>

	* Released Gtk+-1.3.3.

Wed Apr  4 07:42:23 2001  Tim Janik  <>

	* gdk/ (EXTRA_DIST): add to EXTRA_DIST.

Wed Apr  4 04:13:18 2001  Tim Janik  <>

	* gtk/stock-icons/ stay in builddir and read/write
	files to/from source dir. (if we don't stay in builddir, we
	can't reach make-inline-pixbuf.

	* gdk/ (gdkenumtypes.c): add $(srcdir) to

	* (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
	ages 0).

Tue Apr  3 15:04:45 2001  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
	moved to the GtkTreeSortable interface.

	* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
	Make more efficient (fixes #50262).

Tue Apr  3 13:55:37 2001  Owen Taylor  <>

	* NEWS: Updated.

	* Remove support for uninstalled glib.

	* gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
	so as not to stop emission.

	* Exit with an error message that gtk-config-2.0
	is no longer supported.

	* gtk/ tests/*: Moved all tests
	into tests, change build order to build modules before

	* modules/input/ Move gtk-query-immodules-2.0 invocation
	to here.

Tue Apr  3 13:52:57 2001  Tim Janik  <>

	* gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
	and gtk_item_factory_dump_rc() GtkPatternSpec argument to
	GPatternSpec. this is actually unlikely to cause breakage in
	third-party apps since except for gle, pretty much ever caller
	passes NULL here.

	* gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.

	* *.c: use g_pattern_*() API.

	* docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.

	* gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
	directions aren't passed in.

	* gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
	functionality to be usable from gtkstyle.c as well, give precedence
	for conversion to user-supplied parsers.

	* gtk/gtkstyle.c (_gtk_style_peek_property_value): use
	_gtk_settings_parse_convert() for rcporperty value conversion.

2001-04-03  Alexander Larsson  <>

	* gdk/linux-fb/gdkevents-fb.c:
	Add empty gdk_setting_get().

Tue Apr  3 05:09:07 2001  Tim Janik  <>

	* gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
	variable names.
	* gtk/ touch this so enum files get remade.

Mon Apr  2 19:36:57 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
	work again when not sorted.

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
	and "expand_row" signal, closing bug 52578.

	* gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal

	* gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal

Mon Apr  2 18:18:07 2001  Owen Taylor  <>

        * gdk/gdkevents.h: Add GdkEventSetting event for notification
	of changes to system settings, gdk_setting_get() to retrieve
	a single system setting.

	* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
	to the draft XSETTINGS mechanism.

	* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of

	* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
	of GDK settings changes to the GtkSettings object.

	* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
	double-click-timeout property to GDK.

	* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
	Define GDK boxed types here.

	* gdk/ gdk/ Generate source files
	gdk/gdkenumtypes.[ch] for enum definitions.

	* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
	* gtk/gtk-boxed.defs: Comment out GDK types
	* gtk/gtktypeutils.h: Remove GDK types
	* gtk/ No longer scan GDK headers for enumerataions

Mon Apr  2 16:41:08 2001  Owen Taylor  <>

	* Applied patch from Ron Steinke to add signal accumulators
	so that signals with the convention 'TRUE return means
	handled' stop emission on a TRUE return.

	* gtk/gtkmain.[ch]: Add private accumulator 
	_gtk_boolean_handled_accumulator, used throughout GTK+.
	* gtk/gtkspinbutton.c: Add accumulator for ::output.

	* gtk/gtktipsquery.c: Add accumulator for ::widget_selected
	* gtk/gtkwidget.c: Add accumulators for event signals,
	::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
	for ::mnemonic-activate.

	* gtk/gtkwindow.c: Add accumulator for ::frame_event

Mon Apr  2 16:24:21 2001  Owen Taylor  <>

	* gtk/gtkwidget.c: Add missing include.

Mon Apr  2 16:56:15 2001  Jonathan Blandford  <>

	* gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new

	* gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
	"changed" signal to "range_changed".

	* gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
	removing a tree from one model would remove all trees from that
	* gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
	changed signal instead.

Mon Apr  2 16:13:58 2001  Owen Taylor  <>

	* gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
	chaining up to parent impl, since we have a INPUT_ONLY

	* gtk/gtkentry.[ch]: Add a cursor_color property to set the
	foreground color for the cursor.

Mon Apr  2 15:06:13 2001  Owen Taylor  <>

	* gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
	param spec when caching property values, since we unref it
	later when we free the style.

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
	values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.

Mon Apr  2 10:47:57 2001  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix 

Mon Apr  2 00:51:11 2001  Owen Taylor  <>

	[ First pass at adding style properties. Still needs some definite
	fine-tuning. ]

        * gtk/gtkbutton.c: Add ::default_spacing style property.
	* gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
	::indicator_spacing style properties.

	* gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
	style properties.

	* gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
	rather than a normal property.

	* gtk/gtkwidget.c: Add an ::interior_focus style property to
	draw focus inside buttons, in the Windows/Java Metal/etc. style.

	* gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
	Honor ::interior_focus.
	* gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 

	* gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
	Add ::slider_width, ::trough_border, ::stepper_size,
	::stepper_spacing style properties.

	* gtk/gtkscale.[ch] Add ::slider-length style property.

2001-04-02 Alexander Larsson   <>

	* gdk/linux-fb/gdkwindow-fb.c:
	Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
	warnings that were spewed on startup.

	* gtk/gtkwindow-decorate.c:
	gtk_window_reposition -> _gtk_window_reposition

Sun Apr  1 21:37:22 2001  Owen Taylor  <>

	* gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
	Add boxed type for GtkRequistion. Use it for ::size-request.

	* gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
        Add a new GtkBorder structure useful for geometry properties
	for widgets. Add corresponding GTK_TYPE_BORDER.
	* gtk/gtkwidget.c (gtk_widget_class_install_style_property):
	Support automatic parser selection like

	* gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
	functionality for use by gtk_widget_class_install_style_property.

Sun Apr  1 20:48:59 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char

Sun Apr  1 23:41:37 2001  Tim Janik  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
	_NET window managers.

	* gtk/gtkmenufactory.[hc]: cvs removed those files now.

Sun Apr  1 08:00:13 2001  Tim Janik  <>

	* gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
	bad needs to be nuked, not just deprecated.

	* gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 

	* gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
	* gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
	* docs/Changes-2.0.txt: updates.
Sun Apr  1 01:02:54 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
	for (i = 0; i < 100; i ++)
	  g_print ("I will confirm it compile before committing\n");

Sun Apr  1 00:52:06 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c: Initial work on implementing the
	GtkTreeSortable interface.  Basicaly a big cut'n'paste job.

Sun Apr  1 03:28:14 2001  Tim Janik  <>

	* gtk/gtkwidget.c: fixed a bunch of notifications, added
	reference counts around emissions where the widget is used afterwards.
	added freeze/thaws around multiple properties being notified.
	(_gtk_widget_get_aux_info): cleanups.
	* gtk/gtksettings.c (gtk_settings_install_property): provide
	default parsing functions for gdkcolor, enums and flags.

	* gtk/gtkwindow.[hc]: partially reverted patch from havoc,
	applied by owen.
	backed out gtk_window_get_location(), gtk_window_set_location(),
	gtk_window_get_size() and gtk_window_set_size(), these
	have to be sorted out wrg x/y/width/height/default_with/default_height
	kept a flag in GtkWindowGeometryInfo to handle user
	resetting default sizes.
	cleaned up ZVT comments.
	bunch of assorted bug fixes, notification fixes.
	(_gtk_window_reposition): make this a really internal function.
	* gtk/testgtk.c: fixups.
2001-03-31  Hans Breuer  <>

	* : disable USE_MMX for msvc build cause
	the assembler doesn't fit and is out of my scope. Disable
	USE_GMODULE for msvc build as wel. The right way to share
	binaries on win32 would be to use libtiff.dll etc. To reduce
	installation hassles IMO it's better to include all fileformats
	builtin to gdk-pixbuf

	* gdk-pixbuf/makefile.msc : new file

	* gdk/gdk.def : updated

	* gdk/win32/gdkevents-win32.c : don't erase the background if
	.no_bg is set. It improves the scrolling (e.g. of testgtk main
	* gdk/win32/gdkgeometry-win32.c : added comment about the above

	* gdk/win32/gdkwindow-win32.c : added three new functions like
	the X version. Only one is implemented, because the other two
	"gdk_window_begin_(resize|move)_drag" got no docs and appear to
	be default behaviour on win32 anyway ...

	* gtk/gtk.def : updated

	* gtk/ : update for new files, use glib-genmarshal
	from where it was built and add an additional rule to automagically
	build gtkmarshal.[hc]

	* gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
	before array access for the current entry isn't finished

	* gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
	use g_return_val_if_fail

	* gtk/testgtk.c (window_controls) : don't use the *wrong* size
	for the static array, but let the compiler calculate it. It
	makes me wonder if gcc isn't capable to catch bugs like this ...

2001-03-31  James Henstridge  <>

	* gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
	constant "-1" in the aux info structure.

2001-03-30  Alexander Larsson  <>

	* gtk/gtkbutton.c (gtk_button_get_property):
	* gtk/gtklabel.c:
	Remove leaks.
	* gtk/gtkcontainer.c:
	* gtk/gtkhscale.c:
	* gtk/gtkhscrollbar.c:
	* gtk/gtklayout.c:
	* gtk/gtkmisc.c:
	* gtk/gtkprogress.c:
	* gtk/gtkprogressbar.c:
	* gtk/gtkrange.c:
	* gtk/gtktable.c:
	* gtk/gtkviewport.c:
	* gtk/gtkvscale.c:
	* gtk/gtkvscrollbar.c:
	* gtk/gtkwidget.c:
	Property patches, based on patches from John Margaglione and Lee Mallabone.

Thu Mar 29 21:20:38 2001  Mike Kestner  <>

	* gtk/gtkspinbutton.c : added value_changed signal which proxies for the
	adjustment. Cleaned redundant preconditions (spin != NULL). Added
	inline API function docs.
	(gtk_spin_button_new_with_range): New convenience constructor.
	(gtk_spin_button_set_increments): New adjustment helper.
	(gtk_spin_button_set_range): New adjustment helper.

	* gtk/testgtk.c : added test of the new convenince constructor and
	value_changed signals.

Thu Mar 29 20:20:38 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
	listen to the reorder signal.

Wed Mar 28 20:30:26 2001  Owen Taylor  <>

	* gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
	to get the aux info structure fo the widget.

	* gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
	above function.

        [ Patch from  Havoc Pennington  <> ]

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
	to get the size of the window manager frame, basically the same
	code that gdk_window_get_root_origin() had
	(gdk_window_get_root_origin): use gdk_window_get_frame_extents()

	* gtk/gtkwindow.c (gtk_window_set_default_size): use
	gdk_window_resize() if the window is realized and resizeable

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
	typo so that setting gravity works

	* gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
	allocation if auto_shrink is on, even if the default size
	has not changed.

	* gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus

Thu Mar 29 16:29:12 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
	reordering/sorting work.  Now pretty much works.

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
	reorder mostly work.  Still need to get the parity correct.

	* gtk/gtktreeviewcolumn.c: Listen for "model" property changed
	signal, so I can listen for the sort_column_changed signal so I
	can change my "sort_indicator" property.  Cool.

Wed Mar 28 00:03:10 2001  Owen Taylor  <>

	[ Patch from Havoc Pennington, ]

	* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
	Add functions gdk_window_begin_resize_drag/begin_move_drag
	to start resizing or moving a toplevel window. This
	is done either using the _NET_WM_MOVERESIZE protocol,
	or, if that isn't present, by emulation.

	* gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
	to export the above to GTK+-land.

	* gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
	* gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
	Move this function into gdkwindow, since we need it
	when implementing fallback resizing.

	* gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
	Fix typo when setting gravity.

	* gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
	Add an optional (but on by default) resize grip for resizing 
	the parent window.

01-03-29  Alexander Larsson  <>

	* gtk/gtktooltips.c (gtk_tooltips_event_handler):
	Don't return TRUE from the event handler, that blocks all
	event signals on the tooltip widget. Now you can press buttons
	in toolbars again.

Wed Mar 28 19:20:43 2001  Owen Taylor  <>

	* gtk/testtext.c (create_buffer): Add missing NULL on

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
	c-n-p problem with INCONSISTENT property.

        [ Patch from Havoc Pennington  <> ]

	* gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup

	* gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
	signal as a hook for extending the default popup menu

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	use radio menu items for the input method menuitems

	* gtk/gtkimcontextsimple.c (check_hex): do better validation of 
	inserted unicode from Ctrl-Shift-hex input method

	* gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
	validatation here, already done at GtkTextBuffer level.

	* gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
	popup_menu run action signal and Shift+F10 and Menu keybindings.

	* gtk/gtkentry.c: implement a default handler for popup_menu

	* gtk/gtktextview.c: implement a default handler for popup_menu

	* gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
	from a key event
	* gtk/gtklabel.c: remove "trailer" cruft

Wed Mar 28 17:27:12 2001  Jonathan Blandford  <>

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
	handle reordering of trees.  Seems to mostly work w/ the exception
	of the parity flag.

	* gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"

Wed Mar 28 21:12:37 2001  Tim Janik  <>

	* gtk/gtkwidget.h: c++ fixes.

Sun Mar 25 15:51:28 2001  Owen Taylor  <>

	* gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized

Tue Mar 27 22:36:07 2001  Owen Taylor  <>

	* gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
	Nils Barth fixing event return values. (#51041)

	* gtk/gtkwidget.c: Fix some return values for default

	* gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
	return values for trough_keys functions.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
	value for add_accelerator (shoudl have been a void

	* gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
	Fix return type of EVENT.

	* gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
	signal return a boolean.

Tue Mar 27 22:07:44 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
	reordered signal.

	* tests/testtreesort.c (main): fix spelling.

Tue Mar 27 20:55:29 2001  Jonathan Blandford  <>

	* gtk/gtkliststore.c: More work on implementing sortable

Mon Mar 26 15:48:45 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
	reference the widgets in the resulting list. (#11821)
	This makes this consistent with gtk_container_children.

	* gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
	uses of gtk_window_list_toplevels.

Mon Mar 26 15:26:17 2001  Owen Taylor  <>

	* gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
	a virtual function to set whether the IM context should use 
	the preedit string. (#51922)
Mon Mar 26 14:42:59 2001  Owen Taylor  <>

	* gdk/gdkpango.h: Remove stale FIXME comment.

2001-03-26  Alexander Larsson  <>

	* gtk/gtkfilesel.c (gtk_file_selection_get_filename):
	Fixed bug that returned NULL if a filename was selected.

2001-03-24  Havoc Pennington  <>

	* gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
	to contain the word "theme"

2001-03-24  Havoc Pennington  <>

	* gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
	slower but finer-grained
	(gtk_hsv_focus): get initial focus on the ring or triangle 
	according to tab direction

	* gtk/testgtk.c (main): get rid of weird sleep(1) on exit

2001-03-23  Havoc Pennington  <>

	* gtk/gtkhsv.c: make this somewhat key-navigable

	* gtk/gtkfontsel.c: mnemonics

	* gtk/gtkgamma.c: mnemonics

	* gtk/gtkcolorsel.c: add mnemonics to labels

2001-03-22  Havoc Pennington  <>

	Applied big patch from Seth Lytle to fix event handler return
	values, slightly modified.

	* gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
	(gtk_calendar_key_press): return TRUE for GDK_space triggers

	* gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
	(gtk_clist_button_release): return TRUE if handled

	* gtk/gtkcolorsel.c (mouse_release):
	fixed return type (void to gboolean), return TRUE,
	added GTK_SIGNAL_FUNC cast

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
	(void to gboolean), and return TRUE
	(gtk_combo_button_release): changed return value to TRUE after
	gtk_grab_add on combo->popwin

	* gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
	collapse or expand

	* gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for

	* gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
	press/release and motion that trigger act

	* gtk/gtkentry.c (gtk_entry_button_release): return TRUE

	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
	for GDK_Return
	* gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
	(gtk_list_button_release): return TRUE if selection

	* gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on

	* gtk/gtkmenushell.c (gtk_menu_shell_button_press):
	(gtk_menu_shell_button_release): chain parent_menu_shell retval

	* gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
	nothing triggered
	(gtk_notebook_button_release): return TRUE if we do anything

	* gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
	(gtk_spin_button_button_release): return TRUE or chained retval

	* gtk/gtktext.c (gtk_text_button_press): 
	(gtk_text_button_release): return TRUE
	(gtk_text_key_press): remove redundant retval code
	* gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
	and sensitive
	(gtk_tree_item_subtree_button_click): changed type to gint, and return
	TRUE if sensitive

	* gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
	return TRUE

2001-03-23  Havoc Pennington  <>

	* gtk/testgtk.c: fix warnings

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value

	* gtk/gtktextview.c: fix warnings

	* gtk/gtktext.c (find_cursor_at_line): fix warning

	* gtk/gtkselection.c (gtk_selection_notify): fix warning 

	* gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
	of this function

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	fix warning

	* gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning

	* gtk/gtkfontsel.c: fix warning

	* gtk/gtkcolorsel.c: fix warnings

2001-03-23  Havoc Pennington  <>

	* gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone

	* gtk/gtkbox.c: Apply property patch from Lee Mallabone

	* gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
	and deprecated gtk_check_menu_item_set_show_toggle().
	* gtk/gtkbutton.c: Apply property patch from Lee Mallabone

	* gtk/gtkfilesel.c: Apply property patch from Lee Mallabone

	* gtk/gtkframe.c: Apply property patch from Lee Mallabone

2001-03-23  Havoc Pennington  <>

	* gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
	some docs

Fri Mar 23 16:13:43 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace

	* gtk/gtktreestore.c (gtk_tree_store_set_value): change from
	set_cell to set_value

	* gtk/gtkliststore.c (gtk_list_store_set_value): change from
	set_cell to set_value

Thu Mar 22 19:27:34 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	fix braino.
	* gtk/gtktreesortable.[ch]: New interface to add cleanup sortable

	* gtk/gtktreeview.c: Addition of initial sortable support.

	* gtk/gtktreestore.c: Addition of initial sortable support.

	* gtk/gtkliststore.c: Addition of initial sortable support.

	* gtk/gtkmarshal.list: yet another marshaller.

	* gtk/gtktreedatallist.[ch]: shared code between the store models
	for handling sorting headers.

2001-03-22  Havoc Pennington  <>

	* gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
	(gtk_container_unset_focus_chain): Add ability to override the 
	focus chain for a container explicitly

Thu Mar 22 13:01:44 2001  Tim Janik  <>

	* gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,

	* gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
	(gtk_window_add_mnemonic): fixed assertions.
	(gtk_window_activate_mnemonic): constrain modifier checks to those
	permitted by gtk_accelerator_get_default_mod_mask().
	got rid of gtk_window_get_default_accel_group().

	* gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
	activatable widgets either by focussing or a warning.
	added a signal accumulator to ::activate_mnemonic which stops the
	emission once a handler returned TRUE.

2001-03-22  Havoc Pennington  <>

	* gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
	the stock item label

	* gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs

	* gtk/gtkstock.c (builtin_items): add mnemonics where missing

	* demos/gtk-demo/*.c: Add mnemonics all over the place

	* gtk/gtklabel.h: mark parse_uline deprecated

2001-03-21  Alexander Larsson  <>

	* gtk/gtkitemfactory.[ch]:
	Add support for stock and normal imagemenuitems.
	* gtk/testgtk.c:
	Add some tests for mnemonics, stock toolbars, stock
	and image menuitems in itemfactory and gdk_window_scroll.

2001-03-21  Alexander Larsson  <>

        * gtk/gtkbutton.[ch]:
	* gtk/gtkdialog.c:
	Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
	removed accel_group argument. Renamed gtk_button_new_accel() to
	gtk_button_new_with_mnemonic() and removed accel_group argument.

	* gtk/gtkcheckbutton.[ch]:
	New function gtk_check_button_new_with_mnemonic().

	* gtk/gtkentry.c:
	Override activate_mnemonic and just grab focus.

	* gtk/gtkitemfactory.c:
	Don't add menu uline accel group, instead use mnemonics support.

	* gtk/gtklabel.[ch]:
	New support for mnemonics.

	* gtk/gtkmarshal.list:
	Needed BOOLEAN:BOOLEAN for activate_mnemonic.

	* gtk/gtkmenu.[c]:
	* gtkmenushell.c:
	Use mnemonics instead of accel groups for uline
	support in menu items.
	Removed gtk_menu_get_uline_accel_group() and

	* gtk/gtkmenuitem.c:
	Override activate_mnemonic to handle switching between
	menu items if there are collisions.
	* gtk/gtknotebook.c:
	Connect to activate_mnemonic on the tab_label, so that
	activating it switches to that notebook page.

	* gtk/gtkwidget.[ch]:
	Add activate_mnemonic signal. New function
	gtk_widget_activate_mnemonic() to emit it.
	Default implementation does activate/grab_focus.

	* gtk/gtkwindow.[ch]:
	Add support for mnemonics in windows.
	New functions:
	gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
	gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier

	* gtk/testgtk.c:
	Update to function name changes.
2001-03-21  Alexander Larsson  <>

	* gtk/gtkimagemenuitem.[c]:
	Add gtk_image_menu_item_new_from_stock()

Tue Mar 20 15:00:43 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	Fix buglet in meeting.

2001-03-19  Havoc Pennington  <>

	* gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
	add a bunch of accessor functions. This is because we have
	reasonable expectations of extending what fields it contains in
	the future.

	* gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source

	* gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new

Mon Mar 19 15:53:36 2001  Owen Taylor  <>

	* gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
	handle __ in paths, quote " and \n in gtk_item_factory_dump_items().

	* gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
	  gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
	  gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
	  gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
	Change float to double everywhere with the exception of 0<->1.0 alignment
	and GtkCurve.

2001-03-19  Tor Lillqvist  <>

	* gdk/win32/gdkdrawable-win32.c
	* gdk/win32/gdkimage-win32.c: Use correct casts in debugging

	* demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include

2001-03-18  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (print_window_state): New function.
	print_event_state, print_event): Use preprocessor macro to make
	code more compact. Print also GDK_WINDOW_STATE events.
	(synthesize_crossing_events): Remove the old #ifdeffed-out code.
	* gtk/gtk.def
	* gtk/ Update.

	* gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
	to catch also Cygwin.

Sun Mar 18 01:15:30 2001  Tim Janik  <>

	* gtk/gtkspinbutton.[hc]: added rc-style argument
	removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
	and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
	rc-style settings.

	* gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).

	* gtk/gtkwidget.c: quark cleanups.

	* gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
	scanner with appropriate configuration, renamed GtkRcStyleClass.clone
	to create_rc_style() (we don't do cloning in standard OO sense).
	added per rc style properties.
	* gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
	property values and for caching those. some cleanups.
	* gtk/gtksettings.[hc]: new file for global rc-file properties
	(at least currently, should get extended to support X properties
	and other communication mechanisms).
	* gtk/gtkwidget.[hc]: added style property support:
	(gtk_widget_class_install_style_property_parser): install style
	property pspec with parser function for rc-file values other
	(gtk_widget_class_install_style_property): same as above without
	parser (parsers are going to be needed quite infrequently).
	(gtk_widget_style_get_property): retrive style property value.
	(gtk_widget_style_get_valist): same as above with varargs support,
	has NOCOPY semantics.
	(gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().

Fri Mar 16 18:24:53 2001  Jonathan Blandford  <>

	* demos/gtk-demo/main.c (row_activated_cb): modified to use
	"row_activated" signal.

	* gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
	stupidity.  Lets actually pass in the row with this signal...

Fri Mar 16 18:01:17 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN

	* gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.

	* gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
	everything into the ::destroy function, and freed a lot more.

2001-03-16  Havoc Pennington  <>

	* gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
	instead of gint16, to avoid overflow issues, since sizes > 16-bit
	are now allowed.

2001-03-16  Havoc Pennington  <>

	* Applied patch from Nils Barth (bug # 51041) to 
	replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
	in various places.

2001-03-15  Havoc Pennington  <>
	* gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
	for properties to set on the tag.

	* gtk/testtext.c: fixups to reflect create_tag change
	* gtk/gtktexttag.c (gtk_text_tag_set_property):
	background/foreground stipple are objects, not boxed.

	* demos/gtk-demo/textview.c: intellihancing

Fri Mar 16 11:38:42 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
	braindeadness spotted by Jamie Strachan <>.

2001-03-16  Alexander Larsson  <>

	* gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
	Fix sign error with queued region translations.

2001-03-15  HideToshi Tajima  <tajima@happy>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
	* gtk/gtkentry.c (update_im_cursor_location): 
	* gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
	* gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
	set_cursor_pos to set_cursor_location in GtkInputContext class

Thu Mar 15 18:22:44 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderer.h: Changed prototype to allow for getting
	the location of the cell relative to its area.
	* gtk/gtkcell*: modified for above change
	* gtk/gtktreeview.c: modified for above change.

Wed Mar 14 13:58:32 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
	 (gtk_tree_view_finalize): actually unref the model.  Thanks to
	Jamie Strachan <> for noticing this error.

2001-03-14  Havoc Pennington  <>

        * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
	* gtk/gtk.h: remove gtkdata.h

	* gtk/ remove gtkdata
	* gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
	not "disconnect" on the adjustments.
	* gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not

	* gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
	not GtkData

	* handle case where X render exists, but Pango lacks
	Xft support.

2001-03-15 Alexander Larsson  <>

	* gtk/gtktoolbar.[ch]:
	New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
	to add stock items to toolbars.

	* gtk/
	Remove ../gdk/gdkim.h from gdk_headers.

2001-03-15  Sven Neumann  <>

	* gdk/gdkim.h: removed
	* gdk/gdkprivate.h
	* gdk/x11/gdkim-x11.c: do not include gdkim.h 

2001-03-14  HideToshi Tajima  <>

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
	* gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
	* gtk/gtkimcontext.h (struct _GtkIMContextClass): add
	set_cursor_pos() virtual method

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
	(gtk_im_context_xim_set_cursor_pos): add implementation for
	set_cursor_pos() method

	* gtk/gtkentry.c (recompute_idle_func): set current cursor
	position to input methods

Mon Mar 12 21:02:08 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
	code a lot.

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
	(_gtk_tree_data_list_alloc): use g_mem_chunk.
	(_gtk_tree_data_list_node_to_value): Fix to switch on
	(_gtk_tree_data_list_value_to_node): Fix to switch on
	(_gtk_tree_data_list_node_copy): Fix to switch on

2001-03-12  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
	to convert to new property API. Also, change default_width and
	default_height get_property to return 0 as the flag value for
	"unset"; -1 is not a valid value for these fields.

2001-03-12  Havoc Pennington  <>

	* gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
	enum with registration for icon sizes, instead of strings.

	* gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
	gtkwidget.c: Fix to reflect GtkIconSize
2001-03-12  Alexander Larsson  <>

	Make GtkFB compile and link.
        * gdk/linux-fb/gdkdrawable-fb2.c:
	window->mapped to GDK_WINDOW_IS_MAPPED(). 
	* gdk/linux-fb/gdkwindow-fb.c:
	window->mapped to GDK_WINDOW_IS_MAPPED(). 
	Added gdk_window_shape_combine_region.
	Added assorted placeholders for unimplemented new GdkWindow API calls.

2001-03-12  Alexander Larsson  <>

	* gtk/gtkfilesel.c:
	Add more test when converting filenames from/to utf-8.
	Don't allow entering text in the filename entry which isn't allowed in
	a filename. Just beep instead.

2001-03-12  Alexander Larsson  <>

	* gtk/gtkclist.c:
	Scroll using gdk_window_scroll(). Don't wait for exposes.
	Move the column headers in an order that makes them flash less.

2001-03-10  Hans Breuer  <>

	* gdk/gdk.def : updated

	* gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
	to offseting the clip_mask at the right place

	* gdk/win32/gdkwindow-win32.c : don't create background brushes
	for all the gdkClasses, especially not for the input_only case.
	Otherwise flickering wont be avoidable, because we don't get
	WM_ERASEBKGND message for these windows.

	* gdk/win32/gdkevents-win32.c : initialize event->expose.region
	and fixed massive redraw problems apparently triggered by Alexanders 
	recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
	but it seems to work quite well :-)

	* gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose

Sat Mar 10 12:15:31 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
	(gtk_list_store_set_cell): Fix a stupid typo.

Fri Mar  9 20:36:21 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
	select_all not work if you're in SINGLE mode (it doesn't make that
	much sense, anyway.)

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle types more sanely.
	(_gtk_tree_data_list_value_to_node): handle types more sanely.
	(_gtk_tree_data_list_node_copy): handle types more sanely.

	* gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
	GValue better. Converts the type as well.

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
	GValue better. Converts the type as well.

Wed Mar  7 20:47:41 2001  Owen Taylor  <>

	* gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
	gdk/ gdk/x11/ gdk/x11/gdkevents-x11.c 
	gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
	gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.

	* gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove

2001-03-09  Hans Breuer  <>

	* gdk/gdk.def : updated

	* gdk/win32/gdkevents-win32.c : don't ask input_only windows
	for their palette

	* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped

	* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
	removing and implemented Havoc's GdkWindow state functions; 
	stick/unstick only as no-op, cause I don't know how to emulate 
	on win32 ...

	* gtk/gtk.def : updated

	* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()

	* gtk/gtktypeutils.c : #include <string.h>

	* gtk/gtkwindow.h : declare gtk_window_set_decorated ()

Fri Mar  9 09:31:55 2001  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
	GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
	not a boxed.

2001-03-09  Alexander Larsson  <>

	* docs/Changes-2.0.txt:
	Document expose event->region change and that gtk_widget_event
	doesn't allow passing expose events.

	* gdk/gdkevents.h:
	Add region to expose event.
	* gdk/gdkevents.c:
	Handle event->region in gdk_event_copy() and gdk_event_free().

	* gdk/gdkwindow.c (gdk_window_process_updates_internal):
	Generate expose_event->region when creating expose events.

	* gdk/x11/gdkevents-x11.c:
	Generate expose events with regions when translating X events.

	* gtk/gtkcontainer.[ch]:
	Default expose handler that propagates expose events to NO_WINDOW
	children. New function gtk_container_propagate_expose()

	* gtk/gtkwidget.[ch]:
	Moved gtk_widget_event implementation to gtk_widget_event_internal.
	gtk_widget_event calls gtk_widget_event_internal but doesn't allow
	expose events. New function gtk_widget_send_expose() to send expose
	events. New function gtk_widget_region_intersect() to calculate
	window/region intersections.
	* gtk/gtkmain.c (gtk_main_do_event):
	Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
	Use gtk_widget_send_expose() to send expose events.
	* gtk/gtkbin.c:
	* gtk/gtkbox.c:
	* gtk/gtkfixed.c:
	* gtk/gtkimagemenuitem.c:
	* gtk/gtklist.c:
	* gtk/gtkpacker.c:
	* gtk/gtktable.c:
	* gtk/gtktree.c:
	Remove expose handler, using the default container implementation
	* gtk/gtkbutton.c:
	* gtk/gtkcheckbutton.c:
	* gtk/gtkeventbox.c:
	* gtk/gtkfixed.c:
	* gtk/gtkhandlebox.c:
	* gtk/gtklayout.c:
	* gtk/gtklistitem.c:
	* gtk/gtkmenu.c:
	* gtk/gtkmenubar.c:
	* gtk/gtkmenuitem.c:
	* gtk/gtknotebook.c:
	* gtk/gtkoptionmenu.c:
	* gtk/gtkpaned.c:
	* gtk/gtkscrolledwindow.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktoolbar.c:
	* gtk/gtktreeitem.c:
	* gtk/gtkviewport.c:
	Chain expose handler to parent class handler. Use
	gtk_container_propagate_expose() to propagate exposes.

	* gtk/gtkclist.c (check_exposures):
	* gtk/gtktext.c (process_exposes):
	Use gtk_widget_send_expose instead of gtk_widget_event.

Thu Mar  8 19:40:28 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.

Thu Mar  8 19:18:27 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
	unref the nodes.   Fixes bug #50058.

	* gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
	"::ref_iter" to "::ref_node".
	(gtk_tree_model_unref_node): change "::unref_iter" to
	"::unref_node". Fixes bug #50064.

Thu Mar  8 17:40:09 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
	support for invisible cells.
	 (gtk_tree_view_bin_expose): ditto

Thu Mar  8 16:36:00 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
	on gobjects.

	* tests/testtreefocus.c (main): New test file.

	* tests/testtreeview.c: update to latest glib changes.

	* tests/testtreecolumns.c: update to latest glib changes.

Thu Mar  8 18:13:20 2001  Tim Janik  <>

	* gtk/testgtk.c: re-enabled event watcher emission hooks.

Thu Mar  8 16:51:21 2001  Tim Janik  <>

	* *.c: added accumulator data argument to g_signal_newc()

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
	* gtk/gtktreeview.c (gtk_tree_view_setup_model): 
	* gtk/treestoretest.c (make_window):

	* gtk/gtktextbuffer.c: completed signal arg fixups,
	they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.

Thu Mar  8 00:02:30 2001  Owen Taylor  <>

	* gtk/gtkwidget.[ch] (gtk_widget_get_name): Make

	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
	::hierarchy-changed signal when a widget changes
	from anchored to unanchored or vice versa.
	(anchored means 
	 gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
	Use a private flag to keep track of this efficiently.

2001-03-07  Havoc Pennington  <>

	* gtk/testgtk.c (create_spins): uglify so that size request gets

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
	request on values for upper/lower, completes #6152

Wed Mar  7 20:07:22 2001  Owen Taylor  <>

	* Remove gtk-config-2.0 again.
	(Grrrr, pkg-config. And stops make loops.)

Thu Mar  8 00:18:29 2001  Tim Janik  <>

	* gtk/gtksignal.[hc]: removed old emission hook API.
	* docs/Changes-2.0.txt: fixed sections.
	* gtk/gtktextbuffer.c: signal arg fixups.

2001-03-07  Havoc Pennington  <>

	* gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE

	* gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
	here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
	of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
	validation and the redraw which is higher priority than the

2001-03-07  Havoc Pennington  <>

	* gtk/gtkentry.c (gtk_entry_get_property): remove trailer
	(gtk_entry_set_property): remove trailer

	* gtk/gtkentry.c (gtk_entry_set_width_chars): 
	(gtk_entry_get_width_chars): new functions, to set size request to 
	a given number of characters

	* gtk/testgtk.c (create_dialog): beef up the dialog test slightly

	* gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
	(gtk_dialog_get_has_separator): new function
        (run_delete_handler): fix to not emit "response" signal
	because we already did in the delete event handler installed
	at dialog creation time.
	* gtk/gtkdialog.h: add a has_separator property,

2001-03-07  Havoc Pennington  <>

	* gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
	off decorations for a window.

	* demos/gtk-demo/button_box.c (create_bbox): adapt to button box

	* gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
	to get location of PangoLayout inside the label, closes #51198

	* gtk/testgtk.c (create_bbox): fix up button box usage

	* gtk/testcalendar.c (create_calendar): fix up button box usage

	* gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage

	* gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage

	* gtk/gtkhbbox.h: deprecations

	* gtk/gtkvbbox.h: deprecations

	* gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
	emulate deprecated gtk_button_box_get_spacing

	* gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
	the "set global default" functions
	(struct _GtkButtonBox): remove "spacing" field, use the one from 
	GtkBox base class

	* gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore

	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
	render the icon, return the missing image icon.

	* gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
	image icon if the load fails.	

	* gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
	when no image is found; should be the Netscape "missing image"
	icon eventually but for now is a random image

	* gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
	role for the session manager

	* gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG

	* gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define

	* gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG

Wed Mar  7 13:24:57 2001  Tim Janik  <>

	* gtk/*.c: marshaller fixes.
	* gtk/gtkmarshal.list: extreme cleanup.

	* gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
	param spec for now.

	* gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
	where appliable.

	* gtk/gtktypeutils.[hc]: updates to GLib API changes.
	special cased autogenerated boxed types from gtktypebuiltins_ids.c
	which are not reference counted:
	GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
	PangoFontDescription, GtkTreeIter and GtkTreePath.

Thu Mar  1 03:58:56 2001  Tim Janik  <>

	* gtk/gtktreeselection.h: 
	* gtk/gtktreemodel.c:
	* gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
	file should be included directly, and gobject/gmarshal.h
	as well as gtk/gtkmarshal.h even can't be included directly.

	* grr, install gtk-config-2.0.

	* gtk/testgtk.c:
	* gtk/simple.c:
	* gtk/gtkmenu.c:
	* gtk/gtkitemfactory.c: use g_object_connect() instead of
	passing "*signal*::*" args to gtk_widget_set().
	* gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
	* gtk/*.c: removed trailer arg from property setters and getters.
	macro fixups.

2001-03-07  Alexander Larsson  <>

	* gtk/gtklabel.c (set_markup): Removed warning

Tue Mar  6 19:59:12 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
	field to allow you to hide cell renderers.

	* gtk/gtkcellrenderer.c: Add support for invisible cells.

	* gtk/gtktreeview.c: Add support for invisible cells.

Tue Mar  6 17:25:07 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
	Add "clicked" signal back to columns.

	* ChangeLog: remove conflict markers.

Tue Mar  6 10:45:45 2001  Owen Taylor  <>

	* gtk/gtkbutton.c: Add animation of activation by, on 
	activate, pressing the button, and adding a timeout that 
	releases the button after 250ms	or on key release and
	emits ::clicked. (#51501)

	* gtk/gtkdialog.c: Bit of a hack - for buttons in the
	action area, we connect to ::clicked instead of ::activate
	so the dialog stays up through the animation.

Mon Mar  5 16:38:15 2001  Owen Taylor  <>

	* gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
	check the ignore_enter flag for the menu shell that
	the item is actually a child of, not for attached
	submenus. (#51536)

Tue Feb 27 02:16:14 2001  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_propagate_event): Only do special
        special key-press grab handling for widgets within
        GtkWindows. Otherwise, fall through to normal case.

        This prevents key events being sent twice to GtkInvisible
        widgets, which can cause all sorts of mischief.

Fri Feb  2 13:20:12 2001  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_propagate_event): When a grab
	widget is in effect, give the grab widget a first
	crack at KEY_PRESS/RELEASE events. (#424)

2001-03-06  James Henstridge  <>

	* gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
	offset for the window_state_event to point at window_state_event
	rather than no_expose_event.

Mon Mar  5 19:10:15 2001  Jonathan Blandford  <>

	* gtk/gtkimmodule.h: fix busted /* comment */

Mon Mar  5 15:07:05 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c: Apply patch from John Margaglione to add
	object properties.

Mon Mar  5 14:55:19 2001  Jonathan Blandford  <>

	* gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
	add object properties.

	* gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
	to add object properties.

	* gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
	object properties.

	* gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
	add object properties.

	* gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
	object properties.

Mon Mar  5 14:38:54 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c: renamed "child_toggled" to

	* gtk/gtktreeview.c: Handle removing columns better.  Updated to
	handle new signal name.

	* gtk/gtktreestore.c: Updated to handle new signal name.
	* gtk/gtklisttore.c: Updated to handle new signal name.
	* gtk/gtktreemodelsort.c: Updated to handle new signal name.

2001-03-05  Alexander Larsson  <>

	* gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
	Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.

2001-03-05  Michael Natterer  <>

	* gtk/gtklabel.c: Made the "parent_class" pointer static. The
	pixbuf-engine coincidentially also failed to make one of it's
	parent_class pointers static, causing overwriting of GtkLabel's
	parent_class pointer in pixbuf_style_class_init().
	(Will commit the fix to the pixbuf-engine too).

2001-03-05  Alexander Larsson  <>

	* gdk/gdkwindow.h:
	Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
	New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
	gdk_window_set_icon_list for net wmspec functionality.

	* gdk/x11/gdkwindow-x11.c:
	Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
	Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
	Added gdk_wmspec_change_state helper function and used it in the code.
	Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.

	* gtk/gtkdialog.c (gtk_dialog_init):

	* gtk/gtkhandlebox.c (gtk_handle_box_realize):

	* gtk/gtkwindow.c:
	new function gtk_window_set_type_hint.
	On realize, set type hint and modal hint.

	* gtk/gtkwindow.h:
	Added type_hint field and gtk_window_set_type_hint.

2001-03-05  Alexander Larsson  <>

	* gtk/gtklabel.[ch]:
	Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
	New function gtk_label_get_accel_keyval () to get the underline accelerator
	of the label. Setting the label pattern overrides other attributes.

Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <>

	* gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
	Added missing initializers to gtk_rc_style_init().

Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <>

	* gtk/gtktextview.c: fixed bug #51097 about setting 
	gtk_text_view_set_border_window_size() if the widget is 
	already realized.

Sat Mar  3 16:59:16 2001  Owen Taylor  <>

	* gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes

	* gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
	comment. Won't do to have duplicated doc comments between
	the platform subdirs.

Sat Mar  3 16:26:33 2001  Owen Taylor  <>

	* gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
	  gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:

	Detectable auto-repeat - make a repeating key generate
	press/press/press/release instead of press/release pairs.

	If we have Xkb and XkbSetDectableAutoRepeat supports
	that, we do it that way. Otherwise, when we get
	a release event, we check ahead with XPending to see
	if the next key is a KeyPress with the same keycode
	and timestamp. (Not 100% reliable, but pretty close.)
Tue Feb 27 02:16:14 2001  Owen Taylor  <>
  	* gtk/gtkmain.c (gtk_propagate_event): Only do special
        special key-press grab handling for widgets within
        GtkWindows. Otherwise, fall through to normal case.
        This prevents key events being sent twice to GtkInvisible
        widgets, which can cause all sorts of mischief.
Fri Feb  2 13:20:12 2001  Owen Taylor  <>
 	* gtk/gtkmain.c (gtk_propagate_event): When a grab
 	widget is in effect, give the grab widget a first
 	crack at KEY_PRESS/RELEASE events. (#424)
Sat Mar  3 15:39:49 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
	to extend the selection. (Roughly based on patch
	from Jay Cox, #50939)

	* gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
	to properly handle previous GDK_BUTTON_PRESS. 
	(Patch from Jay Cox, #50938)

	* gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
	'\0' back along with the deleted text. (#51148)

Mon Jan 22 14:31:29 2001  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
	the group when extracting it from the X keyboard event.

	* modules/input/ modules/input/imipa.c: 
	Simple module for entering IPA. (Do we need a 
	gtk-stupid-input-tricks CVS module?)

Sat Mar  3 13:32:47 2001  Owen Taylor  <>

	* gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious

	* Fix include path.

	* gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
	is no focus widget for the dialog currently, grab the focus as well
	as the default.

	* gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
	the action area's children to iterate through, not the
	dialog's children.

Sat Mar  3 13:21:27 2001  Owen Taylor  <>

	* tests/ tests/testsocket.c tests/testsocket_child.c:
	Add plug-socket tests. (Won't work worth a darn until I commit
	the rest of the plug-socket changes, but no reason these
	can't go into CVS now.)

2001-03-02  Havoc Pennington  <>

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use

	* gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function

	* gtk/testgtk.c (create_shapes): add test for shape_combine_region

	* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
	function, contributed by Ron Steinke	

	* gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename

	* gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
	New function, contributed by Ron Steinke

	* gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
	used to line up the text in the entry when using the entry for
	editable sheet cell hacks

	* gtk/testgtk.c (create_entry): test the activate_default setting
	on GtkEntry

	* gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
	cause the entry to activate the default button for a dialog when 
	(gtk_entry_get_activates_default): new function

Wed Feb 28 19:10:43 2001  Owen Taylor  <>

	* gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
	Hwang to move call to sync_selection() up a few lines
	to before the row list is modified, to fix crash when
	removing rows in the undo_selection list.

	(Test case provided by Daniel Elstner:

Fri Feb 23 15:06:48 2001  Owen Taylor  <>

	* gtk/gtktree.c (gtk_tree_class_init): Do the setting
	of tree->root_tree in parent_set rather than _map(), 
	fixing #50892 in a bit better manner.

Thu Feb 22 17:07:58 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)

Tue Feb  2 11:22:33 2001  Jody Goldberg <>

	* gtk/gtkstyle.c : Remove duplicate fwd decl for

ue Feb 20 11:40:58 2001  Owen Taylor  <>

	* gdk/gdkimage.c (gdk_image_new): Remove excess 
	warning, make warnings more verbose, treat a error
	in shmat as permanent, and don't try again.
	(#51163, Ed Randall.)

Mon Feb 19 20:15:28 2001  Owen Taylor  <>

	* gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
	delay for the first click before starting to scroll.
	(based on #51026, gtk-enf-990512-0.patch, Eric Fisher)

	* gtk/gtktext.c: GtkText should have I-beam cursor. 
	(based on gtk-enf-990513-1.patch, Eric Fisher.)

Mon Feb 19 16:42:19 2001  Owen Taylor  <>

	* gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
	cleanup to remove some references to unused
	->xoffset, ->yoffset.

Mon Feb 19 14:20:36 2001  Owen Taylor  <>

	* gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
	mask. (#51039, fix from Martin Maierhofer)

Fri Feb 16 20:09:42 2001  Owen Taylor  <>

	* gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
	for unshifted + and shifted = for non-us keyboards.
	Make <Control>+ and <Control>- work as well as 
	<Control>KP_Plus, <Control>KP_Minus for recursive
	open/close.  (#2682, René Seindal)

Fri Feb 16 18:50:59 2001  Owen Taylor  <>

	* gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
	the active menu item before deactivating the menu,
	so gtk_menu_popdown doesn't change the history. (#50964)
Fri Feb 16 15:55:22 2001  Owen Taylor  <>

	* gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
	draw lines with text_gc rather than black_gc.
	(Patch from Vlad Harchev <hvv hippo ru>, #50926)

Thu Mar  1 19:50:56 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	Move handling of buttons fully in gtktreeviewcolumn.  This code is
	less interrelated then it was, but it still requires the
	GtkTreeView to map it.

	* test/testtreecolumn.c: Now I can add a column to one view,
	remove it, add it to the another view, remove it, then re-add it
	to the first.  Nifty.

Thu Mar  1 13:14:27 GMT 2001  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Minor corrections

Wed Feb 28 16:36:46 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize

2001-02-28  Havoc Pennington  <>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
	(gtk_widget_draw_focus): remove this function; we could instead
	make it just gtk_widget_draw(), but in most cases I think the
	result would be broken user code, so think it's better to have
	that code not compile and get fixed
	(gtk_widget_draw_default): ditto

	* gtk/gtkwidget.c: Add default handlers for focus_in_event and
	focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
	* gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
	widgets lose/get the default, instead of calling draw_default
	* docs/Changes-2.0.txt: note about all this

	Then fixed every widget in GTK, I won't list all the filenames.

Tue Feb 27 19:32:53 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (deleted_callback): Proxy out to
	(inserted_callback): Proxy out to
	(_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
	get around signal emission ordering problem.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
	fix to work with SINGLE 
	(_gtk_tree_selection_internal_select_node): Major sanitization on
	selections.  SINGLE now seems to work.

	* tests/ add testtreecolumn.c:

	* tests/testtreecolumn.c: New test.  Mostly points out selection
	bugs currently, but will test columns later.

	* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
	selection bug.  I hate touching this code -- it's scary.

2001-02-26  Havoc Pennington  <>

	* gtk/testgtk.c: test the window state stuff

	* gtk/gtkwindow.c (gtk_window_present): new function, makes a
	window come to the user's attention as if it were just created
	(gtk_window_iconify): new function
	(gtk_window_deiconify): new function
	(gtk_window_stick): new function
	(gtk_window_unstick): new function
	(gtk_window_maximize): new function
	(gtk_window_unmaximize): new function

	* gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal

	* gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE

	* gdk/x11/gdkevents-x11.c: create window state events when
	(gdk_wmspec_supported): new function

	* gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
	iconification before showing the window
	(gdk_window_deiconify): new function
	(gdk_window_stick): new function
	(gdk_window_unstick): new function
	(gdk_window_maximize): new function
	(gdk_window_unmaximize): new function

	* gdk/gdkwindow.c: store the window state in the window; 
	change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
	(gdk_window_get_state): return the current window state

	* gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
	(gdk_event_get_state): handle GDK_WINDOW_STATE
	(gdk_synthesize_window_state): function to create the window state

	* gdk/gdkevents.h (struct _GdkEventWindowState): new type of
	event, for changes to "window state" such as maximized, sticky, 
	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
	focuses a window

	* gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
	finds out if we support a given WM spec hint

Tue Feb 27 13:37:38 GMT 2001  Tony Gale <>

	* docs/faq/gtk-faq.sgml: New question re memory leaks.

2001-02-25  Hans Breuer  <>

	* gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
	cause we want to loose those prototypes only in the latter case

	* gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
	GdkPixmapImplWin32 because it itsn't derived from it. Use the
	impl member variable instead

	* gtk/gtk.def : updated

	* gtk/gtklist.c : 
	* gtk/gtkmenus.c : include <string.h> for memset ()

	* gtk/ : updated and don't define GTK_COMPILATION
	for everthing built here, but for gtk-x.x.dll only. This solves
	problem of indifferent gtk type definitions

Sat Feb 24 20:11:39 2001  Jonathan Blandford  <>

	* gtk/gtkclipboard.h: actually put /* */ around #endif comment.

Fri Feb 23 17:50:13 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
	column that is exposed.

	(_gtk_tree_view_update_size): Changed name from set_size, and
	changed function to do more work, and not force people calling it
	to figure out the size.  Simplifies a lot of code elsewhere.

2001-02-23  Alexander Larsson  <>

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
	return solid masks for xpms that have no transparent color.
	This makes the ..._create_from_xpm... API backwards

2001-02-23  Tor Lillqvist  <>

	* README.win32: Update. Mention the gtk-1-3-win32-production

	* gdk/win32/bdfcursor.c: New file. A program that generates
	xcursors.h. Thanks to Stefan Ondrejicka.

	* gdk/win32/xcursors.h: New file, contains the X cursor font in a
	compact format.

	* gdk/win32/ (EXTRA_DIST): Add new files.

	* gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
	function, uses xcursors.h.
	(gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
	cursor from inline data instead of using LoadCursor() to generate
	it from a resource.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
	event, must check the Windows message for mouse button state, as
	the GDK event state might not have been built if it is
	undelivered. Remove one goto.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
	SetCursor() if the current cursor as returned by GetCursor() is
	the window's previous cursor. The ChildWindowFromPoint() test
	apparently didn't work correctly.

	* gdk/win32/rc/*.cur: Remove.

	* gdk/win32/rc/ Remove cursors.

	* gdk/win32/rc/ (EXTRA_DIST): Remove from here, too.

	* gtk/makefile.{mingw,msc}.in: Updates.

Wed Feb 21 20:56:50 2001  Jonathan Blandford  <>

	* gtk/gtktreemodel.h: add functions for signal emission.

	* gtk/gtktreestore.c: move to use above functions instead of

	* gtk/gtkliststore.c: ditto

Wed Feb 21 15:41:34 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.c: removed signals.  Moved to inherit from
	GObject instead of GtkObject.

	* gtk/gtkliststore.c: ditto.

	* gtk/gtktreemodelsort.c: ditto.

	* gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
	GtkTreeModelIface, instead of in each model.

2001-02-21  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
	unbreak this function

	* gtk/gtkentry.c: apply patch from Lee Mallabone to add object 

	* gtk/gtkcurve.c: apply patch from Lee Mallabone to add object

	* gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 

	* gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
	mean unset the max length

Wed Feb 21 14:23:05 2001  Jonathan Blandford  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
	Changed name to be set_cell_data_func to make it clear what
	the functino does.  Close bug #51069.

Tue Feb 20 16:49:00 2001  Jonathan Blandford  <>

	* gtk/testgtk.c (main): Remove turning on of profiling malloc,
	have memory actually freed.  Keeps box running longer.

2001-02-21  Alexander Larsson  <>
        * gtk/gtkseparatormenuitem.[ch]:
	Added new menu separator item. The drawing and size handling
	is still done in GtkMenuItem, but the API is a bit more sane.
	* gtk/
	Add gtkseparatormenuitem.[ch].

	* gtk/gtk.h:
	Add gtkseparatormenuitem.h.
	* gtk/gtkentry.c:
	* gtk/gtkmenufactory.c:
	* gtk/gtktextview.c:
	Use the new API for menu separators.
	* demos/gtk-demo/menus.c (create_menu):
	Add some GtkSeparatorMenuItem demo code.

2001-02-20  Havoc Pennington  <>

	* gtk/gtkaspectframe.c: Convert to new property API, patch from 
	Lee Mallabone

	* gtk/gtkarrow.c: Convert to new property API, patch from 
	Lee Mallabone

Tue Feb 20 14:26:41 2001  Jonathan Blandford  <>

	* tests/testtreeview.c (toggled_callback): fix to reflect change
	in GtkTreeModelStore.

Tue Feb 20 12:16:12 2001  Jonathan Blandford  <>

	* gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
	function to create an icon set from a pixbuf.

2001-02-20  Alexander Larsson  <>

	* gtk/gtkcellrenderertext.[ch]:
	Add a "markup" property.

	* gtk/treestoretest.c:
	Use the markup property, remove some leftover stuff from

2001-02-20  Alexander Larsson  <>

	* gtk/gtklabel.c (gtk_label_set_selectable):
	Queue a redraw if the selectable setting was changed.

2001-02-20  Alexander Larsson  <>

	* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
	Actually copy the whole gc, not just the public parts.
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	GDK_WINDOW_TEMP are not toplevel. Fixes selectable

2001-02-19  Havoc Pennington  <>

	* gdk/gdkwindow.c: docs

	* gdk/gdkrgb.c: docs

	* gdk/gdkregion-generic.c: docs

	* gdk/gdkgc.c (gdk_gc_set_values): docs

	* gdk/gdkdraw.c: docs

	* gdk/gdkdrawable.h: deprecate drawable get/set data

Mon Feb 19 20:37:35 2001  Jonathan Blandford  <>

	* demos/gtk-demo/dialog.c: Add simple new demo.

2001-02-19  Havoc Pennington  <>

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
	insert_child_anchor signal, bug #50245

	* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
	from create_child_anchor, so the anchor is passed in

	* gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
	(_gtk_widget_segment_new): have the child anchor object passed in, 
	instead of creating it.

	* gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
	to gtk_text_buffer_get_modified

2001-02-19  Havoc Pennington  <>

	* gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
	changed GLib without fixing GTK

	* gtk/gtkrange.h: Rename all the stupid implementation detail 
	functions to have an underscore in front. Most of them should 
	probably just go away, but for starters don't export them.
	Bug #50482

2001-02-19  Havoc Pennington  <>

	* gdk/gdkcolor.h: test was backward, so deprecated functions were
	excluded by default

	* gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
	clean up the old code a bit

	* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
	inconsistent state

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
	draw inconsistent state

	* gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
	(create_menu): add inconsistent test

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
	new function
	(gtk_check_menu_item_get_inconsistent): new function
	(gtk_real_check_menu_item_draw_indicator): draw the inconsistent
	state (using etched in for now)

	* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
	draw inconsistent state

	* gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
	function, used when the user has selected a range of stuff in
	different states
	(gtk_toggle_button_get_inconsistent): accessor for that
	(gtk_toggle_button_paint): draw inconsistent state (etched in?
	don't know what else to do)

2001-02-19  Hans Breuer <>

	* gtk/gtk.def : updated exported symbols

	* gtk/ : updated

	* gtk/gtkstyle.c (gtk_style_realize) : gets called without
	a colormap, when invoked from testgtk::entry. I'm not sure where
	the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
	avoids immediate crashing ...

	* gtk/gtkmain.c (check_setugid) : totally disabled on win32;
	any objections ?

	* gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
	0 parameter. At least msvc doesn't like macros with var args. 
	I simply removed the extra 0, was it a feature or a typo ?

	* gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
	removed the extra indirection from the GtkTreeViewColumnFunc parameter,
	because the value assignment to the internal struct wasn't working.
	I'm not absolutely sure. The problem could have been resolved by
	changing the "func" declartion in the struct, but was the pointer
	to the function pointer intended ?

	* gtk+/gtk/gtktreedatalist.c : include gboxed.h

	* gdk/gdk.def : updated exported symbols

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
	only use SetDIBitsToDevice if there is a palette at the drawable
	and the image is GDK_VISUAL_PSEUDO_COLOR

	* gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...

	* gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */

	* gdk/*/makefile.msc : updated

2001-02-19  Havoc Pennington  <>

	* demos/gtk-demo/ (INCLUDES): GDK_DISABLE_COMPAT_H,
	GDK_DISABLE_DEPRECATED (we need to merge those two #defines)

	* gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
	(gdk_key_repeat_restore): nuke

	* gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
	(gdk_init_check): no atexit func

	* gdk/gdkrgb.h: mark some stuff deprecated

	* gdk/gdkcolor.h: mark some stuff deprecated
	* gdk/gdk.h: deprecated gdk_exit, gdk_input_*

	* gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED

2001-02-16  Havoc Pennington  <>

	* gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
	scroll steps.

	* gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
	steps, and add Ctrl-arrow shortcuts for paging visually as with
	HScale, since Page Up and Page Down move logically.

	* gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
	GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
	* gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
	(gtk_range_scroll): handle the visual steps

	* gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
	scroll steps

	* gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
	steps, not the logical ones.

	* gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
	(scroll_vertical): handle up/down steps

2001-02-19 Alexander Larsson  <>

	* gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
	Copy data and free data with free().

	* gdk-pixbuf/gdk-pixbuf.c:
	* gdk-pixbuf/io-jpeg.c:
	* gdk-pixbuf/io-png.c:
	Use g_try_malloc/g_free instead malloc/free.
	* gdk-pixbuf/test-gdk-pixbuf.c:
	Must... initialize... gobject...
	* gdk-pixbuf/pixops/timescale.c:
	* gtk/gtkcalendar.c:
	Use g_malloc instead of malloc.
2001-02-19 Alexander Larsson  <>

	* gtk/testgtkrc:
	Comment out property assignments, these don't work yet.

2001-02-17  Havoc Pennington  <>

	* gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a

2001-02-17  Havoc Pennington  <>

	* gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
	shadowed variables that had broken size request in some cases,
	leading to bogus tooltips (#50996)

2001-02-06  Jon K Hellan  <>

	Implement fast browsing of tooltips, bug #50619
	* gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
	and last_popdown
	* gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
	use_sticky_delay and last_popdown.
	(gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
	time of popdown.
	(gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
	is NULL.
	(gtk_tooltips_recently_shown): New static function.  Return true
	if < sticky_delay has elapsed since last popdown.
	(gtk_tooltips_event_handler): Display window after sticky_delay
	(presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
	since last popdown.
2001-02-17  Havoc Pennington  <>

	* gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
	instead of (). #6394

	* gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
	G_CONST_RETURN, make it return by reference, #50473
Sat Feb 17 06:47:27 2001  Tim Janik  <>

	* gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
	generated ENTER_NOTIFY event with 0, otherwise not explicitely
	setup fields contain garbage (e.g. subwindow, breaking
	gdk_drawable_ref() upon event copy).
	(gtk_menu_stop_navigating_submenu_cb): same here.

	* gtk/gtklist.c (gtk_list_vertical_timeout): 
	* gtk/gtklist.c (gtk_list_horizontal_timeout): 
	* gtk/gtkclist.c (vertical_timeout): 
	* gtk/gtkclist.c (horizontal_timeout): change direct assignment
	default-zero-intialization for unions to memset(,0,), as unions are
	not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
	has to become GdkEvent x; memset (&x, 0, sizeof (x)); )

	* gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
	g_closure_sink() warning.

	* gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
	* gtk/gtktreestore.c (gtk_tree_store_set_valist): 
	* gtk/gtkliststore.c (gtk_list_store_set_valist): 
	fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
Fri Feb 16 17:49:59 2001  Jonathan Blandford  <>

	* gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
	gtk_*_store_get, and moved to GtkTreeModel.

	* gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.

	* gtk/ remove gtktreemodelmapping.[ch]

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
	set the func.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	freeze/thaw notify between setting all the properties for a cell.

	* gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h

2001-02-15  Havoc Pennington  <>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
	the X coordinates so they're with respect to the line, rather than 
	with respect to the layout.

	* gtk/gtkalignment.c: Convert to new property API, patch from Lee

	* gtk/testgtk.c (create_range_controls): add vscale tests, 
	and inverted test

	* gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 

	* gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN

	* gtk/gtktextiter.h (gtk_text_iter_is_last): rename 

	* gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
	rename gtk_text_buffer_get_end_iter

	* gtk/testgtk.c (create_labels): Add test for selectable

	* gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
	the selection stuff. This code is kind of broken since it doesn't 
	use the theme engine.

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
	fix infinite loop and y offset problem
	(gdk_draw_layout_line_with_colors): fix foreground color handling

        * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
	that makes the label selectable.
	* gtk/gtklabel.c (gtk_label_style_set): recreate the label's
	layout when the style is set, since fonts etc. could have changed.	

Fri Feb 16 14:22:05 2001  Jonathan Blandford  <>

	* gtk/ Removed gtktreemodelsimple.[ch]

	* gtk/gtktreemodelsimple.[ch]: removed.

2001-02-16  Alexander Larsson  <>

	* gtk/gtktreemodelmapping.[ch]:
	New files. Implement GtkTreeModelMapping.
	* gtk/
	Add gtktreemodelmapping.[ch].
	* gtk/gtk.h:
	Add gtktreemodelmapping.h

	* gtk/treestoretest.c:
	Test the GtkTreeModelMapping

Tue Feb 13 13:16:09 2001  Jonathan Blandford  <>

	* demos/gtk-demo/panes.c (create_pane_options): If we're going to
	have a demo, we might as well pass in real values.  Thanks to
	clahey for pointing this out.

2001-02-14  Havoc Pennington  <>

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
	"static" to a private function
	(gtk_image_menu_item_class_init): remove destroy handler,
	add "image" object property

2001-02-13  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
	Add a shortcut if the window and the current clip_region doesn't
	overlap. This is needed when there are a lot of windows in a
	window. The layout test in testgtk is a good test.

	* gdk/linux-fb/gdkwindow-fb.c:
	Whitespace fix.

2001-02-13  Sven Neumann  <>

	* demos/testanimation.c: replaced deprecated gtk_drawing_area_size

2001-02-13  Alexander Larsson  <>

	* gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
	Don't reference last_cursor if it is null. Fixes crash when rotating
	the screen before having moved the mouse.

	* gdk/linux-fb/gdkcc-fb.c: Zapp!

	* gdk/linux-fb/ Don't compile gdkcc-fb.c

	* gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
	when using 90 or 270 degrees rotation.

2001-02-12  Havoc Pennington  <>

	* gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
	it always set the foreground, even if we were only using
	a stipple.
	(gdk_draw_layout_line_with_colors): new function, allow
	override colors
	(gdk_draw_layout_with_colors): new function, allow override
	(gdk_pango_layout_line_get_clip_region): function to get the clip
	region for a logical text range
	(gdk_pango_layout_get_clip_region): get the clip region for a
	logical text range

	* gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
	(gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
	the right number of arguments.

	* gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
	enhance the function to check that node data corresponds to a 
	view still belonging to the tree.

	* gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
	(gtk_tree_view_inserted): ditto
	(gtk_tree_view_child_toggled): ditto

	* gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
	simplify this code.

	* gtk/gtkcellrenderertext.c (get_layout): fix leak of 
	a PangoAttrList

	* demos/gtk-demo/main.c (load_file): Fix leak of a GString

	* gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor

	* gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
	size in the size request 
	(gtk_menu_bar_size_allocate): consider toggle size here

	* gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
	that displays a widget in the toggle slot

	* gtk/testgtk.c: test GtkImageMenuItem

	* gtk/, gtk/gtk.h: Add GtkImageMenuItem
	* gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
	request and allocation

	* gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16

	* gtk/gtkcheckmenuitem.c
	(gtk_check_menu_item_toggle_size_request): ditto
Mon Feb 12 23:43:30 2001  Owen Taylor  <>

	* gtk/ (gdk_headers): Remove gdkcc.h 

	* gtk/gtkmain.c: Add checks for setuid/setgid,
	and refuse to initialize GTK+ if they fail.

Mon Feb 12 15:02:07 2001  Owen Taylor  <>

	* Add check for gtk-doc version.

Thu Feb  8 17:18:26 2001  Owen Taylor  <>

	* gtk/gtklabel.c (gtk_label_size_request): Fix bug
	where the xpad/ypad was only being used on one side!

2001-02-11  Tor Lillqvist  <>

	* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
	function, copied from X11 version.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
	DestroyCursor failures. The reason for the problem (despite the
	inconsistent messages from GetLastError()) was that
	DestroyCursor() cannot be called while a cursor is set in a
	window. Set the new cursor first and then destroy the old one.
	Thanks to

	* gdk/win32/gdkcc-win32.c: Remove.

	* gdk/win32/ Remove from here, too.
	* gdk/gdk.def
	* gdk/ Update. Godbye GdkColorContext.

	* gtk/gtk.def
	* gtk/ Updates.

2001-02-08  Havoc Pennington  <>

	* gtk/gtkbin.c (gtk_bin_add): better error message if you try to
	add a widget to a bin that already has a child.

	* gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512

	* docs/Changes-2.0.txt: note that GdkColorContext is gone.
	* gdk/x11/ (libgdk_x11_la_SOURCES): remove gdkcc-x11.c

	* gdk/gdk.h: remove gdkcc.h

	* gdk/ (gdk_public_h_sources): remove gdkcc.h

	* gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
	GdkPixbuf, since the previous implementation was GdkColorContext

	* gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
Thu Feb  8 19:00:00 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
	a sane value!

2001-02-08  Havoc Pennington  <>

	* gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
	lighten them.

2001-02-08  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
	validation idle

	* demos/gtk-demo/main.c (create_tree): adjust to changes in text
	cell renderer

	* demos/pixbuf-demo.c (timeout): remove deprecated

	* demos/testpixbuf-save.c (main): remove deprecated

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
	buttons even if the model isn't setup. gtk_tree_view_check_dirty()
	at the start of the allocation.
	(gtk_tree_view_check_dirty): handle column->button == NULL, handle
	unsetup or NULL model.

	* gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
	even/odd/sorted cells in the tree view.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):

	* gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
	backgrounds with draw_flat_box using different detail for even/odd

	* gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
	row, so we can draw the alternating colors thing

	* gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
	property from a synonym property, notify for the synonym.
	Also, nuke the background_gdk_set and foreground_gdk_set synonyms
	(gtk_text_tag_get_property): Always return the font, even if
	all its fields aren't set

	* gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
	store the attr list; it leaves us with no way to change attributes
	in _render according to the render flags, and no way to implement
	get_property. Instead store all the specific text attributes. 
	Separate whether an attribute is enabled from its value. Sync all
	properties with GtkTextTag, make them all consistent, etc.

	* gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
	renderers can highlight the sort row/column	

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
	accessor functions to get values; this has the side effect of
	showing up which accessor functions were missing. Added those.

	* gtk/gtktreeviewcolumn.h: Replace set_justification with
	set_alignment, to be consistent with GtkLabel, GtkMisc

	* gtk/gtktreeviewcolumn.c: Added code to display sort indicator

	* gtk/ (gtk_public_h_sources): add gtktreesortable.h

	* gtk/gtktreesortable.h: updates in here

2001-02-07  Sven Neumann  <>

	* gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
	pango dimensions after painting the background. We used to draw
	gigantic flat boxes here.

Mon Feb  5 22:05:57 2001  Owen Taylor  <>

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
	error introduced with earlier commit) (pointed out by
	Ollie Lho)

Mon Feb  5 12:25:06 2001  Owen Taylor  <>

	* gtk/gtkbutton.c: Remove calls	to gtk_grab_add/gtk_grab_remove,
	which are no longer necessary.

Mon Feb  5 13:22:54 GMT 2001  Tony Gale <>

	* docs/faq/gtk-faq.sgml: s/MISK/MISC/

2001-02-04  Tor Lillqvist  <>

	* gdk/gdk.def
	* gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
	Provide dummy implementations.

Sun Feb  4 07:55:17 2001  Tim Janik  <>

	* gtk/gtksignal.h: removed gtk_signal_init() compat define.

	* gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
	GTypeDebugFlags debug_flags and pass it on to g_type_init ();
	deprecated this function.

	* gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as

Sun Feb  4 07:45:45 2001  Tim Janik  <>

	* gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.

2001-02-03  Havoc Pennington  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
	Mikael Hermansson with patch from Mikael (if there was a toggle
	start one after the first character in the range, this function
	was broken). Bug #50380

Sat Feb  3 11:28:03 2001  Owen Taylor  <>

	* Remove confusing comment about X11.

Fri Feb  2 19:21:23 2001  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
	regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
Fri Feb  2 18:31:54 2001  Owen Taylor  <>

	* gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
	it breaks things on BSD. If you want to compile GTK+ with
	-ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
	when configuring, since GTK+ simply can't be "pure ANSI" 
	in the header files it uses. (#8170, Greg Hudson)

2001-02-02  Havoc Pennington  <>

	* gtk/gtkwindow.c: docs

	* gtk/gtkwidget.c: docs
	(gtk_widget_set_colormap): add a reference to the colormap
	(gtk_widget_get_default_colormap): add a reference to the colormap

	* gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs

	* gtk/gtktextiter.c: docs

	* gtk/gtkmain.c (gtk_propagate_event): docs

	* gtk/gtkpaned.c (gtk_paned_get_position): docs
	(gtk_paned_set_position): docs

	* gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
	sort interface, no implementation yet.

	* demos/testpixbuf.c (new_testrgb_window): replace
	gtk_drawing_area_size() with gtk_widget_set_usize()

	* demos/testpixbuf-drawable.c (main): ditto
	* gtk/testgtk.c: remove use of GtkStatusbarMsg

	* gtk/gtktextbuffer.c: docs

	* gtk/gtkstock.c: docs

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs

	* gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
	* gtk/gtkimage.c: add some docs in here
	(gtk_image_size_request): change name of
	(gtk_image_get_icon_set): don't dup returned string
	(gtk_image_get_icon_set): don't dup returned string

	* gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
	gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
	and gtkiconfactory.h functions

	* gtk/gtkiconfactory.c: add some docs in here

	* gtk/gtkmain.c (gtk_get_default_language): document
	(gtk_get_current_event): document
	(gtk_get_current_event_state): document
	(gtk_get_event_widget): document

	* gtk/gtkentry.c (gtk_entry_set_invisible_char): document

	* gtk/gtkcontainer.c: Add some documentation
	(gtk_container_add): give a more explanatory warning on adding an
	already-parented widget, this is kind of a FAQ and also a common
	typo that's easier to debug with a nice warning	

	* gtk/gtkcellrenderertoggle.c
	(gtk_cell_renderer_toggle_get_active): remove, I was on crack
	adding this, it's useless
	(gtk_cell_renderer_toggle_set_active): remove
	(gtk_cell_renderer_toggle_get_radio): add

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
	the NULL cell renderer, that doesn't make any sense to me. 

	demo code should never use deprecated features.

	code should never use deprecated features.

	* gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
	gtk_widget_queue_clear_area deprecated

	* gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw

	* gtk/gtklabel.h: mark gtk_label_get() deprecated

	* gtk/gtkimage.h: mark the legacy GtkImage functions that took 
	a GdkImage deprecated, replaced by new consistently-named

	* gtk/gtkmain.h: Mark gtk_exit() deprecated

	* gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated

	* gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 

	* gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
	so it won't appear in docs and confuse people.

	* gtk/gtkprogressbar.h: Mark all the old methods deprecated

	* gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
	macros deprecated. (can't mark the type itself deprecated, since
	GtkProgressBar is not deprecated and we need the type decl to use

	* gtk/gtkpixmap.h: Mark deprecated

	* gtk/gtkoldeditable.h: Mark deprecated

	* gtk/gtklist.h: Mark deprecated

	* gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
	for anything anymore.

	* gtk/gtkctree.h: Mark deprecated

	* gtk/gtkclist.h: Mark deprecated

	* gtk/gtkpreview.h: Mark deprecated

	* gtk/gtkpacker.h: Mark deprecated

	* gtk/gtktipsquery.h: Mark deprecated

	* gtk/gtkinputdialog.h: Add comment that it will move out of GTK

	* gtk/gtkvruler.h: Add comment that it will move out of GTK

	* gtk/gtkhruler.h: Add comment that it will move out of GTK

	* gtk/gtkruler.h: Add comment that it will move out of GTK

	* gtk/gtkgamma.h: Add comment that it will move out of GTK

	* gtk/gtkcurve.h: Add comment that it will move out of GTK

Fri Feb  2 17:16:09 2001  Owen Taylor  <>

	* gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
	gdk_colormap_sync private since it was never exported
	in a header file.

	* gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
	colormap->colors[] for StaticGray, StaticColor colormaps.

	* gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
	was being used as if it was image->bits_per_pixel.

	* gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
	for the image in the GdkImage structure since it isn't
	reconstructable, and we need it to handle packed types

	* gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
	the assumption that on Win32 image->bits_per_pixel == image->depth,

	* gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.

	* gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
	warning message if no converter can be found. 

Fri Feb  2 15:09:51 2001  Owen Taylor  <>

	* gtk/fnmatch.c (FOLD): Fix problem with passing signed
	chars to isupper() / tolower(). (#567)

	* examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
	to clear up 64-bit warnings. (#567)

Fri Feb  2 12:26:50 2001  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
	a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().

	* gtk/gtkrc.c Use $(libdir), not $(exe_prefix),
	since some people set $(libdir) separately. (#1290, David Kaelbling)

Thu Feb  1 18:25:46 2001  Owen Taylor  <>

	* gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
	defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
	MAXPATHLEN, but the code here depends on a fixed value.)

Wed Jan 31 22:01:04 2001  Owen Taylor  <>

	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
	where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)

Wed Jan 31 21:20:39 2001  Owen Taylor  <>

	* gtk/gtkctree.c (real_tree_move): If the node being moved isn't
	viewable there is no way that moving the node will cause the 
	focus row to become not viewable, so omit check on the visibility
	of new_sibling, which is irrelevant. (Fixes #8002, David Helder)

Wed Jan 31 20:38:17 2001  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
	selection before inserting new text.

Wed Jan 31 18:49:33 2001  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
	Make the sensitivity of the reparented child track that of
	the original parent menu item. (#34218, David Hodson)

	* gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
	the case where the current item is destroyed properly.

	* gtk/gtkoptionmenu.c: Some additional code cleanups and fix
	some edge cases with child-less menuitems.
Wed Jan 31 17:16:13 2001  Owen Taylor  <>

	* gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
	key pop down window. (#12074, Jon K Hellan)

Wed Jan 31 16:21:42 2001  Owen Taylor  <>

	* gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
	toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
	The solution here isn't perfect - you get an extraneous
	emission of "toggle", which could conceivably confuse an app,
	but better than the current situation. LXR search seems to
	indicate that no apps in GNOME CVS connect to "toggle".

Wed Jan 31 15:46:13 2001  Owen Taylor  <>

        * gtk/ (libgtkinclude_HEADERS): Move gtkcompat.h from
        gtk_public_h_sources to directly here to avoid warning when
        building srcdir != builddir. (#9656)

Tue Jan 30 19:49:02 2001  Owen Taylor  <>

	* gtk/gtkrange.c: Patch from Kipp Hickman to make the event
	handlers in gtkrange.c return the proper values (TRUE == handled)

	This is just the tip of the iceberg, but gtkrange.c is the
	most common place where the propagation is problematical,
	and also a place where it is almost certainly safe to change
	this in the stable branch.

	(You don't want right click popups on a range control or anything...)

Tue Jan 30 18:57:59 2001  Owen Taylor  <>

	* gtk/gtktext.c (clear_focus_area): We need to clear the focus
	area on focus out, even if a background pixmap isn't set.
Tue Jan 30 18:24:10 2001  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
	to deal with setting the shape properly when scrolling arrows are
	turned on, but not visible because there is sufficient space.

Tue Jan 30 16:39:25 2001  Owen Taylor  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
	items with submenus, destroy the item along with the submenu.
	(#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 

	* gtk/testgtk.c (menu_items): Add a dummy branch that we delete

Tue Jan 30 15:51:25 2001  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
	the focus widget sometimes wasn't drawn with the default if there
	was no default widget.

	* gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
	unreference pixmaps. 

	* gtk/gtkstyle.c (gtk_style_realize): Reference colormap
	for some extra safety.

Mon Jan 29 19:00:01 2001  Owen Taylor  <>

	* gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
	the text of a cell to the old pointer value better, by
	copying the new text before freeing the old text. Some code
	cleanup. (#8079, Karl Nelson)

Mon Jan 29 16:50:19 2001  Owen Taylor  <>

	* gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
	gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.

Mon Jan 29 15:22:51 2001  Owen Taylor  <>

	* gtk/gtkmenu.c (gtk_menu_remove): When removing an
	item from a menu, check to see if it matches 
	menu->old_active_menu_item, and if so, unref and clear
	old_active_menu_item (Patch from Pavel Cisler)

	* gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
	menu_shell->active_menu_item, if it is the child being
	removed. (Patch based on that of Gene Ragan, #50337)

2001-01-31  Alexander Larsson  <>

	* gdk/linux-fb/gdkselection-fb.c: 
	* gdk/linux-fb/gdkcolor-fb.c: 
	* gdk/linux-fb/gdkdrawable-fb2.c: 
	* gdk/linux-fb/gdkfont-fb.c: 
	* gdk/linux-fb/gdkim-fb.c: 
	* gdk/linux-fb/gdkinput.c: 
	* gdk/linux-fb/gdkkeyboard-fb.c: 
	* gdk/linux-fb/gdkmain-fb.c: 
	* gdk/linux-fb/gdkrender-fb.c: 
	A bunch of whitespace cleanup.
2001-01-30  Havoc Pennington  <>

	* gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 

	* gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
	GTK_ENABLE_BROKEN just before including the broken headers.
	* gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
	deprecated types registered.

	* gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
	we have to test the broken stuff.

        * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2001-01-30  Havoc Pennington  <>

	* gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
	here where prev pointer was set to the wrong thing

	* gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
	(gtk_tree_path_is_descendant): new function

	* gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
	cached length
	(gtk_list_store_get_iter): don't modify iter if we can't get the

	* gtk/gtkliststore.h (struct _GtkListStore): cache the length
	* gtk/gtktreednd.h: add virtual function row_drop_possible() to

	* gtk/gtktreestore.c (copy_node_data): fix varargs type error that
	was causing segfault

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
	pointer to NULL

	* gtk/gtktreestore.c (gtk_tree_store_append): fix memleak

	* gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
	on returning FALSE
	(gtk_list_store_iter_children): ditto
	(gtk_list_store_iter_nth_child): ditto
	(gtk_list_store_iter_nth_child): ditto
	(gtk_list_store_iter_parent): ditto

	* gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
	on iter->user_data != NULL instead of silently accepting it.
	(gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
	we are returning TRUE.
	(gtk_tree_store_iter_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_iter_parent): ditto
	(gtk_tree_store_insert): remove handling of parent->user_data ==
	NULL, replace with parent == NULL	

	* gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
	and a comment explaining things

	* gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
	interface support to GtkTreeStore.

	* gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
	FALSE if no prev, fix

	* gtk/gtktreeview.c (set_source_row): use a row reference
	(set_dest_row): use a row reference

Sat Jan 27 15:52:02 2001  Jonathan Blandford  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
	stupid typo pointed out by Kristian Rietveld <>.
	(gtk_tree_selection_select_iter): The same as above.

2001-01-26  Havoc Pennington  <>

	* gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
	which holds a handle to a specific row (particular set of values
	in the model, i.e. pointer-identity row).

	* gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
	use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
	Still need to use it for the src/dest row saved on the drag context.

2001-01-26  Havoc Pennington  <>

	* gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor

	* gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
	(gtk_tree_view_tree_to_widget_coords): fix to not offset by

	* (included_loaders): for me, --with-included-loaders
	generates the error "the specified loader yes does not exist",
	i.e. the arg defaults to "yes", so change test for value ""
	to test for value "yes", and include all loaders in that case.

	* gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
	(gtk_tree_view_bin_expose): fix to consider the row offset as
	pointing halfway into vertical separator.	
	(gtk_tree_view_draw_node_focus_rect): ditto

	* gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
	--gtk-debug=updates, which causes gdk_window_set_debug_updates
	(TRUE) to be called.

	* gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
	debug mode where the invalid region is colored in on invalidate,
	so you can see the flicker and know whether your redraw code is 
	doing a good job.

	* gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
	tree window coordinates (clip rect is in tree window coords)

	* gtk/ add gtktreednd.[hc]

	* gtk/gtkliststore.c: implement gtktreednd interfaces.

	* gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
	drag-and-drop data operations on a model (so we can set up tree
	drag-and-drop automatically)

	* gtk/testgtk.c: Add a window to change sensitivity in the
	GtkLabel test; add a way to change the entry frame in GtkEntry

	* gtk/gtkentry.c (gtk_entry_set_has_frame): 
	(gtk_entry_get_has_frame): new functions to remove the frame
	around an entry
	(gtk_entry_size_request): shrink requisition if no frame
	(gtk_entry_draw_focus): don't draw frame if no frame

	* gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
	checks inside a cell renderer
	(gtk_default_draw_option): ditto for options

	* gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
	children from the alignment, not the button
	(gtk_tree_view_column_init): ref/sink the column, to emulate
	GObject refcounting.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	Use theme functions to draw the toggles	

	* gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors

	* gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
	GdkPangoAttrEmbossed to use in rendering insensitive text

	* gdk/gdkpango.c (gdk_draw_layout_line): render new properties

	* gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
	using new GDK features
2001-01-24  Alexander Larsson  <>

	* gtk/gtkimage.c:
	Splitted gtk_image_clear into gtk_image_clear() and
	gtk_image_reset(). Call gtk_image_clear() in ::destroy
	to avoid leaks.

	* gtk/gtklabel.c (set_markup):
	Don't leak text.

	* gtk/gtktextlayout.c:
	Always free display->shaped_objects.

	* gtk/testgtk.c (create_clist):
	Don't leak custom style.

2001-01-23  Alexander Larsson  <>

	* gtk/gtkcolorsel.c (grab_color_at_mouse):
	Don't leak image. Simplify using gdk_colormap_query_color().
	(gtk_color_selection_init): Don't leak dropper_pixmap and mask.

	* linux-fb/gdkcolor-fb.c:
	Implemented gdk_colormap_query_color.

2001-01-23  Alexander Larsson  <>

        * linux-fb/gdkcursor-fb.c:
	Don't leak built-in cursors.

	* linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
	Don't leak tmp_points.

	* linux-fb/gdkfont-fb.c (gdk_font_from_description):
	Don't modify desc. Don't leak font if the PangoFont
	isn't found.
	* linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
	Free dash_list.

	* linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
	Don't leak string.
2001-01-20  Havoc Pennington  <>

	* gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
	from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
	me, matches Pango

2001-01-22  Havoc Pennington  <>

	* demos/testanimation.c: fix to reflect gdk-pixbuf changes

	* demos/testpixbuf.c: fix to reflect gdk-pixbuf changes

	* gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
	Remove, move back to gdk-pixbuf

	* gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
	to all the word functions

	* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
	before doing anything on NULL layout or if we don't have the focus

	* gtk/testtext.c (fill_example_buffer): "justification"

	* gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
	to be called "justification" not "justify"

	* demos/gtk-demo/textview.c (create_tags): "justification"
	* gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping

2001-01-22  Alexander Larsson  <>

	* gdk/gdkwindow.c (gdk_window_invalidate_region):
	Don't leak visible_region. Use visible_region instead of region.
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	Don't do extra gdk_drawable_ref(). This is not X.
	(gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
	gdk_fb_focused_window is ref:ed.
	(gdk_fb_window_send_crossing_events): Watch out for destroyed

2001-01-22  Alexander Larsson  <>

	* gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
	Don't leak the PangoFontDescriptor.

Sun Jan 21 09:58:00 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
	when not realized.
	(gtk_tree_view_scroll_to_cell): Make work when not realized.
	(gtk_tree_view_realize): add scroll_to support
	(gtk_tree_view_finalize): add a finalize method.  Populate.
	(gtk_tree_view_insert_column): ref and sink the column.
	(gtk_tree_view_append_column): ref and sink the column.
	(gtk_tree_view_queue_draw_node): New function to handle redrawing
	individual nodes.  Should make the code much more efficient, if
	actually used.

2001-01-19  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	byte_offset variable was being used to mean both "offset into
	layout" and "offset into buffer line" which was no longer true
	with addition of preedit string; fix

2001-01-19  Havoc Pennington  <>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):

	* gtk/gtktreeview.c (gtk_tree_view_move_to): rename
	scroll_to_cell, matches TextView scroll functions better
	(gtk_tree_view_tree_to_widget_coords): new function
	(gtk_tree_view_widget_to_tree_coords): new function
	(gtk_tree_view_get_visible_rect): new function
	(gtk_tree_view_get_path_at_pos): accept negative coordinates
	(gtk_tree_view_draw_node_focus_rect): new function moved from
	draw_focus, also, use width of bin_window as width of the focus
	(gtk_tree_view_expand_row): fix bug where it didn't recognize
	already-expanded rows
	(gtk_tree_view_get_cell_rect): new function
	(gtk_tree_view_get_path_at_pos): return the click position
	relative to the passed-in cell
	(gtk_tree_view_set_expander_column): new function

	* remove gtk-config-2.0 chmod

	* gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
	and properly handle drags with targets we don't understand
	(gtk_text_view_drag_end): don't stop scrolling, the source isn't
	scrolling anyway
	(gtk_text_view_drag_drop): stop scrolling here though, and set the
	mark invisible

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
	(gtk_drag_dest_get_target_list): new function
	(gtk_drag_dest_set_target_list): new function
	* gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
	related to drag-and-drop

2001-01-19  Alexander Larsson  <>

	* gdk/linux-fb/gdkprivate-fb.h:
	Add extra pango_font stuff to GfkFontPrivate.
	* gdk/linux-fb/gdkdrawable-fb2.c:
	* gdk/linux-fb/gdkfont-fb.c:
	If EMULATE_GDKFONT defined, implement a slow lame GdkFont
	emulation using PangoFont.

2001-01-17  Havoc Pennington  <>

	* gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
	all the non-deprecated set_foo functions. Added missing object
	properties, and added g_object_notify() to setters. 
	Wrote docs.
2001-01-18  Tor Lillqvist  <>

	* gtk/gtkmain.c
	* gtk/gtkrc.c: (Win32) Use the new
	g_win32_get_package_installation_(sub)directory() functions.

	* New file.
	* config.h.win32: Removed.

	* Output config.h.win32.

	* Add it to EXTRA_DIST.

	* gtk/gtk.def: Update.

Wed Jan 17 16:22:54 2001  Owen Taylor  <>

	* gtk/gtklabel.c (gtk_label_size_request): Set the
	attributes onto the PangoLayout even if they are newly
	created from label->pattern.

Tue Jan  9 11:20:48 2001  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c: Remove unused variable.

	* gtk/gtkdnd.c: Encapsulate storing and retrieving info
	structures in functions. Fixes bug where gtk_dataset_*
	was accidentally still being used in one place, causing
        every dest side event to be treated independently.

	* gtk/gtkdnd.c: Remove last vestages of handling
	::draw (fixes warning)
	* gtk/gtkentry.[ch]: Add drag and drop support.

	* gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
	new function gtk_check_drag_threshhold() for checking
	to check if (dx,dy) has exceeded the threshhold for starting
	a drag and use it everywhere.

Mon Jan  8 11:58:05 2001  Owen Taylor  <>

	* (Cflags): Remove -I${includedir},
	add -I{includedir}/gtk-2.0.

	* gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
	gdk/gdk-pixbuf.h: Doc fixups.
	* gtk/gtkobject.h: Remove trailing , from enum

2001-01-17 Alexander Larsson <>	

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
	Doh! Mixed up x and y.

	* gdk/linux-fb/gdkglobals-fb.c:
	Removed gdk_fb_pointer_grab_window_events,
	added _gdk_fb_pointer_grab_owner_events and

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
	Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
	crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
	(gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
	Send crossing events after ungrab finished.
	(gdk_keyboard_grab): Set ..._owner_events
	(type_masks): Move out of function.
	(gdk_fb_other_event_window, gdk_fb_pointer_event_window,
	gdk_fb_keyboard_event_window): New functions, return the
	window an event should be targeted at. Handles grabs and
	event propagation. Can return NULL.
	(gdk_event_make): Remove event_mask checking. Now always
	returns an event.
	* gdk/linux-fb/gdkkeyboard-fb.c:
	* gdk/linux-fb/gdkproperty-fb.c:
	* gdk/linux-fb/gdkselection-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	* gdk/linux-fb/gdkmouse-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Only send motion events if in the same window.
	If grabbed, use cursor from window if sibling of grabbed
	window, and cursor from grabbed window otherwise.

	* gdk/linux-fb/gdkprivate-fb.h:
	Update gdk_fb_window_send_crossing_events, gdk_event_make
	and grab varaible declarations. Add gdk_fb_*_event_window().

	* gdk/linux-fb/gdkwindow-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Keep correct track of focus window.
	(gdk_window_set_events): Set all specific button motion masks

	* gtk/gtkdnd.c (gtk_drag_update):
	Free info->last_event if gdk_drag_motion returned FALSE.

2001-01-16  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
	Eliminate redraws when input-only windows are shown or
	hidden. Thanks to

Tue Jan 16 13:13:13 GMT 2001  Tony Gale <>

	* docs/faq/gtk-faq.sgml: FAQ update:
	  - Update to bugzilla
	  - Add GTK+ and security/SUID/SGID
	  - Add DnD question

2001-01-16  Alexander Larsson  <>

	* gdk/linux-fb/gdkdnd-fb.c:
	Some cleanups.
2001-01-15  Havoc Pennington  <>

	* tests/testtreeview.c: add test stuff for CellRendererToggle

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this

	* gtk/gtkcellrenderertoggle.c: distinguish different event types,
	only toggle on button press (would do release like GtkButton, but
	we'd need implicit grab code for treeview cells)

2001-01-16  Tor Lillqvist  <>

	* gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
	GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.

	* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
	to g_{locale,filename}_{to,from}_utf8 to match current API.

	* gtk/ (gtk_OBJECTS)
	* gtk/ (gtk_OBJECTS): Add gtkwindow-decorate.

	* gtk/gtk.def: Update.

2001-01-15  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
	implementaion that more closely mimics the events that an X server
	would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
	GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
	with nested preview widgets, for instance, more responsive when
	you move the mouse quickly into them.
	(find_window_for_pointer_event): Make it actually compile.
	(gdk_event_translate): Set send_event to the value of
	InSendMessage (). This doesn't really mean the same as X11's
	send_event flag, but is close enough, says

2001-01-15  Alexander Larsson  <>

	* gdk/linux-fb/gdkdnd-fb.c:
	Implemented drag and drop.
	Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
	when it tries to free and then copy the same event (info->last_event).
	I am not sure about why	this happens, but will continue looking.

2001-01-15  Alexander Larsson  <>

	* gdk/linux-fb/gdkwindow-fb.c:
	Use gdk_window_invalidate_rect instead of
	gdk_window_invalidate_rect_clear to minimise flashing.
	When hiding windows you need to clear the root window though.

2001-01-15  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c:
	For optization, add an full_shapes argument to gdk_fb_clip_region.
	If this is false, only the cliprects of the shapes are used.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export gdk_fb_window_peek_shape.
	Add full_shapes to gdk_fb_clip_region.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	When moving a window, don't clear everything under the it, just the
	root window. Makes stuff faster and flash less.
	(gdk_window_get_pointer): Correctly handle offseted shapes, due to
	USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
	offset of the shape.

2001-01-12  Havoc Pennington  <>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
	current invalid region, fixes redraw bug while scrolling the 
	text widget

	* gtk/gtktextview.c, gtk/gtktextview.h:
	Rearrange the scrolling/validation/etc. code in a major way, 
	so it seems to make sense to me. Probably isn't genuinely that
	much better, but...

	* gtk/gtktexttag.c (set_fg_color): fix name of property used for

	* gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function

2001-01-12  Alexander Larsson  <>

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
	Hide mouse pointer while rotation. Show it afterwards.

2001-01-12  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
	windows in consideration when generating clip region.

	* gdk/linux-fb/gdkfb.h:

	* gdk/linux-fb/gdkprivate-fb.h:
	Add shape to GdkWindowFBDatat.
	exported gdk_fb_window_get_abs_shape().
	removed gdk_fb_draw_lines declaration.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
	Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
	send focus changes when there is a grabbed window.
	(gdk_window_get_pointer): Handle shaped windows.
	(gdk_fb_region_create_from_bitmap): Convert bitmap to region.
	(gdk_fb_window_peek_shape): Returns the shape for a window,
	(gdk_fb_window_get_abs_shape): Returns the shape of the window,
	offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
	(gdk_window_shape_combine_mask): Implement.

	* gtk/gtkwindow-decorate.c:
	HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
	setting the shape of a window makes the window transparent.

2001-01-11  Havoc Pennington  <>

	* gtk/gtktreemodelsimple.h: Oops, broke some macros

2001-01-10  Havoc Pennington  <>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
	add this function, bug 40251

	* gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
	of type macro	

2001-01-11  Alexander Larsson  <>

	* acconfig.h:

	Added --disable-shadowfb

	* gdk/linux-fb/gdkcursor-fb.c:
	Update shadowfb when updating cursor

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Added wrappers for shadowfb that calls 	the normal drawable
	methods, but calls gdk_shadow_fb_update(bounding box) when
	GdkWindows are drawed to.
	Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
	which also returns the bounding box.

	* gdk/linux-fb/gdkfb.h:
	Added GdkFBAngle type and gdk_fb_set_rotation declaration.

	* gdk/linux-fb/gdkgeometry-fb.c:
	Update shadowfb when scrolling window.

	* gdk/linux-fb/gdkglobals-fb.c:
	Add _gdk_fb_screen_angle.
	* gdk/linux-fb/gdkkeyboard-fb.c:
	Test code for screen rotation. Shift-F2 in the xlate driver
	rotates the screen.

	* gdk/linux-fb/gdkmain-fb.c:
	Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.

	* gdk/linux-fb/gdkmouse-fb.c:
	Use fb_width/height instead of modeinfo.xres/yres.

	* gdk/linux-fb/gdkprivate-fb.h:
	Added fb_men, fb_width, fb_height & fb_stride. When using
	shadow fb these can differ from the framebuffer stuff.
	Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
	gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
	_gdk_fb_screen_angle. Removed CM, RP.

	* gdk/linux-fb/gdkrender-fb.c:
	Added code for shadowfb handling and screen rotation using

	* gdk/linux-fb/gdkwindow-fb.c:
	Use fb_mem, fb_stride, fb_width, fb_height.
	Added recompute_rowstride to reset the rowstride of all windows.
	Added gdk_fb_recompute_all() which recomputes rootwindow size,
	window abs positions and window rowstrides. Useful when the
	rotation has changed.

Thu Jan 11 13:16:50 GMT 2001  Tony Gale <>

	* docs/faq/gtk-faq.sgml: update to make web site updating easier

2001-01-10  Havoc Pennington  <>

	* gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
	where sibling == iter
	(gtk_tree_store_insert_after): handle sibling == iter
	(gtk_tree_store_prepend): remove stamp checks
	(gtk_tree_store_insert_before): ditto
	(gtk_tree_store_append): ditto
	(gtk_tree_store_get_path): ditto
	(gtk_tree_store_get_value): ditto
	(gtk_tree_store_iter_has_child): ditto
	(gtk_tree_store_iter_n_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_insert_after): ditto
	(gtk_tree_store_is_ancestor): ditto
	(gtk_tree_store_iter_depth): ditto
	(gtk_tree_store_insert_before): assert that sibling's parent is
	the same as the passed-in parent
	(gtk_tree_store_insert_after): assert that sibling's parent is
	the same as the passed-in parent

	* gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
	function to get the first iterator in a model
	* gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
	conventionally the "root" in this sense is just NULL afaict.

	* gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
	where sibling == iter
	(gtk_list_store_insert_after): handle case where sibling == iter

	* tests/testtreeview.c (run_automated_tests): fairly lame basic
	automated tests for ListStore, TreeStore

        * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
	(gtk_list_store_insert): update tail pointer, and fix it to work
	(gtk_list_store_insert_before): update tail pointer, and fix it to work
	(gtk_list_store_append): use tail to be faster
	(gtk_list_store_prepend): fix it, update tail pointer
	(gtk_list_store_insert_after): fix it, update tail pointer

	* gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
	the list

2001-01-09  Havoc Pennington  <>

	* gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
	is NULL due to a pending resize

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
	column width to values less than 1

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
	width to be between min/max width, and still set the width 
	even if autosize is turned on, so the tree view can use this 
	function in order to autosize.
	(gtk_tree_view_column_init): set initial width to 1 not 0

	* gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
	setter function to modify column width, so we get notification
	(gtk_tree_view_insert_iter_height): ditto
	(gtk_tree_view_calc_size): ditto
	(gtk_tree_view_check_dirty): ditto

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
	properties to change all the interesting attributes of the tree
	view column.
	(gtk_tree_view_column_set_header_clickable): rename set_clickable
	(gtk_tree_view_column_get_clickable): add
	(gtk_tree_view_column_set_cell_renderer): don't unset the current
	attributes; assume a cell renderer with equivalent object
	properties has been swapped in. Do g_object_notify().
	(gtk_tree_view_column_set_visible): g_object_notify
	(gtk_tree_view_column_get_sizing): rename from get_col_type
	(gtk_tree_view_column_set_sizing): g_object_notify
	(gtk_tree_view_column_set_width): add g_object_notify
	(gtk_tree_view_column_set_min_width): ditto
	(gtk_tree_view_column_set_max_width): ditto
	(gtk_tree_view_column_set_title): ditto
	(gtk_tree_view_column_set_clickable): ditto
	(gtk_tree_view_column_set_widget): ditto
	(gtk_tree_view_column_set_justification): ditto

2001-01-09  Havoc Pennington  <>

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
	there are no rows in the model

	* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
	NULL, then return the start of the list

	* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
	if we can't get any rows from an empty model 

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
	extraneous * after function pointer typedef usage

	* don't specify full path to cp and rm

	* gtk/gtkcellrenderertextpixbuf.c
	(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
	NULL before dereferencing, fixes a segfault that happened from
	time to time

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
	and reindent the function
	(gtk_cell_renderer_pixbuf_get_size): indentation

	* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
	we quit it
	(gtk_dialog_add_buttons_valist): add g_return_if_fail
	(gtk_dialog_set_default_response): New function, to set default
	(gtk_dialog_set_response_sensitive): New function, to set 
	sensitivity of buttons

	* gtk/gtkcellrendererpixbuf.c
	(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
	(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle any G_TYPE_OBJECT subclass, not just the base class, and 
	also boxed types.
	(_gtk_tree_data_list_value_to_node): ditto

	* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 

	* gtk/gtkmain.c: add GTK_DEBUG_TREE

	* gtk/gtkdebug.h: add GTK_DEBUG_TREE

2001-01-09  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c: Implement better mouse
	capturing. Do use SetCapture(). Thanks to
	(find_window_for_pointer_event): New function.
	(gdk_event_translate): Use it when handling mouse events.

2001-01-09  Alexander Larsson  <>

	Added --with-included-loaders option

	* gdk-pixbuf/
	* gdk-pixbuf/gdk-pixbuf-io.c:
	Add support for including selected gdk-pixbuf loaders only.

	* gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
	Added inline documentation.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
	* docs/reference/gdk/tmpl/windows.sgml:
	Added inline documentation.

Mon Jan  8 14:42:06 2001  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
	realizing buttons that have already been realized.

Mon Jan  8 14:06:29 2001  Jonathan Blandford  <>

	* tests/testtreeview.c (main): Show menu items before adding to
	option menu.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
	around if we kill them.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	Return if we pass in a NULL model.

2001-01-08  Havoc Pennington  <>

	* tests/testtreeview.c: hack on this some

	* gtk/gtktreestore.c (gtk_tree_store_setv): rename
	gtk_tree_store_set_valist, v is for arrays, valist for varargs
	(gtk_tree_store_getv): rename gtk_tree_store_get_valist

	* gtk/gtkliststore.h: Add varargs set() and get() convenience

2001-01-08  Alexander Larsson  <>

	* gtk/gtkwindow-decorate.[hc]:
	* gtk/
	New files. Contains an implementation of a minimal WM for

	* gtk/gtkwindow.h:
	Add the possibility for GtkWindows to specify a frame. This
	is used for the window decoration code, but could concievably
	be used for X programs too (xmms style windows).
	GtkWindow->frame is the toplevel window if the window is framed.
	The signal frame_event gets all events that are targeted to
	(_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
	* gtk/gtkwindow.c:
	Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
	Call out to gtkwindow-decorate.c for WM support in linx-fb.

2001-01-08  Alexander Larsson  <>

	* docs/README.linux-fb:
	Correct filename ~/.pangoft2_aliases

	* gdk/gdkwindow.h:
	Added new function gdk_window_get_decorations.

	* gdk/linux-fb/gdkfb.h:
	Removed _gdk_window_get_decorations declaration.
	Renamed _gdk_window_set_child_handler to

	* gdk/linux-fb/gdkwindow-fb.c:
	Renamed _gdk_window_set_child_handler to

	* gdk/x11/gdkwindow-x11.c:
	New function gdk_window_get_mwm_hints().
	Implemented gdk_window_get_decorations.

	* docs/reference/gdk/tmpl/windows.sgml:
	* docs/reference/gdk/gdk-sections.txt:
	Added gdk_window_get_decorations docs.
2001-01-08  Alexander Larsson  <>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
	gdk_fb_window_find_focus, gdk_fb_send_focus_change,
	Possibly send focus events when the mouse moves from one
	window to another.

2001-01-07  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
	gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
	to match current API.

	* gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
	environment variable is set, don't call g_error when on a
	palettized (PseudoColor) display. Some people want to use GTK+ 
	in 256-colour mode even though works only partially.

	* gdk/gdk.def
	* gtk/gtk.def
	* gtk/ Update.

2001-01-05  Havoc Pennington  <>

	* tests/testtreeview.c: hack on this a bit

	* gtk/gtktextlayout.c (gtk_text_layout_class_init):

	* gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
	was spelled incorrectly

	* gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
	from gtk_tree_view_set_headers_active	

	* gtk/gtktexttag.c:
	(gtk_text_tag_get_property): handle PROP_DIRECTION
	(gtk_text_tag_set_property): g_object_notify when we toggle the _set
	properties, bug 40235

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename

Fri Jan  5 16:16:29 2001  Owen Taylor  <>

	* gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
	modules/input/gtkimcontextxim.c: Adapt to new prototypes
	for unicode,locale,filename conversion functions.

2001-01-05  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
	broken if called on the first position in the buffer.

	* gtk/gtktextlayout.c (line_display_index_to_iter): fix
	forward_to_delimiters to be called only if we aren't already at
	the delimiters.

2001-01-05  Havoc Pennington  <>

	* demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.

2001-01-05  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
	colormap in here. Sync from X port.
	(gdk_fb_set_colormap): allow the colormap to be NULL if you like.
	Sync from X port.
	(gdk_fb_clip_region): Comment out g_warning about empty clip region.
	This happens now and then, and i don't think it is a bug.
	(gdk_fb_draw_polygon): Correctly add extra point if startpoint
	!= endpoint.
	(gdk_fb_draw_lines): Don't draw dashed lines if line_style is

	* gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
	some of the fields filled in at least.

	* gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
	miLineArcD is no more, remove it from the function definition.

2001-01-04  Havoc Pennington  <>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add

	* gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
	user_data instead of tree_node

	* gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
	"size" field to "width" finishes bug 40061

	* gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
	for bitfields, bug 40268

2001-01-04  Havoc Pennington  <>

        Rename some stuff:





	* gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
	(gtk_cell_renderer_toggle_class_init): change "state" property to
	"active", to match GtkToggleButton
	(gtk_cell_renderer_toggle_get_active): new function, bug
	(gtk_cell_renderer_toggle_set_active): new function
	(gtk_cell_renderer_toggle_set_property): route changes to toggle
	state through gtk_cell_renderer_set_active

Thu Jan  4 15:46:18 2001  Jonathan Blandford  <>

	* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
	temporarily until they work again.  Brought up to date with
	changes in the model.
	* gtk/gtkmodelsimple.h: Brought up to date with changes in the

2001-01-04  Havoc Pennington  <>

	* gtk/gtktextlayout.c (line_display_index_to_iter): if index is
	equal to the line length, then position iterator before paragraph 
	separators. Fixes crash reported by Mikael Hermansson when
	pressing left arrow from the start of a line.	

	* gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
	about byte indexes off the end
	(iter_set_from_char_offset): add g_error about char offsets
	off the end

2001-01-03  Havoc Pennington  <>

	* gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
	of private functions; remove inclusion of private headers.

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
	function, so we don't need private functions in gtktextdisplay.c

	* gtk/gtktextiterprivate.h: underscore-ification

	* gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
	to instead say "only useful to implement widgets"

	* gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
	This function was completely broken

	* gtk/testtext.c (line_numbers_expose): use gtk_paint_layout

	* gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout

	* gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout

	* gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout

	* gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout

	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use

	* gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
	Progress on bug 40103. Add draw_layout to draw a PangoLayout.
	(struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
	which were not implemented.	

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
	insert_pixbuf signal. Rename delete_text to delete_range since it
	also deletes pixbufs and child anchors. This almost closes bug
	40245 (still need to deal with child anchors)

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
	insert_pixbuf, change signal names as appropriate, change types of
	signals taking marks/tags to have the specific type, not just
	* gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
	closes bug 40051

	* gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
	unnecessary remove_contents() call
	(gtk_option_menu_class_init): add a "changed" signal, closes
	bug 40039
	(gtk_option_menu_update_contents): emit "changed" if the 
	active menu item changes

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
	cast to GtkObject, reported by Jonas Borgstrom
	(gdk_pixbuf_loader_finalize): don't close the loader on finalize;
	we can't do stuff with side effects in finalize. Instead, spew a
	warning if the loader isn't closed.

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
	colormap in here, non-X ports probably need to sync to this change

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
	assertion that colormap != NULL, you can set the colormap to NULL
	if you like.
	* remove gtk-config-2.0

	* Use pkg-config to locate GLib. Remove
	separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
	and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
	Use pkg-config to locate Pango. Output correct Pango libs to Fix test for FREETYPE_CONFIG (typo fix).

	* (pkgconfig_DATA): install only target-specific pc
	(install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
	X11 pc files

	* (Requires): require the GDK for the current target
	unref from here

2001-01-03  Alexander Larsson  <>


Tue Jan  2 16:23:05 2001  Owen Taylor  <>

	* gtk/gtktextlayout.c
	(gtk_text_layout_move_iter_to_previous_line): Fix unitialized
	variable when moving back onto a single line.

2001-01-01  Havoc Pennington  <>



	LIBTOOL_EXPORT_OPTIONS with options to control symbol export

2001-01-01  Havoc Pennington  <>

	* gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.

	* gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 

	* gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
	(gtk_text_attributes_copy_values): rename from 
	(gtk_text_attributes_copy): a more standard GTK copy function, 
	which returns a new object

2001-01-01  Havoc Pennington  <>

	* gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
	* gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
	don't fill in tree_view->priv->selection, kind of an unexpected
	side effect

	* gtk/gtkcellrenderertext.c: Remove definition of _ and include
	* gtk/gtkcellrenderer.c: Remove definition of _ and include
	(gtk_cell_renderer_get_property): remove calls to g_value_init

	* gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include

	* gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
	and include gtkintl.h
	(gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
	property names

	* gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
	(_gtk_tree_selection_new_from_with_view): rename, return
	(_gtk_tree_selection_set_tree_view): rename with uscore
	(gtk_tree_selection_get_selected): fill in the "model" out param
	first, so it gets filled in even if we return at the top of the 
	(gtk_tree_selection_real_select_all): add a comment and an else{}
	to clarify this a bit
	(gtk_tree_selection_real_unselect_all): add the same else{}

	* gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
	set_tree_view to have underscore prefixes, move them to the
	private header, fix return type of new_with_tree_view
	(struct _GtkTreeSelection): mark struct
	fields private	

	* gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
	GtkTreeModelFlags, not a guint
	(gtk_tree_path_prev): return gboolean not gint
	(gtk_tree_path_up): return gboolean not gint

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
	return GtkTreeModelFlags, not a guint

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
	that child model is non-null before unrefing it
	(g_value_int_compare_func): make this a qsort compare func, not 
	a boolean predicate

	* gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
	(add -umn to the end), and mark it unimplemented
	(gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
	I don't see what it's for - doesn't the model always sort itself?
	(gtk_tree_model_sort_set_compare): this had the wrong signature

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
	Fix the docs to say that it destructively replaces existing
	attributes (previously said that it added attributes).
	(gtk_tree_view_column_set_visible): canonicalize bool before
	equality testing. Also, check for realization before
	hiding/showing the tree_column->window; if this window could exist
	before realization, then it's busted and needs fixing, we can't 
	create GDK resources pre-realization. Also, remove
	superfluous queue_resize(), since set_size() does that for us.
	(gtk_tree_view_column_set_col_type): check realization before 
	using tree_column->window

	* gtk/gtktreedatalist.c: fix filename in copyright notice

2000-12-31  Havoc Pennington  <>

	* gtk/gtktextview.c: Rearrange all the
	scroll-while-dragging-or-selecting code to be different, not
	necessarily better. ;-)
	(gtk_text_view_scroll_to_mark): Change this
	function to take within_margin as a fraction instead of a pixel
	value, and to take alignment arguments (indicating where to align 
	the mark inside the visible area)
	* gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
	to GtkObject

	* gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
	behavior so that offsets past the end of the line are not 
	allowed, and an offset equal to the line length moves the iterator
	to the next line
	(gtk_text_iter_set_line_index): make parallel change
	(gtk_text_iter_get_bytes_in_line): add this function
	* gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
	of byte indexes off the end of the line; byte index at the end of
	the line now returns FALSE and doesn't fill in the requested
	values, byte index past the end of the line is an error.  Also,
	don't allow -1 offset anymore, since its meaning is unclear.

	This change exposes some bug in visual cursor motion, where we
	end up with a huge invalid byte index; needs fixing. Symptom of 
	bug is a crash when you hit up arrow.
	(_gtk_text_line_char_locate): match the change to byte_locate

	* gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
	from start of line properly. fixes bug reported by Mikael
	Hermansson where backspace would delete all text before the

2000-12-30  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c
	(gdk_window_impl_win32_get_visible_region): New function, as in
	the X11 backend.
	(gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
	instead of duplicating the same code here.

	* gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use

	* gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
	destroy function.
	(gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
	access that.

	* gtk/gtk.def: Update.

	* gtk/ Use glib-genmarshal from $(GLIB)/gobject.

2000-12-30  Havoc Pennington  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
	colormap on input only windows, to avoid special cases all over
	the code for these windows.

2000-12-26  Tor Lillqvist  <>

	* gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
	we are on a palettized display ("PseudoColor" in X11), as the code
	for that doesn't work anyway, and never has.

2000-12-22  Alexander Larsson  <>

	* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
	Don't use isprint() for chars > 255.

2000-12-21  Havoc Pennington  <>

	* tests/testtreeview.c: more work

2000-12-21  Alexander Larsson  <>

	* docs/README.linux-fb:
	Update the docs to the new pangoft2 way.

2000-12-21  Alexander Larsson  <>

	For linux-fb get the pangoft2 cflags and libs. This needs a recent
	pango version.
	Remove modules/linux-fb/Makefile.

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Render glyphs using freetype.

	* gdk/linux-fb/gdkfb.h:
	Add new fb-specific functions needed for managing windows.

	* gdk/linux-fb/gdkmain-fb.c:
	Remove gdk_font_init/fini() calls.

	* gdk/linux-fb/gdkpango-fb.c:
	Remove old implementation. Use pangoft2 instead.

	* gdk/linux-fb/gdkprivate-fb.h:
	Remove PangoFBFont and related stuff.

	* gdk/linux-fb/gdkwindow-fb.c:
	Implement drawable->get_visible_region.
	Implement support for _gdk_window_set_child_handler () and

	* modules/
	Remove linux-fb subdir.

	* modules/linux-fb/*:
	Removed all.
2000-12-20  Jonathan Blandford  <>

	* gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
	calls, as they are no longer needed.

	* gtk/gtktreemodelsort.c: Fix up the comparison code.
	* gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
	figure out how to emit a signal on an interface.

2000-12-20  Havoc Pennington  <>

	* tests: new directory to contain tests, gtk/test* should move
	here sometime (with appropriate on-cvs-server hackery)

	* tests/testtreeview.c, tests/ a test
	* (AC_OUTPUT): add tests/Makefile

	* gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
	and "invisible_set" which were missing

	* gtk/gtkrbtree.h: some cheesy indentation fix
2000-12-20  Alexander Larsson  <>

	* gtk/gtkinvisible.c (gtk_invisible_realize):
	Attach the style to the window so that the style it is not
	leaked when unrealizing the window.

2000-12-18  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
	begin/end user action where appropriate
	(gtk_text_view_commit_handler): add begin/end user action

	* gtk/gtktextbuffer.c: add begin/end user action signals, and
	bracket interactive operations with begin/end user action pair.
	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
	"interactive" arg from insert_text and delete_text signals.
	Add begin_user_action, end_user_action signals
	(gtk_text_buffer_end_user_action): New functions to delimit 
	a user-visible action

	* gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2000-12-18  Havoc Pennington  <>

	* gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
	was pretty non-working.

	* gtk/testtext.c (fill_file_buffer): make this a bit more robust
	by passing the length to g_utf8_validate().

2000-12-16  Havoc Pennington  <>

	* gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
	Port to GObject, can go back in gdk-pixbuf after setting up 
	a gdk-pixbuf-marshal.h header over there.

	* gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
	(gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
	(gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
	(gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
	here, do it when we create the buttons later
	(gtk_tree_view_realize_buttons): add some g_return_if_fail 
	(gtk_tree_view_map): paranoia checks that column->button is shown 
	and unmapped
	(gtk_tree_view_size_request): only request visible children.
	Move header size calculation in here, for cleanliness, and 
	to maintain invariants for child widgets if we eventually 
	let users set different children inside the buttons
	(gtk_tree_view_map_buttons): factor out code to map buttons,
	since it was being called several times
	(gtk_tree_view_size_allocate_buttons): move_resize the drag
	windows instead of just moving them; their height may change 
	if we allow random widgets in there, or the theme changes.
	(gtk_tree_view_size_allocate): move button size allocation 
	above emitting the scroll signals, to ensure a sane state when we
	hit user code
	(gtk_tree_view_button_release): remove queue_resize after
	tree_view_set_size(), set_size() will handle any resize queuing
	that's needed
	(gtk_tree_view_focus_in): just queue a draw, don't fool with
	draw_focus goo
	(gtk_tree_view_focus): use gtk_get_current_event() and
	(gtk_tree_view_deleted): don't queue_resize() after calling set_size()
	(gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
	(gtk_tree_view_create_button): show the button here
	(gtk_tree_view_button_clicked): actually emit the clicked signal
	on the column
	(_gtk_tree_view_set_size): return right away if the size is
	unchanged, as a cheesy optimization
	(gtk_tree_view_setup_model): rename set_model_realized to 
	setup_model to match the flag that indicates whether we've 
	called it
	(gtk_tree_view_get_hadjustment): create adjustment if it doesn't
	exist, because set_scroll_adjustment does that and it shouldn't
	matter what order you call these in
	(gtk_tree_view_get_vadjustment): ditto
	(gtk_tree_view_set_headers_visible): canonicalize the bool, 
	for paranoia
	(gtk_tree_view_set_headers_visible): call
	gtk_tree_view_map_buttons() instead of using cut-and-paste code
	(gtk_tree_view_append_column): clarify whether the return value
	is the count of columns before or after, and do the increment 
	separately from the return statement so you can tell from the code.
	(gtk_tree_view_remove_column): ditto
	(gtk_tree_view_insert_column): ditto
	(gtk_tree_view_get_column): remove g_return_if_fail for columns
	outside the existing range, the docs say that outside-range
	columns are allowed, so we handle them as documented. (Presumably
	this allows a nice loop with column != NULL as test.)
	(gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
	mean (left/right/center etc.).
	(gtk_tree_view_collapse_all): only queue a draw if we're mapped
	(gtk_tree_view_expand_row): add docs
	(gtk_tree_view_collapse_row): add docs

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
	function to emit the clicked signal on a column
	* gdk/gdkevents.c (gdk_event_get_state): new function, to get the
	state of an event
	(gdk_event_get_time): don't treat GDK_SCROLL 
	as a button event, remove default case from switch so gcc 
	will whine if we don't explicitly handle all event types

	* gtk/gtktreeselection.h: added some FIXME 
	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
	"columns" to "n_columns" and "column" to "columns" for clarity

2000-12-16  Havoc Pennington  <>
	* gtk/gtktextiter.c: General cleanup of the log attr iteration
	stuff. This should make e.g. the delete key work again in the
	text widget...
	(gtk_text_iter_forward_cursor_positions): handle negative count
	(gtk_text_iter_backward_cursor_positions): handle negative count
	(gtk_text_iter_forward_word_ends): handle negative count
	(gtk_text_iter_backward_word_starts): handle negative count

	* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
	gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
	gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
	GObject. No doubt will cause breakage.

	* demos/gtk-demo/textview.c: remove hacks around
	non-GObject-ification of the text objects

	* demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
	the text tag
2000-12-14  Havoc Pennington  <>

	* only AC_DEFINE(HAVE_XFT) if we actually determined
	that we have Xrender

Thu Dec 14 20:22:31 2000  Owen Taylor  <>

        * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
	Add two virtualized functions gdk_drawable_get_clip_region - to
	get the clip region when drawing.
	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
	use invalidate_region.

	* gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible

	* acconfig.h Check for Xft. For now, assume
	that if Xft is found, Pango was compiled with Xft support
	as well.

	* gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
	with Xft if appropriate.

	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
	a pangoxft context if we have XFT and the environment
	variable GD_USE_XFT is set.
	* gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
	and also possibly an XftDraw structure.

        * gtk/gtkfontsel.c: Handle the case where the font from the
	style doesn't match any of the fonts a bit better.
	* gtk/testgtk.c: Add tabs between directional segments for
	hebrew/arabic test. (Not really necessary, just a little

2000-12-14  Havoc Pennington  <>

	* gtk/testtext.c (fill_file_buffer): fix unicode validation when
	reading a file

2000-12-14  Havoc Pennington  <>

	* gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
	unused call to get_last_line()

	* gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
	here until boxed is working (and maybe after that - we should
	really not gratuitously break old code)

	* gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
	specific types for font_desc and tabs args, move them to
	GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
	fixed. Move GdkColor args to GTK_TYPE_POINTER also.

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
	use GTK_TYPE_POINTER for signal signatures as a hack-around

	* gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and

	* gtk/gtktextlayout.c (line_display_iter_to_index): 
	make static
	(line_display_index_to_iter): make static

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
	to marshal a string not a boxed

	* gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text

	* gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
	since the UTF-8 isn't validated yet

	* gtk/gtktextsegment.c (char_segment_check_func): don't require
	lines to end in '\n'
	* gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
	forward_to_delimiters, and grapheme boundaries
	(gtk_text_view_delete_from_cursor): properly handle non-newline
	delimiters, and grapheme boundaries

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
	to gtk_text_iter_forward_to_delimiters, and make it work properly
	if empty lines end with a character other than '\n'

	* gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor

2000-12-15  Tor Lillqvist  <>

	* gdk/makefile.{,msc} (gdk_OBJECTS): Add gdkkeys.

	* gtk/gtk.def
	* gdk/gdk.def: Update.

	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkkeys-win32.c: New file. Move some functions from
	gdkmain-win32.c here.

	* gdk/win32/ (all): No need to make
	gdk-win32res.o here, the makefile one step up will call us to make

	* gdk/win32/makefile.{,msc} (gdk_win32_OBJECTS): Add

	* gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.

	* gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
	call to g_source_add().

	* gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
	leak. Thanks to Andreas Kemnade.

2000-12-13  Havoc Pennington  <>

	* gtk/gtktextbtree.h: Remove double _ in front of some functions

	* gtk/gtktext*.[hc]: update accordingly
2000-12-13  Havoc Pennington  <>

	* gtk/gtktextbtree.h: Put _ in front of every function in this 
	header file

	* gtk/gtktext*.[hc]: update to reflect renamed btree functions

2000-12-13  Alex Larsson  <>

	* gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
	Add support for ps2 intellimouse.

	* gdkkeyboard-fb.c:
	Move shift-F1 repaint handling to xlate handler only.
	* docs/README.linux-fb:
	Add imps2 to docs.
	Document the new refresh keys.
Tue Dec 12 23:46:44 2000  Tim Janik  <>

	* gtk/stock-icons/ doh, this was broken beyond believe.

	* gtk/gtkbox.c: change property types from (u)long to (u)int for
	::position and ::padding.

	* gtk/gtkcontainer.c: make ::border_width an INT property.

	* gtk/gtkpacker.c: make ::position an INT property.

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
	guard against NULL h/v scrollbars, since this is used at construction

	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
	internal gtk_clist_constructor().

	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented

	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.

	* docs/reference/ fun stuff, disabled docs generation
	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.

	* gtk/gtkwidget.[hc]:
	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
	and gtk_widget_get().
	(gtk_widget_new): use g_object_new_valist().
	(gtk_widget_set): use g_object_set_valist().

	* gtk/gtkobject.[hc]:
	removed gtk_object_arg_get_info(), gtk_object_getv(),
	gtk_object_query_args(), gtk_object_newv(),
	gtk_object_arg_set(), gtk_object_arg_get(),
	removed nsignals, signals and n_args members from GtkObjectClass.
	(gtk_object_new): use g_object_new_valist().
	(gtk_object_set): use g_object_set_valist().
	(gtk_object_get): use g_object_get_valist().
	* gtk/gtkcompat.h: define gtk_object_default_construct().
	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via

	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
	fucntions, cleaned up method assignments (make sure your structures
	are setup properly before calling out). removed all GTK_CONSTRUCTED
	hacks ;)

Tue Dec 12 11:52:16 2000  Owen Taylor  <>

	* gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
	off-by-one error in checks. (Dave Lambert)

2000-12-12  Alexander Larsson  <>

	* gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
	Don't free gdk_fb_keyboard twice.

Tue Dec 12 08:24:42 2000  Tim Janik  <>

	* gtk/testgtk.c:
	(create_statusbar): get rid of object_signal:: GtkObject argument uses,
	use GObject swapped_signal:: properties instead.

	* gtk/gtkcellrenderertoggle.c: 
	* gtk/gtkcellrenderertextpixbuf.c: 
	* gtk/gtkcellrenderertext.c: 
	* gtk/gtkcellrendererpixbuf.c: 
	* gtk/gtkcellrenderer.c:
	* gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
	missing warnings for invalid property ids, install properties
	with g_object_class_install_property() now.
	* gtk/gtksignal.c:
	(gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
Wed Oct 25 14:17:43 2000  Owen Taylor  <>
	* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
	to determine if a window is the focus widget within
	its toplevel.

	* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
	to be boolean.

	* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
	of the case where the container CAN_FOCUS to here instead
	of having it in each individual move-the-focus place.

	* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
	focusing to be geometric in a much more obvious sense. Arrowing
	around is still non-intuitive because it isn't perfect and
	because entries, etc, grab the arrow keys, but it at least
	usually will do what you expect now.
	* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this

	* gtk/gtknotebook.c: Change tabs to be a single item in
	the focus chain. Make movement of focus on tabs with arrow
	keys wrap around.
	* gtk/gtknotebook.c (gtk_notebook_find_child): Add
	CHECK_FIND_CHILD macro to give informative error messages
	instead of silent returns.

	* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
	flag since we handle GdkReturn on the tabs.

	* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
	windows rather than sending expose events directly.

	* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
	definition for GtkNotebookPage into .c file, since it is private.

	* gtk/testgtk.c (create_notebook): Add option for 
	testing borderless notebook.

	* gtk/testgtk.c (page_switch): Removed egregious poking
	around in GTK+ internals.

	* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.

	* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
	properly through gtk_clist_focus. Make the title headers a
	single item in the tab-focus chain, and make left-right wrap

	* gtk/gtkwindow.c (gtk_window_focus): Add a custom
	focus method so that wrapping around works properly.

	* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
	that is handled for the widget now. 

Mon Dec 11 11:41:12 2000  Owen Taylor  <>

	* gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
	widgets as TOPLEVEL.

	* gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
	TOPLEVEL widgets are containers.

	* gtk/gtkinvisible.h: Remove useless include.

2000-12-11  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
	Handle chopping off \r\n and 0x2029 in addition to \n before
	passing to PangoLayout

	* gtk/gtkimcontextsimple.c
	return an empty string if no match is pending

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
	assertion that the returned preedit string was sane

	* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:

Mon Dec 11 10:02:26 2000  Owen Taylor  <>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
	Fix up finalizer to chain to its parent.

2000-12-11  Alexander Larsson  <>

	* docs/README.linux-fb (GDK_KEYBOARD_TYPE):
	Clearified the difference between the keyboard types. Wrote a note
	about the magic sysrq key to get out of raw mode.

2000-12-09  James Henstridge  <>

	* gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
	member to hold masks for detecting the start of a protocol packet.
	(mouse_devs): add packet start masks for ps2 and ms device types.
	Left the mask for fidmour blank, as I have no idea what it should
	(handle_mouse_io): skip bytes until we get to the start of a
	packet.  My Logitech mouse seems to be passing an extra NULL pad
	byte, and GPM does a similar thing here.
	(gdk_fb_mouse_ms_open): changed error message to not say psaux, as
	this is the ms mouse driver.
	(gdk_fb_mouse_ms_packet): fix up button handling, which was
	completely broken except for button1.  It was checking the wrong
	bit in the packet for the status of the right mouse button, and
	wrongly assuming right == button2 rather than 3.  I fixed that and
	also added support for middle button (button2).

2000-12-08  Havoc Pennington  <>

	* gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
	that cause a segfault on text insertion

	* gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 

	* gtk/gtktextiter.c (test_log_attrs): use
	_gtk_text_buffer_get_line_log_attrs to speed things up a bit

	* gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
	Get log attrs for a line, using a cache stored on the buffer
	* gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
	reported by Jeff Franks

2000-12-08  Alexander Larsson  <>

	* gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
	/dev/ttyS0 -> /dev/mouse

2000-12-08  Alexander Larsson  <>

	* gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
	Added dummy gdk_fontset_load.

2000-12-08  Alexander Larsson  <>

	* docs/README.linux-fb:
	* docs/
	Initial GtkFB docs.
	* gdk/linux-fb/

	* gdk/linux-fb/gdkmain-fb.c:
	Fix typo.
	Change default display to /dev/fb0.

	* gdk/linux-fb/gdkpango-fb.c:
	Add $(prefix)/share/fonts/ to font path.
2000-12-08  Alexander Larsson  <>

	* gdk/linux-fb/gdkkeyboard-fb.c:
	New file containing the abstracted keyboard driver. Most code
	taken from gdkinput-ps2.c

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed file.
	* gdk/linux-fb/
	Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.

	* gdk/linux-fb/gdkcolor-fb.c:
	display->fb was renamed to display->fb_fd.

	* gdk/linux-fb/gdkcursor-fb.c:
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkinput.c:
	Moved gdk_input_init here from gdkinput-ps2.c

	* gdk/linux-fb/gdkmain-fb.c:
	display->fb was renamed to display->fb_fd.
	Now the tty and the console is opened here instead
	of in the keyboard driver. Also check GDK_VT to see what
	tty to open.
	Move gdk_beep () here from gdkinput-ps2.c
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkmouse-fb.c:
	Add header.
	gdk_mouse_get_info -> gdk_fb_mouse_get_info
	Return correct keyboard modifiers.
	GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy

	* gdk/linux-fb/gdkprivate-fb.h:
	Add tty and vt info to display.
	Add orignal modeinfo storage to display
	Update global functions

	* gdk/linux-fb/gdkwindow-fb.c:
	Added gdk_fb_window_find_focus().
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

2000-12-07  Havoc Pennington  <>

	* gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
	function, noticed by Alex

2000-12-06  Elliot Lee  <>

	* Detect freetype properly

	* modules/basic/, gdk/linux-fb/ Make use of

2000-12-06  Alexander Larsson  <>

	* gdk/linux-fb/
	Add gdkmouse-fb.c
	* gdk/linux-fb/gdkmouse-fb.c:
	New file. Abstracted the mouse drivers a bit.

	* gdk/linux-fb/gdkcursor-fb.c:
	The cursor hide/show functions was moved here from gdkinput-ps2.c.

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed old mouse handling code. Moved cursor handling code
	to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
	gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to

	* gdk/linux-fb/gdkmain-fb.c:
	Pass NULL pointers for x,y in gdk_mouse_get_info call.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed public gdk_fb_find_common_ancestor, added and renamed
	functions for the new mouse handling code.

	* gdk/linux-fb/gdkwindow-fb.c:
	Moved gdk_fb_window_send_crossing_events here. added global
	variable gdk_fb_window_containing_pointer. made
	gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
	renamed to gdk_mouse_get_info.

2000-12-06  Alexander Larsson  <>

	* gdk/linux-fb/gdkevents-fb.c:
	Update to match latest gmain/gsource changes.

	* gdk/linux-fb/gdkinput-ps2.c:
	Bogus gdk_keymap_get_entries_for_keycode implementation so that
	it links. Will be implemented later.

2000-12-03  Havoc Pennington  <>

	* gdk/ add gdkkeys.[hc]

	* gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
	files from gdk.h, gdk.c; add GdkKeymap type and operations on it.

	* acconfig.h, add checks and command line options
	for XKB

	* gdk/x11/gdkkeys-x11.c: Implement the above functions
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
	and group in the key event

	* gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
	field with the low-level hardware key code, and a group
	field with the keyboard group

	* gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
	and declare a couple globals used for keymap handling
	* gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
	hold down Shift-Control and type a hex number to get a Unicode 
	character corresponding to the hex number
	(gtk_im_context_simple_get_preedit_string): Fix cursor position
	(return bytes not chars)

2000-12-05  Elliot Lee  <>

	* gdk/gdkcolor.h: Make GdkColor specify element sizes
	to avoid waste on 64-bit platforms.

Tue Dec  5 15:49:31 2000  Owen Taylor  <>

	* INSTALL: Fix link to PNG home, remove reference
	to fribidi.

	* gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
	* gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not

	* gtk/gtkcheckmenuitem.c: Permanently turn on

	* gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
	be NULL. (Vladimir Klebanov, #26545)

	* gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
	some signed/unsigned comparison problems. (#6510,
	David Kaelbling)

	* gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
	return type to boolean (Oskar Liljeblad, #18648)

2000-12-05  Alexander Larsson  <>

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
	Remove bogus colormap setting.

2000-12-05  Alexander Larsson  <>

	* gdk/linux-fb/gdkcolor-fb.c:
	More complete colormap handling. Now GdkRGB work in 8 bpp modes.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
	Must set colormap.
Tue Dec  5 13:17:53 GMT 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: DND updates

2000-12-05  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Remove old debug g_warning().
	(gdk_fb_draw_drawable): The src argument can be either a wrapper
	or an implementation, just pass the implementation to draw_drawable_2.
	* gdk/linux-fb/gdkprivate-fb.h:

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	clear and invalidate area when window is destroyed.
	(send_map_events): Remove old commented out code.

2000-12-05  Alexander Larsson  <>

	* gdk/linux-fb/gdkpango-fb.c:
	Use italic instead of oblique in font aliases.
	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
	_gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
	other unsupported functions.

2000-12-04  Havoc Pennington  <>

	* gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane

	* gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler

	* gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler

	* gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
	hack to avoid infinite loops (synthetic expose event) - 
	Owen has more appropriate fixes in a branch he'll check in later.

	* gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
	separator, CR, and CRLF as line ends

	* gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
	into lines using pango_find_paragraph_boundary(); other bits of
	the widget are still going to be broken if the boundary isn't '\n'

2000-12-04  Alexander Larsson  <>

	* gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not

	* gdk/linux-fb/gdkpango-fb.c:
	Copied some 26.6 scaling macros from pango to clean up the rounding.
	(pango_fb_font_get_glyph_info): Correct sign on x value.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed unreferenced external functions.

	* modules/linux-fb/ Use ` instead of '.

	* modules/linux-fb/basic.c:
	Remove dead code. In particular the dummy lang engine which broke all
	pango layouts in GtkFB. Don't include tables-big.i anymore.

	* modules/linux-fb/tables-big.i:
	Upgrade to latest version from pango. Left for reference, basic_ranges
	moved to basic.c.
2000-12-04  Havoc Pennington  <>

        Fix bugs Alex found:
	* gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
	to "draw"

	* gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"

	* gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"

	* gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
	implementation in here, apparently the expose() implementation was
	dead code.

2000-12-04  Alexander Larsson  <>

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
	Return positive descent.

2000-12-02  Havoc Pennington  <>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
	method and signal
	* gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
	calls gdk_window_process_updates() to push the exposes through
	(gtk_widget_class_init): No more draw signal, no
	* gtk/gtkbin.c (gtk_bin_draw): remove

	* gtk/gtkbox.c (gtk_box_draw): remove

	* gtk/gtkbutton.c (gtk_button_draw): remove

	* gtk/gtkcalendar.c (gtk_calendar_draw): remove

	* gtk/gtkcheckbutton.c (gtk_check_button_draw): remove

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove

	* gtk/gtkclist.c (gtk_clist_draw): remove

	* gtk/gtkentry.c (gtk_entry_draw): remove

	* gtk/gtkeventbox.c (gtk_event_box_draw): remove

	* gtk/gtkfixed.c (gtk_fixed_draw): remove

	* gtk/gtkframe.c (gtk_frame_draw): remove

	* gtk/gtkhandlebox.c (gtk_handle_box_draw): remove

	* gtk/gtkhpaned.c (gtk_hpaned_draw): remove

	* gtk/gtklayout.c (gtk_layout_draw): remove

	* gtk/gtklist.c (gtk_list_draw): remove

	* gtk/gtklistitem.c (gtk_list_item_draw): remove

	* gtk/gtkmenu.c (gtk_menu_draw): remove

	* gtk/gtkmenubar.c (gtk_menu_bar_draw): remove

	* gtk/gtkmenuitem.c (gtk_menu_item_draw): remove

	* gtk/gtknotebook.c (gtk_notebook_draw): remove

	* gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove

	* gtk/gtkpacker.c (gtk_packer_draw): remove

	* gtk/gtkrange.c (gtk_range_draw): remove

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove

	* gtk/gtkspinbutton.c (gtk_spin_button_draw): remove

	* gtk/gtktable.c (gtk_table_draw): remove

	* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove

	* gtk/gtktext.c (gtk_text_draw): remove

	* gtk/gtktextview.c (gtk_text_view_draw): remove

	* gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove

	* gtk/gtktoolbar.c (gtk_toolbar_draw): remove

	* gtk/gtktree.c (gtk_tree_draw): remove

	* gtk/gtktreeitem.c (gtk_tree_item_draw): remove

	* gtk/gtktreeview.c (gtk_tree_view_draw): remove

	* gtk/gtkviewport.c (gtk_viewport_draw): remove

	* gtk/gtkvpaned.c (gtk_vpaned_draw): remove

	* gtk/gtkvscale.c (gtk_vscale_draw): remove

	* gtk/gtkwindow.c (gtk_window_draw): remove

2000-20-01  Anders Carlsson  <>

	* gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
	a GtkToggleButton is both insensitive and active, it was being
	drawn by the GtkButton draw handler which doesn't check the
	state. Now it's calling gtk_toggle_button_paint instead.
2000-12-01  Havoc Pennington  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
	dangling pointers to the appearance attributes from the 
	line display

	* gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
	width/height to mean "full width/height of drawable"

 	* gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
	click to select word/line
	* gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
	when getting log attrs. Get a slice, so that pixmaps and stuff
	are properly handled.

	* gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
	paste into the selection (replaces selection now, previously
	crashed or added to selection). Reveals longstanding btree bug -
	select multiple lines, middle-click on the selection, boom. This
	isn't related to my changes though.

	* gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
	PangoLogAttrs changes
	(gtk_entry_move_backward_word): ditto

        * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
 	functions return bool whether the iter moved onto a
 	dereferenceable position.
 	* gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
 	functions for motion in terms of display lines.

	* gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
	get the buffer a mark is inside
2000-12-01  Alexander Larsson  <>

	* gdk/linux-fb/
	* modules/linux-fb/
	Freetype 2 final uses freetype-config

	* gdk/linux-fb/gdkpango-fb.c:
	Upgrade to use Freetype 2 final.
	More flexible support for font aliases, this also fixes a bug with
	GtkFontSelector, as the aliases must be visible in the font/family list,
	or GtkFontSelector reads uninitialized memory.

2000-11-30 Hidetoshi Tajima  <>

	* modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
	XGetIMValues to properly terminate variable argument list, and do
	NULL return check for ic_values and xim_styles.

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
	Restore preedit state after XmbResetIC().
	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
	XvaCreateNestedList() should take XvaNestedList, but not

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
	preedit_draw_callback, preedit_caret_callback): Match
	"preedit-changed" signal name to "preedit_changed" to be
	consistent to the spec.

	* gtk/gtkimcontextsimple.c (check_table):
	Match "preedit-changed" to "preedit_changed" to be consistent
	to the spec.

Thu Nov 30 23:03:04 2000  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
	gc->clip_region == NULL>

2000-11-30  Tor Lillqvist  <>

	Changes by Hans Breuer:
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Dont't use negative width and height as max_hints. This fixes
	Owen's recent testgtk changes for win32.

	* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
	gdk_win32_hdc_release): These are exported and may be called with
	other drawable types than our GdkDrawableImplWin32 (?).

	* gdk/gdkwindow.c: Backing store appears to work on Windows now,
	so always #define USE_BACKING_STORE.

	* gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
	of printf for debugging output.

	* gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
	* gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.

	* gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport

	* gtk/gtktexttypes.h: Ditto.

	* gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
	(GDK_VoidSymbol) also if in case of arg check failure.

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string): Don't assign cursor
	position to the pointer, but to the variable it points to.

	* gtk/ (DEFINES): Define GTK_VERSION.

	* gtk/gtk.def: Updates.

2000-11-29  Elliot Lee  <>

	* gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not

2000-11-29  Alexander Larsson  <>

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
	Set the size of the font from the description.
	(gdk_text_width): Gross hack that calculates the width
	of text by text_length * size/2. This is necessary because
	GtkLabel does some ugly gtk_string_width call to calculate
	an good size.
	(linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.

Wed Nov 29 13:39:19 GMT 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: DND updates

2000-11-29  Alexander Larsson  <>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	If you pass width or height == 0 to gdk_window_clear_area they
	should be calculated from the window size.

2000-11-29  Alexander Larsson  <>

	* gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
	a grab, but no grab-cursor, use the cursor from the grabbed
	window. (gdk_fb_window_send_crossing_events): Send normal
	enter/leave notifications if grab and owner_events == TRUE.

2000-11-29  Alexander Larsson  <>

	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
	Do implicit button grabs, even if the window doesn't
	want the event.
	(gdk_fb_window_send_crossing_events): If there is a
	grab, only the grabbed window gets normal enter/leave
	notifications. On ungrab go from grabbed window to current.
	Don't send any notification to b when propagating from c -> b.
	If setting a grab on window, don't set prev_window.
	(handle_mouse_input): Send enter/leave events to the window the
	mouse is over, not the grabbed one.
2000-11-28  Elliot Lee  <>

	* gdk/gdkregion-generic.c: Zap warning.
	* modules/input/ Only build im-xim if USE_X11 is enabled
	* gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.

2000-11-28  Alexander Larsson  <>

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	The cursor should be hidden if it is part of either the
	source or destination region. Not only if it is in both.
	(gdk_window_set_transient_for): Silence warnings.

2000-11-28  Alexander Larsson  <>

	* gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
	The default mode in X is Pie Arcs, therefore that is
	what Gtk+ uses.

2000-11-28  Alexander Larsson  <>

	* gdk/linux-fb/gdkinput-ps2.c:
	Implement correct EnterNotify/LeaveNotify:
	(gdk_fb_window_send_crossing_events): New function that sends
	all GdkCrossingEvents from the last mouse-window to the specified
	(gdk_fb_window_visibility_crossing): Removed function.
	(handle_mouse_input): Use gdk_fb_window_send_crossing_events()
	(send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
	instead of gdk_window_get_pointer() for	better readability.

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
	gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.

	* gdk/linux-fb/gdkprivate-fb.h:
	removed gdk_fb_window_visibility_crossing, added
	gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.

	gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
	New function that finds the least common ancestor of two windows.
	(gdk_window_show, gdk_window_hide):
	Use gdk_fb_window_send_crossing_events.
	(gdk_fb_window_move_resize): Send configure events to toplevel
	windows. Use gdk_fb_window_send_crossing_events.

2000-11-27  Havoc Pennington  <>

	* gtk/gtkprivate.h (enum): Remove a trailing comma

2000-11-27  Federico Mena Quintero  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
	the "changed" callback of the adjustment.  We need to redraw the
	spin button's arrows when the adjustment's range changes.
	(adjustment_changed_cb): Draw the arrows.
	(gtk_spin_button_value_changed): Draw the arrows.

2000-11-23  Alexander Larsson  <>

	* gdk/linux-fb/gdkselection-fb.c:
	Initial selection implementation.

	* gtk/gtkselection.c:
	if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
	requestor in gtk_selection_request.
	* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
	Added gdk_selection_property atom.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export _gdk_selection_window_destroyed.
	Removed mask_off_x/y from GdkCursorPrivateFB.
	Removed hbearing, added top, left to PangoFBGlyphInfo.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	Call _gdk_selection_window_destroyed
	(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
	the root window has been created.
	(static_dx_hack, static_dy_hack, compare_draw_rects,
	gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
	in region. They are already sorted. Instead just traverse them in
	reverse if draw_direction < 0.
	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
	Double-clicks must be sent after the normal button_press.
	(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
	* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
	Pass _gdk_fb_screen_gc instead of NULL.

	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
	Initialize gdk_selection_property.
	(gdk_event_make): Remove unused code.

	* gdk/linux-fb/gdkcursor-fb.c:
	Make the pixmap for the cursor the same size as the mask. Also remove
	the mask_off_x/y fields in GdkCursorPrivateFB and combine
	_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
	Now the whole cursor is visible.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Fix bug where xdest+height instead of ydest+height was used
	to calculate if the source and dest overlapped. This fixes the
	redraw bug when the main window in testgtk was scrolled when
	partially covered by a tall window.
	Copy rectangles in region in order depending on draw_direction.
	Also moved the draw_direction flipping of start_y and end_y into
	the gc functions, as this might not be what all of them want.
	(gdk_fb_draw_lines): Support dashed lines.
	(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
	so that the text is positioned correctly (was 1 pixel high).

	Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
	all lines were drawn a pixel to short. Also checked the default of
	the rest of the values, and they're the same as X now.

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
	Clean up pixel positioning of the glyphs. Just use bgy->top and
	bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
	to all divisions to get correct rounding behaviour.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
	gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
	Moved start_y/end_y flip into draw_drawable implementations.
	Flip also x rendering when draw_direction < 0.
	Remove unneccesary multiply with draw_direction.

Wed Nov 22 14:11:19 GMT 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml:
	  - get rid of gtk_toggle_button_toggled FUD
	  - start DND section - needs work - based on:

2000-11-22  Alexander Larsson  <>

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
	Correct calculation of font metrics. Now GtkEntrys have sane

2000-11-22  Alexander Larsson  <>

        * gdk/gdktypes.h:
	Add new type GdkSpan
	* docs/reference/gdk/gdk-sections.txt,
	docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
	Implement and document gdk_region_spans_intersect_foreach.

	* gdk/linux-fb/, gdk/linux-fb/gdkrender-fb.c:
	Add new file gdkrender-fb.c which contains all core
	rendering code.
	Add gdk_fb_fill_rectangle_generic (old rectangle code) and
	gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
	(optimized rectangle fillers).

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Move all rendering code to gdkrender-fb.c.
	Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
	Use the new span intersection functions in gdk_fb_fill_spans.
	gdk_fb_draw_rectangle() clips filled rectangles and calls
	gc->fill_rectangle with the result.
	gdk_fb_fill_spans() gets extra argument "sorted".

	* gdk/linux-fb/gdkevents-fb.c:
	Remove unused includes and defines.
	New function gdk_fb_get_time() to get correct time for events.

	* gdk/linux-fb/gdkinput-ps2.c:
	Use gdk method of generating multiple-clicks (gdk_event_button_generate)
	Make sure to set the time of all events.

	* gdk/linux-fb/gdkmain-fb.c:
	Use gdk_fb_get_time ().

	* gdk/linux-fb/gdkprivate-fb.h:
	New virtual GC calls: fill_span & fill_rectangle.
	Export gdk_fb_get_time().
	gdk_fb_fill_spans() gets extra argument "sorted".

	* gdk/linux-fb/mi*.c:
	Use GdkSpan instead of GdkRectangle.
	Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
	from XFree 4 source)
2000-11-22    <>

	* gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
	reversing the order in an if statement will do.  Doing so managed
	to make the treemodelsort half work.  Other half will follow after
	I get the insert function fully fixed.

2000-11-21  Elliot Lee  <>
	* gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
	more than 2 bits. Besides, I need to implement an evil hack. :)

Tue Nov 21 14:17:51 GMT 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: minor corrections

2000-11-20  Jonathan Blandford <>
	* gtk/gtktreemodelsort.h: Add convertion functions to let you
	  convert to and from relative path's and iters.

	* gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
	  testing sorting functions a bit better.  Currently broken -- will
	  fix in morning.

2000-11-20  Havoc Pennington  <>

	* gtk/gtkwidget.c: Documented a bunch of functions in here
	(gtk_widget_realize): Warn if you try to realize
	a widget with no parent that isn't a toplevel
	(gtk_widget_intersect): return a gboolean

2000-11-20  Havoc Pennington  <>

	* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
	gtk/testtext.c: Semi-finish widget embedding. Need guffaw
	scrolling to be implemented in GDK to finish. Also, right now
	we just size_allocate all children on every layout change,
	which is pretty lame. Test commented out of testtext.c, 
	until it works better.

2000-11-20  Alexander Larsson  <>

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Removed unused arguments from gdk_fb_drawable_get_pixel().

	* gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
	Renamed fidur specific mouse packet data in MouseDevice to
	generic. Used it in ps2 mouse handling code to avoid blocking

Sat Nov 18 18:00:17 2000  Jonathan Blandford  <>

	* demos/gtk-demo/main.c: Changed to have the list become
	non-italic when the demo window is destroyed through an external
	event (like a close button).  Doing so found three bugs in the

	* demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.

	* gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
	we actually set the cell.

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	free a leaked path.  Thanks memprof.

Sat Nov 18 11:58:17 2000  Owen Taylor  <>

	* gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
	off-by-one error when destroying allocated segments
	on failure. (Elliot)

Sat Nov 18 11:45:09 2000  Owen Taylor  <>

	* gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
	memleaks found by Evan Martin.

Fri Nov 17 20:14:20 2000  Owen Taylor  <>

        * Released 1.3.2
	* NEWS: Updates for 1.3.2

2000-11-17  Tor Lillqvist  <>

	* gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
	but in general for window system specific events.

	* gtk/gtk.def
	* gtk/
	* gtk/ Update.
	* gtk/gtktexttypes.h: Mark variables for export/import from DLL.

Thu Nov 16 16:11:39 2000  Owen Taylor  <>

	* gtk/ (EXTRA_DIST): Do not, in any circumstances,
	distribute gtk.immodules.

	* gtk/ (install-data-local): Don't install the
	gtk.immodules file created for the uninstalled modules;
	instead run gtk-query-immodules after install

Wed Nov 15 21:51:31 2000  Owen Taylor  <>

	* modules/input/ (im_xim_la_LDFLAGS): Point
	-rpath to the right install location.

	* modules/input/ (im_inuktitut_la_LDFLAGS): Remove

	* gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name

2000-11-15  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
	patch from Mikael Hermansson to temporarily stop blinking while
	the user is using the keyboard to type or navigate. 

	Also, when blinking, stay on for longer than we stay off. Also,
	return from start_cursor_blink if !cursor_visible, to save
	checking that flag all over the place before we call

Thu Nov 16 01:25:51 2000  Robert Brady  <>

	* gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
	only contain a "fontset" line, which is now ignored.

	* gtk/gtkentry.c (gtk_entry_button_release): Make 
	double-click-to-select-word work.
Wed Nov 15 20:16:54 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
	Don't move back one char when we are actually at the end of the 

2000-11-15  Robert Brady  <>

	* modules/input/iminuktitut.c (inuktitut_compose_seqs): 
	'o' < 'p'.
	* gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for

	(gtk_init_check): Make the warning about translating default:LTR
Wed Nov 15 18:39:40 2000  Owen Taylor  <>

	* **/ : remove unecessary rules for win32-specific
	config-substituted targets. If you want these rules, use
	--enable-maintainer-mode (called automatically by
	Stops a lot of unneccessary make-time warnings.

	* gtk/gtktext{layout,display}.c: Factor in total width as
	well as screen when figuring alignment for word-wrap as well as
	no wrap; this is necessary to handle lines that cannot be wrapped
	at all.

2000-11-15  Havoc Pennington  <>

	* gtk/testtext.c: Implement essential color cycling feature

2000-11-15  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): Invalidate the side windows
	when we invalidate the main window.

	* gtk/testtext.c (create_view): Get rid of text_changed_callback,
	GtkTextView will now invalidate the side windows for us when text

Wed Nov 15 16:02:20 2000  Owen Taylor  <>

	* gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
	unconditionally, since we may need to update the horizontal
	scrollbars even if the height didn't change.

	* gtk/gtktextlayout.c (add_preedit_attrs): Always get
	the extra attrs, since some of them affect size.

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
	x_offset correctly.

2000-11-15  Havoc Pennington  <>

	* gtk/gtktextlayout.c (set_para_values): If indent is negative,
	don't move the first line out into the margin, instead move the
	whole paragraph in order to make space for the first line within 
	the margin

2000-11-15  Havoc Pennington  <>

	* gtk/gtktextview.c (changed_handler): offset redraw rect by
	xoffset in addition to yoffset, so horizontal scrolling doesn't
	break redraws

2000-11-15  Havoc Pennington  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
	from the cursor
	(render_layout_line): fix reversed test that caused weird
	underlines to get drawn

2000-11-15  Alexander Larsson  <>

	* gdk/linux-fb/gdkprivate-fb.h:
	Fix debug macros.
2000-11-15  Alexander Larsson  <>

	* gdk/linux-fb/gdkprivate-fb.h:
	Added virtual functions set_pixel, get_color,
	fill_span and draw_drawable to the GC.
	Added global _gdk_fb_screen_gc to use instead of
	NULL when drawing to the screen.
	Added _gdk_fb_gc_calc_state() prototype.

	* gdk/linux-fb/gdkgc-fb.c:
	Call _gdk_fb_gc_calc_state() on any gc state change.

	* gdk/linux-fb/gdkglobals-fb.c:
	Add _gdk_fb_screen_gc
	* gdk/linux-fb/gdkdrawable-fb2.c:
	_gdk_fb_gc_calc_state() calculates best functions
	for the GC state and depth.
	Moved bpp specialized code to separate functions.
	Added optimized 24 bpp AA draw_drawable.

	* gdk/linux-fb/gdkevents-fb.c:
	Silence gcc warning.

	* gdk/linux-fb/gdkimage-fb.c:
	Use _gdk_fb_screen_gc

	* gdk/linux-fb/gdkwindow-fb.c:
	Init and use _gdk_fb_screen_gc

	* gdk/linux-fb/mitypes.h:
	Remove unused types.

2000-11-14  Havoc Pennington  <>

	* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
	to pixels

2000-11-14  Havoc Pennington  <>

	* gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"

	* gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
	unknown char, no real reason we were using a variable. 
	Remove gtk_text_unknown_char variable. Fix all the text widget
	files accordingly.

	* gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
	since the Unicode spec seems to prefer that character for our

Wed Nov 15 02:18:01 2000  Robert Brady  <>

	* gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
	value of g_getenv() isn't freeable, so g_strdup it.

	* modules/input/inuktitut.c: Inuktitut input method.

	* modules/input/ Build this.
2000-11-14  Elliot Lee  <>

	* gtk/ Install gtk.immodules, needed for operation
	of gtk programs.

Tue Nov 14 20:13:06 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
	reversed > that was causing Home to go to end of previous line.

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
	modified-keypresses (leave for bindings.)

	* modules/input/ Remove useless -export-dynamic
	from module LDFLAGS.

2000-11-14  Havoc Pennington  <>

	* gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel

	* gtk/gtktextdisplay.c (render_layout_line): Take rise into
	account. Also, render rise, underline, background, etc. for
	pixbufs as well as text. Also, draw underlines one pixel higher.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
	PangoAttribute for the rise, so it gets drawn properly. Also,
	add the GtkTextAppearance attribute for pixbuf/widget segments
	as well; we should go ahead and have rise, underline, background,
	stipple work for those

	* gtk/gtktexttag.c: Rename "offset" property to "rise" to match

2000-11-15  Tor Lillqvist  <>

	* gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.

	* gtk/gtk.def: Update.

	* gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
	(gtk_rc_get_im_module_file): Use run-time installation directory
	on Win32.

	* gdk/win32/rc/gdk.rc: Remove.
	* gdk/win32/rc/ New file.
	* gdk/win32/rc/ New file
	* gdk/win32/ Corresponding changes.

	* gtk/gtk.rc: Remove.
	* gtk/ New file.
	* gtk/ Corresponding changes.

	* Corresponding changes.

	* gtk/gtkcompat.h.win32: Remove, useless. A distribution already
	has a built gtkcompat.h. Developers using CVS code on Win32 can
	hand-edit it from

	* gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
	gtkcompat.h from gtkcompat.h.win32.

2000-11-14  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
	to default to GDK_ACTION_MOVE if the drag is within a single
	widget. Defaults to GDK_ACTION_COPY between widgets.

Mon Nov 13 14:43:48 2000  Owen Taylor  <>

	* demos/ (test-inline-pixbufs.h): Fix srcdir != builddir

	* gtk/ (INCLUDES): Add -I$(builddir)/gtk

	* gtk/stock-icons/ (gtkstockpixbufs.h): Handles
	srcdir != builddir

	* modules/input/ (INCLUDES): add $(top_srcdir)/gdk

	* (GTK_VERSION): Up to 1.3.2

	* modules/input/ (im_xim_la_SOURCES): Add 

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
	missing doc comment.

2000-11-14  Alexander Larsson  <>

	* modules/linux-fb/basic.c:
	Use the glib iconv wrappers.

2000-11-13  Havoc Pennington  <>

	* demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
	still more bugs.

	* gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
	scroll the GdkWindows before realization.

2000-11-13  Havoc Pennington  <>

	* gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
	where GC didn't always get updated properly

	* demos/gtk-demo/textview.c (create_tags): Use subattributes
	of fonts instead of setting the entire font

	* gtk/testtext.c (fill_example_buffer): Use "size" instead of
	setting entire font

	* gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings

	* gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
	a bunch of individually-settable font attributes. You can still 
	use the "font" and "font_desc" args, they just set all the font
	attributes at once.

2000-11-13 Elliot Lee <>

	* gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.

Mon Nov 13 14:29:32 2000  Jonathan Blandford  <>

	* gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
	* gtk/gtktreemodel.c (gtk_tree_path_free): ditto

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
	work better.

2000-11-13  Havoc Pennington  <>

	* gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
	the module file.

	* gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of

	* gtk/testtext.c: Test pixels above/below/inside paragraphs

	* gtk/gtktextview.c: Implement object args and setters/getters for
	all the aspects of the GtkTextAttributes that are not set from
	GtkWidget attributes. This is spacing, justification, margins,

	(gtk_text_view_get_arg): implement get/set for editable, wrap mode
	(gtk_text_view_class_init): Add args for justify, left_margin,
	right_margin, indent, and tabs

	* gtk/gtktextlayout.c (set_para_values): fix to display indent
	attribute properly

	* gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
	replace with indent attribute

	* gtk/gtktextlayout.c (set_para_values): multiply indent by

	* gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
	rearranging code to do that
	(gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
	i.e. don't subtract the top_margin first, just to keep
	all margin-futzing in one place.

	* gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
	special case of last line, Pango now handles this itself.
	(gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
	Y coordinate
	(gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
	(find_display_line_above): wasn't moving the byte index as it
	iterated over lines, so always returned byte 0. Also, port to use
	(find_display_line_below): same problem as
	find_display_line_above. Also, port to use PangoLayoutIter.

2000-11-13  Alexander Larsson  <>

	* gdk/linux-fb/*.[ch]:
	Massive reindent to gtk+ standard. My hands hurt.

	* gdk/linux-fb/gdkcolor-fb.c:
	Move GdkColorPrivateFB from inherited to windowing_data

	* gdk/linux-fb/gdkcursor-fb.c:
	_gdk_cursor_new_from_pixmap made static

	* gdk/linux-fb/gdkdnd-fb.c:
	GdkDragContextPrivate moved to windowing_data

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Removed endian.h, use glib endianness macros instead
	Some cleanups in the usage of GDK_DRAWABLE_FBDATA

	* gdk/linux-fb/gdkfont-fb.c:
	Add empty gdk_font_load(). Needed for linking of Gtk+.

	* gdk/linux-fb/gdkimage-fb.c:
	Removed endian.h, use glib endianness macros instead
	Moved GdkImagePrivateFB to windowing_data
	gdk_image_new_bitmap didn't always allocate enough

	* gdk/linux-fb/gdkinput-ps2.c:
	Added semi-working support for MS serial mice.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed GdkWindowPrivate typedef
	Move GdkColorPrivateFB from inherited to windowing_data
	Moved GdkImagePrivateFB to windowing_data

	* gdk/linux-fb/gdkvisual-fb.c:
	Removed some unused debug code.

	* gdk/linux-fb/gdkwindow-fb.c:
	Use stock cursors instead of including X headers.

	* gdk/linux-fb/mitypes.h:
	Removed unused types.

	* modules/linux-fb/basic.c:
	Use the pango fribidi wrappers.

2000-11-13  Sebastian Wilhelmi  <>

	* gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
	gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
	gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
	gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
	GEqualFunc where applicable.
	* gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
	pango_font_description_equal as changed in pango.
	* gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.

	* gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.

	* gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.

	* gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.

	* gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.

	* gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.

	* gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
	gtk_gc_drawable_compare -> gtk_gc_drawable_equal.

	* gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
	gtk_rc_styles_compare -> gtk_rc_styles_equal.

2000-11-12  Havoc Pennington  <>

	* demos/gtk-demo/ (democodedir): change demo install
	dir to datadir/gtk+-2.0/demo

	* demos/gtk-demo/textview.c: Text widget demo; reveals all 
	sorts of text widget and Pango font bugs. Urgh.

	* demos/gtk-demo/ (demos): Add textview.c

	* demos/gtk-demo/main.c (create_tree): Add instructions at top of
	tree that you should double click to see the demo. Fix 
	types of variables to reflect changed return values from 
	GtkTreeStore and GtkTreeViewColumn constructors.

	* gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
	newly-created buffer to prepare for GObject semantics

	* gtk/testtext.c: don't leak the buffer with GObject semantics

	* gtk/testtextbuffer.c: ditto
2000-11-12  Havoc Pennington  <>

        Rename this testgtk to gtk-demo to avoid confusion, and 
	install it so people can use it as a supplement to 
	the documentation.
        * demos/gtk-demo: Moved from demos/testgtk

	* demos/testgtk: Removed

	* make Makefile in gtk-demo
	* demos/gtk-demo/ Install sample source to 
	datadir/gtk-demo (maybe there's a better place?), and 
	rename the binary to gtk-demo
	* demos/gtk-demo/main.c (load_file): Load installed sample
	source if source isn't found in pwd.

2000-11-09  Havoc Pennington  <>

	* gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
	argument to set the char displayed when visibility == FALSE
	(gtk_entry_create_layout): If !entry->visible, replace 
	all chars with the "invisible char"

	* gtk/testgtk.c: Test the invisible_char deal
Mon Nov 13 02:16:33 2000  Robert Brady  <>

	* gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
	can't get a native font in the right encoding.

Mon Nov 13 00:09:29 2000  Robert Brady  <>

	* Chinese .pos have been renamed to zh_CN and zh_TW

Sun Nov 12 19:11:42 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
	Fix warning when moving between paragraphs.

	* gtk/gtkentry.[ch]: Change move => move_cursor, 
	delete => delete_from_cursor, insert => insert_at_cursor

Sun Nov 12 22:52:51 2000  Robert Brady  <>

	* modules/input/imviqr.c: A vietnamese VIQR-based input method.

	* modules/input/imthai-broken.c: A Thai input method for use if
	Thai keys are really generating Latin1 keysyms.

	* modules/input/ Build these.

Sun Nov 12 22:15:35 2000  Robert Brady  <>

	* gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
	g_filename_{to,from}_utf8 now takes an extra parameter.

	* gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
	strftime into UTF-8.

	(column_from_x, gtk_calendar_paint_day_names): Support RTL

	(gtk_calendar_paint_day_names): Draw day names in the right 
Sun Nov 12 14:10:09 2000  Owen Taylor  <>

	* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
	problem with using result of g_get_charset() backwards -
	pointed out by Mikael Hermansson <>.

	* gtk/gtkwindow.c (gtk_window_compute_hints): Support
	negative min_width/height and max_width/height to
	mean "requisition"; this allows setting a window
	to be user-resizable in only one direction easily.

	* gtk/testgtk.c (create_main_window): Remove hard-coded
	usize - set a default size in the vertical direction.

Sun Nov 12 13:33:01 2000  Owen Taylor  <>

	* gtk/gtkrange.c: Add some missing casts. Support 
	2 and 3 button clicks on the arrows to mean 
	"move by pages" and "jump to end". (Like gtkspinbutton)

2000-11-12 Hans Breuer <Hans@Breuer.Org>

	* gdk/win32/makefile.msc : reflect build module changes

	* gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
	from GdkPixmap*, cast implementation member instead.

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
	passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
	maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
	more Gdi functions return value checking. 
	(gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
	GdkImagePrivateWin32 *.

	* gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
	menus useable again. Add #pragma message to keep reminded on this issue.
	(gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
	windows. This allows to enable backing store on Win32!

	* gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
	in drawable is of impl type. Correct specific type checks appropriate.
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
	GDK_WINDOW_DESTROYED before allocating new resources.

	* gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case

	* gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
	(gdk_window_foreign_new) initialize parent handle.
	(gdk_window_destroy_notify) add GDK_IS_WINDOW check

	* gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
	Let the GDI invalidate the window on MoveWindow call to fix scrolling
	problems (e.g. main buttons in testgtk). 

Sat Nov 11 23:07:30 2000  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_key_press): Call 
	gtk_widget_activate for GDK_Return.

	* gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
	of preedit cursor position.

Sun Nov  5 04:24:53 2000  Owen Taylor  <>

	* gtk/gtkcellrenderertextpixbuf.c: Make parent_class

Tue Sep 19 10:54:22 2000  Owen Taylor  <>

	* modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
	out support for multiple locales; that simple doesn't
	work reliably with current Xlib

	* gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
	gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
	Add support for positioning the cursor within the preedit string.

Mon Sep 18 23:56:32 2000  Owen Taylor  <>

	* modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
	at XIM input method module.

	* gtk/gtktextview.c: Check for bindings after passing
	events to im context filter.

Mon Sep 18 11:50:51 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (add_preedit_attrs): Handle
	empty attribute lists properly.

Sun Sep 17 10:08:16 2000  Owen Taylor  <>

	* gtk/queryimmodules.c (main): Return non-zero exit
	status if errors were encountered querying any

	* modules/input/ (moduledir): remove
	leftover bin program target.

	* docs/make-todo: Fix typo in error message.

Sat Sep 16 14:04:30 2000  Owen Taylor  <>

	* Add modules/input/Makefile

Sat Sep 16 14:01:52 2000  Owen Taylor  <>

	* gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
	don't include gtkthemes.h.

	* gtk/testgtk.c gtk/testtext.c: Set environment variables
	to point

	* gtk/ Add new .c and .h files, build 
	gtk-query-immodules and use it to create a gtk.immodules
	file for use of test programs.

	* gtk/gtkpreview.c: remove extra blank line.

Sat Sep 16 13:21:04 2000  Owen Taylor  <>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
	Add the ability to add extra tables beyond the default
	one, and also the ability to have compose sequences 
	that are prefixes of other compose sequences. 

	* gtk/gtkimcontextsimple.c: Export a preedit string which
	consists of possible candidates for keystrokes that have
	been entered but not yet committed.

	* gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
	gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()

	* gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
	Add a function to add input-method switching menu items
	to a menu.

	* gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
	when switching input methods.

	* gtk/gtkimcontextsimple.[ch]: Change the format of
	the compose table to allow compose tables of different
	lengths / sequence.

Sat Sep 16 13:05:48 2000  Owen Taylor  <>

	* gtk/gtkimmodule.[ch]: Support routines for loading
	GtkIMContext implementations dynamically at runtime.

	* modules/input/imcyrillic-translit.c: A sample input
	method (based on GtkIMContextSimple with an extra table),
	which demonstrates preedit strings and the module
	system for input modules

	* gtk/queryimmodules.c: Program to query the available
	input modules and write the results into a file.
	* gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
	extra config options "im_module_file" (cache file for
	input method modules), and "im_module_path" - path
	to look for modules when generating cache file.

	This doesn't scale.

Sat Sep 16 13:09:06 2000  Owen Taylor  <>

	* gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
	generic	code from gtkthemes into a new abstraction
	GtkModule which has the logic for implementing
	a loadable module which implements a number of 
	GObject types.

Sat Sep 16 13:07:13 2000  Owen Taylor  <>

        * gtk/gtkeditable.[ch]: Convert GtkEditable from
	a class into an interface  
	* gtk/gtkoldeditable.[ch]: Move the old editable
	implementation into here, so legacy widgets can
	still rely on the implemenation. GtkOldEditable
	exports GtkEditable. Make selection handling
	code use new text conversion functions (and
	handle UTF-8 as a side-effect). Use GtkClipboard

	* gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
	Adopt to match above changes.

	* gtk/gtkentry.[ch]: Implement GtkEditable directly,
	avoid GtkOldEditable implementation. Restructure
        to reduce number of places that modify state directly.
	Move to GtkBindingSet. Display the preedit string.
	Queue recomputation of PangoLayout and scroll position
	to improve effiency of doing complex changes naively.
	Add a menu with cut/copy/paste and input method selection.

Thu Sep 14 22:11:05 2000  Owen Taylor  <>

	* gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
	to set preedit string and attributes; display preedit string by
	inserting string and attributes at cursor when creating the

	* gtk/gtktextlayout.c: Move all conversions between byte
	positions in PangoLayout and GtkTextIter into new functions
	line_display_iter_to_index/index_to_iter that properly
	handle the preedit string.

	* gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
	it to return const char * (eventually will end up
	as GCONST char *, most likely.)

	* gtk/gtktextview.[ch]: Handle the preedit string, call
	gtk_im_context_reset() as necessary, add a menu to switch
	input methods.
	* gtk/gtktextlayout.[ch]: Remove useless
	gtk_text_layout_get_log_attrs() function.

2000-11-11  Tor Lillqvist  <>

	* gdk/gdk.def
	* gtk/gtk.def: Update.

	* gdk/win32/*.c: Add last argument to g_type_register_static()

	* gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.

	* gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
	generated by older wheel mouse drivers. Get the correct y
	coordinate from WM_MOUSEWHEEL messages.

	* gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
	gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
	gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
	Debugging functions.

	* gdk/win32/gdkprivate-win32.h: Declare them.

	* gdk/win32/gdkinput-win32.h: Add declaration for

	* gtk/ Pass -DGTK_VERSION. Add gtktreemodel.o.

Fri Nov 10 19:06:41 2000  Jonathan Blandford  <>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
	function to help handle keeping things in sync.

Fri Nov 10 12:10:34 2000  Jonathan Blandford  <>

	* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
	BOXED marshallers.

	* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
	(gtk_list_store_class_init): use the new BOXED marshallers.

	* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
	new_with_values to new_with_types.
	(gtk_tree_store_get_column_type): add this.
	(gtk_tree_store_class_init): use the new BOXED marshallers.

	* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
	mirror some POINTER marshallers.

Thu Nov  9 11:23:22 2000  Jonathan Blandford  <>

	* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
	allow more interesting iterators.  Also, made the lifecycle of
	iterators more explicit.

	* gtk/gtktreemodelsort.[ch]: New model for sorting.

	* gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed

2000-11-09  Alexander Larsson  <>

	* demos/testgtk/menus.c:
	Changes to make the new testgtk compile after
	gtk_menu_append was removed.

	* gdk/linux-fb/gdkdrawable-fb2.c
	(gdk_fb_get_depth, gdk_fb_get_visual,
	gdk_drawable_impl_fb_class_init): Implement
	these drawable functions. Now GtkImages work again.

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.

	* gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
	* gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
	gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
	Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,

2000-11-08  Havoc Pennington  <>

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
	visible_set args, don't know where these had gone, I thought they
	used to be there

	* gtk/testtext.c: Add a menu item to apply invisibility tag;
	now we can test the feature and see that it's totally broken.

2000-11-08  Havoc Pennington  <>

        Make DND copy pixbufs and tags when source and target share a 
	tag table.
	* gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
	in-process GTK_TEXT_BUFFER_CONTENTS target
	(gtk_text_view_drag_data_received): Paste from
	GTK_TEXT_BUFFER_CONTENTS if we receive it.

2000-11-08  Alexander Larsson  <>

	* docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
	API changes.

	* gtk/gtkmenu.c: Add support for scrolling menus.
	Remove gtk_menu_append/prepend/insert, these have been moved to
	gtkcompat.h as #defines.

	* gtk/
	Add compatibility #defines for gtk_menu_append/prepend/insert

	* gtk/gtkmenu.h: Add data needed for scrolling menus.
	GtkMenuPositionFunc gets an extra argument push_in.
	gtk_menu_append/prepend/insert removed.
	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
	positioning behaviour to fit to scrolling menus.

	* gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
	into menuitem->submeny. That is wrong, and broke torn
	off submenus of torn off menus, since they were unrealized
	when the first menu was unrealized.

	* gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
	gtk_menu_shell_select_item() since these need to be overridden in

	* gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
	positioning behaviour to fit to scrolling menus.
	(gtk_option_menu_key_press, gtk_option_menu_button_press): Select
	the current item so that it is prelighted when the menu pops up.
	This is a workaround to the fact that the menu doesn't get the
	initial enter event (due to grabs).

	* gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:

	* gtk/gtknotebook.c:

	* gtk/testgtk.c (create_menu, create_menus):
	Create the first menu with 50 items so that menu scrolling
	can be tested.
	Patch from Jonathan Blandford  <>

	* gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
	system to handle size requests.  First, we ask what the size of
	the toggle is.  Then, when allocating the size, we allocate the
	toggle_size first.  This way we can have multiple menu-item
	classes w/o needing a seperate class for each.

	* gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
	* gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.

	* gtk/gtkcheckmenuitem.c
	(gtk_check_menu_item_toggle_size_request): New function to handle
	the toggle size-request.

2000-11-07  Havoc Pennington  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
	Half-ass somewhat fix this function, so that scrolling to the
	insertion point works. Pango hacking is in the future to really
	fix it.

	* gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
	length of data, no longer used.

	* gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
	method contents in here, get rid of destroy method
	(gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
	that were backward. Remove debug spew.
	(cut_or_copy): Make the clipboard work with insert_range to
	preserve tags and pixbufs, not just the primary selection.

2000-11-07  Havoc Pennington  <>

	* gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
	to gtk_text_mark_get_visible

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
	bug that was generating an invalid iterator

	* gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
	ensure_char_offsets() in front of code placing the iter in an
	invalid state.

	* gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
	make override_location arg const
	(paste): Replace the selection if we paste into the 
	current selection

	* gtk/gtkselection.h: Remove "GtkSelectioData"
	(struct _GtkSelectionData): move the definition here.

	* gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
	Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies

	* gtk/gtktextiter.c (gtk_text_iter_get_tags): New function

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
	(gtk_text_buffer_insert_range_interactive): implement
	(gtk_text_buffer_get_tags): Remove, replaced by

	* gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
	limit parameter, to avoid infinite linear scan.
	(gtk_text_iter_backward_search): Add search limit
	(gtk_text_iter_forward_find_char): Add search limit
	(gtk_text_iter_backward_find_char): Add search limit

2000-11-07  Alexander Larsson  <>

	* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
	gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
	gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
	use g_object_new() instead of g_type_create_instance() which
	is a private function for fundamental type implementations.

	* gdk/linux-fb/gdkinput-ps2.c:
	Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
	instead just store the current modifier state. Add a (somewhat broken)
	keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
	Rename exported function gdk_input_ps2_get_mouseinfo to

	* gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
	gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.

2000-11-02  Havoc Pennington  <>

	* gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
	use stock buttons. Should be 100% source compatible, appropriate
	filesel fields now point to dialog->vbox and dialog->action_area.
	On the bizarre side, dialog->action_area and filesel->action_area
	are not the same widget.
	(gtk_file_selection_init): Put some padding around the selection
	entry, so it isn't touching the GtkDialog separator.	

	* gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
	use stock buttons, etc. Should also be source compatible.
	Set the dialog default title in _init not _new().
	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
	Use stock buttons; don't put a button box inside the existing
	dialog button box. Don't bother with push/pop colormap anymore.

	* gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
	specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
	for message dialog, and necessary for the font selection and color
	selection with help and apply buttons.
	* gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
	to the created button widget. Set GTK_CAN_DEFAULT on the button.
	(gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
	between buttons, put less padding around the action area.
	(gtk_dialog_run): Exit on unmap rather than on destroy. 
	This will also exit the loop if the widget is hidden.
	(gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
	instead of GTK_RESPONSE_NONE; since we're already adding a bunch
	of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
	special-case delete event.

	* gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
Sun Nov  5 05:32:39 2000  Tim Janik  <>

	* gtk/testgtk.c (uposition_stop_configure): provide a toggle
	button to temporarily disable position recording in the
	"saved position" test.

Sat Nov  4 05:37:17 2000  Tim Janik  <>

	* gtk/gtkthemes.c: added compat code that temporarily implements
	GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
	going to be revamped by owen's upcoming GtkModule patches, but
	untill then people want gtk to build, right? ;)

2000-11-04  Havoc Pennington  <>

	* gtk/gtkenums.h: remove trailing comma from GtkDeleteType member

	* docs/Changes-2.0.txt: Add note about

	* gtk/gtktextview.h: formatting
	* gtk/gtktextview.c: don't start descriptions with "Returns",
	confuses gtk-doc

Sat Nov  4 10:12:27 2000  Owen Taylor  <>

	* When doing sanity checking on ACLOCAL_FLAGS,
	look for glib-2.0.m4 not glib.m4. (Ali Abdin)

2000-11-03  Havoc Pennington  <>

	* gtk/gtktexttagtable.c: Docs
	(gtk_text_tag_table_size): return a signed int

	* gtk/gtktexttag.c: s/tkxt/text/g; write documentation
	(gtk_text_tag_event): make the event_object a GObject

	* gtk/gtktextview.c: Write API docs for all functions.

	* gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
	for gtk_text_view_get_window_type() called on one of the private

	* gtk/gtktextview.c: Instead of accessing text_view->buffer
	directly, call get_buffer() which demand-creates a default
	buffer. So gtk_text_view_new() can be used to create a view with a
	default buffer in it, if you just want an empty text box users can
	put data in. Useful for GUI builders also.

2000-11-03  Pablo Saratxaga <>

	* gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
	the charset encodign portion MUST be in lowercase.
	* gtk/ added file for Azeri language

2000-11-03  Havoc Pennington  <>

        Get widgets working on the btree/buffer side. Display of them 
	still doesn't work.
	* gtk/gtktextview.c: start implementing child widget stuff

	* gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function

	* gtk/gtktextlayout.c: handle embedded widgets

	* gtk/gtktextdisplay.c: handle embedded widgets

	* gtk/gtktextchild.c: Implement all the child anchor goo

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New

	* gtk/gtktextbtree.c: Add child anchor table to the btree struct
	(insert_pixbuf_or_widget_segment): abstract out common portions of 
	creating a child anchor or a pixbuf segment.
	(gtk_text_btree_create_child_anchor): new function
	(gtk_text_btree_unregister_child_anchor): new function

	* gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
	allocate_child signal on GtkTextLayout

	* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
	(gtk_text_iter_get_child_anchor): new function

	* gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
	default handler for the changed signal, which calls
	gtk_text_buffer_set_modified(), instead of just always emitting
	changed then calling set_modified() manually. I guess this is
	maybe more flexible. It seems logical.

Fri Nov  3 08:58:38 2000  Tim Janik  <>

	* gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'

	* gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.

Thu Nov  2 14:10:51 2000  Owen Taylor  <>

	* gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
	been marked static.

2000-11-02  Havoc Pennington  <>

	* gtk/testgtk.c (create_labels): had a test backward

	* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
	fields, so the dest GC ends up with the correct clip origin, 
	etc. Fixes a bug where colored labels didn't redraw 

2000-11-02  Alexander Larsson  <>

	* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
	gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
	gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
	Add last argument to t_type_register_static call.
	* gdk/linux-fb/gdkdrawable-fb2.c:
	Add last argument to t_type_register_static call.
	export the get_image drawable virtual function.

	* gdk/linux-fb/gdkimage-fb.c:
	Add last argument to t_type_register_static call.
	rename gtk_image_get to _gdk_fb_get_image and
	export it for use by gdkdrawable-fb2.

	* gdk/linux-fb/gdkprivate-fb.h:
	export _gdk_fb_get_image.

	* gdk/linux-fb/gdkselection-fb.c:
	Add new api call stubs.

	* gtk/
	Missing ( in linux-fb part.

	* modules/linux-fb/
	Must link with gdk_pixbuf or get unresolved symbol.

2000-11-01  Havoc Pennington  <>

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
	GTK_TYPE_TEXT_ITER and BOXED marshallers

	* gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto

	* gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
	* gtk/gtk-boxed.defs: add GtkTextIter

	* gtk/gtkmarshal.list: Add marshallers for text widget that 
	properly use OBJECT and BOXED

2000-11-01  Havoc Pennington  <>

	* gtk/testgtk.c (create_labels): Test set_markup_with_accel()

	* gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
	before returning it. 
2000-11-01  Havoc Pennington  <>

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
	Clip the rectangle to be rendered to the drawable, since
	get_from_drawable() requires a region within the drawable

2000-11-01  Havoc Pennington  <>

	* gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
	from coordinates.

Wed Oct 25 20:10:57 2000  Owen Taylor  <>

	* gdk/gdkevents.c (gdk_event_copy): Only ref the window if
	it isn't NULL.

2000-11-01  Havoc Pennington  <>

	* gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
	on a label
	(gtk_label_finalize): unref the attr list if any.

	* gtk/testgtk.c (create_get_image): close test on second click
	(make_message_dialog): close dialog if it exists

	* gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute

	* (Requires): Make it require gdk-pixbuf-2.0 not

	* gtk/gtklabel.c (gtk_label_set_markup): new function to set label
	from Pango markup format
	(gtk_label_set_markup_with_accel): ditto but with accelerator

	* gtk/gtkimage.c (gtk_image_expose): reformatting.

	* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
	reflect current state of GDK - use gdk_drawable_get_colormap, etc.
	Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
	call gdk_window_get_origin().

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
Wed Nov  1 03:43:42 2000  Tim Janik  <>

	* gtk/gtksignal.c (gtk_signal_compat_matched): make use of
	g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
	g_signal_handlers_disconnect_matched to block/unblock and disconnect
	multiple handlers respectively, instead of only treating the
	first handler found (bug reported by owen).

Mon Oct 30 19:23:50 2000  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.

	* gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.

	* gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
	gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
	gtk/gtktreeviewcolumn.h: Fixed inline docs.

	* docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
	widget.  Needs writing someday.

	* docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
	the docs.

2000-10-30  Havoc Pennington  <>

	* gtk/gtktextview.h, gtk/gtktextview.c:
	Rename delete_at_cursor delete_from_cursor, and 
	move to move_cursor.

2000-10-30  Havoc Pennington  <>

	* gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
	gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
	gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
	gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
	gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
	gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
	gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
	gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
	gtktexttypes.h, gtktextview.c, gtktextview.h:

	Massive reindentation and reformatting. Arg alignment and comments
	still need fixing in various places.

2000-10-30  Havoc Pennington  <>

	* gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
	to be named insert_at_cursor and delete_at_cursor so C++ can
	handle them.

2000-10-28  Tor Lillqvist  <>

	* gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
	to get a double directory separator in case the home directory
	ends with one. This would cause trouble especially on Windows,
	where the path will be confused with the syntax for an an UNC
	(network share) path \\server\share\path.
	(gtk_rc_add_initial_default_files): Ditto.

Sat Oct 28 02:33:09 2000  Robert Brady  <>

	* gtk/gtkmarshal.list: add new marshallers for GtkTextView.

	* gtk/gtktextview.c: Use correct marshallers.

Fri Oct 27 17:56:26 2000  Jonathan Blandford  <>

	* gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
	use new iter stuff, and added all the appropriate signals et al.

	* gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
	code is internal to gtk only.

2000-10-28  Tor Lillqvist  <>

	* gtk/gtk.def
	* gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
	glib-genmarshal etc.

Fri Oct 27 20:15:00 2000  Tim Janik  <>

	* gtk/ added dependancies for testtextbuffer which broke
	parallel builds.

Fri Oct 27 18:51:44 2000  Tim Janik  <>

	* gtk/gtksignal.[hc]: adapt to GSignal signature changes.

2000-10-27  Robert Brady  <>

	* (ALL_LINGUAS): Add en@IPA (English, phonetic), 
	en_GB (British), ia (Interlingua).

2000-10-26  Havoc Pennington  <>

	* gtk/gtktextiter.c (my_strrstr): fix constness warning

        Fixed output of:
	nm -g -l .libs/ | grep ' T ' | grep -v gtk_ | grep -v GTK_
	* gtk/gtktextsegment.c (char_segment_new): rename
	(_char_segment_new_from_two_strings): rename
	(_toggle_segment_new): rename
	* gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
	(make_clipboard_widget): make it static
	(text_get_func): static
	(text_clear_func): static

	* gtk/gtkcolorsel.c (adjustment_changed): make this function
	(hex_changed): make it static
	(hsv_changed): make it static
	(opacity_entry_changed): make it static

	* gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
	(toggle_segment_check_func): rename with _gtk

	* gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
	(_widget_segment_new): rename
	(_widget_segment_add): rename
	(_widget_segment_remove): rename
	(_widget_segment_ref): rename
	(_widget_segment_unref): rename

	* gtk/gtktextmark.c (_mark_segment_new): Rename

2000-10-26  Havoc Pennington  <>

	* gtk/gtkmarshal.list: add new marshallers used by the text widget
	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller

	* gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
	marshaller types

	* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
	gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
	license on these files.

	* gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this

	* gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
	runtime random number different for each tree, instead of 
	a constant I made up.

Thu Oct 26 07:36:16 2000  Tim Janik  <>

	* gtk/ buncha cleanups, kludged build sources
	dependencies with a Makefile: oldest-source-stamp dependancy
	for the moment. automake is really fighting us here, with
	intentionally not allowing user-defined rules or dependancies
	prior to it's -include $(DEP_FILES) statement. sucks rocks!

	* gtk/ added gtktextlayout.h and gtktextdisplay.h
	to public headers. tehy have a comment stating that they are
	"semi-public" aren't included by gtk.h and if enums popup there,
	they can be /*< skip >*/-ed.

	* gtk/gtktextlayout.h: 
	* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
	added LGPL... <SIGH>

Wed Oct 25 20:40:25 2000  Jonathan Blandford  <>

	* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
	GtkTreeIter.  Added iterators everywhere.

	* gtk/gtktreeviewcolumn.c: Changed to use the iterators.

	* gtk/gtktreeviewselection.c: Changed to use the iterators.

	* gtk/gtktreestore.c: Changed to use the iterators.

	* gtk/gtkliststore.c: Commented out the code.  Will convert to
	iterators tomorrow.

	* gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
	iterators tomorrow.

	* gtk/treestoretest.c: Changed to use iterators.

	* demos/testgtk/main.c: Moved to use the new iterator system.

Thu Oct 26 02:10:32 2000  Tim Janik  <>

	* gtk/ invoke maketypes.awk with LC_ALL=C to avoid
	localization misbehaviour.

	* gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
	a useless type without copy/free.

	* gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead

Thu Oct 26 00:51:52 2000  Tim Janik  <>

	* gtk/gtksignal.c:
	(gtk_signal_emitv): use g_value_set_static_{string|boxed} where

	* gtk/gtk-boxed.defs (GtkSelectionData): specify
	gtk_selection_data_copy and gtk_selection_data_free
	do GtkSelectionData work as params in signals.

Wed Oct 25 20:47:41 2000  Tim Janik  <>

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
	implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
	couldn't they at least give it a non-standard name?
	* gtk/gtktextlayout.c: arg! yet another implementation of
	gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?

	* gtk/gtktextbuffer.c: gotcha! captured a vagabonding
	gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
	home. now i know this _is_ a conspiracy.

	* gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for

	* gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
	(gtk_accel_group_create_add): marshaller signature fixups.

	* gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,

	* gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid

Tue Oct 24 23:59:21 2000  Tim Janik  <>

	* docs/reference/ disabled SUBDIRS for the moment, since
	due to the signal system changes, it wouldn't build currently. to
	be fixed soon.

	* docs/Changes-2.0.txt: GtkSignal/GSignal updates.

	* gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
	so it needs gtk_marshal_VOID__ENUM() instead of

	* gdk/gdk*.c: adapted type registration functions.

	* gtk/gtkbindings.c:
	* gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is

	* gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.

	* gtk/gtkobject.c:
	(gtk_object_shutdown): fixed recursion guards. basically we have to
	catch the case where any of GObject.shutdown() or gtk_object_destroy()
	is called during ::destroy, and avoid recursion there.

	* gtk/gtktypeutils.c:
	* gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
	boxed_copy/boxed_free. this needs a more general solution based on a
	publically installed code-generator utility.

	* gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
	glib's gobject has support for that now.
	define GtkSignalMarshaller in terms of GSignalCMarshaller.

Mon Oct 23 09:36:42 2000  Tim Janik  <>

	* gtk/gtksignal.[hc]:
	* gtk/gtkmarshal.[hc]:
	* gtk/ generate marshallers with glib-genmarshal and don't
	compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
	removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
	care of that.

	* *.c: marshaller name fixups.

	* gtk/gtkmarshal.list: added a comment briefing the format.

Sun Oct 22 23:14:39 2000  Tim Janik  <>

	* gtk/gtksignal.[hc]: nuked old implementation. we mostly have
	compatibility macros here now. more specifically, most of
	the API is preserved (yes, _most_, nonwithstanding the
	following exceptions listed, the API is stil lHUGE ;)
	things that got removed completely:
	GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
	gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
	gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
	gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
	non-functional functions variants:
	gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
	the GtkCallbackMarshal argument to gtk_signal_connect_full() is
	not supported anymore.
	(gtk_signal_compat_matched): new internal function to aid
	implementation of the compatibility macros, it 	provides
	functionality to block/unblock/disconnect handlers based
	on func/data.

	* gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,

	* *.c: adaptions to new type registration API signatures.

Fri Oct 20 15:26:33 2000  Tim Janik  <>

	* gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.

2000-10-25  Robert Brady  <>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
	gdk_property_delete): If window == NULL, assume the root window.
	(restoring the behaviour that was in 1.2).
	* gtk/testtext.c (save_buffer): Allow creation of new files when

	(fill_file_buffer): Don't die if a UTF-8 sequence is split across
	calls to read().

2000-10-25  Tor Lillqvist  <>

	* gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.

	* gdk/win32/gdkdrawable-win32.c
	* gdk/win32/gdkimage-win32.c
	* gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
	X11 backend.

	* gdk/win32/gdkcc-win32.c
	* gdk/win32/gdkcolor-win32.c
	* gdk/win32/gdkfont-win32.c
	* gdk/win32/gdkinput-win32.c
	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.

2000-10-24  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
	it a static function

	* gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
	redraw text when a tag is applied to it.

	* gtk/gtktexttag.c (gtk_text_tag_affects_size)
	(gtk_text_tag_affects_nonsize_appearance): private functions to
	see if a tag requires various kinds of redraw/layout to be queued

	* gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock

	* gtk/testtext.c (fill_example_buffer): Put the cursor 
	at the start of the buffer, so search works by default

	* gtk/gtktextiter.c (lines_match): init match_start always

	* gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
	function, get iter at a line + a byte index

	* gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
	to set byte position within a line
	(gtk_text_iter_check): remove leftover G_BREAKPOINT thing

2000-10-23  Havoc Pennington  <>

        * gtk/testtext.c: Re-enable the "find" dialog

	* gtk/testgtk.c: Add test for gdk_drawable_get_image
	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
	the arguments to gdk_draw_drawable were in the wrong order
	(gdk_window_paint_init_bg): This function was ignoring the
	init_region, instead of clipping to it, so the entire backing
	pixmap was cleared on every begin_paint()
	(gdk_window_begin_paint_region): Hmm, the same list-walking bug
	was in here again, the loop kept using the same GtkWindowPaint
	over and over.
	(gdk_window_begin_paint_region): Fix a bug where we had two
	x_offset instead of x_offset and y_offset

	* gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
	before we get the image.
	(gdk_draw_drawable): get the composite before we draw the drawable.
	(gdk_drawable_real_get_composite_drawable): default
	get_composite_drawable implementation that returns the drawable 

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
	get_composite_drawable virtual function

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
	list-walking bug

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
	make this work if the source drawable is a GdkDrawableImplX11
	instead of a public drawable type. This is really broken; the
	problem is that GdkDrawable needs a virtual method get_xid(), but
	of course that doesn't work in practice. Enter RTTI.

	Also, improve mismatched depth message.

	* gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
	install _gdk_x11_get_image as our implementation of get_image
	* gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
	_gdk_x11_get_image and export for use in gdkdrawable-x11.c

	* gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around

	* gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize

	* gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
	trailing semicolon after for loop

Mon Oct 23 12:07:57 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
	where font_desc for widget's context lagged widget's font_desc by
	one step.

2000-10-22  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c
	* gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.

	* gtk/
	* gtk/gtk.def: Updates.

	* gtk/testgtk.c: sleep() is called _sleep in MS's C

	* gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().

	* gtk/makefile.msc: Remove

	* gtk/ New file, like

	* gtk/ Add it.

	* Generate it.

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
	* gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
	something even if not implemented, to satisfy picky MSVC.

	Patches by Hans Breuer:
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
	SetBkMode() and SetTextAlign() before calling

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
	Set hcliprgn to NULL after destroying it.
	(gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.

	* gdk/win32/gdkgeometry-win32.c
	(_gdk_windowing_window_queue_antiexpose): More effective

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
	depth as default, not the visual's.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
	against empty title.

	* gdk/win32/gdkprivate-win32.h: Define a helper macro,

	* gdk/win32/gdkimage-win32.c: Use it.

2000-10-22  Robert Brady  <>

	* Check for bind_textdomain_codeset

	* gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
	present, make use of it.

	Add a translatable string "default:LTR" which, if translated
	to "default:RTL", will cause the default direction to be

	* gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
	direction if marked as flippable.

	* gtk/gtkhscale.c: Mark widget as flippable.
2000-10-04  Havoc Pennington  <>

	* gtk/testgtk.c (create_buttons): create some stock buttons
	with the default accel group
	(create_image): test some new GtkImage features
	(make_message_dialog): test GtkMessageDialog
	(create_modal_window): fix someone's bizzarro indentation

        * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
	Add "destroy with parent" setting, which means the window goes
	away with its transient parent.
	(gtk_window_get_default_accel_group): get the default accel group
	for the window.
	(gtk_window_set_destroy_with_parent): set/unset destroy with
	parent flag
	(gtk_window_read_rcfiles): invalidate icon set caches
	after reloading rcfiles	

	* gtk/gtkenums.h (GtkWindowPosition): add
	GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
	on its parent window when the dialog is mapped for the first time.

        * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
	a simple message dialog class
	* gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
	handler to emit response signal, and maybe later it would
	honor a hide_on_delete flag - though that isn't there yet.
	Set border width on the vbox to 2, so we get some padding.	
	Use a button box for the action area.
	(gtk_dialog_key_press): synthesize a delete event if Esc
	is pressed and the GtkWidget key press handler didn't 
	handle the escape key.
	(gtk_dialog_new_with_buttons): new function creates a dialog
	with some default buttons in it.
	(gtk_dialog_add_action_widget): add an activatable widget
	as a button in the dialog - you can also add a non-activatable
	widget by accessing the action area directly.
	(gtk_dialog_add_button): add a simple button - stock ID or 
	label - to the action area
	(gtk_dialog_response): emit response signal
	(gtk_dialog_run): block waiting for the dialog, return 
	the response. Override normal delete_event behavior, so that 
	delete_event does nothing inside gtk_dialog_run().
	* gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
	emitted when an action widget is clicked or the dialog gets

	* gtk/gtk.h: add gtkmessagedialog.h

	* gtk/ add gtkmessagedialog.[hc]

2000-10-18  Havoc Pennington  <>

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
	where any number of empty lines would get skipped

	* gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the

	* gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
	warning about invalid iterators (explain more thoroughly)
	(gtk_text_iter_in_region): rename gtk_text_iter_in_range

	* gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less

	* demos/*.c: Add error handling

	* gtk/gtktextbuffer.c: don't modify const iterators

	* gtk/gdk-pixbuf-loader.c: Add full error handling here

	* gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
	on file load

	* gtk/gtkiconfactory.c: Update to reflect addition of error
	handling to gdk-pixbuf loaders

Wed Oct 18 11:14:05 2000  Owen Taylor  <>	

	* demos/ demos/testgtk/*: Start of work to
	move to new modularized testgtk.

2000-10-17  Jonathan Blandford  <>

	* gtk/gtktreeview.c: Draw the arrows correctly.

	* gtk/gtktreemodel.c: Added user docs.

	* gtk/gtk.h: remove gtktreedatalist.h.

	* gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
	parent when generating my type.

	* gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,

2000-10-16  Jonathan Blandford  <>

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
	GtkTreeModel from object to interface.

2000-10-16  Havoc Pennington  <>

	* gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 

2000-10-16  Jonathan Blandford  <>

	* gtk/gtktreeselection.c: Add API documentation to all public

	* gtk/gtktreeviewcolumn.c: Added API documentation to all public

2000-10-15  Jonathan Blandford  <>

	* gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
	proposed by Guy Harris <>.  Also, added API
	docs to all public functions.

	* gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
	gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
	gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
	gtk/gtktreemodel.h, gtk/gtktreeselection.c,
	gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node

2000-10-14  Robert Brady  <>

	* Added "fa" (Persian) to ALL_LINGUAS.

2000-10-12  Jonathan Blandford  <>

	* gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
	values other then G_TYPE_STRING.
	* gtk/gtktreeselection.c: Minor commenting updates.
	* gtk/gtktreeview.c: Format updates.

2000-10-09  Tor Lillqvist  <>

	* README.win32: Update.

	* gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
	lines that had been deleted by mistake (?).

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
	also the case fg==white and bg==black (but still not randomly
	coloured cursors). Thanks to Wolfgang Sourdeau.

	* gdk/win32/*.c: Silence gcc -Wall.

	* gtk/gtk.def: Add missing entry points.

	Fixes by Hans Breuer:

	* gdk/makefile.msc
	* gdk/win32/makefile.msc: Update.

	* gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
	some MSVC thing, presumably), cause breakpoint on failures. Add
	GDK_NOR case. Call g_log_set_always_fatal.

	* gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
	should be pased by reference.
	* gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
	* gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.

	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.

	* gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
	implementation object.

	* gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
	not just windows.
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
	Use the wrapper object.
2000-10-06  Havoc Pennington  <>

	* (SRC_SUBDIRS): contrib subdir

	* gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
	so it can be used in Xlib version

	* demos/testpixbuf.c (update_timeout): error checking from 1.0

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
	change from 1.0 tree that returns first frame of animation
	if the loaded file is an animation.

        * contrib: add new directory to hold stuff that comes with GTK+
	but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
	* add contrib/*

2000-10-05  Havoc Pennington  <>

        * demos/testpixbuf-save.c: add pixbuf save test

	* demos/ add testpixbuf-save.c

2000-10-05  Jonathan Blandford  <>

	* gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
	GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
	* gtk/gtktreeselection.[ch]: Replaced
	"node_selected"/"node_unselected" signal with "selection_changed"

2000-10-04  Jonathan Blandford  <>

	* gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
	tree widget.

2000-10-04  Jonathan Blandford  <>

	* gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle

Wed Oct  4 15:52:15 2000 Owen Taylor  <>

	* gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
	Move list pointer forwards before removing item from
	list. (Crash reported by Salmaso Raffaele)

	* gdk/gdkwindow.h: Remove spurious trailing ,

	* gdk/ (LDFLAGS): You can't do interlibrary
	dependencies on uninstalled libraries, sorry folks.

2000-10-04  Havoc Pennington  <>

	* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
	gtk/gtkiconfactory.c: Fix copyrights	

	* demos/testpixbuf.c: add inline pixbuf test
Mon Sep 25 15:05:17 2000  Owen Taylor  <>

	* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
	Add gdk_window_iconify.

	* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
	(gdk_window_set_geometry_hints): Add win_gravity
	to geometry structure.

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
	Implement _NET_WM_PING.

	* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
	Set _NET_WM_PID on the client leader.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
	Handle UTF-8 better.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
	UTF-8 better, set _NET_WM_NAME as well. Only set
	icon name if it hasn't previously been explicitely 

2000-10-03  Havoc Pennington  <>

	* gtk/testtextbuffer.c: clean up trailing whitespace,
	add extensive tests for tag toggle iteration.
	* gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 

	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
	optimize case where the tag root is on level 1
	(gtk_text_line_previous_could_contain_tag): attempt to implement
	(gtk_text_line_next_could_contain_tag): Abstract out node_compare

	* gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
	Implement this, though not very efficiently.

	* gtk/gtktextiterprivate.h: reformat

	* gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end

	* gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
	this to properly revalidate the iterators.

	* gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
	properly at the end of the line (and therefore on empty lines)

	* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
	maybe we should return a value...

2000-10-03  Tor Lillqvist  <>

	* config.h.win32: Guard definition of alloca(). glib.h now handles

	* gdk/gdk.def
	* gtk/gtk.def: Add new entry points.

	Changes just to make GTK+ build without errors on Win32. No hope
	of it working in its current state, though...:
	* gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
	some functions from the X11 backend, just to make GTK+ build.

	* gdk/
	* gtk/ Use correct gdk_pixbuf version
	number. Add new object files.

	* gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
	GetMessageTime to get timestamp (where on X11 uses

2000-10-02  Havoc Pennington  <>

	* gtk/gtktextview.c: text_window_* weren't static and should have
	Start work on child widgets; not yet complete, syncing to 
	office computer.

	* gtk/gtktextchild.h: change this to contain a public interface,
	starting work on child interfaces.
	* gtk/gtktextchildprivate.h: move private interfaces here

	* gtk/ update to reflect gtktextchildprivate.h

	* gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
	gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
	gtk/gtktextmark.c: copyright notices

	* gtk/gtktextmarkprivate.h: reformat, and put _ in front of
	internal functions	

	* gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
	internal function

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):

2000-09-30  Havoc Pennington  <>

	* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
	NULL start/end pointers

	* gtk/gtktextbuffer.c: Write some docs
	(gtk_text_buffer_get_selection_bounds): Allow start/end to be
	NULL, so you can just check whether there's a selection.	

	* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
	cleanup_line or segments_changed ourselves, it gets done 
	in unlink_segment

	* gtk/gtktextmark.h:
	* gtk/gtktextsegment.h: Clean up some indentation and naming mess

	* gtk/gtktextmark.c: delete some more old Tk cruft

	* gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
	mark before removing it, so we can emit MARK_DELETED with a valid
	(gtk_text_buffer_mark_set): hold ref across signal emission

	* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
	whining about attempts to delete special marks

	* gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
	underscore, since it's internal.

	* gtk/gtktextbuffer.h: Remove find_string prototype, this is 
	now implemented in terms of iterators in gtktextiter.h

	* gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
	New function, destructively sets contents of buffer. Also 
	a convenient way to clear the buffer by setting text to ""

	* gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
	multiline string literal

	* gtk/testtext.c (text_changed_callback): Redraw line numbers if
	text changes.

	* gtk/gtktextiter.c (forward_char): Return FALSE if new location 
	is not dereferenceable
	(gtk_text_iter_forward_lines): fix return value

2000-09-29  Havoc Pennington  <>

	* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation

        * gtk/gtktextview.c: Implement drag thresholding; change functions 
	that set border window size to have nicer name
	(gtk_text_view_mark_set_handler):  Fix this to have the 
	right signature.

	* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes

	* gtk/testtext.c: Update with API changes, put line numbers on 
	both sides.
	* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
	with this

	* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
	pixbuf; delete a big block of #if 0 Tk code

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
	insert_pixmap with insert_pixbuf

2000-09-29  Martin Baulig  <>

	* Renamed to to avoid
	confusion with the GdkPixbuf of the GNOME 1.x platform.

2000-09-29  Havoc Pennington  <>

	* gtk/gtktextview.c: Implement the side windows.

	* gtk/testtext.c: Implement simple line numbering in the 
	left side window; seems to make scrolling sloooow. Oops.
	Also, cursor blink is for some reason causing redraws
	of the line numbers. Should investigate...

2000-09-28  Havoc Pennington  <>

	* gtk/gtktextview.c: Set up infrastructure to deal with lots of 
	scrolling child windows, and draw focus rectangle properly.
	Coordinate transformation to deal with all these freaking windows
	and offsets
	(gtk_text_view_window_to_buffer_coords): transform the other way

	* gtk/testtext.c (create_buffer): Update to match Pango API change

	* gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
	anonymous tags
	(foreach_unref): don't emit remove signal from finalize, just
	set tag's parent to NULL

2000-09-26  Havoc Pennington  <>

        * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
	Fix some warnings	

2000-09-26  Havoc Pennington  <>

	* gtk/ (gtk_private_h_sources): Move more text widget
	headers	into the private header list

	* (pkgconfig_DATA): install pkg-config files

	* add pkg-config files

	*,, pkg-config files

	* gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
	outstanding icon caches on theme change.

	* gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
	important types:

	(GtkIconSource): Specification for creating a pixbuf 
	appropriate for a direction/state/size triplet from 
	a source pixbuf or filename

	(GtkIconSet): List of GtkIconSource objects that are used to
	create the "same" icon (e.g. an OK button icon), and cache for
	rendered icons

	(GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
	up the icon set for a given stock ID.  GTK maintains a stack of
	GtkIconFactory to search, and applications or libraries can add
	additional icon factories on top of the stack
        * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
	the set of GtkIconSource specified for a given stock ID into 
	a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
	RcStyle, under the specified stock ID.

	* gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
	render_icon used to derive a GdkPixbuf from a GtkIconSource.
	This allows people to theme how prelight, insensitive, etc. are

	(gtk_style_lookup_icon_set): Look up a stock ID in the list of
	icon factories for a style, and return the resulting 
	icon set if any.

	(gtk_style_render_icon): Render an icon using the render_icon 
	method in the GtkStyleClass.

	* gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
	Use the style for a given widget to look up a stock ID, get the
	icon set, and render an icon using the render_icon method 
	of the style

	* gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
	(contains information about a stock item), the built-in stock item
	IDs, and functions to add/lookup stock items.

	* gtk/stock-icons/*: Stock icons that come with GTK

	* gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
	a button based on a GtkStockItem
	(gtk_button_new_accel): Takes a uline string and accel group, and
	installs the accelerator.

	* gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
	image-display widget.

2000-09-25  Havoc Pennington  <>

	* gtk/gtktexttypes.c: Remove Latin1 conversion stuff

	* gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
	Fix a bug when removing node data, we didn't properly 
	re-splice the linked list after removing the data.

	* gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
	GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget

	* gtk/gtktextbuffer.c (selection_received): fix g_convert usage

	* gtk/gtktextlayout.c (set_para_values): Set tab array 
	for the layout from the GtkTextTag.

	* gtk/gtktexttypes.h: delete tab and search cruft, 
	remove g_convert() in favor of GLib version

	* gtk/gtktexttypes.c: remove tab implementation from here,
	move to Pango

	* gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
	tab stuff using new PangoTabArray from Pango

	* gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
	unused border_width stuff

Thu Sep 14 12:21:12 2000  Owen Taylor  <>

        * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
	glib) and now useless utf_to_latin1() latin1_to_utf()

	* gtk/gtktextview.[ch]: Change ::move_insert and
	::delete_text action signals to ::move and ::delete;
	create the signals with the right enumeration type,
	not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
	C-v bindings, change Home, End to move to beginning/end
	of line, Add C-Home C-End to move to beginning/end
	of buffer. Change ::cut_text to ::cut_clipboard, etc;
	combine ::scroll_text into ::move; use new GtkSelectionData
	functions to simplify DND text handling.
	* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
	deletion enumerations here, rename enumeration values to 
	be consistently plural.

	* gtk/gtktextbuffer.c: Use new clipboard interfaces
	for cut/copy/paste and primary selection.

	* gtk/gtktextbuffer.[ch]: Remove excess time and
	'interactive' arguments from cut/copy/paste;
	rename cut to cut_clipboard, etc; remove

	* gtk/gtktextlayout.[ch]: Add 
	gtk_text_layout_move_iter_to_line_end() to move	the iter to 
	line ends.

	* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
	Functions to set or get a UTF-8 string on the selection

	* gtk/gtkclipboard.[ch]: New, simplified selection handling

	* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
	created widgets - one of these is useless if we don't.

	* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
	a public function clear all targets registered for the

	* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
	Never call gtk_widget_realize() - that was just asking
	for bizarre side-effects.

	* gtk/gtkselection.c (gtk_selection_owner_set): Call
	gdk_selection_owner_set even if the widget is the
	same so that we reliably update the timestamp on
	the server.

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
	gdk_x11_get_server_time() function.
	* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
	Add some tricky filtering on serial numbers for
	selection clear events to fix up long-standard
	race condition FIXME's in gtkselection.c.

	* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
	routines to convert from utf8 to compound text or
	STRING and from a text property to UTF-8.

	* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
	a convenience function gdk_get_current_event_time().

	* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
	and free selection_data->data properly

Sat Sep  9 10:23:53 2000  Owen Taylor  <>

	* gtk/gtkthemes.c: Remove some unecessary includes.

2000-09-08  Jonathan Blandford  <>

	* gtk/gtktextdisplay.c
	* gtk/gtktextlayout.c
	* gtk/gtktexttag.c
	* gtk/gtktexttag.h
	* gtk/testtext.c: Change the overstrike property to strikethrough,
	to closer match pango.

Fri Sep  8 14:28:00 2000  Owen Taylor  <>

	* gtk/gtktextview.c: Fix up visibility so that focus,
	cursor_visible and blink interact properly.  Reenable cursor blink
	which had been roughly disabled. Make blink and focus
	properly per-view.

	* gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
	Add a flag for whether to display insertion cursor and
	a function to set the flag.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
	get_line_y() to get_line_yrange(), to be a bit more generally

Thu Sep 07 20:54:33 2000  George Lebl <>

	* gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
	  do stop_navigating_submenu, to clear last timeout properly.
	  Also in gtk_menu_motion_notify move ignore_enter above
	  the conditional to make it always happen as suggested by Owen

2000-09-07  Tor Lillqvist  <>

	* gdk/win32/ Use -Wall. Add gdkpango-win32.o

	* gdk/win32/gdkwin32.h: Add more definitions missing from the free
	w32api headers.

	* gdk/win32/gdkprivate-win32.h: Add a couple of missing

	* gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
	(gdk_win32_get_colormap): A line had been deleted by mistake.

	* gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
	(gdk_event_translate): Handle more virtual keycodes to be able to
	generate GDK events for Control-comma, Control-period, etc.

	* gtk/gtk.def: Add some missing entry points.

Thu Sep  7 11:47:02 2000  Owen Taylor  <>

	* gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
	Doc comment fixing. (Mostly non-matching parameter names.)

	* gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
	comments a little to avoid looking like a doc comment.

	* gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
	GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
	conversions be changed to GError?)

	* gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
	Move private #defines into .c file.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
	order of argument addition, remove duplicates.

	* gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
	parent class is FrameClass, not BinClass.

	* gtk/gtk.h: Add gtkinvisible, which was missing.
	(It's occasionalyl useful for client apps, if seldom.)

	* gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER

Wed Sep  6 09:53:15 2000  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
	coordinates when creating window, instead of GDK-space
	coordinates. (Avoid BadValue on too large windows.)

2000-09-05  Sebastian Wilhelmi  <>

	* (use_mmx_asm): Remove conftest* after use along the
	lines of AC_TRY_COMPILE.	
	* gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
	of g_dirname, which is deprecated.
	(gtk_rc_parse_any): Removed calls to
	g_scanner_{freeze,thaw}_symbol_table, which are deprecated.

	* gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
	Removed calls to g_hash_table_{freeze,thaw}, as they are
	deprecated now.

	* gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
	instead of g_basename.
2000-09-04 Elliot Lee <>
	* gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
	ANSI warning.

Sun Sep 03 00:47:08 2000  George Lebl <>

	* gtk/gtkwidget.h:  Add some documenting comments about 
	  just as owen said on irc.

	* gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
	  set HAS_DEFAULT.  Only set it if there isn't another window
	  holding it (a focus window which RECEIVES_DEFAULT) and only unset
	  it if the widget is not the focused window with RECEIVES_DEFAULT.
	  This fixes weird double default bugs in dialogs which has things
	  call gtk_window_set_default at times.

Fri Sep  1 22:39:07 2000  Owen Taylor  <>

	* gtk/gtkmenu.[ch] TODO.xml: Apply patch from
	Nils Barth and David Santiago to improve submenu
	navigation. The patch does this by creating a triangular
	region from the point where the pointer leaves the
	menu to the submenu.  While the pointer is in
	that region and a timeout has not expired, events 
	that would cause the active submenu to change are

Fri Sep  1 15:34:46 2000  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
	moving a toplevel window immediately after sizing it would
	result in it being sized back to the old size since 
	impl->width, impl->height aren't updated until we hear
	back from the server. There is still a (longstanding) bug
	here that gdk_window_get_size() will give the wrong size
	until we do hear back.

2000-08-31  Havoc Pennington  <>

	* gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
	gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
	gtk/gtktexttagprivate.h, gtk/gtktextview.c:
	Rename GtkTextStyleValues to GtkTextAttributes

2000-08-31  Havoc Pennington  <>

	* gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
	for rapid testing whether an iterator is the end iterator
	(gtk_text_btree_new): init end line cache
	(gtk_text_line_is_last): use fast cached line to 
	see if we're the last line.
	(get_last_line): use cached line here too, should 
	speed up some random unrelated code.
2000-08-30  Havoc Pennington  <>

	* gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer

	* gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
	delete_text signals. This allows the signals to be used for
	implementing undo.

	* gtk/gtktextbuffer.c: Change signal handler signatures; 
	provide "interactive" argument when emitting insert_text or
	delete_text signal.
2000-08-30  Havoc Pennington  <>

	* gtk/gtktextbuffer.c: Docs

Fri Aug 25 12:16:15 2000  Owen Taylor  <>

        * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
	from switch statements, since Tor removed the enumeration
	* gdk/x11/gdkimage-x11.c (gdk_image_get): 

2000-08-29 Elliot Lee <>
	* */*.h: Use G_GNUC_CONST.

2000-08-27  Havoc Pennington  <>

	* gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
	minor indentation fixes, inserted some FIXME about stuff I
	realized was broken while documenting it.
	(gtk_text_iter_get_pixmap): allow out params to be NULL, following
	GTK convention	

Tue Aug 22 12:33:24 2000  Owen Taylor  <>

	* gtk/testgtk.c (create_styles): Fix double free of
	font desc.

Mon Aug 21 22:39:18 2000  Owen Taylor  <>

        * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
	* gtk/testgtk.c (create_styles): Add a test for modifying
	the style through gtk_widget_modify_*.

	* gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
	a function to get the current modifier style.

	* gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
	of the passed in GtkRcStyle instead of ref'ing it.

	* gtk/gtkrc.[ch]: Add gtk_rc_style_copy().

2000-08-20  Tor Lillqvist  <>

	* gdk/gdkimage.h
	* gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
	shared memory image+pixmap GdkImage type, or
	gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
	I am dropping that.

	* gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
	actually call gtk_init_abi_check(), passing also
	sizeof(GtkWindow). Ditto for gtk_init_check(). 

	* gtk/gtk.def
	* gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
	New functions, used to check that the GTK+-using code has been
	compiled using the correct compiler and switches. In particular,
	with gcc one has to use the -fnative-struct switch as GTK+ is
	compiled with that.

Fri Aug 18 17:27:46 2000  Owen Taylor  <>

	* gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
	->prev fields when merging lists. (Found simultaneously
	by Pawel Salek and Jakub Jelinek)

2000-08-12  Tor Lillqvist  <>

	* gdk/gdk.def
	* gtk/gtk.def: Add missing entries.

	* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
	OUT_TT_ONLY_PRECIS, try to get a TrueType font.

	* gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
	function. Dummy implementation at this point.

	* gtk/ Fix typo. Add testtext and testtextbuffer
	rules. Undefine GTK_COMPILATION when compiling the test programs.
	* gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.

2000-08-11  Tor Lillqvist  <>

	* gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
	to convert back and forth from UTF-8 and the "system" (or "current
	locale") charset when necessary. Indentation/spacing cleanup.

2000-08-10  Havoc Pennington  <>

	* (snapshot): Change the format of the snapshot
	version to match glib

	* gdk/win32/ (EXTRA_DIST): remove gdkinputprivate.h
	from EXTRA_DIST since it doesn't seem to exist

2000-08-10  Tor Lillqvist  <>

	* gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
	version of the directory name (not the UTF-8 one) when building
	the path name to stat().

2000-08-03  Elliot Lee  <>

	* gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a

Thu Aug  3 09:17:06 2000  Owen Taylor  <>

	* gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
	Peter Osterlund to simplify the code while keeping the
	functionality the same.

Wed Aug  2 14:57:38 2000  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
	is_viewable() test further inside the function, since removing the 
	window from the redraw list without clearing ->update_area
	was also very broken.

2000-08-02  Tor Lillqvist  <>

	* Check for <unistd.h>.

2000-08-01  Martin Baulig  <>

	* gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
	to display the message that this is a development version of GTK+.

Mon Jul 31 18:37:36 2000  Owen Taylor  <>

	* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
	was depending on widget->allocation instead of the width of text_area,
	which was incorrect for subclasses like GtkSpinButton.

	* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
	with width == 1 tests that should be width == -1.

Mon Jul 31 16:45:48 2000  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
	(broken, Elliot, every single window blank on X) custom code with call
	to gdk_window_is_viewable() which a) prevents code duplicate and
	b) works. 

2000-07-31  Elliot Lee  <>

	* gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
	to get the GDK_PARENT_ROOT() macro to work.
	* gtk/gtkmarshal.list: Add NONE:STRING,POINTER
	* gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
	of, windows that aren't shown.
	* gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
	pointer grab stuff.

Mon Jul 31 13:53:16 BST 2000  Tony Gale <>

        * docs/gtkfaq.sgml docs/gtk-faq.sgml:

	  Did this already in change:
		Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <>
	  don't know how it got reverted.

2000-07-31  Stanislav Brabec  <>

	* gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
	gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.

	* gdk/ Link gdk against actually compiled gdk_pixbuf-1.3,
	not gdk_pixbuf.

2000-07-30  Pablo Saratxaga <>

	*,po/{sp,sr}.po: Added Serbian files

2000-07-30  Tor Lillqvist  <>

	* gdk/ Add to EXTRA_DIST.

	* gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
	Remove the g_pipe_readable_msg stuff. Not needed with new GLib
	GIOChannel implementation.

	* gdk/win32/gdkinput.c
	* gdk/win32/gdkpango-win32.c: Update license name here, too.

	* gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
	definition to match prototype.

	* gtk/ Add libiconv CFLAGS and LIBS.

2000-07-27  Elliot Lee  <>

	* gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
	function, to allow handling image formats that cannot be detected
	by looking at content alone.

Thu Jul 27 13:13:21 BST 2000  Tony Gale <>

	* docs/tutorial/*.gif *.jpg *.eps
	  Update these to the same look-n-feel.
	  Why does including images in DocBook suck so badly?

Thu Jul 27 05:06:29 2000  Tim Janik  <>

        * gtk/gtktable.c: applied patch from Phil Thompson
        <> that enables space settings for
        the last row/columns as well.

Wed Jul 26 12:59:31 2000  Tim Janik  <>

        * *.[hc]: applied patch from Andreas Persenius <> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.

2000-07-26  Robert Brady  <>

	* Cause GETTEXT_PACKAGE to be consistent in config.h
	  and po/Makefile, was installing and looking for them under gtk20
	  and gtk2 respectively.

2000-07-25  Havoc Pennington  <>

	* gtk/testtext.c: Comment out some stuff that depends on the rest
	of my patches.

2000-07-25  Havoc Pennington  <>

	* gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text

2000-07-25  Havoc Pennington  <>

	* gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
	widget changes.

	* gtk/gtktextview.h: To be consistent with usage of "line"
	throughout the API to mean "newline-terminated thingy", change

	(GtkTextView): Add flags for default editability, and whether to
	show the cursor. Add functions to get/set that. Add 

	(gtk_text_view_get_iter_location): new function

	* gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
	(g_convert): Add g_convert temporarily, will go in glib in a bit
	* gtk/gtktexttagtable.h: include gtktexttag.h, and define
	GtkTextTagTableForeach instead of brokenly using GHFunc.
	Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.

	* gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
	moved to public header.

	* gtk/gtktexttag.h: Rename the "elide" attribute of tags to
	"invisible", since "elide" was a bad name.
	(gtk_text_tag_get_priority): Added

	(GtkTextStyleValues): put this in public header, along with
	functions to use it.

	* gtk/gtktextmarkprivate.h: Include more headers, since we no
	longer include gtktextbtree.h.

	* gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,

	* gtk/gtktextlayout.h: Don't include the "really private" headers,
	only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
	to make this possible. Now we only need to install
	gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
	(However the isn't changed yet because of the
	logistics of merging gtk-hp-patches piecemeal)

	* gtk/gtktextiterprivate.h: include btree header, so it compiles;
	rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
	gtk_text_iter_get_line is now used in the public API for a
	different purpose.

	* gtk/gtktextiter.h: Clean up function names to be more
	consistent. Always call char offset "offset" and byte index
	"index". A "line" is always a line number. 

	(gtk_text_iter_is_last): new function, more efficient than 
	the existing way to check
	(gtk_text_iter_is_first): new function, also more efficient

	(gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these

	(gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
	gtk_text_iter_forward_char, etc.

	(gtk_text_iter_forward_to_tag_toggle): Renamed from
	forward_find_tag_toggle, since this isn't a linear search

	(GtkTextCharPredicate): rename from GtkTextViewCharPredicate

	(gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
	New functions, search for a buffer substring.

	* gtk/gtktextbuffer.h: Add fields to store whether a paste is
	interactive and default editable (since we need to store that info
	until we receive the selection data).

	Remove all the _at_char and at_line etc. versions of functions;
	only have iterator versions.

	Add _interactive() versions of functions, that consider the
	editability of text. (FIXME add interactive flag to the 
	insert/delete signals per Darin's suggestion)

	(gtk_text_buffer_get_tag_table): new function, demand-creates the
	tag table if necessary

	Remove declaration of gtk_text_buffer_get_iter_from_string

	(_gtk_text_buffer_get_btree): private/internal function, added.

	* gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
	(gtk_text_line_is_last): new function

2000-07-25  Havoc Pennington  <>

	* gtk/gtkprogressbar.h: Implement new sane, 5-function API for
	using GtkProgressBar. See Changes-2.0.txt for details.

	* gtk/gtkprogressbar.c: Add object arguments "fraction" and
	"pulse_step" which are the equivalent of
	gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
	Implement new API.
	* gtk/gtkprogress.h (struct _GtkProgress): Add a field
	(use_text_format) to mark whether text set on the progress bar is
	a format string. Deprecate entire GtkProgress interface.

	* gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
	(gtk_progress_build_string): make this a no-op if use_text_format

	* docs/Changes-2.0.txt: Describe progress bar changes.

2000-07-25  Tor Lillqvist  <>

	* Include the build directory.

	* Generate build/Makefile, build/win32/Makefile,
	gdk/, gdk/win32/, and gtk/makefile.mingw.

	* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
	* gdk/gdk.def
	* gtk/gtk.def: Updates.

	* gdk/gdkfont.h
	* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
	need them any longer.

	* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.

	* gdk/ Define GDK_COMPILATION. Link with
	PANGOWIN32_LIBS and gdk_pixbuf.

	* gdk/win32: Compiles, but no doubt doesn't work at all.

	* gdk/win32/ Define GDK_COMPILATION. 

	* gdk/win32/gdkinput.c: New file, temporarily.
	* gdk/win32/gdkinput-win32.h: New file

	* gdk/win32/gdkinputprivate.h: Remove.

	* gdk/win32/gdkpango-win32.c: New file.

	* gtk/ New file

	* gtk/makefile.cygwin: Removed
	* gtk/ Update accordingly.

	* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
	made externally visible.

	* gtk/gtkmain.c: Use it.
	* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
	is enough.

	* gtk/gtktypeutils.c: Mark glib_debug_objects for import.

2000-07-24 Elliot Lee <>
	* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
	individual backends already.
	* gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
	again. Yes, there really is a good reason for this, if you are using the gdkregion
	internals, and if you're not, why do you care?
	* gdk/gdkwindow.c: Fix inverted condition
	* gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
	* gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
	* gtk/gtkrange.c: Redraw trough when moving.
	* gtk/gtktypeutils.c: Fix warning by adding const cast.
	* modules/linux-fb/basic.c: Fix unknown glyph retrieval.

2000-07-23  Tor Lillqvist  <>

	* Check for mkstemp and sigsetjmp. Output
	gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.

	More work on GDK for Win32. Still in an intermediate state.

	* gdk/makefile.cygwin
	* gdk/win32/makefile.cygwin: Removed.
	* gdk/
	* gdk/win32/ New files.

	* gdk/
	* gdk/win32/ Generate and distribute them.

	* gdk/win32/gdkwindow-win32.h
	* gdk/win32/gdkdrawable-win32.h
	* gdk/win32/gdkpixmap-win32.h: New files.

	* gdk/win32/gdkcolor-win32.c
	* gdk/win32/gdkcursor-win32.c
	* gdk/win32/gdkdrawable-win32.c
	* gdk/win32/gdkgc-win32.c
	* gdk/win32/gdkimage-win32.c
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
	Rename fields and variables called xcursor, xid, etc (these names
	were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.

Sat Jul 22 17:41:26 2000  Owen Taylor  <>

	* gtk/gtkentry.[ch]: Fix some problems with vertical

	* gtk/gtkentry.c (gtk_entry_find_position): Fix 
	char/byte confusion.

Sat Jul 22 11:16:05 2000  Owen Taylor  <>

	* gtk/gtktextview.c (changed_handler): Fix bug where
	redraw wasn't being done properly when height of
	dirty region changed.

	* demos/ Remove various references to

Fri Jul 21 15:28:13 2000  Owen Taylor  <>

        * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
	PangoAttrShape to reserve space for pixmaps, add 
	GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
	in the display functions.
	* gtk/testgtk.c (create_layout): Set some more exotic
	scrolled window options

	* gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
	Add function to set the shadow type of a window, to allow
	putting a shadow around widgets such as GtkLayout or GnomeCanvas
	which don't draw their own frame.

Fri Jul 21 16:34:42 BST 2000  Tony Gale <>

	* docs/tutorial/ New file for
	  packaging DocBook format tutorial

Fri Jul 21 14:23:51 BST 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Minor updates

	* docs/tutorial/*.jpg *.eps: Screenshots for tutorial

2000-07-19  Tor Lillqvist  <>

	* gtk/gtksignal.c: Fix C++ comment.

	* gtk/gtkimmulticontext.c
	* gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
	don't return value from void functions.

	* gtk/gtk.def: Add gtk_rc_style_unref.

2000-07-19  Sebastian Wilhelmi  <>

	* gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
	gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
	gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
	gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
	gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
	gtk/gtktypeutils.h: Include files outside of the extern "C"
	block. Makes some C++ compiler happy. Reported by Denis Vakatov

Wed Jul 19 14:07:57 BST 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Yet more clean ups.
	  Completes first pass. Hurrah!

Tue Jul 18 17:17:55 BST 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: More clean ups.

Mon Jul 17 18:52:38 2000  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
	paint the background of the text area which was accidentally
	removed at some point.

	* gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
	 - Move	most of the functionality from the theme vtable
	   into GtkRcStyleClass and GtkStyleClass. The moved
	   vtable functions were changed a bit in the move to
	   work better in their new home.

	 - Get rid of the engine and engine_data fields from
	   GtkRcStyle and GtkStyle; instead the theme
	   engine derives theme-specific subclasses of GtkRcStyle
	   and GtkStyle

	 - Add extra dlsym() found entry point to themes,

	* gtk/gtkstyle.c: Copy xthickness, ythickness fields
	in gtk_style_real_copy.

 	* gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
	to register a type associated with an engine. (The engine
	won't be unloaded as there is an instance of the type.)

Mon Jul 17 18:19:06 BST 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Clean ups.

Mon Jul 17 13:59:29 BST 2000  Tony Gale <>

	* docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
	  of cleaning up to do.

2000-07-15  Tor Lillqvist  <>

	* gdk/testgdk.c: New file, quick hack to test backends for
	pixel-by-pixel correctness of the most simple graphic operations.

Fri Jul 14 20:30:25 2000  Owen Taylor  <>

        * Really release 1.3.1
	* gtk-2.0.m4: Fix up to correspond to new
	include structure.

Fri Jul 14 18:40:39 2000  Owen Taylor  <>

	* Released 1.3.1

Fri Jul 14 16:21:26 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c: use FALSE for size_only most
	of the time when calling gtk_text_layout_get_line_display()
	to avoid causing double reshapes when a redraw follows
	immediately after.

Tue Jul 11 11:13:40 2000  Owen Taylor  <>

	* gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
	appropriate region and gdk_window_process_updates() so trough
	updating doesn't lag behind the window being scrolled.

        * gdk/gdkgc.c: Make parent_class pointer static.
Sun Jul  9 21:31:23 2000  Owen Taylor  <>

        * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
	include <string.h>.
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
	cut-and-paste error in computing memory offset for 4 channels.

Fri Jul 14 14:05:02 2000  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
	gtk_rc_append_default_pixmap_path(), since it wasn't
	adding an interesting path and we don't have a meaningful
	default for this value.

Fri Jul 14 12:22:49 2000  Owen Taylor  <>

	* gtk-config.m4 gtk.m4: Move
	gtk-config to gtk-config-2.0 move gtk_.m4 to

	* gtk/ gdk-pixbuf/
	gdk/ demos/ Change 
	library names to, etc, so that we
	can distinguish gtk-1.2 and gtk-2.0 on the linkline.

	* gtk/ gdk-pixbuf/
	gdk/ gdk/x11/
	Move include files into /usr/include/gtk-2.0, 
	* acconfig.h gtk/gtkmain.c
	gtk/gtkintl.h: Change package for gettext from 
	gtk+ to gtk20. Put hack in to modify
	po/ after gettextize to make this

	* gtk+.spec: Some updates, not tested.

	* gdk-pixbuf/ Move loaders into

	* gtk/ gtk/gtkrc.c: Move RC file locations
	$(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
	to THEMENAME/gtk-2.0/. Move engine directory  to
2000-07-12  Tor Lillqvist  <>

	Win32 changes, still doesn't build though.

	* gdk/makefile.cygwin
	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: Updates.

	* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
	default values for fg and bg pixel as X11 does (0 and 1), not
	black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
	Use 0 for pen width by default (treated as 1 anyway later, but for
	apps that might check the value in the GdkGC).
	(gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
	interface to gdk_gc_predraw and _postdraw.

	* gdk/win32/gdkwin32.h
	* gdk/gdk.def: Add gdk_win32_hdc_{get,release}.

	* gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
	extraneous semicolon.

	* gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.

	* gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
	not the Win32 bitspixel value.

	* gdk/win32/gdkcc-win32.c:
	* gdk/win32/gdkcolor-win32.c 
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwin32.h: Changes to make compilable, with new
	GDK object structure.

Tue Jul 11 20:59:35 2000  Tim Janik  <>

	* docs/tutorial/ (name): 
	* docs/tutorial/gtk_tut_it.sgml (name): 
	* docs/tutorial/gtk_tut_fr.sgml (name): 
	* docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
	outdated email adress: s/

Tue Jul 11 13:10:57 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Cleanup indenting and various
	  small changes.

Tue Jul 11 08:04:58 2000  Tim Janik  <>

        * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
        a bug here, never been here and never fixed anything ;(
        (don't segfault if tree->root_tree is NULL, which happens prior
        to widget realization, but puke instead).

Tue Jul 11 06:38:42 2000  Tim Janik  <>

	* gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
	add the necessary tokens.

	* gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
	(gtk_rc_style_to_style): copy thicknesses.
	(gtk_rc_init_style): apply thicknesses.
	(gtk_rc_parse_style): parse xthickness and ythickness.

	* gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.

	* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
	* gdk/x11/gdkimage-x11.c (gdk_image_get): 
	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
	* gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
	* gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
	* gdk/gdkwindow.c (gdk_window_init): 
	* gtk/gtkstyle.c (gtk_style_new):
	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
	* gdk/gdkpixmap.c (gdk_pixmap_init): 
	* gtk/gtkrc.c (gtk_rc_style_new):
	use g_object_new() instead of g_type_create_instance() which
	is a private function for fundamental type implementations.

Thu Jul  6 16:12:14 2000  Owen Taylor  <>

	* Add check for db2html

Thu Jul  6 14:53:05 2000  Owen Taylor  <>

	* gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
	hack to set glib_debug_objects based on gtk_debug_flags.

Thu Jul  6 14:12:13 2000  Owen Taylor  <>

	* Update the Prerequisites section.

	* demos/ docs/
	docs/tutorial/ gdk/x11/
	gdk/linux-fb/ Dist fixes

Thu Jul  6 12:26:03 2000  Owen Taylor  <>

	* NEWS: 10,000 foot view of 1.3.1 changes.

Thu Jul  6 11:54:03 2000  Owen Taylor  <>

	* gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
	gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
	gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h

	Patch from George Lebl to add a GdkGrabStatus enumeration to use
	as a return value of gdk_*_grab(). Previously, we just
	returned the X11 values directly.

Thu Jul  6 11:27:44 2000  Owen Taylor  <>

	* gdk/x11/ Patch from George Lebl to 
	install all the headers in the right place.

Tue Jul  4 13:13:01 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Add remaining sections. Completes
	  initial conversion to DocBook.

2000-07-04  Tor Lillqvist  <>

	* README.win32: Improve a bit.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
	WM_SYSCHAR, and other changes to get handling of Alt+nnn or
	Alt+0nnn on the numpad (used to enter characters by numeric code
	from current DOS or ANSI codepage) working correctly, as in other
	Windows apps.

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
	same argument validity tests as in X11 version.
	(_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.

	* gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
	definitions in case missing from headers.

	* gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
	destroy the window-specific cursor.
	(RegisterGdkClass): Use the global gdk_ProgInstance instead of
	calling GetModuleHandle(NULL).
	(gdk_window_set_cursor): Reworked to always copy the passed cursor
	with CopyCursor before setting it as the window-specific
	cursor. It is OK for the caller to destroy the GdkCursor (and thus
	also its Windows cursor) after calling this function. Destroy any
	previous window-specific cursor.

Mon Jul  3 17:54:49 2000  Owen Taylor  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
	font charset is iso8859-1, not iso-8859-1.

Mon Jul  3 17:08:14 2000  Owen Taylor  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
	Use g_get_charset() instead of g_get_codeset().

	* gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
	Comment out some strdup'ing functions to keep timj
	happy until we finish fighting this out.

Mon Jul  3 14:24:16 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
	<= width or height.

	* gtk/gtktable.c (gtk_table_attach): Fix missed merge
	from 1.2 for parent/child states.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
	of typos.

	* gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
	event structures, replace with a generic axes field. Replace 
	deviceid/sourec with GdkDevice *device.

	* gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
	to extract particular axis use value from event. (Also
	can be used for normal X/Y.)

	* gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
	allow for arbitrary number of axes, namespace everything
	as gdk_device_*. Replace guint32 deviceid with GdkDevice *

	* gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
	Get rid of the gdk_input_vtable setup if favor of simply
	defining the functions in gdkinput-none/gxi/xfree.c in
	a similar fashion to the way that the port structure is 

	* gtk/gtkdnd.c: Fix fields of synthesized button press event
	for new event structures. 

	* gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
	new device interfaces.

Sun Jul  2 18:19:50 2000  Owen Taylor  <>

	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
	set the initial text.

	* gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
	gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
	gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
	gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().

	* gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
	pango_layout_set_font_description to simplify.

Sun Jul  2 17:43:41 2000  Owen Taylor  <>

	* gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
	pango_layout_set_font_description to simplify.

Sun Jul  2 17:06:40 2000  Owen Taylor  <>

        * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
	gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
	pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.

	* gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
	PANGO_PIXELS() macro.

Sun Jul  2 15:24:41 2000  Owen Taylor  <>

	* gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
	that returns a PangoContext owned by the widget and updated to
	match future changes in the widget. Also, make 
	gtk_widget_create_pango_layout() use this context. If we ever
	add a ::changed signal to PangoContext, this will make things
	much more convenient. 

	* gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
	in the appropriate places instead of destroying the layouts and
	creating new ones.

	* gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
	in a few strategic places.

Sun Jul  2 14:37:58 2000  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
	gtk_widget_size_request() on reparented child, if one. Otherwise,
	queue_resize() on the child never results in it getting size-requested
	at all.

	* gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
	in option menus, so that (with luck) people won't copy it into
	their apps in the future.

	* gtk/gtkoptionmenu.c: Connect ::size_request on the menu
	to gtk_option_menu_calc_size. This isn't perfect, but should fix
	a lot of problems with changing the size of the menu's menu
	items after adding it to the option menu.

	* gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().

	* gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
	the text direction for a widget changes.

	* gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
	::direction_changed to get rid of various hacks.

Sun Jul  2 13:19:12 2000  Owen Taylor  <>

	* docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate

Sun Jul  2 13:06:26 2000  Owen Taylor  <>

	* gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
	flag to the structure. Do not call XFreePixmap on pixmaps created
	by gdk_pixmap_foreign_new().

Sun Jul  2 12:45:50 2000  Owen Taylor  <>

	* gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
	value using GdkRGB functionality given GdkColormap and GdkColor.
	(name not final, waiting for inspiration.)
	* gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
	set the foreground/background of a GC using the GC's colormap
	and GdkRGB. (name not final, waiting for inspiration.)

	* gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
	gdk_rgb_get_cmap(), put #define in gdkcompat.h.

	* gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
	gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
	purely a function of the corresponding colormap. Make
	gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.

	* gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
	gdk_pixbuf_*create_from_xpm_* in terms of
	gdk_pixbuf_new_from_xpm_data(), move into platform independent

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
	advantage of the new draw_rgb_32_image_dithalign.

	* gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.

	* gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
	on each created GC.

	* gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.

	* gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
	which we initialize from the drawable when the GC is created,
	if the drawable has a colormap.

	* gdk/x11/gdkgc-x11.c: include string.h for memset.

	* gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.

	* gtk/gtklayout.[ch]: Remove unsed configure serial member.

Sat Jul  1 16:28:32 2000  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
	actually returning expose events, make sure to set
	the count field properly.

	* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
	accidentally reintroced bug which always cleared
	the graphics_exposures value. 

Wed Jun 28 18:03:09 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Change DocBook layout slightly

Wed Jun 28 17:49:05 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.

Wed Jun 28 13:31:55 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Start of Section 6.

Mon Jun 26 19:37:04 2000  Owen Taylor  <>

        * Put 1.3.1 in warning message, not 1.3.0.
        (Fixes problem with drawing childless frames. Pointed out
	by and a first patch from Anders)
	* gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
	compute a child_allocation, even if we don't have a child.

	* gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
	Always chain to the parent's impl, even if we don't have a child.

Mon Jun 26 18:53:31 2000  Owen Taylor  <>

	* gdk/gdkrgb.c: If possible, create only a single shm segment and
	use multiple parts of it instead of creating a bunch of separate
	segments, since the maximum number of segments per system is not
	large. (This might be worth backporting to GTK+-1.2.x if we make a
	new release )

	* gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
	structure in preparation for per-colormap GdkRGB.

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
	to False when we get EINVAL from shmget so that the caller of
	gdk_image_new can retry with a smaller segment size.

Mon Jun 26 13:01:16 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Add Sections 4 & 5.

Fri Jun 23 17:54:23 2000  Tim Janik  <>

	* make the current version number 1.3.1 (binary age 0,
	interface age 0).
	* gtkfeatures.h, dejavue, get rid of these *again*,
	gtkcompat.h is all we want.

	* gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
	GLib primitive types. fixed g_type_register_fundamental() argument

	* (lib_gtk): add -lgdk_pixbuf so third party code

	* gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
	object code cleanup, comment trigraph fixes, etc...

2000-06-23  Havoc Pennington  <>

	* gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
	instead of making up a bogus name for first_para_mark

	* gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
	0 as a context ID

Thu Jun 22 17:43:51 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgml: Change filename. Add Section 3.

2000-06-21  Havoc Pennington  <>

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
	we didn't check window->bg_pixmap != GDK_NO_BG.

	* gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of

Thu Jun 22 14:02:19 BST 2000  Tony Gale <>

	* docs/faq/gtk-faq.sgm: Move file to here.
	  TODO: Update 

Thu Jun 22 13:41:09 BST 2000  Tony Gale <>

	* docs/gtk-faq.sgm: Add Section 2

Thu Jun 22 08:43:45 BST 2000  Tony Gale <>

	* docs/gtk-faq.sgm: New file. Start of DocBook
	  version of the FAQ.

Wed Jun 21 23:04:17 2000  Owen Taylor  <>

	* (GDK_PIXBUF_MAJOR): Define version
	numbers for GDK_PIXBUF_*, as they get substituted
	into a header file. Need to consider versioning
	for gdk-pixbuf more carefully later.

2000-06-21  Raja R Harinath  <>

	Work with srcdir != builddir.	
	* demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
	<gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
	* demos/testpixbuf.c: Likewise.
	* demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
	* demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
	* demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
	* demos/ (INCLUDES): Remove unneeded directories.

Wed Jun 21 19:45:02 2000  Owen Taylor  <>

	* TODO.xml: Change 1.4 version numbers to 2.0.

Wed Jun 21 19:29:08 2000  Owen Taylor  <>

	* gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
	fixups to GTK+ standard.

Wed Jun 21 16:38:13 2000  Owen Taylor  <>

	* gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
	fixups for GObject.

	* gdk/ gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
	gdk-pixbuf with GDK dependencies moved into GDK.
	* gtk/ gtk/gdk-pixbuf-loader.[ch]: Temporarily
	move gdk-pixbuf-loader here until GObject has signals.

	* demos/: New directory of demos. Move demos from
	gdk-pixbuf here.

	* demos/pixbuf-init.c: Small bit of code to check for
	loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
	set GDK_PIXBUF_MODULEDIR appropriately.

	* gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
	define which no longer makes sense.

2000-06-21  Havoc Pennington  <>

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Use

	* gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
	new function to get the default language

	* gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 

	* gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
	Add a "language" field to tags.

	(gtk_text_tag_set_arg): Fix bug in setting
	"bg_full_height_set" tag.

2000-06-21  Havoc Pennington  <>

	* gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
	in the interfaces

	* gtk/gtktexttypes.c: Remove UTF functions, use glib 
	stuff instead when possible.

	* gtk/gtktexttypes.h: Delete some unused constants

	* gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
	testtextbuffer.c: use glib instead of custom unicode routines

Wed Jun 21 12:50:58 2000  Owen Taylor  <>

	* docs/es/: Removed mistakenly added generated sgml

	* docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
	Remove outdated info files.

	* docs/gtk_tut* docs/ docs/tutorial:
	Moved tutorial files into subdir

	* docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into

	* docs/man/gtk_button.pod: Remove. (contents will be
	integrated into gtk-reference button page.)

	* docs/ docs/tutorial/
	docs/faq/ Adjust for new organization

2000-06-21 Christopher Blizzard  <>

        * gdk/x11/ (install-data-local): use $(mkinstalldirs)
        not $(MKINSTALLDIRS)

Wed Jun 21 12:24:28 2000  Owen Taylor  <>

	* gtk/testgtk.c (create_text): Finish the job Elliot started
	of removing font setting test for text widget. (Since text widget
	and GdkFont are not deprecated, and cause portability problems.)

Wed Jun 21 11:41:43 2000  Owen Taylor  <>

	* gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
	gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
	Remove use of libunicode in favor of new GLib functions.

	* gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
	nano-x, framebuffer. The X11 include is just a hack until we get
	the necessary functions in gdkcolor.h, so there is no reason to
	add other includes of platforms.

	* gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
	window bigger than the screen change.

        * gtk/testgtk.c: Revert some random changes from Elliot
	that had no particular point and were causing testgtkrc
	not to function correctly.
	* gdk/gdkregion-generic.h: Revert change from Elliot. Just
	because GdkSegment and GdkRegionBox have the same fields,
	it doesn't mean that 'typedef GdkSegment GdkRegionBox'
	results in clearer code.

	* gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
	gdk_input_translate_coordinates): Fix missed GdkObjectification

2000-06-18  Elliot Lee  <>

	* gdk/, gdk/*/ Fix conditionality to work the "right" way.
	* gtk/gtk{plug,socket}.h: Missed commits from previous.

2000-06-20  Havoc Pennington  <>

	* modules/linux-fb/ Make this compile
	without framebuffer enabled

	* gdk/linux-fb/ Add conditional to not build
	framebuffer unless specified in configure

	* gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
	the size of the target instead of source if -1 was passed for

	* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
	width/height confusion.

2000-06-19  Havoc Pennington  <>

	* gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
	GDK_DRAWABLE_XID. In the future, we probably want to make it
	faster with G_DISABLE_CHECKS turned on.

2000-06-14  Havoc Pennington  <>

        * gdk/ add gdkpixmap.c

	* gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/

	* gdk/gdkcolor.c: make ref/unref compat wrappers for GObject

	* gdk/gdkcolor.h: make GdkColormap a GObject subclass

	* gdk/gdkcompat.h: remove GdkWindowType compat, since
	GdkWindowType is now non-deprecated; 
	change gdk_window_get_type() compat to be

	* gdk/gdkdnd.h: make GdkDragContext a GObject.

	* gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
	virtual GObject. Make all functions call into the vtable.
	Move gdk_image_put() guts in here. Remove GdkDrawableType
	and gdk_drawable_get_type(), these are now GdkWindow-specific.
	draw_image, get_depth, get_size, set_colormap, get_colormap,
	get_visual added to the vtable.
	* gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
	GObject. Virtualize everything. 
	(gdk_gc_new_with_values): remove check for destroyed window,
	because now GdkWindow::create_gc will check this.
	(gdk_gc_set_values): New function to set GC values, this 
	was already implemented but wasn't in the header

	* gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.

	* gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
	_gdk_window_draw_image(), remove _gdk_windowing_window_class,
	remove _gdk_window_class; add _gdk_window_impl_get_type() and
	_gdk_pixmap_impl_get_type(). Rename gdk_window_init to
	_gdk_windowing_window_init, rename gdk_image_init to
	* gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
	(gdk_draw_layout): Remove check for destroyed window, 
	because all the drawable methods already check it.
	* gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
	Add gdkpixmap.c which contains implementation of GdkDrawable
	virtual table (by chaining to a platform-specific implementation
	* gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
	GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
	GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,

	* gdk/gdktypes.h: #include <glib-object.h>

	* gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
	Move most functionality to platform-specific implementation
	object. GdkWindow itself now handles the backing store, then
	chains to the platform-specific implementation.
	(gdk_window_get_window_type): return GdkWindowType of the window.
	(gdk_window_peek_children): New routine, returns the children of 
	a GdkWindow
	(gdk_window_get_children): Was in X11-specific code and did 
	XQueryTree. Changed to simply return a copy of window->children; 
	so it can go in cross-platform code.
	* gdk/x11/ fix broken MKINSTALLDIRS path

	* gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
	GdkColormap; just changed to use the new private data instead
	of casting to GdkColormapPrivate.

	* gdk/x11/gdkcursor-x11.c: added a couple typechecks to 

	* gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
	(private data member in the GObject). 
	(xdnd_manager_source_filter): Function had broken 
	error handling, fix it (use gdk_error_trap_push).

	* gdk/x11/gdkdrawable-x11.c: This file now implements
	a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
	base class is purely for the convenience of the X port,
	and not part of the interface to cross-platform GDK.

	* gdk/x11/gdkevents-x11.c: Reflect various renamings.
	* gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
	specific to X, and returned by the create_gc virtual method
	of GdkDrawableImplX11. 
	(gdk_x11_gc_set_dashes): Change this to take an array of gint8
	rather than gchar, this was also changed in the GdkGC vtable.
	(gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
	mask is 0, return immediately, instead of checking every flag.
	This is faster, and keeps us from segfaulting if values is NULL
	and the mask contains some nonzero flags.

	* gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of

	* gdk/x11/gdkglobals-x11.c: change type of grab window, since 
	GdkWindowPrivate is gone.

	* gdk/x11/gdkim-x11.c: rename things that got renamed.

	* gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
	remove the image_put stuff that got transferred to GdkDrawable.
	* gdk/x11/gdkinput.c: renamings

	* gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>

	* gdk/x11/gdkpixmap-x11.c: GObject conversion

	* gdk/x11/gdkprivate-x11.h: indentation fixes

	* gdk/x11/gdkproperty-x11.c: renamings

	* gdk/x11/gdkselection-x11.c: renamings

	* gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
	implements the platform-specific "impl" object.
	Moved gdk_window_get_children to gdk/gdkwindow.c

	* gdk/x11/gdkx.h: Remove all the private structs and private datas
	that no longer exist. Add declaration of GdkGCX11 object here.
	Fix all the macros to still work. 

	* gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
	GdkDragContext from the boxed types since they are now GObjects.

	* gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
	moved xthickness/ythickness into the instance. GtkStyleClass
	functions are now in the standard vtable for GtkStyle, so you have
	to create a GObject subclass to write a theme engine.
	(gtk_style_copy): fixed a leaked PangoFontDescription
	(gtk_style_init): renamed gtk_style_realize, so gtk_style_init
	can be the standard GObject function.
	* Throughout GTK:

	* gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
	* gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
	accessing GDK internals.

	* gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
	accessing GDK internals.

2000-06-18  Elliot Lee  <>

	* gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.

	* gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
 	problem by calculating event position relative to the trough
 	rather than the slider.
	* gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.

	* gdk/gdkgc.h: Add GDK_NOR.

	*, Add modules top level dir
	* Only use pangox library if building x11 target.
	* gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.

Fri Jun 16 22:24:22 2000  Christopher Blizzard  <>

	* gtk/gtkcolorsel.c: Change private class member to be named
	private_data throughout the file.

	* gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
	private_data to avoid clashing with keyword.

Fri Jun 16 22:24:22 2000  Christopher Blizzard  <>

	* gdk/gdkdnd.h: Add comment to remove warning.

Sun Jun 18 15:35:35 2000  Pablo Saratxaga <>

	* gtk/gtkrc.cp1251,gtk/ the cp1251 is also used by
	Byelorussian language; changed the Makefile and file names 
	to reflect that.

Mon Jun 12 16:58:40 2000  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
	rather than gdk_window_hide; this makes things work
	correctly if the window is programmatically hidden while

Sun Jun 11 12:46:19 2000  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
	cut and paste typo where wrong pixmap was being
	unref'ed. (Pointed out by a friend of KUSANO Takayuki.)

Sun Jun 11 10:22:36 2000  Owen Taylor  <>

	* gtk/gtkselection.c (gtk_selection_bytes_per_item):
	Add helper function to compute format / bytes 
	relationship. Use in a couple places to fix up
	errors which assume 8 * format.

	* gtk/gtkselection.c (gtk_selection_request): Use 32
	rather than 8 * sizeof (GdkAtom), to work correctly
	on Alpha.

Thu Jun  8 21:54:51 2000 Christopher Blizzard  <>

	* gtk/ (DEPS): deps include, not
	(LDADDS): include and, not the non-x11

	* gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
	checking macros return NULL since the function has a return value.

Wed Jun  7 15:44:42 2000  Owen Taylor  <>

	* gtk/ (LDFLAGS): Add missing backslash that was keeping
	GTK+ from building at all.

	* gdk/ (gdk_c_sources): Fix up some indentation issues.

Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <>

	*,, gdk/, gdk/*/,
	gtk/ make it possible to configure gtk for different
	targets on the same platform. The library name is now 
	libgtk-$target-$ gtk-config accepts a --target x11|nanox|linux-fb
	flag. Only the x11 target compiles right now.
	* gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
	gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
	* gdk/nanox/gdk*generic*: delete generic region code.
	* gdk/linux-fb/gdk*generic*: delete generic region code.
	* README.nanox: update information.
Tue Jun  6 10:53:59 2000  Owen Taylor  <>

	* gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
	prepend not append. (Pointed out by Brett Hall.)

Tue Jun  6 01:59:57 2000  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.

Mon Jun  5 16:00:09 2000  Owen Taylor  <>

	* gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
	need this later, and this makes sure that the atexit for
	glib gets called after that for GDK, so atexits are
	properly ordered for object leak checking.

	* gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().

	* gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 

	* gtk/simple.c (main): Close window on destroy.

Mon Jun  5 11:50:02 2000  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
	to treat initial creation different from setting with 
	regards to the graphics-exposures parameter, so add a parameter
	indicating whether this is initial or not.

Mon Jun  5 13:29:31 2000  Owen Taylor  <>

	* gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
	to sort of work by adding an extra return_exposes arg
	to gdk_event_translate() - it might be better to simply
	deprecate the function altogether and force people to rewrite
	without it. gdk_window_scroll() handles most of it, and where
	gdk_window_scroll() doesn't work, simply redrawing more does.

	* gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up


	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
	bunch of pretty much useless /* Print debugging info */ comments 
	which had drifted away from the code they were commenting.

2000-06-02  Havoc Pennington  <>

        * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
	is in working order.
	* gtk/testtext.c: Change to reflect anonymous mark API

	* gtk/gtktextview.c: Convert from mark names to GtkTextMark*.

	* gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
	field, which was unused.

	* gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
	saves some typing.

	* gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*	

	* gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
	flag on the insertion point and selection bound

	Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
	make mark-manipulation functions take a GtkTextMark* instead of a
	mark name.
	* gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
	GtkTextMarkBody; will be used to detect attempts to delete
	the permanent marks (insert and selection bound)

	* gtk/ (noinst_PROGRAMS): add testtextbuffer	

Fri Jun  2 12:56:01 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
	flag to on.

	* gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
	function to set the DOUBLE_BUFFERED flag.

	* gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
	or not exposes done on the widget should be double-buffered.

	* gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
	to be what would be expected. (Fixes problem with a
	g_return_if_fail() validating a TextDirection enumeration)

Thu Jun  1 23:05:13 2000  Owen Taylor  <>

	* gtk/gtkwidget.c: Remove all references to 
	offscreen flag which was no longer used.

	* gtk/gtkprivate.h (enum): Remove unused flags and compress.

	* gtk/gtkframe.c (gtk_frame_set_label_widget): Check
	for non-null label_widget->parent.

	* gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
	which no longer was used.

	* gdk/gdkpango.c (gdk_pango_context_get_info): make static.

	* gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
	for null arguments.

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
	check for destroyed windows.

Thu Jun  1 13:48:45 2000  Owen Taylor  <>

	* gtk/gtkimmulticontext.c: Add a finalize method and unref
	the slave context there.

	* gtk/gtkinvisible.[ch]: Make reference counting behavior
	identical to GtkWindow.

Thu Jun  1 01:54:11 2000  Owen Taylor  <>

	* gdk/gdkpango.c: Copy the layout render function from
	pangox to here, so we can write them independent of rendering
	system, using GDK primitives.

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
	since we have a rendering-system independent implementation in
	terms of draw_glyphs().
	* gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
	function to render a single line.

	* gdk/x11/gdkpango.c: Move the guts of this file mostly
	into ../gdkpango.c, which simplifies things, since we
	don't have to deal with raw X gc's.

Fri May 19 04:28:16 2000  Owen Taylor  <>

	* gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
	get the logical attributes for a given GtkTextLine.

Tue May 30 16:05:39 2000  Owen Taylor  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
	g_locale_get_codeset() to g_get_codeset() change.

Tue May 30 15:03:19 2000  Owen Taylor  <>

	* gtk/testcalendar.c (calendar_font_selection_ok): Use font

	* gtk/gtkentry.c (gtk_entry_draw_text): Center text within
	the entry.

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
	redoing (vastly simplifying) for Pango. Still needs quite
	a bit of work. (Size selection is currently poor. List of 
	predefined sizes is not a good idea, since all of these
	sizes won't necessarily be distinct.)

Tue May 30 13:50:19 2000  Owen Taylor  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
	CODESET results for LANG=C.

Mon May 29 15:49:10 2000  Owen Taylor  <>

	* gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
	which takes a stringized pango font description;
	ignore the older 'font' and 'fontset' declarations.

	* gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
	field with a GdkFont derived via gdk_font_from_description(),
	for compatibility. (Should we just remove it entirely?
	Probably too much compatibility breakage, but people
	should be migrating to the new Pango stuff as quickly
	as possible.)

Mon May 29 15:47:41 2000  Owen Taylor  <>

	* gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.

Mon May 29 15:44:46 2000  Owen Taylor  <>

        * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
	redoing; there are some bugs in size allocation right
	now, the semi-existant distinction between header / day
	fonts was removed, but, with Pango, could actually
	be made functional in a nice way.
	* gtk/testcalender: Move calender from examples into this
	directory as a test program. (We really need to restrcture
	testgtk into a whole directory full of tests for every
	widget or functionality group, separated into multiple .c

Mon May 29 15:19:56 2000  Owen Taylor  <>

	* gtk/testgtk.c (file_exists): Fix stupid typo that
	was keeping RC file from being loaded.

	* gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
	RC file font code.

Mon May 29 14:31:27 2000  Owen Taylor  <>

	* gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
	Add function to load a GdkFont from a PangoFontDescription.

2000-05-29  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
	variable should be of type GdkEventPrivate.

Fri May 26 17:16:40 2000  Owen Taylor  <>

	* gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
	to have any widget for the label, use a GtkLabel widget
	to display the text. (Based partially on a patch from
	Anders Carlson.)

	(Quite a bit of code reorganization - strip 90% of the
	guts out of gtkaspectframe and add a single virtual
	func to GtkFrameClass - compute_child_allocation.)

Fri May 26 12:00:02 2000  Owen Taylor  <>

	* gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
	(Removed clist->row_center_offset field because caching
	it wasn't saving time or code, added private function

Wed May 24 15:59:37 2000  Owen Taylor  <>

	* gtk/gtkaccellabel.c: Pangoized.

	* gtk/[hv]ruler.c: Pangoized

Mon May 22 19:23:59 2000  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_init):
	Use gtk_clist_set_column_auto_resize() to remove need
	need for manual column width computations.

Mon May 22 18:50:26 2000  Owen Taylor  <>

        * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
	ensuring Pango correctness, and considerably simplifying the
	* gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.

	* gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
	getting of numbers of lines.

	* gtk/gtklabel.c (gtk_label_size_request): Set the requisition
	to the actual requested width of the lable, not to the wrap
	width we set.

	* gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.

	* gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
	  gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.

	* gtk/gtktextview.c: Fix structure inheritance.

	* gtk/gtkprogressbar.c: Pangoize.

Mon May 22 15:47:30 2000  Owen Taylor  <>

	* gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
	in a function.

	* gtk/gtktextlayout.c (find_display_line_above): Fixed
	bug with computing line tops.

	* gtk/gtktextview.c (changed_handler): Fix < , <= confusion.

Thu May 18 18:53:31 2000  Owen Taylor  <>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
	and y_offset coordinates to do what we need now. (The offset between
	buffer and layout coordinates has been reintroduced, but is a 
	bit different than before.)

	* gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
	handle the adjustments ourselves, and scroll as necessary using
	the new gdk_window_scroll().
	The advantage of this is that when we are incrementally revalidating,
	we are essentially rearranging things around the visible portion
	of the screen. With the old setup, the visible portion of the
	screen was moved around in the layout, so scrolling and redrawing
	to track that caused jumping of the display. Since we now
	control the scrolling ourselves, we can suppress this and
	only redraw when things actually change.

Thu May 18 18:47:25 2000  Owen Taylor  <>

	* gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
	the region not just redisplay it after-all, since we store the
	cursors in the LineDisplay. (Ugly interactions here between
	GtkLayout and GtkTextBTree here.)
	* gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.

Thu May 18 18:43:21 2000  Owen Taylor  <>

	* gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
	Added function to scroll contents of a window while keeping the
	window constant. Works by XCopyArea or guffaw-scrolling depending
	on the details of how the window is set up. (guffaw-scrolling
	still needs to be filled in.)

Wed May 17 22:36:53 2000  Owen Taylor  <>

	* gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
	move the debugging that was tied to a global variable
	to that.

	* gtk/gtkmarshal.list: Add NONE:INT,INT,INT

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
	validated flag, in line data instead of setting height/width to
	-1. This allows us to perform operations with partially invalid
	buffer (using the old size for invalid lines) and thus to do
	incremental vaidation. Keep height/width aggregates up to date
	when deleting text and rebalancing the tree.

	* gtk/gtktextbtree.[ch]: Add functions validate a line
	(gtk_text_btree_validate_line), and to validate up
	to a number of pixels (gtk_text_btree_validate).

	* gtk/gtktextlayout.[ch]: Add an ::invalidated signal
	that indicates that something is changed and a revalidation
	pass is needed. Change ::need_repaint to ::changed, and
	make it take old and new yranges instead of a rectangle.

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
	the line_data_destroy() function from 
	gtk_text_btree_add_view() to a virtual function in 

	* gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
	since we are handling partial repaints in a different fashion

	* gtk/gtktextbtree.[ch]: Only repaint the changed portion
	of the selection instead of queueing a repaint on the
	entire widget.

	* gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
	get_selection_bounds() down to btree, make the function
	in buffer a wrapper around the btree function.

	* gtk/gtktextlayout.[ch]: Add functions to check if the
	layout is valid and to recompute either a range of pixels
	aroudn a line or a certain total number of pixels.

	* gtk/gtktextlayout.[ch]: Cache a single line display;
	now that we only redraw the needed portions, the hit rate
	for this cache is quite high.
	* gtk/gtktextview.[ch]: Keep track of the first paragraph
	on the screen so that when re-laying-out the buffer, we can
	keep the same place. This requires connecting to ::value_changed
	on the adjustments

	* gtk/gtktextview.[ch]: Add idle functions to revalidate
	the buffer after we receive an ::invalidated signal.
Wed May 17 22:10:47 2000  Owen Taylor  <>

	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
	to max of allocation and layout size, not just to the
	layout size.

	* gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
	Invalidate window so it gets redrawn properly.

	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
	to mean the entire window.

	* gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
	into public header.

Mon May 15 14:51:31 2000  Owen Taylor  <>

	* gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
	to get the name of a mark.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
	to find the paragraph from a y position.

Thu May 11 12:57:20 2000  Owen Taylor  <>

	* gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
	nodes have width/height >= 0, not > 0.

Tue May  9 21:29:06 2000  Owen Taylor  <>

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
	Add a size_only flag, so when we only need the size, we don't create
	useless appearance attributes.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
	duplicate setting of font description.

	* gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 

Wed Apr 26 01:53:23 2000  Owen Taylor  <>

	* gtk/ (EXTRA_DIST): Add OLD_STAMP into 
	EXTRA_DIST. It does not work well when the file that
	everything depends on is not in the tarball.

Wed Apr 26 00:56:14 2000  Owen Taylor  <>

	* gtk/testgtk.c: Some hacks and fixes so that it basically
	works when not sitting in the GTK+ build tree.

2000-05-03  Havoc Pennington  <>

	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
	Properly determine the ordering of the tag root and the current
	line within the tree. Previous algorithm only worked if the tag
	root's immediate parent was the common root of both the current
	line and the tag root.

Wed Apr 26 00:43:00 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (set_para_values): Fix some bugs in

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
	the widget text directional dynamically.

	* gtk/gtktextview.[ch]: Added functions to get and set default
	wrap mode.

Tue Apr 25 23:47:38 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
	in cursor location computation.

Tue Apr 25 23:22:59 2000  Owen Taylor  <>

	* gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
	vadjusment values properly when layout gets smaller.

	* gtk/gtktextview.c (need_repaint_handler): Areas being
	passed in are far completely inaccurate, and sometimes
	too small, so, for now, just queue a redraw on the
	whole visible region.

2000-04-25  Havoc Pennington  <>

	* gtk/gtktextbtree.c (summary_destroy): new function to 
	destroy tag summary nodes
	(gtk_text_line_next_could_contain_tag): this function was 
	totally broken if the line passed in wasn't below the tag
	root. Fix it.
	(gtk_text_btree_first_could_contain_tag): In the tag == NULL 
	"wildcard" case, we have to do a linear scan. Blah.
	(gtk_text_btree_last_could_contain_tag): In tag == NULL case,
	we have to do the linear scan
	(tag_removed_cb): When a tag is removed from the tag table, 
	remove the GtkTextTagInfo node from the btree.
	(gtk_text_btree_spew): Implement the spew function, for 
	our debugging pleasure.

Tue Apr 25 19:40:18 2000  Owen Taylor  <>

	* gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
	a problem with referring to the wrong buffer.

	* gtk/gtkentry.c: Fix focus-in/focus-out confusion.

	* gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
	font description to gtk_style_new() - otherwise things
	don't work without a .gtkrc file.

	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
	tags table if we create it ourself, too.

	* gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
	it was conflicting with XKB modifiers.

	* gtk/gtktextview.[ch]: Add simple support for 

Mon Apr 24 19:34:18 2000  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
	with deletion from last commit.

Mon Apr 24 19:29:40 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
	in the context from the current locale.
	* gtk/gtkentry.c (gtk_entry_size_request): Use language from the
	context, not hardcoded value.

	* gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
	not logical.

Sun Apr 23 23:39:18 2000  Owen Taylor  <>

	* gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
	attributes - that doesn't handle partial-glyph selection
	properly. Instead use new pango_layout_line_get_x_ranges()
	functionality to draw the selection.

	* gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
	now properly handles out-of-range coordinates.

	* gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.

	* gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()

	* gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
	for paragraphs opposite to the base direction of the widget.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.

	* gtk/gtktextlayout.c: Don't split segments on marks, since that
	causes Arabic words to reshape as you cursor through.

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
	cursor position when moving vertically with the arrow keys and
	scrolling with page-up/page-down. (Arrow keys save only the X,
	scrolling saves both X and Y.)

	This means you can line-up / line-down or page-up / page-down
	without losing your place, and also that moving vertically
	with the cursor keys keeps the same X position, not the same
	character count:

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
	arrow keys move by display lines, not paragraphs.

Tue Apr 18 14:16:50 2000  Owen Taylor  <>

	* gtk/gtklayout.c: Make sure that the bin window is at least
	as big as the allocation. (Should we also make sure that the
	bin window is big enough to completely cover widget->window?)

	* gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
	function to get the onscreen rectangle.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
	for offsets in window coordinates.

Sun Apr 16 16:13:27 2000  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
	from the widget direction.

	* gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
	Add a "direction" attribute.

	* gtk/gtktextview.c: global s/tkxt/text_view/.

	* gtk/testtext.c: Added long block of text in Arabic, to test out
	the direction attributes. (Some problems with the shaping system
	for arabic become obvious - like the fact the cursor splits words
	into unjoined pieces.)

Fri Apr 14 12:54:34 2000  Owen Taylor  <>

	* gtk/gtktextdisplay.c (render_layout): Add overstrike handling.

	* gtk/gtktextlayout.c: Fix up alignment.

	* gtk/testtext.c: Add some tests for centering, wrapping.

Fri Apr 14 09:26:22 2000  Owen Taylor  <>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
	If we wrote GTK+-specific layout-render function this could just replace
	the draw_layout() operation in the vtable.

	* gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
	pango_layout_get_cursor_pos() and use that function.

	* gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
	is a non-static symbol.

	* gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
	with gtk_text_btree_find_line_by_y()

	* gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
	renderer that handles GtkTextAppearance attributes.

	* gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 

	  - Move the values in the style that don't affect geometry into a
	    GtkTextAppearance structure.
	  - Change underline to take a PangoUnderline and "font" a string
	    representation of a font description
	  - Add a "font_desc" attribute which takes a FontDescription structure.

	* gtk/gtktextlayout.[ch]:

	  - Get rid of the display-line list per each line. Instead, we
	    generate, on demand, a GtkTextLineDisplay structure which]
	    contains a PangoLayout * and other necesary information
	    (offsets, cursor locations) for displaying a paragraph.
	  - Get rid of the code to wrap lines, create display chunks,
	    etc. Instead, we just go through a paragraph and convert
	    it into the necessary inputs to a PangoLayout.
	  - Implement a new attribute type, GtkTextAttrAppearance. This
	    holds a GtkTextAppearance, and is used to pass colors, 
	    stipple, etc, through from the layout to the display without
	    having to use lots and lots of individual attributes.
	  - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
	    in terms of PangoLayout functions.
	* gtk/gtktextview.c: 
	  - Handle passing the necessary PangoContext to the layout
	  - Some fixups in painting to deal with the automatic backing store
	    and offsetting of GTK+-1.4
	  - Add a style_set handler so that the default style reacts
	    properly to theme changes.
	* gtk/gtktext?*.[ch]: Random code-style fixes.

	* gtk/testtext.c: Substitute in languages that Pango handles now for Thai

Mon Apr 10 10:33:45 2000  Owen Taylor  <>

	* gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
	in original form preparatory to Pango-ization and gdkimcontext-ization.

Thu Apr  6 19:25:39 2000  Owen Taylor  <>

	* gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
	so that we can derive from gtkimcontext in language bindings properly.

Thu Apr  6 16:02:52 2000  Owen Taylor  <>

	* gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
	Add a compose table including (almost) all the compose combinations
	from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
	data in the XIM implementation.

	* gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
	Moved functions to convert keyvalues from and to unicode here from
	the win32 port and made them public.

Wed Apr  5 16:37:29 2000  Owen Taylor  <>

	* gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.

Wed Apr  5 16:27:45 2000  Owen Taylor  <>

	* gtk/gtkimcontext.[ch]: Base class for new input context system

	* gtk/gtkimmulticontext.[ch]: Proxy input context that allows
	the real input context implementation to be loaded from modules
	and switched on the fly.

	* gtk/gtkcontextsimple.[ch]: Simple implementation of an input
	context that just does direct keysymbol => unicode translation.

	* gtk/gtkentry.[ch]: Start switching editing over to using
	GtkInputContext. (No handling of preedit yet.)

Wed Apr  5 15:48:41 2000  Owen Taylor  <>

	* gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
	many substitutions. (klass should not be subsituted.)

Wed Apr  5 00:18:14 2000  Owen Taylor  <>

	* Add checks for Pango

	* docs/ Add test for sgml2html
	and allow 'make dist' without building html, but print out
	warnings in that case. (For making snapshots)

	* gdk/ gdk/x11/ gtk/
	Add Pango libraries and C flags

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add function (gdk_draw_layout) to draw a pango layout.

	* gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
	for getting Pango contexts for GDK.

	* gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()

	* gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional

	* gtk/gtkentry.c: Hack in simple Hebrew input with direct
	keysym => unicode translations. More languages can be added
	here, but real input-method support is needed.

	* docs/Changes-1.4.txt: Added note about entry behavior.
	* gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
	to set the reading direction for a widget and the global direction.
	Add test which allows toggling the global direction. Two private
	flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)

	* gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
	  gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 

	* gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango

	* gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
	underlining now handled by Pango.

	* gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
	to RCStyle and Style. (Having both this and the old font name and GdkFont 
	is temporary.)

	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
	convenience functions for creating contexts and layouts for widgets.

	* gtk/testgtk.c: Enhance label tests with multilingual labels.

2000-05-29  Jonathan Blandford  <>

	* gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
	titles to be active, even if they aren't visible.
	(gtk_clist_column_titles_passive):  Ditto.

2000-05-21  Nils Barth  <>

	* gtkmenu.c:
	* gtkmenu.h:
	* gtktypeutils.h: Spelling/grammar fixes in comments.

Tue May 23 12:25:07 CEST 2000 lupus <>

	* gdk/nanox/*.h: add missing header files.

Fri May 19 11:52:59 2000  Tim Janik  <>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
	send_event to TRUE.
	(gtk_drawing_area_size): queue a resize.

Sun Mar 26 03:21:28 2000  Tim Janik  <>

        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
        the handlers, also invalidate them. bug nailed down by Karl Nelson

Fri May 19 06:49:23 2000  Tim Janik  <>

	* gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
	"(nil)" foundries, patch from Grigorios Magklis.

	* gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
	on non-available fonts, based on a patch by Grigorios Magklis

2000-05-18  Elliot Lee  <>

	* gdk/x11/gdkregion-generic.c: If a region does not have any
 	rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT

2000-05-17  Jonathan Blandford  <>

	* gtk/gtklayout.c (gtk_layout_map): Remove references to
	OFFSCREEN, as it is no longer necessary.

Wed May 17 10:52:12 2000  Owen Taylor  <>

	* gtk/gtkcolorsel.c: Patch from David Santiago
	<> to change things so that the 
	indicator of the active palette entry is done independently,
	not via the focus, since it should always be visible.

2000-05-17  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
	refcount leaks as in the X11 backend.

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging

	* gdk/win32/gdkwindow-win32.c: Similar changes as in X11
	backend. Add _gdk_windowing_window_destroy().

	* gtk/gtkcolorsel.c: Include correct backend-specific header.
	Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
	either, but these probably do exist on nanox?)
	* gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
	which isn't necessarily defined by <math.h>.

	* gtk/gtkobject.c (gtk_object_init): Don't go up the class
	ancestry past GtkObject.

	* gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
	from DLL on Win32.

	* gtk/gtk.def: Update corresponding to recent changes.

	* gtk/makefile.{cygwin,msc}: Updates.

Fri May 12 18:46:51 2000  Owen Taylor  <>

	* docs/Changes-1.4.txt: A bit of editing.

	* gdk/gdkwindow.c (_gdk_window_clear_update_area) 
	* gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
	to clear the update area for the window, and clear it
	when hiding a window.

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
	if window destroyed.

	* gdk/gdkwindow.c (gdk_window_end_paint): Likewise.

	* gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
	gdk_window_destroy() to the generic code, since there was a lot of 
	window-system-independent logic it in. Add a function:

	to the internal API to destroy a window without unreferencing it.
	Add a function:


	That does the windowing-system-dependent part of destroying 
	the window.

Fri May 12 11:07:41 2000  Owen Taylor  <>

	* gtk/testgtk.c: Fix various memory leaks of pixmaps.

Fri May 12 11:06:10 2000  Owen Taylor  <>

	* gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
	Make gtk_widget_shape_combine_mask() keep a reference count on
	the pixmap since it keeps it around.

Fri May 12 10:53:29 2000  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
	leak with event filters.

Thu May 11 14:29:44 2000  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
	signal handlers with the right data arguments. (Fixes
	some warnings when a widget was repeatedly set as a drag

	* gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
	window so we can avoid avoid setting the DND properties on the
	toplevel window repeatedly.

2000-05-13  Tor Lillqvist  <>

	* gdk/win32/gdkwin32.h: Define more message types missing from
	mingw headers.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
	call gdk_window_destroy_notify(). It was never called. This
	probably meant that the GdkWindow was never freed. Thanks Owen for
	noticing (!).

	* gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
	window as destroyed before calling DestroyWindow(). DestroyWindow()
	causes a call to the window procedure (gdk_WindowProc), which
	calls gdk_event_translate(), which calls
	gdk_window_destroy_notify(), which gets confused unless the window
	is set as destroyed.

	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
	this function to indicate it's win32 only. Put inside #ifdef

	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
	debugging function. (gdk_event_translate:) Add a default branch
	that uses the above function to print debug messages with all
	Windows messages symbolically.

	* gdk/win32/gdkprivate-win32.h: Declare it, and
	gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.

Fri May 12 20:07:32 2000  Tim Janik  <>

	* gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
	public header file.

Fri May 12 17:13:32 2000  Tim Janik  <>

	* docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.

	* gtk/gtktext.c: made the adjustments no-construct args, simply
	provide default adjustments.
	(gtk_text_destroy): release adjustments.

	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
	adjustment argument non-construct.

	* gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
	instead of in finalize.
	(gtk_progress_configure): ensure an adjustment is present.

Thu May 11 01:24:08 2000  Tim Janik  <>

	* gtk/gtkcolorsel.[hc]:
	* gtk/gtkcolorseldialog.[hc]:
	* gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
	their parent implementation, use bit fields for boolean values, don't
	create unused widgets, usage of glib types, braces go on their own
	lines, function argument alignment, #include directives etc. etc. etc..

	* gtk/ (gtk_public_h_sources): install gtkhsv.h.

Wed May 10 23:29:52 2000  Tim Janik  <>

	* gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.

	* gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
	of NULL.

	* gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
	to freed data.
	(gtk_combo_destroy): don't keep a pointer to a destroyed window.

	* gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
	to NULL when the toplevel is getting destroyed.
	(gtk_menu_set_tearoff_state): same here for the tearoff_window.
	(gtk_menu_init): store the information of whether we have to
	readd the initial child ref_count during destruction in a new
	GtkMenu field needs_destruction_ref_count.

	* gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
	here, those reading: learn from my mistake! ;)
	in order for set_?adjustment to support a default adjustemnt if
	invoked with an adjustment pointer of NULL, the code read (pseudo):
	if (v->adjustment) unref (v->adjustment);
	if (!adjustment) adjustment = adjustment_new ();
	if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
	now imagine the first unref to actually free the old adjustment and
	adjustment_new() creating a new adjustment from the very same memory
	portion. here, the latter comparision will unintendedly fail, and
	all hell breaks loose.
	(gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
	after unreferencing it.

	* gtk/gtkcontainer.[hc]: removed toplevel registration
	functions: gtk_container_register_toplevel(),
	gtk_container_unregister_toplevel() and
	gtk_container_get_toplevels() which had wrong semantics
	anyways: it didn't reference and copy the list.

	* gtk/gtkwindow.c: we take over the container toplevel registration
	bussiness now. windows are registered across multiple destructions,
	untill they are finalized. the initial implicit reference count
	users are holding on windows is removed with the first destruction
	(gtk_window_init): ref & sink and set has_user_ref_count, got
	rid of gtk_container_register_toplevel() call. add window to
	(gtk_window_destroy): unref the window if has_user_ref_count
	is still set, got rid of call to
	(gtk_window_finalize): remove window from toplevel list.
	(gtk_window_list_toplevels): new function to return a newly
	created list with referenced toplevels.
	(gtk_window_read_rcfiles): use gtk_window_list_toplevels().

	* gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
	adjustment a non-construct arg.
	* gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
	* gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.

	* gtk/gtkrange.c: added some realized checks.
	(gtk_range_destroy): get rid of the h/v adjustments in the
	destroy handler instead of finalize. remove timer.
	(gtk_range_get_adjustment): demand create adjustment.

	* gtk/gtkviewport.c: made h/v adjustment non-construct args.
	we simply create them on demand now and get rid of them in
	the destroy handler.
	(gtk_viewport_destroy): get rid of the h/v adjustments in the
	destroy handler instead of finalize.
	(gtk_viewport_size_allocate): demand create h/v adjustment
	if required.

	* gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
	gtk_widget_real_destroy () functionality.
	(gtk_widget_real_destroy): reinitialize with a new style, instead
	of setting widget->style to NULL.

Fri May  5 13:02:09 2000  Tim Janik  <>

	* gtk/gtkcalendar.c:
	* gtk/gtkbutton.c: ported _get_type() implementation over to
	GType, either to preserve memchunks allocation facilities,
	or because Gtk+ 1.0 GtkTypeInfo was still being used.

	* gtk/gtkobject.[hc]: derive from GObject. ported various functions
	over. prepare for ::destroy to be emitted multiple times.
	removed reference tracer magic. chain into GObjectClass.shutdown()
	to emit ::destroy signal.

	* gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being

	* gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()

	* gtk/gtksocket.c:
	* gtk/gtkplug.c:
	* gtk/gtklayout.c:
	* gtk/gtklabel.c:
	* gtk/gtkargcollector.c:
	* gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
	not being a fundamental anymore, and to work with the new
	type system (nuked fundamental type varargs clutter).

	* gtk/*.c: install finalize handlers in the GObjectClass
	part of the class structure.
	changed direct GTK_OBJECT()->klass accesses to
	changed direct object_class->type accesses to GTK_CLASS_TYPE().

	* gtktypeutils.[hc]: use the reserved fundamental ids provided by
	GType. made most of the GTK_*() type macros and Gtk* typedefs
	simple wrappers around macros and types provided by GType.
	most notably, a significant portion of the old API vanished:
	replacements, where available are described in ../docs/Changes-1.4.txt.
	implemented compatibility functions for the remaining API.

	* depend on glib 1.3.1, use gobject module.

Thu May 11 12:39:50 2000  Owen Taylor  <>

	* TODO.xml: Various updates to current status.

Wed May 10 20:25:04 2000  Owen Taylor  <>

	* gtk.m4: Print out version when test succeeds.

Wed May 10 16:38:17 2000  Owen Taylor  <>

	* gtk/ docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
	gtk/gtkhsv.[ch]: Color selection dialog rewrite.
	(Original triangle color selector from Simon Budig
	<>, Cleaned up and rewritten for GTK+ by
	from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
	Santiago <>)

	* gtk/gtkcolorseldialog.[ch]: Split color selection dialog
	out into a separate widget.

	* gtk/testgtk.c: Add some checkbuttons for toggling palette
	and opacity controls.

Wed May 10 16:08:09 2000  Owen Taylor  <>

	* (GTK_LIBS_EXTRA): Remove references to gobject that 
	snuck in prematurely.

2000-05-07  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
	had deleted a ! operator by mistake, which caused
	GDK_SELECTION_CLEAR events never to be generated, which caused
	only the first copy to the clipboard from an gtkeditable to
	actually cause a copy to the Windows clipboard.

2000-05-06  Tor Lillqvist  <>

	* gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
	compilation, too. Current mingw gcc distributions include the
	necessary headers. Also the necessary IIDs are now in mingw
	headers/libraries, and own definitions unnecessary.

	More hacking on OLE2 DND, still doesn't work though, and thus
	ifdeffed out.

	* gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
	here, too.

Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <>

	* gdk/nanox/*: nano-X port work in progress.
	* gdk/simple.c: simple test for Gdk.
	* README.nanox: notes about the port: read this first!
	* gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
	with nano-X.

Fri May  5 11:18:47 2000  Owen Taylor  <>

	* gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
	gdk_window_clear() into common code, implement in terms of
	gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
	not redirected to the backing rectangle.

Wed Apr 26 01:53:23 2000  Owen Taylor  <>

	* gtk/ (EXTRA_DIST): Add OLD_STAMP into 
	EXTRA_DIST. It does not work well when the file that
	everything depends on is not in the tarball.

Tue Apr 25 22:20:41 2000  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
	with recursion where process_updates() is called from
	an expose handler. (GtkTextView is highly broken in
	doing this, but it should work, so it is a nice test

Sun Apr 23 23:39:18 2000  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
	handle the case where updates are queued during processing of

Tue Apr 18 14:16:50 2000  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
	window is on gdk_display - use that instead of segfaulting.

Thu May  4 02:04:46 2000  Tim Janik  <>

        * (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
        broken and require an empty arg, give it to them.

Fri Apr 28 19:34:32 2000  Tim Janik  <>

	* gtk/gtklabel.h: indentation fixes.

2000-05-02  Tor Lillqvist  <>

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
	draw too narrow or too low arcs, they seem to fail, at least with
	some display drivers.

	* gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.

	Large changes to the Win32 backend, partially made necessary by
	the changes to the backend-independent internal
	structures. Attempts to implement similar backing store stuff as
	on X11. The current (CVS) version of the Win32 backend is *not* as
	stable as it was before the no-flicker branch was merged. A
	zipfile with that version is available from That should be use by "production"
	code until this CVS version is usable. (But note, the Win32
	backend has never been claimed to be "production quality".)

	* README.win32: Add the above comment about versions.

	* gdk/gdkwindow.c: Don't use backing store for now on Win32.

	* gdk/gdk.def: Update.

	* gdk/gdkfont.h: Declare temporary Win32-only functions. Will
	presumably be replaced by some more better mechanism as 1.4 gets
	closer to release shape.

	* gdk/makefile.{cygwin,msc}: Update.

	* gdk/win32/*.c: Correct inclusions of the backend-specific and
	internal headers. Change code according to changes in these. Use
	gdk_drawable_*, not gdk_window_* where necessary.

	* gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
	our old DND.

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
	to interpret single characters as UTF-8. Thanks to Hans Breuer.
	Use correct function name in warning messages.

	* gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
	GSourceFuncs gdk_event_prepare and gdk_event_check.
	(gdk_event_get_graphics_expose): Do implement, use
	PeekMessage. Thanks to Hans Breuer.
	(event_mask_string): Debugging function to print an GdkEventMask.
	(gdk_pointer_grab): Use it.

	* gdk/win32/gdkfont-win32.c: The Unicode subrange that the
	(old) book I used claimed was Hangul actually is CJK Unified
	Ideographs Extension A. Also, Hangul Syllables were missing.
	Improve logging.

	* gdk/win32/gdkgc-win32.c: Largish changes.

	* gdk/win32/gdkim-win32.c (gdk_set_locale): Use
	g_win32_getlocale() from GLib, and not setlocale() to get current
	locale name.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
	gdkwin32.h, similarily as in the X11 backend.

	* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
	assignment was used instead of equals in if test. Thanks to Hans

	* gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
	the X11 version.

	* gdk/win32/makefile.{cygwin,msc}
	* gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
	path to the Win32 headers that works also with the mingw compiler.

	* gtk/gtkstyle.c: Include <string.h>.

2000-04-26  Havoc Pennington  <>

	* gtk/gtklabel.c (gtk_label_get_text): Add this function,
	replacing the broken gtk_label_get ()

2000-04-15  Havoc Pennington  <>

	* gdk/gdkdnd.h: clean up enum format, remove extra comma, 
	this keeps scanner scripts from getting confused.

	* gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
	data, rather than void

2000-04-15  Tor Lillqvist  <>

	* gtk/gtkclist.c (gtk_clist_motion)
	* gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
	with is_hint FALSE, get x and y from the event. They used to be
	used uninitialised. The Win32 backend never sends motion events
	marked as hints. This for instance fixes the annoying file and
	font selector behaviour in the Win32 version.

2000-04-14  Tor Lillqvist  <>

	* gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
	gtk_private_n_signals variables, they are used by some software,

	* gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
	installation directory from the Registry, where the installer
	should have put it.

Fri Apr  7 17:19:27 2000  Owen Taylor  <>

	* gdk/x11/ Fix problem with installation directory for

	* gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
	<> so that when selecting menus with the
	mouse, the first item will not be selected, but when selecting
	with an accelerator, or navigating left-right on a menubar with
	the menus popped up, the first item will be selected.

2000-04-05  Dan Damian  <>

	* Added "ro" to ALL_LINGUAS.

Wed Apr  5 00:08:36 2000  Owen Taylor  <>

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy

	* (EXTRA_DIST): Fix typo.

	* gdk[/x11]/ (INCLUDES): Add $(top_builddir)/gdk
	to catch gdkconfig.h

	* gtk/gtkitemfactory.c: Added FIXME.

2000-03-30  Jonathan Blandford  <>

	* gtk/gtkpaned.c (gtk_paned_get_position): oops.
	s/return_if_fail/return_val_if_fail/g and add a return value.

Mon Mar 27 20:56:14 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
	merge slipup.

	* gdk/gdkinput.h: Fix missing line from merge.

Mon Mar 27 20:39:49 2000  Owen Taylor  <>

	* gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
	instead of gdkprivate.h.

Sun Mar 12 15:19:24 2000  Owen Taylor  <>

	* gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
	parent class to correctly be GtkDialogClass.

Thu Feb 24 23:58:21 2000  Owen Taylor  <>

	* gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
	toplevel windows and their immediate children by their parents,
	since the size of toplevel windows is out of our immediate
	control and we don't get any real benefit from trying to track
	this size for clipping.

	* gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
	for input_only windows.

	* gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
	to fix some hacks and make sure that we don't try to set the
	background of input only windows.

Thu Feb 24 18:11:46 2000  Owen Taylor  <>

	* gdk/gdkinternals.h gdk/gdkprivate.h gdk/ Add a header file for
	the _really_ internal stuff, and leave gdkprivate.h for the fake private
	stuff that we've traditionally exposed.

	* gdk/**.c: Use gdkinternals.h where appropriate.

	* gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
	not include gdkprivate-x11.h, move all stuff of conceivable public
	interest into gdkx.h; keep all really private stuff in
	uninstalled header gdkprivate-x11.h.

	* gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
	image->image_put on windows through a new function _gdk_window_draw_image()
	to allow us to do backing store for images. (Sort of ugly)

	* gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
	contexts locally so that we can offset them properly when drawing 
	onto backing pixmaps.

	* gdk/gdkinput.h: Reindented

	* gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
	pixmap or color for the window, so we can properly initialize
	our double-buffer pixmaps, and also so that we temporarily set
	a background of None while scrolling.

	* gdk/gdkregion.h: Revise region boolean operators to have an
	interface that is actually convenient - switch from creating new
	regions	on every op, to "methods" that modify existing regions
	(A = A OP B). 3 argument forms which allow dest == src, would also
	be possible, but the current interfaces seem to map nicely
	onto what needs to be done. (There is quite a lot of region
	code in GDK now.)

	* gdk/gdkregion.h: Add constructor from rectangle and a copy

	* gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
	gdkpoly-generic.h: Copy region code from Xlib, switch it over
	to 32 bit coordinates, modify it to be mostly GTK+ style
	and to have interfaces that match gdkregion.h.

	* gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
	double-buffered	drawing. gdk_window_begin_paint_{rect,region}()
	create a backing pixmap and redirect all drawing to
	that backing pixmap until a matching gdk_window_end_paint().

	* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
	Create a special drawable class for GtkWindow's that 
	redirects the drawing to the backing pixmap as necessary
	and then calls the real operations in _gdk_windowing_window_class.

	* gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
	Store invalid region for each window. Generate expose events for invalid
	region in an idle. This replaces both the expose compression
	and the redrawing queuing in GTK+. It is both more efficient and
	simpler than either one individually and far more so then the

	* gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
	Emulate 32 bit coordinates for windows with 16 bit coordinates
	by offsetting drawing, guffaw scrolling techniques and
	mapping/unmapping child windows as necessary.

	* gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
	where, when invalid regions are processed, the region is stored,
	and if expose events come in that are detectably duplicate
	the processed exposes (by comparison of event serial numbers),
	the stored region is subtracted out of those exposes.

	* gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
	regions newly exposed when scrolling or resizing windows.
	This, combined with forcing processesing of queued invalidated
	regions, gives nice flicker-free scrolling.

	* gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
	invalidated regions after every scroll.

	* gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
	emulation in GDK. Its, for all practical purposes just a
	GtkViewport/GtkFixed hybrid now.

	* gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
	(16-bit) structures as necessary instead of just casting.

	* gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
	in terms of the structures from gdkregion-generic.c, using appropriate
	offsets from GDK to X11 coordinates. Cache clip mask and
	origin and ts origin locally and only flush to the server
	when drawing, to avoid constantly setting and resetting these
	values when offsetting GC's for scrolling and backing pixmaps.

	* gdk/x11/gdkinput-x11.c: Fix leak of axes structures.

	* gtk/gtkcontainer.c: Call process_all_updates at end
	of resizing to reduce flicker. (Avoids having redraw
	lag arbitrarily behind resize under some circumstances)

	* gtk/gtkentry.c: Remove old backing store code, and simply take
	advantage of the new backing store capabilities of GDK.

	* gtk/gtkmain.c: Simple implementation of widget backing
	store - simply push a paint while handling each expose.
	(Should really be configurable widget for widget.)
	* gtk/gtkwidget.c: Remove all the old complicated redraw
	code, and simply invalidate the GDK windows from
	gdk_window_queue_clear(), etc. (Sigh, so much carefully
	debugged complexity ... gone to the winds.)

	Remove all the code for suppressing expose events while
	resizes are pending; this isn't needed since the invalid
	areas won't be processed until after the resizes are
	processed, since they are in a lower priority idle.

Thu Feb 24 15:37:41 2000  Owen Taylor  <>

	* gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
	and height of dest rectangle for non-intersecting rectangles.

Sun Feb 20 16:47:31 2000  Owen Taylor  <>

	* gtk/gtkwidget.h: Make GtkAllocation just a typedef
	for GdkRectangle.

Sun Feb 20 11:27:00 2000  Owen Taylor  <>

	* gdk/gdk{events,image,private,types,window}.h
	 gdk/x11/gdkinputprivate.h: Change all coordinates
	 from int16 to int. Also, Change width and height from
	 unsigned to signed to avoid all the stupid C 
	 signedness bugs.

Sat Feb 19 12:01:53 2000  Owen Taylor  <>

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
	Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
	Add some more detailed checking.

	* gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
	New function to retrieve the depth of a drawable.

	* gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
	field, reorder fields to save memory. 

Mon Dec 13 14:06:03 1999  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
	of the background image instead of scaling the background down to
	a line.

	* gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
	which temporarily set slider to wrong size.

	* gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to

Wed Nov 17 18:36:05 1999  Owen Taylor  <>

2000-03-23  Jonathan Blandford  <>

	* gtk/gtkpaned.c (gtk_paned_get_position): add getter.

2000-03-17  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c: Remove the #ifndef
	USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.

	* gdk/win32/gdkfont-win32.c
	* gdk/win32/gdkproperty-win32.c
	* gdk/win32/gdkselection-win32.c
	* gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
	now declared such.

Wed Mar 15 02:59:38 PST 2000 Manish Singh <>

	* gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic

Mon Mar 13 18:37:55 2000  Owen Taylor  <>

	* gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
	is called without trapping X errors.

Fri Feb 25 10:48:53 2000  Owen Taylor  <>

	* gtk/gtkrc.*: Fix problem where stray '"' characters found their
	way into the fontset lists.

Tue Feb 22 08:52:52 2000  Tim Janik  <>

	* gtk/gtkthemes.h: add extern "C" scope.

Mon Feb 21 20:16:42 2000  Lars Hamann  <>

	* gtk/gtkclist.c: applied  patch from Guy Harris <>
	to make appends to the list constant. (gtk-guy-990901-0.patch)

Mon Feb 14 22:50:10 2000  Tim Janik  <>

	* gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
	for the typename hash table.

Mon Feb 14 15:01:23 2000  Owen Taylor  <>

	* gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
	to make sure we never divide by zero. 
	(Problem pointed out by Michal Jaegermann <>)

Mon Feb 14 12:29:38 2000  Owen Taylor  <>

	* gtk/gtkfontsel.c: Apply patch from
	SHIRASAKI Yasuhiro <> to make font selector work a little
	better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)

	Also, some cleanups in atom handling.

Sun Feb 13 08:02:21 2000  Tim Janik  <>

	* gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
	not GtkWidget.

Fri Feb 11 02:19:32 2000  Tim Janik  <>

	* gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
	* gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
	* gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
	more guint wrap-around bugs before going to bed.

Thu Feb 10 16:16:35 2000  Tim Janik  <>

	* gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
	guint wrap arounds in allocation.width.

	* gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
	process untill we fit the allocation given.

Tue Feb  8 09:38:29 2000  Tim Janik  <>

	* gtk/gtkwidget.c:
	(gtk_widget_unrealize): guard widget access with ref/unref
	around signal emission.
	(gtk_widget_hide): same here, but also check its destroyed
	state before queueing a resize.

Tue Feb  8 03:05:55 2000  Tim Janik  <>

	* gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
	of gtk_default_insensitive_bg as insensitive base color.

	* gtk/gtktext.c (gtk_text_style_set): set the background color according
	to the widget's state.
	(gtk_text_realize): same here.
	(gtk_text_state_changed): same here.
	(draw_bg_rect): compare background color against base[] from

Mon Feb  7 04:01:55 2000  Tim Janik  <>

	* gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
	grabs are active, unless a delete event is send to the toplevel
	of the currently grab holding widget.

Sun Feb  6 10:13:15 2000  Owen Taylor  <>

	* gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
	debugging g_print's.

Fri Feb  4 15:54:54 2000  Owen Taylor  <>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
	ever make the scrolled-window requisition ever depend on the 
	visibility state of the scrollbars for the AUTOMATIC policy. 
	This breaks the	GTK+ requisition model, and causes loops.

Fri Feb  4 15:09:12 2000  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
	the default font to avoid problems with XFree86-4.0 where the
	default charset is iso10646-1, not iso8859-1.

Thu Feb  3 14:58:48 PST 2000 Manish Singh <>

	* acinclude.m4
	* config.guess
	* config.sub
	* ltconfig
	* upgrade to libtool 1.3.4 (bugfix only release)

	* gtk/ minor cosmetic consistency tweak

Thu Feb  3 14:46:01 2000  Owen Taylor  <>

	* gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
	the activate_time to 0, so that we handle a quick
	press/release press/release properly and don't suppress
	the second release. (Red Hat bug #7545)

Wed Feb  2 22:25:17 2000  Tim Janik  <>

	* gtk/gtkctree.c (row_delete):
	(gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
	bugs with destruction notifier, *always* update internal
	structures *before* calling user code.

Sun Jan 30 20:10:52 2000  Lars Hamann  <>

	A few more fixes for bug #5487, #2051, #2677.
	* gtk/gtkclist.c : 
	(gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
	(resync_selection): resync only if selection_mode is
	* gtk/gtkctree.c (resync_selection): same here

Sun Jan 30 12:29:20 2000  Owen Taylor  <>

	* gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
	gdk_drag_get_selection() and gtk_menu_detach().

	[ From Jeroen Ruigrok/Asmodai ]

Sat Jan 29 10:11:56 2000  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_size_request): 
	page->tab_label can be NULL.

2000-01-25  Havoc Pennington  <>
	* gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
	arg is boolean

	* gdk/gdkselection.c (gdk_selection_owner_set): return boolean

	* gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean

	* gdk/gdkproperty.c (gdk_property_get): return boolean

	* gdk/gdkinput.c (gdk_input_set_mode): return boolean

	* gdk/gdkim.c (gdk_im_ready): return boolean

	* gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg

	* gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
	glib clash, should fix glib)

	* gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
	(gdk_get_show_events): return gboolean, and canonicalize 

	* gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
	colormap is private
	(gdk_colors_alloc): gboolean whether to be contiguous
	(gdk_color_equal): return gboolean since we are a predicate
	and not a qsort() (this looks semi-wrong due to glib breakage,
	IMO glib should be fixed)
	* gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
	(gdk_get_use_xshm): return gboolean
	(gdk_pointer_is_grabbed): return gboolean

	* gdk/gdk.h: Change prototypes to match all the above changes,
	and re-run egtk-format-protos as required.

Fri Jan 28 12:28:17 2000  Owen Taylor  <>

	* gtk/gtkctree.c (resync_selection): 
	* gtk/gtkclist.c (resync_selection):

	Return immediately if clist->drag_pos < 0. This is a workaround
	for the corrupt state that the clist gets into when a
	GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().

	Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
	* gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
	variable from recent commit.

Thu Jan 27 15:22:09 2000  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.

Thu Jan 27 18:00:55 2000  Tim Janik  <>

	* gtk/ prefix all autogenerated source that get build in
	$(srcdir) with $(srcdir)/, so make doesn't assume they got generted
	in builddir. since we subsequently cd into srcdir for autogeneration,
	the paths have to be stripped from the target file names, thusly we
	use $(@F) as target names now.
	put a comment about's --disable-rebuilds option,
	which can be used for non-writable source directories, for development
	setups though, srcdir has to be *writable*.

hu Jan 27 00:15:03 2000  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
	  Finish the job of allowing event to be NULL.
	  (Fixes bug #4283, reported by Chris Blizzard)

	* gtk/gtkentry.c (entry_adjust_scroll): When calculating
	  things so that the cursor appears on screen, properly
	  take into account INNER_BORDER.
	  (Fixes bug #4754, reported by Antonio Campos)

Wed Jan 26 23:12:28 2000  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_map): Don't
	  show the tab_label unless it itself is visible.

	  gtk/gtknotebook.c (gtk_notebook_size_request):
	  Do a better job of making sure that the visibility
	  of the tab label corresponds to whether it should
	  be mapped or not.

Wed Jan 26 21:17:03 2000  Owen Taylor  <>

	* gtk/gtkoptionmenu.c (gtk_option_menu_position):
	  Use the requisition, not the allocation, since the
	  allocation has not necessarily been computed yet.
	  (Pointed out by Eugene Osintsev)

Wed Jan 26 19:44:25 2000  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_new): Dont' set
	  style/base[GTK_STATE_INSENSITIVE] both to
	  (Bug #2187, reported by Jonathan Blandford)

	* gtk/gtkaccelgroup.c (gtk_accelerator_valid):
	  Add Alt_L, Alt_R to list of invalid accelerators.
	  (Bug #3736, reported by Vlad Harchev)

Wed Jan 26 19:01:56 2000  Owen Taylor  <>

	* gtk/gtkfilesel.c (open_ref_dir): Fix several
	bugs which occured after an attempt to open 
	invalid home directory left cmpl_state->reference_dir == NULL.

	 - completion on files in home directory didn't work
	 - completion on an empty string caused  segfault

	 (Bug #3678, reported by Steve Ratcliffe)

	* gtk/gtkscale.c (gtk_scale_get_value_width): Fix
	cut and paste error that was causing scales to
	be incorrectly positioned.
	(Bug #2956,
	 patch from Steve Ratcliffe <>)

2000-01-27  Shirasaki Yasuhiro  <>

	* acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
	when checking for dcgettext, if we've found we needed
	it for dgettext.
Wed Jan 26 18:06:07 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
	queue_clear on NO_WINDOW widgets during a reparent,
	since at that point the window and widget heirarchies
	are out of sync. This stops crashing in some cases
	(the scrolled window reparent test, for instance), and
	_probably_ won't cause drawing errors.

	* gtk/testgtk.c: Make the reparenting-a-scrolled-window
	test do what it was supposed to do and be robust against
	window closings, etc. (Bug #2443)

Wed Jan 26 16:56:54 2000  Owen Taylor  <>

	* gtk/gtkentry.c: Fix return values on mouse events.
	(Bug #2686, Sky <>)

	* gtk/ Fix up handling of FOREIGN.
	(pointed out by George Lebl)

 	* gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
	(From Ettore Perazzoli  <>)
Mon Jan 24 10:44:48 2000  Owen Taylor  <>

	* gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
	clicks between rows or outside calender area correctly.
	(Patch from Damon Chaplin)

	* gtk/gtkclist.c (gtk_clist_set_row_data_full): 
	* gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
	  Call destroy function when overwriting existing data. 
	  (Pointed out by Damon Chaplin)

Tue Jan 25 09:55:41 2000  Owen Taylor  <>

	* gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
	  which was causing problems on various systems with Xmu.
	  This hasn't been needed for a very long time.
	  (Fixes #1185 3167)

Sun Jan 23 22:27:36 2000  Owen Taylor  <>

	* gdk/gdki18n.h: Include <ctype.h> when defining
	  gdk_isw* in terms of is* as a fallback.
	  (Bug #4106 - Dan Winship <danw@MIT.EDU>)

Sun Jan 23 22:12:36 2000  Owen Taylor  <>

	* gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
	  realize the widget when it is size allocated!
	  (old, old bug)

	* gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
	  Removed unused call to gdk_window_get_size() that
	  showed up when the above was fixed.

Sat Jan 22 15:44:30 2000  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_reparent): Correctly
	  fix up widget->window when the widget is a
	  NO_WINDOW container widget.

Sat Jan 22 12:40:48 2000  Owen Taylor  <>

	* gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
	  to account for the fact that feof() does _not_ 
	  return TRUE on errors, and thus avoid infinite loops
	  when trying to use gdk_pixmap_create_from_xpm()
	  on unreadable values.

Fri Jan 21 18:32:43 2000  Owen Taylor  <>

	* gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.

Fri Jan 21 16:24:08 2000  Owen Taylor  <>

	* gdk/gdkgc.c (gdk_gc_set_dashes): Change from
	  gdk_gc_set_dashes to take gint8 instead of gchar to
	  make it clearer that it is _not_ a NULL terminated string.

	* gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
	  gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
	  gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string

Thu Dec 30 04:51:05 1999  Tim Janik  <>

	* gtk/gtkvscale.c (gtk_vscale_pos_background): 
	* gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
	background size relative to our allocation, guard against small
	allocations, we may have not yet been size allocated.

Thu Dec  2 10:59:14 1999  Owen Taylor  <>

	* gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
	not just version == 3. We implement all 3 + most of 4 - 
	(we don't support matching text/plain;charset=iso-8859-1
	to a dest that expects text/plain). We'll still advertise
	3 to be safe, but any client implementing version >= 3
	must interoperate with 3.
Tue Mar 14 11:53:31 2000  Owen Taylor  <>

	* gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
	background and gc members, add a warning in gtk_tooltips_set_color()
	indicating that this function is deprecated.

Thu Mar  9 22:10:56 GMT 2000  Tony Gale <>

	* docs/gtkfaq.sgml: FAQ Update:
	  - Minor cleanups (Emmanuel, me)
	  - New questions:
		I need to add a new signal to a GTK+ widget. Any idea? (timj)
		How can I retrieve the text from a GtkMenuItem? (timj)
		How do I validate/limit/filter the input to a GtkEntry? (me)
		Memory does not seem to be released when I free the list
			nodes I've allocated (timj)

2000-03-07  Tor Lillqvist  <>

	* gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
	(gdk_win32_gdi_failed) New function for reporting errors from GDI,
	for which it is no use to call GetLastError onWin9x.
	(gdk_other_api_failed) New function, for general error
	reporting without calling GetLastError.
	(gdk_win32_api_failed) OTOH, this function always calls
	GetLastError. (gdk_win32_last_error_string) Remove this function,
	GLib has the equivalent now.

	* gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
	call them with function name, file name and line number in the

	* gdk/win32/*.c: Use the new macros for reporting errors from GDI
	* gtk/gtk.def: Add some missing entry points.

	* gtk/ Define gtk_paned_gutter_size and
	gtk_paned_set_gutter_size, which don't exist any longer, as void.
	Fixes by Hans Breuer:

	* gdk/makefile.msc: Update for debugging.

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
	implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
	PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
	in the dash_list.

	* gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
	the x11 backend.

	* gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.

	* gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.

2000-03-04  Tor Lillqvist  <>

	* gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
	just pixel value of background colour.

	* gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
	containing code snippet previously duplicated in a couple of
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
	GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
	events for autorepeated Shift, Control and Alt keys. Use

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
	pointer is inside the window the cursor of which we are setting,
	call SetCursor immediately.

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: If we don't have the build number stamp
	file, use zero.

	* gtk/ Define gtk_paned_gutter_size and
	gtk_paned_set_gutter_size as empty.

	* gtk/gtk.def: Remove gtk_paned_set_gutter_size.
Tue Feb 29 13:10:00 GMT 2000  Tony Gale <>

	* gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
	  gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
	  docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
	  docs/gtk_tut.sgml docs/gtk.texi TODO:

	  Spelling/grammar fixes from Martin Buchholz <>

Sat Feb 26 11:46:25 GMT 2000  Tony Gale <>

        * gtk/gtkcalendar.c: Implement num_marked_dates,
          and don't emit mutiple day_selected signals on

2000-02-25  Jonathan Blandford  <>

	* docs/make-todo (lineno): let title and logo be configurable so
	that GNOME can use this script too.

	* TODO.xml: added logourl and a title

Fri Feb 25 11:12:00 2000  Owen Taylor  <>

	* TODO.xml: Added some UI items, and an explanatory
	comment at the top of the file.

Thu Feb 24 09:07:28 2000  Tim Janik  <>

	* TODO.xml: some updates, added abunch of new entries.
	a note for those fiddeling with this file, when done
	with it, invoke:
	$ ./docs/make-todo TODO.xml >/dev/null
	and correct output errors before comitting changes.

Wed Feb 23 22:59:50 2000  Owen Taylor  <>

	* TODO.xml: Added XML-structured TODO file.
	* docs/make-todo: python script to turn TODO.xml into
	  pretty XML output. 

2000-02-23  Jonathan Blandford  <>

	* gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
	the function to let it draw the seven dots, instead of the old,
	much maligned, method.
	(draw_dot): New function to draw a dot.

	* gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
	to draw the handle inside the border width as opposed to outside.
	Use paint function instead of gdk_draw_point.

	* gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
	to draw the handle inside the border width as opposed to outside.
	Use paint function instead of gdk_draw_point.

	* gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
	Change indenting to be more GTK like.

Wed Feb 23 10:54:14 GMT 2000  Tony Gale <>

        * docs/gtk_tut.sgml: New section on GtkCalendar
        * examples/calendar: Update example code

Tue Feb 22 13:54:12 GMT 2000  Tony Gale <>

	* docs/gtkfaq.sgml: FAQ Update

2000-02-19  Anders Carlsson  <>

	* gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
	to prevent the scroll event to be propagated upwards.

Fri Feb 18 14:37:29 2000  Owen Taylor  <>

	* gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
	OwnerGrabButtonMask from button entries for

	* gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
	to the event mask (which will result in button/press release
	being added to the event mask on Unix) so scrolling works
	for layouts in scroll windows.

	* gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.

	Patch from Anders Carlsson  <> to add
	a scroll event.

 	* gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
 	scrolling to the "Test Scrolling" part of testgtk.
 	* gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
 	* gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
 	it against GDK_SCROLL.
 	* gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
 	way of mouse wheel scrolling.
 	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
 	* gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
 	* gtk/gtkmain.c: Removed previous mouse wheel hack.
 	* gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
 	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
 	GdkEventScroll handler.
 	* gdk/gdkevents.h: Added GdkEventScroll structure.
Thu Feb 17 17:10:12 2000  Owen Taylor  <>

	* gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
	and Anders Carlsson to change the Paned widgets so that they
	can be dragged from anywhere along the length. Also change
	the way that this is drawn to make this apparent.

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
	from George Lebl to check that option_menu->menu is present
	before getting history.

2000-02-14  Tor Lillqvist  <>

	* gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
	before the assertion for non-NULL segment list.

	* gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
	Seems that pattern brushes *must* be 8x8 pixels! At least on my
	machine, but it might be display driver dependent. Sigh, so make
	sure the stipple is that size. Does Windows suck or what?

	* gdk/win32/gdkdrawable-win32.c: Improve error handling in a few

2000-02-13  Havoc Pennington  <>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
	refcount to 1
	(gdk_cursor_new): init refcount to 1

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1

2000-02-13  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
	so that we don't have to do unnecessary settings to the HDC.

	* gdk/win32/gdkdrawable-win32.c
	* gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of

	* gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
	the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
	GDI paths, call WidenPath to get the outline of the stroken path,
	and then fill the outline (with the brush that was built from the

	* gdk/win32/gdkgc-win32.c: Factor out common code from
	_gdk_win32_gc_new and gdk_win32_gc_set_values into
	gdk_win32_gc_values_to_win32values. Use correct colour for
	SetBkColor() (Until now the code actually used a random colour in
	the call to SetBkColor()... but that didn't show up as not many
	GDI APIs use the background colour. Pattern (opaque stippled)
	brushes do.)

	* gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
	gdk_win32_api_failed): New functions for error logging.

	* gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
	WIN32_API_FAILED to call them, passing function or file name and
	line number.

	* gdk/win32/*.c: Use the WIN32_API_FAILED macro.

	* gdk/win32/gdkprivate-win32.h: Store just the pixel values from
	GdkColor for foreground and background in GdkGCWin32Data.

	* gdk/makefile.cygwin: Link in the resource object separately.

	* gdk/win32/rc/gdk.rc
	* gtk/gtk.rc (New file)
	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: Update build number in DLLs automatically,
	as in GLib.

Sun Feb 13 08:54:45 2000  Tim Janik  <>

	* gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
	* gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
	* gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
	parameters given and cursor->ref_count. coding style fixups.

	* gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
	not GtkWidget.
	* gtk/*.h: applied patch from Mathieu Lacage <> to
	fix up widget macros and add _GET_CLASS() variant.
	* gtk/*.c: some GtkType fixups.

2000-02-09  Tor Lillqvist  <>

	* gdk/win32/gdkproperty-win32.c
	* gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
	were reversed.

2000-02-04  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
	g_filename_to_utf8 to convert the font names Windows gives us from
	whatever is the default codepage to UTF-8.
	(gdk_font_load_internal) Use g_filename_from_utf8 for conversion
	in the other direction.

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
	error in debugging output.

2000-02-02  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
	and height parameters to gdk_window_clear_area(). Not minus one.

Wed Feb  2 11:58:05 2000  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
	checks if the widget passed to gtk_drag_get_data() was not the
	dest widget.

2000-02-01  Tor Lillqvist  <>

	* gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
	g_filename_from_utf8 functions (which were added a moment ago to
	GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
	size buffers.

	gtk_file_selection_get_filename returns the filename in the C
	runtime encoding. It calls g_filename_from_utf8, but copies the
	returned string to a static buffer, which is returned. I think
	this is better than returning the result from g_filename_from_utf8
	directly, which would mean all apps that use it would have to free
	the return value. Or should this function care about this issue at
	all? Maybe a new function with clearly defined semantics.

	* gtk/gtkfilesel.h: Add comment about
	gtk_file_selection_get_filename returning the filename in the C
	runtime's encoding.

	* README.win32
	* gdk/gdk.def
	* gdk/makefile.{cygwin,msc}
	* gtk/gtk.def: Updates.

	* gdk/gdkcursor-win32.c: Initialise refcount.

2000-01-31  Yuan-Chung Cheng <>

        * Added "zh_CN.GB2312" to ALL_LINGUAS.

2000-01-30  Havoc Pennington  <>

	* gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of

	* gdk/gdkimage.c (gdk_image_ref): image wasn't being returned

	* gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
	implemented in platform-specific code

	* gdk/ (gdk_c_sources): add gdkcursor.c

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
	underscore in front

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
	put an underscore in front

	* gdk/gdkcursor.c: new file, implements

	* gdk/gdkcursor.h: Refcount GdkCursor

	* gdk/gdkcompat.h (gdk_cursor_destroy): compat

2000-01-29  Tor Lillqvist  <>

	* gdk/gdkwindow.h
	* gdk/gdkpixmap.h: Remove prototypes for renamed functions.

Tue Jan 25 11:43:21 2000  Owen Taylor  <>

	* gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
	structures to properly inherit from GtkWidget not GtkBin.

Sun Jan 23 20:28:24 2000  Owen Taylor  <>

	* Added lib/gtk+/include/* to %files
	(bug #5178 - Peter Wainright)
	* gtk/ (gtk_public_h_sources): Add gtkcompat.h
	so that it will be installed.
	(bug #4889 - "david d `zoo' zuhn" <>)

Fri Jan 21 16:29:28 2000  Owen Taylor  <>

	* gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
	for the GtkStyleClass vtable const.

	* gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
	take a const string argument like GtkTranslateFunc. This will
	require changes in use code.

2000-01-19  Tor Lillqvist  <>

	* gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
	semantics (to mimic the X11 backend, which just calls XClearArea)
	is to check for zero width (and height), and in that case use the
	window's width minus x (height minus y). This fixes for instance
	some redraw problems with gtkclist, which were easily noticeable
	in the gtk file selection widget.

	(gdk_window_new): Don't set WS_EX_TOPMOST for dialog

2000-01-13  Tor Lillqvist  <>

	* gdk/
	* gdk/x11/
	* gdk/win32/ Small fixes, thanks to Peter Wainwright
	(bug #5177).
	* gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
	out later.

2000-01-09  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
	WM_MOVE for iconified or invisible windows. This fixes various
	problems when minimising windows. Thanks to Bernd Herd.

2000-01-05  Tor Lillqvist  <>

	* gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
	backend's draw_lines method, not draw_points.

2000-01-02  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
	before Owen's reorganisation: Don't have queued_events and
	queued_tail statics in this file, but use gdk_queued_events and
	gdk_queued_tail. This makes exposure event compression work again.

	(gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
	seem to be needed?

1999-12-30  Tor Lillqvist  <>

	* gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
	gdkkeysyms.h to get the GDK_* keysym constants that are needed by
	gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
	doesn't do anything.

	* gdk/gdk.def: Add gdk_xid_table_insert.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkinput-win32.c
	* gdk/win32/gdkwindow-win32.c: Remove the superfluous
	extension_events field in the GdkWindowWin32Data struct. Use only
	the extension_events field in GdkWindowPrivate. Previously one was
	set, and the other one tested, which broke tablet
	functionality. Thanks to Keishi Suenaga for pointing this out.

1999-12-18  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
	When handling a single character (text length == 1), don't handle
	it as if it was UTF-8.

1999-12-11  Tor Lillqvist  <>

	* Distribute README.win32.
	* gdk/
	* gdk/win32/ Distribute Win32 files.

	* gdk/makefile.msc: New file.

	* gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
	after label).

	* gdk/gdkprivate.h: Must mark also gdk_error_warnings and
	gdk_error_code as GDKVAR, as they are referred outside GDK.

	* gdk/win32/makefile.msc: Update.

	* gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
	tweaks. Check only if at least one of those Unicode subrange bits
	we care for is set. If no code page bits are set, guess (wildly)
	based on the charset.

	* gdk/win32/gdkinput-win32.c: Remove debugging leftover.

	* gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is

	* gtk/gtkdnd.c
	* gtk/gtklayout.c
	* gtk/gtkplug.c
	* gtk/gtkselection.c
	* gtk/gtksocket.c
	* gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
	appropriate. There must be a cleaner way to handle this?

	* gtk/gtkrc.c: Must include windows.h on Win32.

	* gtk/testgtk.c: No need to include gdkx.h.

	* gtk/makefile.cygwin: Correct invokation of

1999-12-07  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
	the rbearing is set to the same as the width, but this should be

1999-12-06  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
	function. If Windows doesn't tell us what Unicode subranges a font
	covers, guesstimate based on the codepages it covers. This will
	hopefully help those Windows versions or fonts that don't give us
	any useful Unicode subrange information with GetTextCharsetInfo.
	Call this function in gdk_font_load_internal.

	* gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
	minor changes.

Fri Dec  3 14:09:50 1999  Owen Taylor  <>

	* gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
	New function, long needed.

Wed Dec  1 22:35:43 1999  Owen Taylor  <>

	* gdk/gdkproperty.h x11/gdkproperty.c: Change 
	only_if_exists argument of gdk_atom_intern to

1999-11-25  Tor Lillqvist  <>

	* gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
	Fix two copy&paste errors.

	* gdk/makefile.cygwin: Also rebuild DLL when the static archive in
	win32 has changed.

	* gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
	GdkWin32SingleFont struct.

	* gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
	subranges of loaded fonts. Clear font signature first, in case
	GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
	ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.

	* gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
	Unoffset clip region.

1999-11-23  Tor Lillqvist  <>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): set
	event->any.window before calling filter functions.

Fri Nov 19 10:34:41 1999  Owen Taylor  <>

	* gtk/gtkgamma.h: Adapt cast macros to standard.

[ Merges from 1.2 ]

Tue Nov 16 10:15:54 1999  Owen Taylor  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
	If translation does not include a '/', use entire
	translation instead of crashing.

Sun Oct 31 22:21:11 1999  Tim Janik  <>

	* docs/gtk_tut.sgml:

Sat Oct 30 09:09:09 1999  Owen Taylor  <>

	* gtk/gtkselection.c (gtk_target_list_remove): Use
	g_list_remove_link, not g_list_remove.

	[ From Geert Bevin <> ]
Sun Oct 24 07:41:40 1999  Tim Janik  <>

	* gtk/gtkclist.c (real_undo_selection): commented out g_print()
	statement upon unselection (how the heck did that slip in?).

Sat Oct 23 03:03:08 1999  Tim Janik  <>

	* gtk/gtktext.c (gtk_text_freeze): 
	(gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
	in frozen state (and aparently crashes). patch provided by Anders
	Melchiorsen <>.

Sat Oct 23 02:53:20 1999  Tim Janik  <>

	* fix insensitive default/focus widget activation,
	reported by Matt Goodall <>.

	* gtk/gtkwindow.c (gtk_window_key_press_event): 
	return handled=FALSE for actiavtion of insensitive default
	widgets. return handled=TRUE for activation of insensitive
	focus widgets. don't activate in either case.

Tue Oct 19 09:55:08 1999  Owen Taylor  <>

	* (lib_gtk): Switch order of @x_cflags@
	and $glib_cflags to match library order and in the
	theory that an old version of GLib is more likely to
	be in the include directory for X then vice-versa.
	(Bug #2776)

Tue Oct 19 09:46:49 1999  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
	to determine the locale for fontsets, not LC_MESSAGES;
	the user may want English messages with a handling
	for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
	will still be broken) (Bug #2891)

Tue Oct 19 20:36:42 1999  Changwoo Ryu  <>

	* gtk/gtkrc.ko: Fixed the wrong number of "*"'s.

Tue Oct 19 12:15:13 1999  Changwoo Ryu  <>

	* gtk/gtkrc.ko: Changed the Korean default fontset.

Fri Oct  8 02:32:47 1999  Owen Taylor  <>

	* gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
	where when scrolling to the left or top double exposes
	were done, causing major slowdowns.

Thu Oct  7 18:31:55 1999  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
	names to lowercase and alphanumeric, before looking
	them up.

	* gtk/ Install codeset variant gtkrc files
	with normalized names.

Thu Oct  7 22:52:42 1999  Tim Janik  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
	popup menus when the menu is already visible, but its parent
	is still hidden, (happens after tornoff window got hidden).

Thu Oct  7 11:09:55 1999  Owen Taylor  <>

	* gtk/ (install-data-local): Fix
	a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
	deleted, causing error messages on install.

Thu Oct  7 11:03:06 1999  Owen Taylor  <>

	* gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
	the handle as well, since we now sometimes ignore
	exposes on the handle while resizing.

Wed Oct  6 18:02:31 1999  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
	extra g_free introduced in one of the last one or two 

Wed Oct  6 16:38:36 1999  Owen Taylor  <>

	* gtk/ gtk/gtkrc*: Make naming of gtkrc files
	consistent, put each style that a gtkrc.* file creates
	in a unique namespace, remove old files before installing.

Wed Oct  6 14:31:16 1999  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
	gtk_rc_init is called multiple times. (Yes, people who
	do that have bugs in their code.)

Tue Oct  5 11:36:57 PDT 1999 Manish Singh <>

	* gtk/ listing gtkrc in gtkconf_DATA seems to barf.
	Remove it since it's generated by the Makefile anyway

Tue Oct  5 02:43:41 1999  Owen Taylor  <>

	* gdk/gdkinputcommon.h (gdk_input_device_new): Free
	device->info.axes for core pointer.

Thu Sep 30 13:55:25 1999  Owen Taylor  <>

	* gtk/testgtk.c (destroy_idle_test): Rename idle to 
	idle_id, to deal with obsolete, broken C libraries.

Mon Sep 27 02:50:15 1999  Owen Taylor  <>

	* gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
	allocation->x/y twice!

	* gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
	consistent with gtk_vscale_pos_trough().

Sun Sep 26 19:44:34 1999  Owen Taylor  <>

	* gtk/gtkcontainer.c (gtk_container_queue_resize): We may
	be queueing a resize on a toplevel container between
	the time we show it and when we map it. So, we need
	to test GTK_WIDGET_VISIBLE() for toplevels, and only
	use GTK_WIDGET_DRAWABLE() for child windows.

Thu Sep 23 16:41:03 1999  Owen Taylor  <>

	* gtk/ (LDADDS): Add GDK_WLIBS to LDADDS 
	(fixes bug #2144)

Fri Sep 24 00:51:45 1999  Tim Janik  <>

	* gtk/gtkcontainer.c (gtk_container_queue_resize): check for
	container DRAWABLE (instead of VISIBLE), so we don't queue
	resizes on non-toplevel containers.

Sun Sep 19 18:13:31 1999  Owen Taylor  <>

	* gtk/gtkselection.[ch]: Make the data argument
	const guchar *.

Sat Sep 18 21:27:40 1999  Owen Taylor  <>

	* gtk/gtkwindow.c: Try to behave sensibly if 
	the focus widget is the window itself. (Should
	we allow this at all?)

Fri Sep 17 09:57:15 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_set_sensitive): 
	* gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
	* gtk/gtknotebook.c (gtk_notebook_set_show_border): 
	* gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
	in prototypes and implementations consistent (Tomas Ogren).

	* gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
	before the widget is unparented (reported by damon).

	* gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
	since we provide unsigned data anyways.

Thu Sep 16 21:32:01 1999  Owen Taylor  <>

	* gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
	the call to gtk_tooltips_layout_text() until later.

	* gtk/gtktooltips.c (gtk_tooltips_draw_tips):
	Call gtk_widget_ensure_style() before using the style.

Wed Sep 15 02:52:19 1999  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_event): Added workaround
	for old widgets that don't propagate draws to all
	children. (Namely gnome-dock for gnome-libs <= 1.0.16)

Tue Sep 14 19:22:19 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
	for a redraw but just the widget that requested the resize.

Tue Sep 14 18:29:47 1999  Tim Janik  <>

	* gtk/gtkcontainer.c: added new widget level method
	gtk_container_set_reallocate_redraws() and a GtkContainer flag
	reallocate_redraws : 1 to reflect the setting, exported this through
	the argument system as a boolean ::reallocate_redraws.

	* gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
	on the widget because the allocation changes, do so as well for
	widget->parent if the parent has reallocate_redraws set to TRUE.
	with that containers requesting reallocation redraws get automatically
	redrawn if their children changed allocation (this unfortunately
	affects also other children that didn't change allocation, but we
	cannot work around that before 1.3).

Tue Sep 14 18:23:01 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
	_and_ height are >0 (not _or_).

	* gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
	instead of gtk_container_queue_resize(), which is a core gtk internal
	function (must have been on crack when i queued that).

	* gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
	we can check more reliably if we want to discard expose events.
	* gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
	* gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
	we simply trust these events. for deciding whether to discard exposes,
Mon Sep 13 15:01:21 1999  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
	queues of areas that are completely off screen.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
	logic for handleboxes.

	* gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
	check on width/height.

Mon Sep 13 02:22:47 1999  Tim Janik  <>

	* gtk/ backed out Raja's recent VPATH build "improvements",
	we are fine with using $@ the way we do (if we actually encounter
	brokeness with $@ in VPATH builds because of additional path prefixes,
	we need to use $(@F) actually).

Mon Sep 13 01:34:53 1999  Tim Janik  <>

	* gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
	short lived bugs, that would allow language bindings to do surgeries
	to our guts.

Fri Sep 10 15:22:50 1999  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
	where comparison was being done against an uninitialized
	value causing intermittant results depending on
	compiler flags. Also make it clearer that we aren't
	ever initializing the child as 0x0 (though this will
	be caught in gtk_widget_size_allocate())

Fri Sep 10 10:06:56 1999  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_set_transient_for): Move
	gtk_window_unset_transient_for() call after we do checks
	involving the old transient parent.
	[ From Lance Capser <> ]

1999-09-07  Raja R Harinath  <>

	* gtk/ (gtk.defs): Go back to using `touch' to create
	an empty file.

Mon Sep  6 00:11:56 1999  Lars Hamann  <>

	* gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
	no children. (Reported by: Chris Rogers <>)

1999-09-03  Raja R Harinath  <>

	* gtk/ (gen_sources): Improve VPATH builds.
	`$@' is valid only in the build dir, not after we've done 
	`cd $srcdir'.  Also use `test -f' instead of less portable
	`test -e'.

Fri Sep  3 15:59:56 1999  Owen Taylor  <>

	* gtk/gtktext.c (correct_cache_insert): Rewrite
	 for simplicity, and hopefully correctness.
	 (Fixes bug #1322, which was a segfault when
	  on some insertions with the properties around
	  the insertion set up just wrong.)

	* gtk/gtktext.c (gtk_text_adjustment): When we receive
	 a "changed" signal, clamp the new value to the adjustment
	 bounds to avoid segfaulting if someone tries to change
	 the adjustment to a bogus value. (Bug #1795)

Thu Sep  2 16:33:59 1999  Owen Taylor  <>

	* gtk/gtkmain.c: Ignore unexpected destroy notifies
	for children, for toplevel windows handle them
	like delete_event.

	* gtk/gtkplug.c: Add an unrealize handler so that
	we unref plug->socket_window when we are done
	with it.

Fri Sep  3 14:52:54 1999  Owen Taylor  <>

	* gtk/gtktext.c (clear_area): Fix stupid signedness
	 problem that was causing background to sometimes
	 be misaligned.

Fri Sep  3 12:26:33 1999  Owen Taylor  <>

	[ Fixes pointed out by Ettore Perazzoli <> ]
	* gtk/gtkmenu.c (gtk_menu_position): Make
	 sure we never position menus with negative x, y,
	 since gtk_widget_set_uposition() can't handle that.

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
	 Modify the positioning code a bit so that we always
	 put the top-left corner onscreen. (This is for
	 UI reasons, gtk_menu_position() now takes care of
	 gtk_widet_set_uposition() brokeness.)

Fri Sep  3 03:06:30 1999  Tim Janik  <>

	* gtk/ fixed up things for -jx, x > 1.

Sun Sep  5 08:48:51 1999  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
	  RC style that is passed in. The lack of the ref
	  before was a bug. If people worked around this
	  bug, this will introduce a slight memory leak
	  in their code. The code should typically look like:

	    rc_style = gtk_rc_style_new ();
	    gtk_widget_modify_style (widget, rc_style);
	    gtk_rc_style_unref (rc_style);

	* gtk/gtkwidget.c (gtk_widget_modify_style): Reset
	  the style if it was already set.

	* gtk/gtkwidget.c (gtk_widget_set_name): Only set the
	  style if it was set before.

Thu Sep  2 19:02:37 1999  Owen Taylor  <>

	* gtk/testgtk.c (main): Add a check to see if we
	  are being run from the correct directory and
	  to quit nicely if we are not.

	* gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function

Thu Sep  2 23:00:03 1999  Tim Janik  <>

	* gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.

	* gtk/gtkwindow.c:
	queue resizes unconditionally (gtk_widget_queue_resize will figure
	what to do if the window is not realized).
	(gtk_window_move_resize): only recenter the window
	(gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
	the same way as GTK_WIN_POS_CENTER.

Thu Sep  2 22:39:27 1999  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_reposition): check for the last position
	with (!(info->last_flags & GDK_HINT_POS)) instead of
	(!info->last_flags & GDK_HINT_POS).

	* gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
	new_height unconditionally, because we use these values even if
	!default_size_changed && !hints_changed.
	comented the (default_size_changed || hints_changed) case with
	respect to resize rejects from the window manager.

	* gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
	in the zvt condition hack, since this includes the window hints, set
	the hints after the handling_resize case.

	* gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
	window is initially shown with to the geometry.

Thu Sep  2 07:38:56 1999  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_move_resize):
	s/size_changed/default_size_changed/g so i know what's
	really going on (frying brain on smaller flame now).

Thu Sep  2 05:47:47 1999  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
	we have size_changed upon handling_resize. this is a gross
	workaround for the broken zvt widget and should be removed in
	1.3 again (search for FIXME).
	Owen provided an accurate comment for this:

        /* We could be here for two reasons
         *  1) We coincidentally got a resize while handling
         *     another resize.
         *  2) Our computation of size_changed was completely
         *     screwed up, probably because one of our children
         *     is broken. It's probably a zvt widget.
         * For 1), we could just go ahead and ask for the
         * new size right now, but doing that for 2)
         * might well be fighting the user (and can even
         * trigger a loop). Since we really don't want to
         * do that, we requeue a resize in hopes that
         * by the time it gets handled, the child has seen
         * the light and is willing to go along with the
         * new size. (this happens for the zvt widget, since
         * the size_allocate() above will have stored the
         * requisition corresponding to the new size in the
         * zvt widget)
         * This doesn't buy us anything for 1), but it shouldn't
         * hurt us too badly, since it is what would have
         * happened if we had gotten the configure event before
         * the new size had been set.

Wed Sep  1 20:46:11 1999  Owen Taylor  <>

	* gtk/gtkrc.c: deal properly with the fact that RC
	  style lists may include rc styles more than once.

	* gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
	  unused static function.

	* gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
	  stack of directories of RC files currently being
	  parsed and implicitely add them to pixmap path.
	  This fixes a bug where the directory would get
	  appended then overwritten by pixmap_path declarations.

	  (bug #1462, from Peter Wainright <>)

	* gtk/gtkthemes.c (gtk_theme_engine_unref): Call
	  theme's exit function. (Patch from Peter Wainwright,
	  bug #1454)

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
	  Add a destroy() handler to take care of removing
	  group for menu item. (Fixes bug #1197)

	* gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
	  in warning message.

Wed Sep  1 21:27:42 1999  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
	roundtrip to figure window's width and height, since we know that
	anyways from widget->allocation.

Wed Sep  1 12:37:44 1999  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_move_resize): Compute
	  the hints after we request the new size.

Wed Sep  1 10:38:37 1999  Owen Taylor  <>

	* gtk/gtkwindow.c (gtk_window_compute_hints): Removed
	  GTK_WIDGET_REALIZED() assertion - we can compute the
	  hints before we are realized.

	* gtk/gtkwindow.c (gtk_window_move_resize): Reorder
	  hint changing so that we have a value of hints_changed
	  when we decide whether to constrain the window size.

	* gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.

	* gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
	change back to G_MAXINT.

Wed Sep  1 06:54:59 1999  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
	new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
	contain uncluttered values.
	(gtk_window_compute_hints): simply assert that window is realized
	and that geometry_info is valid, since we rely on this anyways.
	(gtk_window_constrain_size): major cleanups to the code.
	if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
	for the base size, instead of the minimums. use 32767 as max width
	and height (like in gtkwindow.c) instead of G_MAXINT.

Wed Sep  1 04:41:25 1999  Tim Janik  <>

	* cleaned up the GtkContainer.need_resize flag handling mess, we
	only need to force resize requests when we were prematurely
	realized, or our widget tree was modified when we were temporarily
	hidden. handling these cases directly upon showing the window (i.e.
	while the GdkWindow is still unmapped) avoids the need to wait for
	a configure event response and therefore makes the GUI more snappier
	and avoids blank windows during the roundtrip.

	* gtk/gtkwidget.c:
	(gtk_widget_show): don't queue resizes on toplevels, they know how
	to deal with matters.

	* gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
	flag directly for not visible resize containers and spare us unecessary
	signal emissions.

	* gtk/gtkwindow.c:
	(gtk_window_realize): if we need to enforce premature size allocation,
	queue a container resize so we are correctly resized later on.
	don't freak around with the ->need_resize flag,
	gtk_container_queue_resize() will care about that.
	handle initial resizing issues here, we can handle matters better in
	this place, especially since we know that our GdkWindow is still
	don't care about ->need_resize at all.
	handle size changes properly that occoured while we waited for a
	configure event.

Tue Aug 31 15:58:46 1999  Owen Taylor  <>

        * gtk/gtkwidget.c (gtk_widget_set_uposition):
        * gtk/gtkwindow.[hc] (gtk_window_reposition):
        Move the hint setting code from gtk_widget_set_uposition
        to here; set the hints so that we respect any previously
        set geometry hints.

        * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
        change the window hints here or move the window here,
        let that happen in gtk_window_move_resize().

Tue Aug 31 06:58:52 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
	to already queued resizes (and therefore redraws) on a widget, check
	its anchestry as well.

	* gtk/gtkcontainer.c:
	(gtk_container_queue_resize): clear resize widgets for resize
	containers before aborting prematurely. this is especially important
	for toplevels which may need imemdiate processing or their resize
	handler to be queued.
	(gtk_container_dequeue_resize_handler): added new internal function for

	* gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
	configure event, take possible changes in window position into account
	as well.
	if we request a new window size, queue up a resize handler that will
	last until the configure event response arrives.
	combined the ->need_resize case (initial show) with the general size
	(hints) changed case and added even more comments.
	if !auto_shrink, only revert to the old allocation if the new size
	is smaller than the current allocation.

Tue Aug 31 11:55:20 1999  Owen Taylor  <>

        * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
        When hints are set, queue a resize so that the hints will
        be eventually reset on the toplevel.

        * gtk/gtkwindow.c (gtk_window_show): Use
        gtk_window_compute_default_size(). Clear the need_resize flag
        on the initail map so that we don't unnecessarily trigger the
        resize code.

        * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
        into separate functions. Compare the hints we are setting
        with what we set last time so that we can accurately
        tell when we need to reset the hints.

        * gtk/gtkwindow.c (gtk_window_compute_default_size): New
        function to figure out the size from requisition
        and default_size.

        * gtk/gtkwindow.c (gtk_window_constrain_size): Function
        from fvwm to constrain a size to the geometry hints.

        * gtk/gtkwindow.c (gtk_window_compare_hints): New function
        to compare two sets of geometry hints.

        * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
        from gtk_window_set_hints(), just compute the hints,
        don't set them.

        * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
        code from gtk_window_move_resize() to separate function,
        rationalize a bit.

Tue Aug 31 13:05:03 1999  Owen Taylor  <>

	* gtkrc.h: Move the ref_count member out of the GtkRcStyle
	structure into a new private structure.

	* gtkrc.c: Split GtkRcStyle into public/private.
	In the private part, add a list of pointers to the
	RcStyle lists this RcStyle participates in.

	* gtkrc.c: When a RcStyle is free, remove all
	lists referencing it from the 
	realized_style_ht hash, and free those lists.
	* gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
	gtk_rc_init(), since that adds the default styles
	to the list of parsed RC files again.

	* gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
Thu Aug 26 14:14:42 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
	checks that ensure that a widget's allocation is at least 1 in width
	and height. (GNOME note: this doesn't affect old panel code anymore,
	because GtkSocket will request width and height of at least 1 since
	Fri Jul 23).

	* gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
	allocated yet (happens if the user realizes the window prematurely),
	size request and allocate it.
	(gtk_window_size_allocate): guard against guint underflows.

Wed Aug 25 19:01:36 1999  Lars Hamann  <>

	* gtk/ (gtk_built_sources): reordered stamp-gtk.defs
 	in gtk_built_sources, so gtk.defs gets built prior to all other

Mon Aug 23 19:11:17 1999  Tim Janik  <>

	* gtk/
	invoke indent on gtkmarshal.*. 
	rewrote source generation rules, use COPYING as oldest source tag for
	a piggyback rule to generate all sources from (don't touch it ;).
	major cleanups, strip spaces on build rules for GNU Make.

	* gtk/ don't operate on hardcoded filenames but take
	source and target files from commandline arguments. don't invoke indent.

Sat Aug 21 14:07:36 1999  Lars Hamann  <>

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
	notebook after switch to avoid drawing problems.
	(Bug#856 Reported by: Theodore Roth <>)
	(gtk_notebook_pages_allocate): don't map not visible tab_labels, 
	show them instead. 
	(Bug#1805 Reported by: Dave Cole <>)

Sat Aug 21 14:07:36 1999  Lars Hamann  <>

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
	notebook after switch to avoid drawing problems.
	(Bug#856 Reported by: Theodore Roth <>)
	(gtk_notebook_pages_allocate): don't map not visible tab_labels, 
	show them instead. 
	(Bug#1805 Reported by: Dave Cole <>)

Wed Aug 18 09:20:10 1999  Tim Janik  <>

	* gtk/gtkwindow.c:
	we use window->need_resize from configure_event now, to indicate that
	the gtkwindow should keep its allocation (e.g. because the user resized
	the window through window manager handles). resize_count is now reliably
	used to figure whether we got the allocation we requested from the
	window manager.
	configure events get queued as resizes now, the real stuff (size
	computation and allocation) now only goes on in gtk_window_move_resize().
	GtkWindow's requisition now contains its *real* requisition (like all
	other widgets), *not* taking usize into account.
	geometry_info->last_{width|height} is now updated from set_hints() only
	so it always contains the last hints we set for the window manager.
	made some event handlers return TRUE instead of FALSE.
	the overall code should be much more straight forward now, and the
	significant code portions are accompanied by comments now.
	removed requisition argument and made it
	fetch the requisition through gtk_widget_get_child_requisition.
	we also don't move the gdkwindow here anymore, gtk_window_move_resize()
	does that now.
	ensure that the widget is realized before calling 
	gtk_container_check_resize() (and thus gtk_window_move_resize()), also
	ensure that we got properly size requested and allocated before
	ignore plain window moves, or reallocate the widget tree through the
	resize queue otherwise.
	mostly rewrote this function to figure window manager hints more
	reliably, coalesce window moves and resizes to reduce configure events
	and do actuall size allocations.

Tue Aug 17 07:43:04 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
	that have a resize pending, because a redraw is already queued for them.

	* gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
	hack to clear resize_widgets.

	* gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
	for resize containers prior to size allocation. (this is also a bit
	ugly, but avoids side effects for stopped emissions and is thus more
	(gtk_widget_unparent): removed disconnect call for clear_resize_widgets.

	* gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
	function from gtk_tooltips_expose, as we connect to ::expose_event
	*and* ::draw now.

1999-08-18  Federico Mena Quintero  <>

	* gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
	(gtk_target_list_unref): Likewise.

	* gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.

Tue Aug 17 15:47:07 1999  Owen Taylor  <>

	* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
	guard against division by zero. (Fixes bug #1339)

Tue Aug 17 10:56:49 1999  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
	Prevent the trivial leak of information of allowing
	word motion when the entry is not visible.

Tue Aug 17 10:28:52 1999  Owen Taylor  <>

	* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
	modality to error dialog as well as confirmation dialogs.
	(Bug #1803, reported by Rosanna Wing Sze Yuen)

Wed Aug 11 01:04:57 1999  Owen Taylor  <>

	* gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
	(gtk-guy-990611-3.patch: Guy Harris <>)

	* gtk/ (install-data-local): Solaris apparently
	has various troubles with ln -f; use rm first instead.
	(gtk-guy-990611-2.patch: Guy Harris <>)

1999-07-30  Raja R Harinath  <>

	* gtk/ (stamp-m): Don't `mv' from builddir to srcdir,
	use `cp' followed by `rm' (the `rm' was already there).

July 30, 1999 Elliot Lee <>
	* Fix autoconf warnings about cross compilation by
	trying to provide sane defaults for AC_TRY_RUN.
	* gtk/ If we refer to gtkmarshal.[ch] in $(srcdir),
	put them into $(srcdir) when generated. Also add a dependency of
	gtksignal.h on gtkmarshal.h for -j builds. 
	* gtk/gtk(dnd,style,gamma).c: Minor warning fixes.

Wed Jul 28 09:29:19 1999  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_main_iteration_do): Added missing
	(From Paul Fisher <>)

Fri Jul 23 01:00:15 1999  Tim Janik  <>

	* gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
	width and height are always >0 (owen).

Fri Jul 23 00:00:47 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
	change that assured that a widget's allocated with and height are
	always >1, since this breaks *buggy* panel code. unfortunately this
	back-breaks the gimp's color selector.

	* gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
	allocation is always >0 in width and height, before sending the
	configure event; this is a *gross* hack to get the gimp back to work.
	* marked both cases with TODO-1.3

Wed Jul 21 15:47:39 1999  Owen Taylor  <>

	* gtk/gtktext.c: Don't display wrap indicators when
	text is not editable and word wrap is on.

Wed Jul 21 08:21:40 1999  Tim Janik  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
	option menus here as they are not derived from menu shell, assure that
	the option menu has a menu we can add items to.

Tue Jul 20 23:29:48 1999  Tim Janik  <>

	* gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
	width/height to (gint) before calculations and check against < 0 to
	avoid guint wraparounds.

Sun Jul 18 00:35:49 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
	width and height is never zero. sanity check both dimensions against
	32767 and issue a warning if the allocation is greater than that.

Wed Jul  7 15:03:30 1999  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_events_pending): Unlock around call
	to g_main_pending() as well.

Wed Jul  7 14:59:01 1999  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_main_iteration): Unlock around
	call to g_main_iteration() - since that will regrab
	GTK+ lock to process events.

Thu Jul  1 15:01:55 1999  Owen Taylor  <>

	* gtk/gtkwindow.c
	- Regularize with the rest of GTK+ by making widget->requisition
	  not reflect the set_usize()
	- Always recompute geometry hints, then check if they
	  changed before sending them to the X server. The
	  previous checks for changes would fail in a number
	  of circumstances. 

Thu Jul  1 11:55:59 1999  Owen Taylor  <>

	* gtk/gtkstyle.c: Include <stdlib.h> for strcmp().

Wed Jun 30 19:26:36 1999  Owen Taylor  <>

	* gtk/gtkdnd.c:
	- Code cleanups
	- Instantaneously update on modifier key presses
	- Allow cancellation of the drag with Escape.

Tue Jun 29 17:04:09 1999  Owen Taylor  <>

	* gtk/testgtk.c (create_handle_box): Set the policy
	to auto_shrink - otherwise the appearance is rather
	strange when flipping between horizontal and vertical.

Mon Jun 28 09:29:52 1999  Tim Janik  <>

	* gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
	(gtk_window_set_default_size): don't change a value if it's < 0.
	queue a resize.

Sun Jun 27 11:00:33 1999  Tim Janik  <>

	* gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.

Mon Jun 28 12:08:25 1999  Owen Taylor  <>

	* gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
	add an extra "/" when concating "/" + filename.
	(From Matt Grossman <>)

Mon Jun 28 10:57:12 1999  Owen Taylor  <>

	* gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
	for fg_gc if we set it for drawing pixmap.

Tue Jun 15 12:45:12 1999  Owen Taylor  <>

        Fixes from Peter Wainwright <>
	* gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
	already set, call old engine's destroy function and
	unref the old engine.

Thu Jun 10 17:59:38 1999  Tim Janik  <>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.

Wed Jun  9 15:13:16 1999  Tim Janik  <>

	* gtk/gtkaccelgroup.h: mark certain functions as internal.

Wed Jun  9 13:48:28 1999  Tim Janik  <>

        * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
        expand behaviour changed.

        * gtk/gtklabel.c (gtk_label_set_pattern):
        don't bother invoking queue_clear, the reallocation does
        that for us, always free_words so the upcoming resize will
        relayout the label's contents.

Wed Jun  9 12:50:48 1999  Tim Janik  <>

        * applied argument implementation patches from Elena Devdariani

        * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
        ::space_style, ::relief
        * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
        * gtk/gtkpreview.c: ::expand
        * gtk/gtkpaned.c: ::handle_size, ::gutter_size
        * gtk/gtknotebook.c: ::homogeneous
        * gtk/gtklabel.c: ::wrap
        * gtk/gtklist.c: ::selection_mode
        * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
        * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
        * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
        * gtk/gtkclist.c: ::sort_type
        * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
        * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child

Tue Jun  1 23:38:38 1999  Owen Taylor  <>

	* gtk/gtkstyle.c: Removed ill-thought-out part of last

Tue Jun  1 23:30:09 1999  Owen Taylor  <>

	* gtk/gtkstyle.c (gtk_style_attach): Get the reference
	counting right when we have to attach a new style
	for a different visual. (Chi-Deok Hwang <>)

	* gtk/gtkstyle.c: Documented the refcounting
	peculularities of gtk_style_attach.

1999-06-01  Tim Janik  <>

	* gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
	window types.

	* examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
	of GTK_TOPLEVEL for creating the window.

1999-06-01  Tim Janik  <>

	* gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
	the last argument (reported by Per Winkvist).
Tue May 25 13:13:12 1999  Owen Taylor  <>

        Fixes for invisible XOR lines (Frank Loemker
	* gtk/gtkclist.c (gtk_clist_realize): Always use
	a non-zero pixel for GDK_XOR.

	* gtk/gtkvpaned.c gtk/gtkhpaned.c: 
	Use GDK_INVERT instead of GDK_XOR.

Wed May 12 21:56:40 1999  Lars Hamann  <>

	* gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
	signals if h/voffsets differ from adjustment values.
	Reportet by Jerome Bolliet <>

Mon May 10 04:20:41 1999  Tim Janik  <>

	* gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
	::selection-done emissions up to the topmost menu shell.

Fri May  7 10:15:14 1999  Owen Taylor  <>

	* gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
	the user data on the window before destroying it.

	* gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
	unrealize handler to take care of destroying 
	notebook->panel properly. 
	(Bug #1198 - Morten Welinder <>)

	* gtk/gtktext.c (expand_scratch_buffer): Fix reversal
	of g_new and g_realloc to stop memory leak. (Actually,
	we could just use g_realloc(), but I'm not 100% sure
	that is portable).
	(Bug #1196 - Morten Welinder <>)

Wed Apr 21 00:42:08 1999  Owen Taylor  <>

	* gtk/gtkplug.h: Removed stray GtkPlugButton declaration.

	* gdk/gdkfont.c (gdk_text_measure): Fix the return value
        for fontsets.

	* gtk/gtkbutton.c (gtkbutton_expose): Fix warning
	with bin/button confusion.

Thu May  6 04:53:26 1999  Tim Janik  <>

	* gtk/testgtk.c: in the ItemFactory test, link radio items together,
	and show how preselection of radio items is done.

Sun May  2 13:31:14 1999  Tim Janik  <>

	* gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
	* gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
	* gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
	* gtk/gtktable.c (gtk_table_attach): 
	* gtk/gtklist.c (gtk_list_insert_items): 
	* gtk/gtkmenushell.c (gtk_menu_shell_insert): 
	* gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
	* gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
	* gtk/gtkbin.c (gtk_bin_add): 
	* gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
	* gtk/gtkfixed.c (gtk_fixed_put): 
	* gtk/gtklayout.c (gtk_layout_put):
	general fixups to container_add logic. always realize child if
	child->parent is realized, only map the child and queue a resize
	if child and child->parent are both visible.

Fri Apr 30 09:02:28 1999  Tim Janik  <>

	* gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
	instead of gtk_container_foreach to walk and unrealize children, so
	composite children get also unrealized.
	(gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
	(gtk_widget_map): assert that the widget is visible (basic constrain).
	(gtk_widget_real_map): assert that the widget is realized (basic

Fri Apr 29 00:53:20 1999  Tim Janik  <>

	* gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.

Tue May  4 09:32:08 1999  Owen Taylor  <>

	* gtk/ gtk/gtkrc.iso-8859-2: Add a gtkrc
	file for iso-8859-2 locales.


Tue Apr 27 16:38:32 1999  Owen Taylor  <>

	* gtk/ Fix typo of static_sources for static_SOURCES.
	 (Pointed out by and others).
	 Remove some suspicious and useless lines. 

Tue May  4 08:44:08 1999  Owen Taylor  <>

	* gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
	width,height = 0, 0 to mean - here to edge of window,
	instead of -1, -1, since the former is all we support.

Tue May  4 08:34:43 1999  Owen Taylor  <>

	* gtk/gtkmain.c (gtk_main): Correctly free list nodes
	when removing from quit_functions list.

Tue Apr 27 14:17:16 1999  Tim Janik  <>

	* gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.

Tue Apr 27 18:23:35 1999  Owen Taylor  <>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
	 When redrawing characters on non-visible entry, use appropriate
	 '*' character. (Bug #1130 - Jean-Marc Jacquet <>)

Tue Apr 27 01:31:40 1999  Lars Hamann  <>

	* gtk/gtkclist.c (drag_dest_cell): compute destination cell
	from drag coordinates.
	(gtk_clist_drag_data_received) (gtk_clist_drag_motion):
 	use drag_dest_cell.

	* gtk/gtktree (drag_dest_cell)
	(gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
	(Bug #1129)

Wed Apr 21 21:26:11 1999  Tim Janik  <>

	* gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
	translate_* fields.
	(gtk_item_factory_finalize): invoke translate_notify independant from
	(gtk_item_factory_set_translate_func): likewise.
	(gtk_item_factory_destroy): only remove ifactory pointer from those
	widgets that belong to us (stupid me).

Mon Apr 19 12:05:31 1999  Owen Taylor  <>

	* gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
	rc_style list when lookup succeeeds.

Thu Apr 15 01:11:24 1999  Lars Hamann  <>

	* gtk/gtkctree.c (resync_selection): 
	* gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
	* gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection

Fri Apr  9 19:22:19 1999  Owen Taylor  <>

	* gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
	Add some missing GDK_THREADS_ENTER()/LEAVE around
	timeouts. (Patches from Sebastian Wilhelmi <>)

Thu Apr  8 20:10:33 1999  Tim Janik  <>

	* gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
	rather than emit_by_name.

	* gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
	on the widget across multiple signal emissions.
	(gtk_editable_delete_text): same here.
	(gtk_editable_class_init): set widget_class->activate_signal after
	editable_signals[ACTIVATE] has been created.

Wed Apr  7 22:59:47 1999  Owen Taylor  <>

	* gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
	position here prematurely -- we might not have the
	right ->min_position and ->max_position yet.

Tue Apr  6 16:38:51 1999  Owen Taylor  <>

	* gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
	Add error traps so if the other end of the connection
	dies, we survive.

	* gtk/gtkselection.c (gtk_selection_notify): Clean
	up properly when selection property retrieval fails.
	* gtk/gtkselection.c (gtk_selection_request): Correctly
	reject SelectionRequest notifies where the handler
	returns no data.

Tue Apr  6 12:24:21 1999  Owen Taylor  <>

	* gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
	when we've previously highlighted.

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
	emit two "drag_leave" signals for Motif drops.

	* gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
	back the correct status messages when dropping from
	Motif onto a proxy window that is rejecting the

Sat Mar 27 23:32:13 1999  Tim Janik  <>

	* gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
	the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
	to compare two argument values. added gtk_arg_to_valueloc() to set a
	variable from an arg through its location (pointer).

	* gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
	gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
	as gfloat*, uchars are collected as guchar*, ints are collected as
	gint*, etc...

Mon Mar 29 17:45:47 1999  Owen Taylor  <>

	* gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
	Include <string.h> instead of <strings.h>.

	* gtk/gtkstyle.c: Fix double include of gtkthemes.h
	(actually, a lot more duplicate includes occur if
	 you trace through the sequence of #include's)
	gtk-jbb-990320-0: John Bley,
Mon Mar 29 17:02:58 1999  Owen Taylor  <>

        Patches from Akira Higuchi <>

	* Fix confusion between GTK_LOCALE_[C]FLAGS
	that was causing -DX_LOCALE not	to work.

	* gtk/gtkrc.c (gtk_rc_init):
	X_LOCALE will never have LC_MESSAGES defined

Thu Mar 25 12:38:31 1999  Tim Janik  <>

	* gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
	g_get_home_dir() (gtk-pmc-990123-0.patch.gz).

	* gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
	left/right as well (gtk-michael-980726-0.patch.gz).

	* gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
	for pointer values, use gchar instead of char. fixed uline allocation
	leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
	chunks instead of G_ALLOC_ONLY.
	(gtk_label_size_request): always alter requisition as passed and leave
	widget->requisition alone.
	(gtk_label_set_text): allow NULL strings.
	(gtk_label_new): likewise.

Wed Mar 24 09:24:03 1999  Tim Janik  <>

	* gtk/gtkdrawingarea.[hc]: type/macro fixups.

Mon Mar 22 05:51:34 1999  Tim Janik  <>

	* gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
	*and* mapped (i.e. drawable).
	(gtk_bin_expose): only send exposes to drawable children.

	* gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
	(gtk_box_expose): only send exposes to drawable children.

	* gtk/gtkhscale.c (gtk_hscale_draw): 
	* gtk/gtkvscale.c (gtk_vscale_draw):
	hm, this is an ugly one. we first compute the size of our trough area
	here (window relative) and then check intersection with the draw_area
	which is parent relative because we're a NO_WINDOW widget, so we need
	to offset the trough area by allocation.x and allocation.y before the
	check. (this must not be done for the background area though, since
	that's already computed parent relative).

Mon Mar 22 00:41:39 1999  Lars Hamann  <>

	* gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
	unrealize title buttons.

Fri Mar 19 00:00:22 1999  Lars Hamann  <>

	* gtk/gtkclist.c (gtk_clist_column_title_passive)
	only connect/disconnect to GtkWidgetClass::event to block mouse events.

	* gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
	zero initialize event, removed superfluous gdk_window_get_pointer call

	* gtk/gtklist.c (gtk_list_vertical_timeout)
	(gtk_list_horizontal_timeout): removed superfluous
 	gdk_window_get_pointer call

Wed Mar 17 09:00:00 1999  Tim Janik  <>

	* plugging problems reported by "Bruce Mitchener, Jr."
	<> due to a purify session.

	* gtk/gtkstyle.c:
	(gtk_style_unref): assert ref_count to be > 0.

	* gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
	the requisition.
	(gtk_clist_set_shift): likewise.

	* gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the

	* gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
	event before sending it and set send_event to TRUE (which needs to
	be done for *all* synthesized events).
	(gtk_list_vertical_timeout): likewise.

	* gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory

	* gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
	to TRUE when synthesizing events.

[ *** end of merges from 1.2 *** ]	
1999-11-21  Tor Lillqvist  <>

	* gdk/gdkconfig.h: Remove, as this is a file generated by configure
	(or copied from gdkconfig.h.win32 on Win32, sigh).

	* gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.

	* gdk/gdk.c (gdk_keyval_convert_case): Fix typo.

	* gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.

	* gdk/gdkconfig.h.win32: New file.

	* gdk/win32/makefile.cygwin: Build just a static archive here.

	* gdk/makefile.cygwin: New file. Get the win32-specific stuff
	for the DLL from the static archive built above.

	* gdk/gdk.def: Moved here from the win32 subdirectory.

	* gdk/win32/*: Adapt for the changed private struct organisation.

	* gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.

Sun Nov 21 16:44:35 1999  Stefan Jeske  <>

        * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
        for wheel mice (buttons 4 and 5).

1999-11-18  Tor Lillqvist  <>

	* gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
	drawables use just the pixel field in the foreground and
	background GdkColor of the GdkGC.

	gdk_gc_set_{fore,back}ground() are called in the GIMP with
	GdkColors containing uninitialized (red,green,blue) fields, and
	just the pixel field filled in, and furthermore in the
	visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
	It thus turns out that we really don't need to have the full
	GdkColor for fg and bg in GdkGCWin32Data after all. Will change
	it later to have just the pixel values.

Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <>

	* docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/

Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <>

	* docs/gtkfaq.sgml: threads example from Erik Mouw.
	New question on GtkLabel background colors.

	* docs/gtk_tut.sgml:
	  - Correct the example code callback
	    function definitions.
	  - Update the gtkdial example code, from Frans van Schaik.
	  - Update setselection.c to current API.

        * examples/Makefile examples/*/*.c: Update to code
        listed in tutorial.

1999-11-10  Tor Lillqvist  <>

	* gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
	subrange table (from the "Developing International Software for
	WIndows 95 and Windows NT" book) was missing the Hangul syllable
	block... Get the loaded font's charset correctly.

	(Note that this, and the other *-win32.c files, still really are
	the old ones, the win32 subdirectory is not ready for compilation
	yet after the reorg.)

Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <>

	* gtk/gtkclist.c: Fix off-by-one bug in parameter

Wed Nov 10 12:12:03 1999  Owen Taylor  <>

	* gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
	on results of XQueryDeviceState().

Mon Nov  8 16:40:43 1999  Owen Taylor  <>

	* gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
	we need to accesss only ->children. We need an accessor
	for the children.

	* gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
	DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
	to get rid of gdkx.h include.
	* gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
	and random references to 'None'.

	* gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
	Get rid of unused #include <gdk/gdkx.h>

	* gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
	gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from

1999-11-08  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c
	* gdk/win32/gdkfont.c
	* gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
	following yesterday's changes. (Unrelated to Owen's reorg.)

Mon Nov  8 16:18:25 1999  Owen Taylor  <>

	* gdk/x11/gdkinput-gxi.c: Add missing include,
	  fix GdkWindowPrivate => GdkDrawablePrivate.

	* gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.

	* gdk/x11/ (xinput_sources): Add missing
	backslash to fix building with --with-xinput=none

Mon Nov  8 14:47:04 1999  Owen Taylor  <>

	Move all X specific code into the x11/ directory.
	Aside from shuffling things around, did the following:

       * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
	 gdk_arg_context_* - a simple argument parsing system
	 in the style of popt.

       * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
	 Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
	 add ->klass and ->klass_data fields. The klass_data
	 field points to an auxilliary structure that is
	 windowing system dependent.

       * gdk/gdkfont.c: Make most of the measurement functions
	 simply wrappers around gdk_text_extents().

       * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
	 _gdk_font_strlen() function that hides the weird
	 behavior in gtk+-1.[02] where a string is interpreted
	 differently for 8-bit and 16-bit fonts.

       * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
	 to store common code for synthesizing double/triple
	 press events.
       * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
	 Make all the function that modify an existing GC
	 simply wrappers around gdk_gc_set_values().
       * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
	 for throwing out later.

       * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
	 GdkImagePrivate and GdkColormapPrivate to have a
	 windowing system dependent part (GdkFontPrivateX etc.)
	 that "derives" from the system-independent part.

       * gdk/x11/ gdk/x11/gdkinput*.c:
	 Got rid of the included-source-files for XInput in
	 favor of automake conditionals. (Which didn't exist
	 when XInput support was originally added.)

       * gdk/gdkrgb.c: Remove the visual id from the debugging
	 statements since that is X11 specific; print out
	 type/depth info instead.

Wed Nov  3 18:14:49 1999  Owen Taylor  <>

	* gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
	loading duplicates of hashed fonts.

	* gdk/gdk.c (gdk_keysym_convert_case): rename
	gdk_XConvertCase to gdk_keysym_convert_case, allow
	results to be NULL in the GTK+ style.

	* gdk/gdkcompat.h: Started compatibility header
	for renames.

1999-11-07  Tor Lillqvist  <>

	* gdk/win32/gdkprivate.h: New font private structures, related to

	* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
	gdk_font_list_free(). On X11, will just be wrappers to
	XListFonts() and XFreeFontNames(). On Win32, the code previously
	in gtkfontsel.c is now here.

	New function gdk_font_xlfd_create(). On X11 will get the FONT
	property of the font (for GDK_FONT_FONTs), or call
	XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
	builds a XLFD style name from the font information in the LOGFONT

	New function gdk_font_xlfd_free(), which correspondingly frees the
	string returned by gdk_font_xlfd_create().

	Implement fontsets on Win32. Add a function that iterates over a
	wide char string and calls a callback function for each substring
	of wide chars from the same Unicode subrange (and thus probably
	available in the same real font).

	Improve the XLFD emulation a bit.

	* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.

	* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
	Beta3, WM_IME_CHAR messages don't seem to contain the composed
	multi-byte char as with the Active IMM on Win9x. Oh well, handle
	ImmGetCompositionStringW() to get the composed Unicode chars.

	* gdk/win32/gdkgc.c
	* gdk/win32/gdkdraw.c: Changes needed because of the font private
	struct changes.

	* gdk/win32/gdk.def: Add the new functions.

1999-11-04  Tor Lillqvist  <>

	* config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
	get the Platform SDK to get <dimm.h>.

	* gdk/win32/gdkevents.c: More event handling fixes and
	simplification. Never generate motion events with is_hint true. We
	used to do that on bogus grounds earlier. Windows sends
	WM_MOUSEMOVE messages on button events even if the mouse hasn't
	moved, ignore these.

	* gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.

	* gdk/win32/gdkglobals.c
	* gdk/win32/gdkprivate.h: Define a typedef for the pointer to
	the TrackMouseEvent function, and use it.

	* gdk/win32/gdkwindow.c: Terminate widechar string with a zero
	char before calling WideCharToMultiByte in order to get a string
	for the window title.

	* gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.

	* gdk/win32/gdk.def: Remove obsolete functions.

	* gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
	/nodefaultlib and /defaultlib switches.

	* gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.

1999-10-31  Tor Lillqvist  <>

	* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including

	* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
	same type as GdkWChar, especially on Win32.

	* gdk/win32/*.c: Change gdk_root_parent to be a pointer.

	* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
	before passing to Windows GDI for drawing etc. Convert to the
	system default codepage before passing to Windows as window

	* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
	support changing input locale on the fly.

	* gdk/win32/gdkevent.c: Support input language (keyboard locale)
	on-the-fly changes. Convert incoming characters from the current
	codepage to Unicode (and then to a UTF-8 multi-byte string) based
	on the current input language. Use keysym<->Unicode mapping tables
	and functions borrowed from xterm sources.

	Support IMEs (Input Method Editors) for CJK languages. On non-CJK
	editions of Win9x, use the ActiveX-based Active IMM (Input Method
	Manager) if available. IMEs and the Active IMM are available under
	the disguise of Chinese, Korean and Japanese support for IE and
	Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
	support is present in all editions (as long as you install it).

	Call DispatchMessage from gdk_events_queue() (and thus
	gdk_WindowProc()), instead of duplicating the code in

	Reworked the grab handling and propagation code, factored out
	duplicated code snippets into separate functions. Other cleanups,

	* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
	the <dimm.h> header describing the Active IMM.

	* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
	just do the same as for "single" fonts.

	* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
	gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
	the new keysyms from gdkkeysyms.h.

	* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
	fontset, so that gtkentry uses wide characters.

	* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
	GTk+'s system directory "gtk+", not "gtk".

Sat Oct 30 13:17:18 BST 1999 Tony Gale <>

	* docs/gtkfaq.sgml: FAQ update

1999-10-21  Tor Lillqvist  <>

	* gdk/win32/gdkprivate.h: Add more font private data.

	* gdk/win32/gdkfont.c
	* gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
	fonts and strings. Now works much better. You still have to
	have a correct font selected, though. No fontset emulation yet.

1999-10-19  Tor Lillqvist  <>

	* gtk/maketypes.awk: Use G_OS_WIN32.

	* gtk/gtk.def: Add some missing entry points. Also some non-public
	ones, but PyGTK porter claims to need them.

	* gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
	built-in type generation.

1999-10-14  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
	GDK_FONT_FONT fonts (which is all we have for now, we don't
	emulate fontsets). The X11 version uses plain XDrawString in that
	case, too. The string passed to gdk_draw_text_wc seems to be in
	fact (at least, when used by gtkentry and gtktext) either in a
	single-byte charset, or a DBCS. Not Unicode.

	This fixes the problem in gtkfontsel, where even if you had
	selected a font with a non-Latin1 charset (windows-greek, for
	instance), the preview still used Latin-1 glyphs.

	* gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
	use GetTextExtentPoint32W, use GetTextExtentPoint32A.
	(gdk_font_load): Recognize the demibold etc weights, even if we
	don't have the corresponding constants in the headers.
	(gdk_font_hash_insert): Use same hash mechanism as in the X11
	version. Should save font resources a bit, when we don't have
	multiple HFONTs for the same font.

	* gdk/win32/gdkprivate.h: Add the names field as in the X11

1999-10-11  ERDI Gergo  <>

	* gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
	X values

1999-10-09  ERDI Gergo  <>

	* gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
	layout support (as mentioned on

Wed Oct  6 12:46:17 PDT 1999 Manish Singh <>

	* gtk/fnmatch.c
	* gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/

1999-10-05  Jesus Bravo Alvarez  <>

	* (ALL_LINGUAS): Added Galician (gl)

1999-10-05  Tor Lillqvist  <>

	* gdk/win32/*.[ch]: Corresponding changes as in X11 backend.

	* gdk/win32/gdkcompat.c: New file, actually provide an
	implementation for the deprecated functions. (Just temporarily.)

	* gtk/gtkfilesel.c: Fix an #ifdef syntax botch.

	* gtk/makefile.{cygwin,msc}: Update gdk_headers.

	* gdk/win32/gdk.def gtk/gtk.def: Updates.

1999-10-05  Kjartan Maraas  <>

	* Added "uk" to ALL_LINGUAS.
Mon Oct  4 11:57:11 PDT 1999 Manish Singh <>

	* correct checking for BeOS check

	* gdk/gdktypes.h
	* gtk/fnmatch.c
	* gtk/gtkfilesel.c
	* gtk/gtkitemfactory.c
	* gtk/gtkmain.[ch]
	* gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines

Mon Oct  4 16:16:53 1999  Pablo Saratxaga <>

	* gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
	encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
	languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
	by Bulgarian). 

Sun Oct  3 18:13:44 1999  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
	Fix a reference to window_private->destroyed.	

	* gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
	(ugly) setting of an internal GdkWindow member to use
	a _slightly_ cleaner macro.

	* gdk/gdkprivate.h: Split GdkWindowPrivate into
	GdkDrawablePrivate and GdkWindowPrivate.
	Add extra macros for accessing GDK_DRAWABLE_ components.

	* *.[ch]: Massive adjustments for the above, use the
	new macros in a lot of places.

Sun Oct  3 15:16:24 1999  Owen Taylor  <>

	* gdk/gdktypes.h: Make GdkDrawable the base type,
	not GdkWindow.

Sun Oct  3 15:08:44 1999  Owen Taylor  <>

	* gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.

Sun Oct  3 14:26:15 1999  Owen Taylor  <>

	* gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.

Sun Oct  3 14:16:23 1999  Owen Taylor  <>

	* gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
	gdk/ prefix. (Pointed out by

	* gdk/ x11/: create x-specific subdirectory.

	* docs/gtk-config.1: Now autogenerated.
	* docs/Changes-1.4.txt: started
1999-10-03  Tor Lillqvist  <>

	* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
	to #ifdef also here.

	* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
	Owen did to the X11 backend.

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
	ScrollWindowEx when blitting inside a window, it can't be correct
	in the general case.

	* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling

	* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
	depth equal to the bitspixel value, not the visual's depth.

	* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
	to 24 even if the bitspixel value is 32.

	* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
	need to check for depth==32 when bpp==32, depth will always be 24.

Fri Oct  1 18:03:36 1999  Owen Taylor  <>

        * docs/Changes-1.4.txt: Started
	* gtk/ (gdk_headers): Include all the new headers.

        * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
	* gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
	into C file.
	* gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
	header to gdkinputprivate.h.

	* gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
	unused since before 1.2.

1999-09-30  Tor Lillqvist  <>

	* gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
	expand possible hex escapes in the font family (put there by
	logfont_to_xlfd if the font name isn't a legal XLFD font family,
	mainly if it contains slashes). (gtk_font_selection_create_xlfd):
	On Win32, add hex escapes here, too.

Wed Sep 29 19:55:35 1999  Owen Taylor  <>

	* */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
	to #ifdef GDK_WINDOWING_X11.

[ Merges from gtk-1-2 ]

Wed Sep  8 07:13:29 1999  Tim Janik  <>

	* fixed "GNU Make" check to pass with new make version

Fri Sep  3 16:04:41 1999  Tim Janik  <>

	* (--version): don't echo @GTK_VERSION@, but
	AM_PATH_GTK() macros don't get confused by the -pre1.

Thu Sep  2 19:02:37 1999  Owen Taylor  <>

	* (REBUILD): Change check for perl5
	  to check explicitely for v >= 5.002. (5.001
	  does not work with our scripts.)

Wed Aug 25 15:45:46 1999  Tim Janik  <>

	* evaluate $PERL for the perl version check. added
	--disable-rebuilds to give the user an option to completely disable
	any source autogeneration rules.

Mon Aug 23 23:16:14 1999  Tim Janik  <>

	* evaluate $ac_make when checking for GNU Make.

Mon Aug 23 19:11:17 1999  Tim Janik  <>

	* docs/ added generation.txt.

	* require automake 1.4, build README from and
	INSTALL from in dist-hook.
	* new files to autogenerate README and INSTALL from.

	* figure whether we have GNU Make

	* docs/generation.txt: minor additions/corrections.

Wed Aug 11 13:38:26 BST 1999 Tony Gale  <>

	* docs/gtkfaq.sgml: FAQ Update

July 30, 1999 Elliot Lee <>
	* Fix autoconf warnings about cross compilation by
	trying to provide sane defaults for AC_TRY_RUN.

Fri Jul 16 22:20:21 PDT 1999 Manish Singh <>

	* ltconfig
	* upgrade to libtool 1.3.3

Thu Jul  8 11:30:18 1999  Owen Taylor  <>

	* INSTALL: Indicate that the --with-glib= configure
	time flag is unsupported.

Mon Jul  5 20:36:03 1999  Owen Taylor  <>

	* docs/generation.txt: Added a file that gives
	documenation about the autogeneration process for
	various autogenerated files.
Tue Jun 29 15:59:25 1999  Owen Taylor  <>

	* (LIBS): Look for libgmodule in the
	right location.

Thu Jun 17 13:57:31 1999  Owen Taylor  <>

	* docs/gtk_tut.sgml: Removed references to
	code examples in my directory on as
	they should all be in the tutorial now.

	* docs/gtk_tut.sgml: Added sources for dial-test
	and scribble-xinput programs that were previously

Fri Jun  4 00:08:59 1999  Owen Taylor  <>

	* TODO: Added entry about menu keyboard navigation, removed
	some finished items.

Mon May 31 00:11:24 1999  Owen Taylor  <>

	* acinclude.m4: Standardize on func_dgettext
	not func_gettext, so that the checks for dgettext
	actually are paid attention to.

Wed May  5 10:47:54 1999  Owen Taylor  <>

	* (LIBS): Add $INTLLIBS into $LIBS
	directly, rather than repeating the checks for

	* INSTALL: Added information about gettext and
	NLS support.

	* acinclude.m4 (LIBM): Check for dgettext, not
	just gettext. This should hopefully fix things wrt
	systems with old versions of GNU gettext installed.

Tue Jun 29 15:59:25 1999  Owen Taylor  <>

	* (LIBS): Look for libgmodule in the
	right location.

Thu Apr  1 16:58:10 PST 1999 Manish Singh <>

	* add --enable-maintainer-mode


Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <>

	* docs/
	  docs/ gtk-config is now generated.

	* docs/gtk-config.1: Removed, now generated.

Thu Sep 23 17:59:59 1999  Tim Janik  <>

        * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
        handle CreateNotify itself, still put out a debuging message for
        --gdk-debug=events. made the ReparentNotify debugging message more
        wrap xcoords translation for ConfigureEvents into an error trap,
        a destroy event may already be pending, and in that case, the
        actuall coordinate values are not at all critical.

Sat Sep 18 22:24:15 1999  Owen Taylor  <>

	* gdk/gdkcc.c: Stop leaking the color_hash all over
	the place. Simplify and improve the logic.

Fri Sep 17 09:57:15 1999  Tim Janik  <>

	* gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
	for prototypes and function implementations consistent (reported
	by Tomas Ogren).

Tue Sep 14 18:23:01 1999  Tim Janik  <>

	* gdk/gdkevents.c (gdk_event_translate): tell if expose events have
	send_event set in debugging output.
	(gdk_compress_exposures): default initialize the event so we don't
	operate on bogus values (namely send_event).

Thu Sep  2 16:33:59 1999  Owen Taylor  <>

	* gdk/gdkwindow.c: When we receive an unexpected
	destroy notify on one of our windows, don't just
	warn about it, also mark our windows as destroyed.

Sun Sep  5 08:10:53 1999  Owen Taylor  <>

	* gdk/gdkfont.c (gdk_font_hash_insert): Add
	  name => font and name => fontset hashes. The 
	  name => fontset hash is a _big_ win since we
	  weren't previously caching fontsets at all and loading
	  fontsets is expensive. The name => font hash
	  is less of a win, but it does save us from doing
	  repeated XQueryFont calls on the same font.

	* gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
	  list so we can remove font/fontset from hash.

Thu Sep  2 19:02:37 1999  Owen Taylor  <>

	* gdk/gdkproperty.c (gdk_atom_intern): Remove useless
	  and slightly confusing test. [ XInternAtom (,,TRUE)
	  will never return None ].

Sat Sep  4 08:39:26 1999  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints)
	  gdk/gdkwindow.c (gdk_window_set_hints):

	Don't omit setting the properties if flags == 0 -
	there may be an existing set of properties there
	already. (Very old bug. Would it be better to
	delete the property instead?)

	* gdk/gdkselection.c (gdk_selection_property_get): Fix 
	  spelling error in comment.

Wed Sep  1 14:05:30 1999  Owen Taylor  <>

	* gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
	  to avoid stomping over gdk_error_warnings.

	* gdk/gdkimage.c (gdk_image_new): compute image->bpp
	  as (bits_per_pixel + 7) / 8. This gives the same
	  result as before for multiples of 8, but actually
	  a "reasonable" value for 1bit or 4bit displays.

Mon Aug 23 19:11:17 1999  Tim Janik  <>

	* gdk/ minor cleanups, strip spaces on build rules for
	GNU Make.

Tue Aug 17 07:43:04 1999  Tim Janik  <>

	* gdk/gdkevents.c (gdk_event_translate): give a debugging note when
	discarding configure events.

1999-08-18  Federico Mena Quintero  <>

	* gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
	refcount is greater than zero.

	* gdk/gdkwindow.c (gdk_window_unref): Likewise.

	* gdk/gdkfont.c (gdk_font_unref): Likewise.

	* gdk/gdkgc.c (gdk_gc_unref): Likewise.

	* gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.

Wed Aug 11 01:04:57 1999  Owen Taylor  <>

	* gdk/gdkproperty.c (gdk_property_get): Fix assumption
	that format 32 => sizeof(item) == 4. It really is

Tue Jun 29 23:02:42 1999  Owen Taylor  <>

	* gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
	core dump at all on X IO errors, only core dump
	if --enable-debug for X errors.

Thu Jun 24 17:06:23 1999  Tim Janik  <>

	* gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
	unknown window:" message. disabled ConfigureNotify discarding code,
	because it led to events being processed out of order.

Thu Jun 24 12:22:02 1999  Tim Janik  <>

	* gdk/gdkglobals.c: preinitialize gdk_error_code to 0.

	* gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
	we export this function, supress error warnings and don't reset the
	error code in the first half of this function.

	* gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
	code (instead of just -1) so gdk_error_trap_pop() reveals something
	actually informative about the error that happened.

	* gdk/*.c:
	don't rely on gdk_error_code being -1 if an error occoured, but just
	gdk_error_code != 0.

Thu Jun 24 11:50:07 1999  Tim Janik  <>

	* gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
	pointer *before* invoking the filter function, so we at least don't
	crash if a filter is removed that is currently executed. window filters
	*really* need to be made truely reentrant at some point.

Mon Jun 14 11:10:15 1999  Tim Janik  <>

	* gdk/gdkevents.c (gdk_event_translate): print the atom name in the
	PropertyNotify debug messages.

Wed May  5 22:51:06 1999  Owen Taylor  <>
        Patch from Sung-Hyun Nam <>
	* gdk/gdkim.c: Fix cut-and-paste errors for 
	x/y and PreeditAttributes/StatusAttributes.

Wed May  5 22:24:21 1999  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
	G_MAXINT to 2^16 to alleviate overflow problems in
	various window managers.

Wed Apr 21 00:42:08 1999  Owen Taylor  <>

	* gdk/gdkfont.c (gdk_text_measure): Fix the return value
        for fontsets.

Wed May  5 12:42:01 1999  Owen Taylor  <>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints):
	Initialize size_hints.x and size_hints.y because kwm
	brokenly pays attention to them.
	(Bug #1181 -  Lars Heete <>)

Wed May  5 11:38:56 1999  Owen Taylor  <>

	* gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
	return value of gdk_list_visuals(). 
	(Bug #1193 - Morten Welinder <>)

Tue May  4 11:12:56 PDT 1999 Manish Singh <>

	* gdk/gdkim.c (gdk_im_real_open): cast the return value of
	XSetIMValues to (void *) when comparing to NULL, to workaround
	the problem of some compilers barfing since older X headers don't
	have the prototype for it.

Mon Apr 19 10:11:12 1999  Owen Taylor  <>

	* gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
	for pseudocolor where colormap->colors was double

	* gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
	color value in the hash table with the pixel filled
	in so when we do later hash table lookups, the color
	value is correct.
Sun May  2 15:29:45 PDT 1999 Manish Singh <>

	* gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
	making the call

Tue Apr 27 11:17:35 1999  Owen Taylor  <>

	* gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
	pointed out by Morten Welinder <>.

Wed Apr 21 14:20:22 1999  George Lebl  <>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Wed Apr 21 14:20:22 1999  George Lebl  <>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Fri Apr 16 20:41:43 PDT 1999 Manish Singh <>

	* gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines

	* gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
	g_strdup_printf instead of calcing the length separately

Tue Apr 13 02:49:33 1999  Owen Taylor  <>

	* gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
	that we don't do in many other places. (Fixing duplicate 
	#include of config.h)

	* gdk/gdkevents.c: include gdkinput.h _after_ config.h.
	Otherwise, #ifndef XINPUT_NONE check in the latter
	doesn't work. (Bug #546)

Sun Apr 11 14:38:03 1999  Tim Janik  <>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
	"None" case insensitive.

Tue Apr  6 16:38:51 1999  Owen Taylor  <>

	* gdk/gdkselection.c: 
	Add error traps so if the other end of the connection
	dies, we survive.

Tue Apr  6 12:24:21 1999  Owen Taylor  <>

	* gdk/gdkdnd.c (gdk_drag_motion): Separate out the
	dest_xid field into two fields - one for the window
	to send in messages, one to indicate the last looked
	up window for caching purposes. This is needed, so
	that Leave messages get the correct window.

Mon Apr  5 13:21:30 1999  Owen Taylor  <>

	* gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
	Fix warning created by people mucking around
	with the gsource API.

	* gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
	Change mapping between GIOCondition and GdkInputCondition
	to match the way the Linux kernel does it. This should
	fix problems where closed pipes were no longer signalling
	GDK_INPUT_READ on systems with a native poll().

Mon Apr  5 17:11:57 1999  Owen Taylor  <>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
	explicitly for the string "None" - it is in the XPM
	spec and some servers treat unknown colors in odd ways
	(like asking the user!)

Thu Apr  1 16:58:10 PST 1999 Manish Singh <>

	* gdk/gdkevents.c: made "->" into a "." of previous change so
	it compiles

Thu Apr  1 18:41:25 1999  Owen Taylor  <>

	* gdk/gdkevents.c (gdk_compress_exposures): Set the
	window field of the event structure before calling
	user filters.

1999-03-31  Federico Mena Quintero  <>

	* gdk/gdk.c (gdk_init_check): Use False as the last argument to
	XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.

Mon Mar 29 17:31:52 1999  Owen Taylor  <>

	* gdk/gdkim.c (gdk_mbstowcs): Free the value of the
	intermediate text property - prevents major memory
        leak when gdk_use_mb.
	gtk-d3august-990311-0: Bj|rn Augustsson <>

Mon Mar 29 17:02:58 1999  Owen Taylor  <>

        Patches from Akira Higuchi <>

	* gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
	sizeof(wchar_t) != sizeof (GdkWChar)

	* Fix confusion between GTK_LOCALE_[C]FLAGS
	that was causing -DX_LOCALE not	to work.

	* gtk/gtkrc.c (gtk_rc_init):
	X_LOCALE will never have LC_MESSAGES defined

	* gdk/gdk.c (gdk_init_check):
	Remove --xim-preedit and --xim-status from argv properly.

	* gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
	that the client window is present on the X server
	before we pass it to the input method.

Tue Mar  9 10:46:49 1999  Owen Taylor  <>

	* gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
	if --display is specified on the command line, than
	the drag window will not be created on that display.
Tue Mar  9 10:38:24 1999  Owen Taylor  <>

	* gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
	lookups with only_if_exists == TRUE were inserting
	bogus values into the atom cache.

Wed Mar 17 09:00:00 1999  Tim Janik  <>

	* gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
	then reset it to NULL.

	* gdk/gdkcolor.c:
	(gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
	key for g_hash_table_remove() in both functions, this prevents us
	from accessing possibly uninitialized portions of a GdkColor structure
	where we are only interested in its pixel value.

Tue Mar  9 01:01:28 1999  Tim Janik  <>

	* gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
	font hash table, if we have a GdkFontPrivate entry for this font
	already, simply increment its reference count, provided by Olaf Dietsche

1999-09-21  Tor Lillqvist  <>

	* gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
	just to be sure.

	* gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
	unused variables, leftovers from the X11 version.

	* gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.

	* gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
	downcase fields on X11.

Mon Sep 20 13:17:39 1999  Pablo Saratxaga <>
        *,po/pt_BR.po: added Portuguese Brazilian file from
        Alex Sandro Queiroz e Silva <>

1999-09-17  Tor Lillqvist  <>

	* gdk/win32/gdk.def: Add gdk_threads_mutex.

	* gtk/makefile.msc: Correct path to libintl.

	Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
	use of gint vs. int, and gint vs. gboolean in headers and
	definitions. Use GtkType for the *_get_type functions. Note that
	these changes preserve binary compatibility.

	* gdk/gdk.c
	* gdk/win32/gdk.c
	* gdk/gdk.h: Fix inconsistencies: gint vs int.

	* gtk/gtkmain.c
	* gtk/gtkclist.c
	* gtk/gtkmenufactory.c
	* gtk/gtknotebook.c
	* gtk/gtkwidget.c: Fix inconsistencies, also gint
	vs. gboolean.

	* gtk/gtkcolorsel.[ch]
	* gtk/gtkcombo.[ch]
	* gtk/gtkdrawingarea.[ch]
	* gtk/gtkgamma.[ch]
	* gtk/gtkhandlebox.[ch]
	* gtk/gtkhpaned.[ch]
	* gtk/gtkhruler.[ch]
	* gtk/gtkplug.[ch]
	* gtk/gtkpreview.[ch]
	* gtk/gtkruler.[ch]
	* gtk/gtksocket.[ch]
	* gtk/gtkstatusbar.[ch]
	* gtk/gtktoolbar.[ch]
	* gtk/gtkvbbox.[ch]
	* gtk/gtkvpaned.[ch]
	* gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type

	* gtk/gtkgamma.h: Fix bug, missing () in call of
	gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 

1999-09-14  Tor Lillqvist  <>

	* gdk/gdkcolor.c (gdk_colormap_new)
	* gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
	colormap->colors was allocated twice.

	* gdk/win32/gdk.c: Remove some unused stuff.

	* gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
	* gtk/gtklabel.h (gtk_label_get_type)
	* gtk/gtktipsquery.c (gtk_tips_query_get_type)
	* gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
	in a couple of places, not guint.

Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <>

	*,po/et.po: added Estonian language file

Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <>

	*,po/da.po: added Danish file

Sun Aug 29 13:38:59 BST 1999 Tony Gale <>

	* docs/gtkfaq.sgml: Minor FAQ Update

Sat Aug 28 14:34:37 BST 1999 Tony Gale <>

	* docs/gtkfaq.sgml: FAQ update

1999-08-27  Tor Lillqvist  <>

	Win32: Philippe Colantoni <> suggests a
	way to get window contents continually refreshed while resizing. I
	didn't like the effects myself, so it's not on by default.

	* gdk/win32/gdkprivate.h: New flag variable
	gdk_event_func_from_window_proc, FALSE by default.

	* gdk/win32/gdk.c (gdk_init_check): Set above flag if the
	environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
	are passed --gdk-event-func-from-window-proc.

	* gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
	and we have am event_func, call it instead of enqueing the event.

1999-08-23  Tor Lillqvist  <>

	* gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
	Kelley: Set expose_count in GdkEventExposes correctly.

	* gdk/win32/gdkwindow.c: Remove dead code (#ifdef

	* gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
	for bug in NT, apparently NT *does* draw the end pixel, too, in
	LineTo with a one-pixel pen, so we don't have to do it ourselves.

1999-08-21  Tor Lillqvist  <>

	Improvements by Hans Breuer: 

	* gdk/win32/gdkwindow.c (RegisterGdkClass): New function

	* gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
	CS_?REDRAW flags as they cause lots of (late) redraws when "show
	window contents while dragging" is turned on. Allocate at least
	one unique class for every GdkWindowType. If support for single
	window-specific icons is ever needed (eg. Dialog specific), every
	such window should get its own class.

1999-08-19  Tor Lillqvist  <>

	* gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
	error that caused crashes.

1999-08-17  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
	window, use ScrollWindowEx, and call UpdateWindow. This prevents
	bugs when for instance part of the window was outside the
	display. Thanks to Philippe Colantoni for finding and fixing this.

1999-08-16  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
	endpoint calculations which were totally wrong. (A little RTFMing
	helps a lot ;-)

	* gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
	from a separate directory, not from gettext, because of licensing
	issues (we want to use the LGPL version).

	* README.win32: Mention the intl from glibc vs from gettext issue.

1999-08-13  Tor Lillqvist  <>

	* gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
	in the key event handling: Now AltGr chars work again. Also,
	now Alt-digits are passed up as well as Control-digits.
	Pass keypad plus and minus as normal plus and minus.

Wed Aug 11 13:38:26 BST 1999 Tony Gale  <>

        * docs/gtkfaq.sgml: FAQ Update

1999-07-25  Tor Lillqvist  <>

	* README.win32
	* config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
 	the Wintab SDK.

	* gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
 	OK, but getting closer. Guard against bogus tilt data from Wacom
 	ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
 	enable easier building without Wintab.

	* gdk/win32/gdkinput.h
	* gdk/win32/gdkevents.c	
	* gdk/win32/gdkwindow.c: Minor changes related related to above.
	* gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
 	code. As we have just one visual on Win32, no sense to have it in a
 	table, and no need for the hash table.

	* gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
 	better on white background.

1999-07-21  Tor Lillqvist  <>

	* README.win32: Update gcc build instructions. Mention gettext is

	* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
 	supported cursor size with GetSystemMetrics.

	* gdk/win32/gdkfont.c
	* gtk/gtkfontsel.c: Guard against some font weight and charset
 	symbols being undefined (in mingw32 headers).

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin
	* gtk/gtkthemes.c: No longer need to have differently named
	gcc-built DLLs when using gcc-2.95 and -fnative-struct.

hu Jul 15 13:33:15 BST 1999 Tony Gale <>

	* docs/gtkfaq.sgml: Long awaited FAQ update.

1999-07-15  Tor Lillqvist  <>

	* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
 	it. Obscure bit manipulation needed.

	* gdk/win32/gdkevents.c: Logging.
	* gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
	style (file name include compiler name) for theme engines.

1999-07-13  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.

	* gdk/win32/gdkevents.c: Fix long-standing bug in key
 	events. The key.string wasn't zero-terminated, still we strdup'ed
 	it in gdk_event_copy(). Synthesize crossing events for button
 	events before possible propagation.

	* gdk/win32/gdkwindow.c: Log gdk_window_set_title.

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: Use new DLL naming style for the
 	GCC-compiled ones.

	* gdk/win32/makefile.msc
	* gtk/makefile.msc: Cosmetics mostly.

	* gtk/gtk.def: Add missing entry points.

	* gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.

1999-07-09  Tor Lillqvist  <>

	* gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
 	or height is zero. Don't print a warning if Pie or Arc fails, they
	always fail (?) for very narrow ellipses.

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
 	the part or the destination window corresponding to source area
 	outside of the source drawable's boundary.

	* gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
 	anything if less than two points.

	* gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
 	return NULL. Gtk cut-and-paste inside a single program works
 	better this way. (It always gets the clipboard contents from
 	Windows, not from its own copy, which is cleared anyway. I can't
 	say I fully understand what happens... Emulating the X selection
 	and property stuff is a bit of a mess.)

	* gdk/win32/gdkevents.c
	* gdk/win32/gdkproperty.c: A bit more verbose logging.

	* gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
 	that never got deleted). Revamp gdk_region_shrink.

	* gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
 	after use.

	* gtk/gtk.def: Add some missing entry points.

	* gtk/gtkrc.c: Strip trailing directory separator from pixmap path

1999-07-04  Tor Lillqvist  <>

	* gdk/win32/gdkevents.c (gdk_event_translate): Handle
 	Control-digits specially.

1999-07-03  Tor Lillqvist  <>

	* gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.

1999-06-28  Tor Lillqvist  <>

	* gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
 	bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
 	finding this.)

1999-06-01  Jose H Mercado  <>

	* Corrected some typos in files section.
1999-06-15  Tor Lillqvist  <>

	* README.win32: Mention using GNU gettext.
	* config.h.win32: Enable NLS stuff.
	* gtk/makefile.msc: Use GNU gettext.
	* gdk/win32/gdkdnd.c: Minor header reorg.
	* gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
	* gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
	* gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.

Wed Jun  2 11:44:25 PDT 1999 Manish Singh <>

	* acinclude.m4
        * config.guess
        * config.status
        * ltconfig
        * upgrade to libtool 1.3.2 (BeOS changes merged)

1999-05-30  Tor Lillqvist  <>

	* gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
 	SafeAdjustWindowRectEx. Don't override all calls to
 	AdjustWindowRectEx by it, but use it only in two places: When
 	creating a new top-level window and when moving a top-level

	Use screen coordinate rectangle, not client rectangle, in
 	gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
 	when we try to place a window so that the decoration (mainly,
 	title bar) isn't visible.

	These changes fix the bug that showed up for instance as the
 	GIMP's saved top-level windows moving right and down (by an amount
 	equal to the window decoration) for each session. This bug showed
 	up also in testgtk's "Saved Position".

	gdk_window_resize also redone a bit.

1999-05-25  Tor Lillqvist  <>

	* gtk/testgtkrc: Add (commented out) Windows-style theme
	include line.

	* gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.

1999-05-18  Tor Lillqvist  <>

	* gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
 	gdkx.h to a gdk subdirectory, so that applications can include
 	these with <gdk/*.h> without trouble.

	* gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
	(gdk_image_destroy): Plug resource leak, some GdkImages didn't
	have their bitmap destroyed.

	* gdk/win32/gdk.def: Add gdk_root_parent.

Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <>

	  gtk/ changes to compile nicely (with xlib) 
          on BeOS

Sat May  1 15:04:42 PDT 1999 Manish Singh <>

	* acinclude.m4
	* config.guess
	* config.sub
	* ltconfig
	* upgrade to libtool 1.3

Fri Apr 30 13:38:16 1999  Lars Hamann  <>

	* gtk/gtkclist.c:
	* gtk/gtkctree.c: merges from gtk-1-2

1999-04-25  Tor Lillqvist  <>

	Support added for building using a GNU toolchain on Win32,
	gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.

	* gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
	* config.h.win32: Changes for gcc.
	* gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
	* gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
	* gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
	* gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
	Protect shl stuff unavaiilable with mingw32 headers.
	* gdk/win32/gdkevents.c: Fix typo.
	* gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
	* gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
	* gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
	* gdk/win32/gdkprivate.h: Make up for some stuff missing from
	the mingw32 headers.
	* gdk/win32/makefile.msc: Use latest Wintab kit and glib.
	* gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
	definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
	Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/gtkmain.c: No use warning about developer version on Win32,
	there aren't any non-developer versions anyhow.
	* gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/makefile.msc: Use pthread from another directory. Minor other

Wed Apr 21 14:20:22 1999  George Lebl  <>

        * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
          default filter from the list

Mon Mar  8 12:52:53 1999  Owen Taylor  <>

	* gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
	 when gtk_widget_grab_default() is called for a widget that
	 is not within a GtkWindow.

Sat Apr 10 13:52:54 BST 1999  Tony Gale <>

	* docs/gtk_tut.sgml, examples/clist.c: use a
	  scrolled window in the clist example. Minor
	  tutorial fixes.

Fri Apr  2 09:19:20 BST 1999  Tony Gale <>

	* docs/gtk_tut.sgml: Style check from David King

1999-03-30  Pavel Machek  <>

	* gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
	compile with unknown value of GDK_WINDOWING

1999-03-28  Raja R Harinath  <>

	* gdk/ (gdkconfig.h): Make sure `gdkconfig.h' exists
	after the rule is fired.
	(install-exec-local): Install gdkconfig.h only if the contents are
	different from the currently installed gdkconfig.h.

1999-03-26  Raja R Harinath  <>

	* gdk/ (configexecincludedir): Rename from 
	configincludedir so that gdkconfig.h will be installed 
	as part of `make install-exec'. 

Fri Mar 19 16:50:33 PST 1999 Manish Singh <>

	* acinclude.m4
	* config.guess
	* config.sub
	* ltconfig
	* upgrade to libtool 1.2f

	* libtool is not required to autogen gtk+

	* acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly

1999-03-18  Tor Lillqvist  <>

	* gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
	declaring gdk variables exported/imported from the DLL. New image
	type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
	drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and

	* gdk/gdk.h: Merge in Win32 version: Two new functions,
	gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
	declared only for the Win32 version, but could be in the X11
	version as well. (Needed for a Xlib-less gdk_imlib.)
	gdk_color_hash should have only one parameter. Declare
	gdk_threads_mutex with GDKVAR.
	* gdk/gdkcolor.c (gdk_color_hash): A hash function should have
	just one parameter.

	* gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
	per pixel, not bits.

	* gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
	Fetch bpp (which means bits-per-pixel here) from another place on
	Win32. Accept also depth==32 (which we might get on Win32) with

	* gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
	Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
	in the backend-dependent directory, not in the common gdk

	* gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk

Wed Mar 17 05:06:49 1999  Tim Janik  <>

	* gtk/gtkmain.c (gtk_init_check): tell people that they don't really
	want to use the Gtk+ devel version (which is true, and yes - even i am
	currently working with the 1.2.x branch). so everyone reading this, you
	probably want to issue
	cvs checkout -r glib-1-2 glib
	cvs checkout -r gtk-1-2 gtk+
	as your next two comands.

Wed Mar 17 02:49:32 1999  Tim Janik  <>

	* build gtkcompat.h from instead of
	gtkfeatures.h from, require GLib 1.3.0.

	* gtk/ combined gtkcompat.h and in this
	file. strongly deprecated the GTK_HAVE_* macros, we provide
	GTK_CHECK_VERSION() for people that need to check for certain
	Gtk+ versions.

	* gtk/gtkcompat.h: removed this from CVS.
	* gtk/ removed this from CVS, gtkfeatures.h was a bad
	idea right from the start, it just didn't seem like that back then.

Wed Mar 17 01:46:28 1999  Tim Janik  <>

	* merges from gtk-1-2:

Tue Mar 16 17:43:33 1999  Tim Janik  <>

        * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
        item factory class has been created.
        (gtk_item_factory_parse_rc): likewise.

        * gtk/gtkmenu.c:
        keep proper references for old_active_menu_item.
        (gtk_menu_reparent): unset the usize of the new parent,
        so the menu can sanely be size requested and we don't get nasty screen
        artefacts upon next reparentation.
        (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
        enter notify. only synthesize enter notifies if the pointer really is
        inside the event window.
        (gtk_menu_popdown): use gtk_menu_shell_deselect().
        (gtk_menu_popup): move the background setting stuff into
        gtk_menu_tearoff_bg_copy() so it can be called from other places as well.

        * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
        gtk_menu_shell_select_item() to select the new item.
        (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
        do the right thing for deselection as well.

Sat Mar 15 20:10:33 1999  Tim Janik  <>

        * gtk/gtkwidget.[hc]:
        (gtk_widget_accelerators_locked): return whether a widget's accelerators
        are locked.

        * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
        existing accelerators if the widget's accelerators are locked.

Sat Mar 14 19:44:05 1999  Tim Janik  <>

        * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.

        * gtk/gtkmenu.c: truely forward key press and key release events to
        the menu widget from the toplevel or tearoff window. we can't simply
        connect to that, we need to stop further processing of the events as

Sat Mar 13 13:14:17 1999  Tim Janik  <>

        * gtk/gtkmenu.c:
        (gtk_menu_key_press): pass event->keyval, event->state to
        gtk_accelerator_valid, instead of event->keyval twice.
        refuse to install single letter accelerators for menus that use
        single letter shortcuts.

        * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use

        * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
        which will always return an uline accel group, made
        gtk_menu_get_uline_accel_group() return NULL if the group isn't
        yet created.

Mon Mar 15 01:03:27 1999  Lars Hamann  <>

        * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.

        * gtk/gtkclist.c (gtk_clist_column_title_passive):
        Leave button sensitive, trap  button_press, button_release,
        motion_notify, enter_notify and leave_notify events instead.
        (gtk_clist_column_title_active): disconnect event handler.
        (gtk_clist_drag_data_get): fixed memory leak. Reported by
        Guillaume Laurent <>

Wed Mar 10 23:49:55 1999  Lars Hamann  <>

        * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
        width/height mixups.

        * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
        if needed.

Wed Mar 10 00:11:32 1999  Tim Janik  <>

        * gtk/testgtk.c (create_item_factory): unref the item factory after
        window's destruction.

        * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
        count on the menu shell around the menu item's activation, since the
        signal emission may cause menu shell destruction.

        * gtk/gtkitemfactory.c:
        the previous code leaked one accel group per menu. we use
        gtk_menu_get_uline_accel_group() now to fix that, and with that
        also create the underline accelerator group of the menus only if
        required (i.e. an underline accelerator has been specified).
        (gtk_item_factory_create_item): removed code that would create an
        extra accel group for the menu (and leak references).
        (gtk_item_factory_create_item): adapted the underline accelerator
        installation code to properly feature gtk_menu_get_uline_accel_group().

        * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
        menu->accel_group, this may return NULL if the accelerator group
        hasn't been set yet.
        added gtk_menu_get_uline_accel_group() to retrive the underline
        accelerator group of the menu, this will be created on demand
        and proper care is taken about its reference count.

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c:
        dumped the approach of keeping a widgets by action list on the
        factory since the factory<->widget destroy negotiation didn't work
        and would be hard to get going at all. instead we keep a list of
        GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
        persistant throughout a program's life time).
        also, i removed the static const gchar *key_* variables, and made
        them inline strings (they weren't actually used anyways).
        (gtk_item_factory_add_item): update ifactory->items.
        (gtk_item_factory_destroy): destroy ifactory->items (and remove
        the item factory pointer from the remaining ifactory widgets).
        (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
        list to find the widget.
        (gtk_item_factory_get_item): new function that works around
        gtk_item_factory_get_widget() limitations, this function will only
        return menu items, even for <Branch> entries.

Tue Mar  9 01:01:28 1999  Tim Janik  <>

        * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
        font hash table, if we have a GdkFontPrivate entry for this font
        already, simply increment its reference count, provided by Olaf Dietsche

        * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
        provided by Olaf Dietsche <>.

Sun Mar  7 06:13:29 1999  Tim Janik  <>

        * gtk/gtkcontainer.c:
        (gtk_container_add): before adding a child to a conatiner, make sure
        it is (default) constructed, this is neccessary because under certain
        circumstances the child will get relized and mapped immediatedly, in
        which case it has to be constructed already.

Mon Mar  1 17:58:21 1999  Tim Janik  <>

        * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
        values > 1 as TRUE also.

1999-03-16  Tor Lillqvist  <>

	* README.win32: New file.
	* Check for lstat.

	* config.h.win32: Add non-definition of HAVE_LSTAT, just for

	* gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.

	* gtk/gtk.def: Removed CRs.

	* gtk/makefile.msc: Correct include path to Win32 GDK version (in

	* gdk/win32/makefile.msc: Correct upwards relative paths.
Mon Mar 15 03:38:34 1999  George Lebl  <>

	* gtk/gtkdnd.c: (gtk_drag_highlight) swap the
	  gtk_drag_highlight_expose and gtk_drag_highlight_paint since
	  it was connecting a void function to expose_event and the int
	  returning function to the draw signal

1999-03-14  Jeff Garzik  <>

	Use correct path to when ref'ing uninstalled copy
	of glib.  (Already in stable branch, Bug #417)

1999-03-15  Tor Lillqvist  <>

	Win32 merge and general portability stuff:
	* acconfig.h, Check for <sys/time.h>.

	* gdk/win32: New directory (actually, been there for a while).
	* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
	NATIVE_WIN32, and use these. Always case fold on Win32. No
	backslashed escapes on native Win32.

	* gtk/{gtk.def,makefile.msc}: New files.

	* gtk/ Add above new files.
	* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
 	instead of <strings.h>.

	* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
	config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
	<unistd.h> appropriately.

	* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
	Use ABS() (from <glib.h>) instead of abs().
	* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
	of gtk (and thus glib) headers, so that WIN32 will be
	defined. With MS C, include <direct.h> for mkdir prototype.

	* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
	some casts, needed by MS C.

	* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't

	* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
	<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
	G_SEARCHPATH_SEPARATOR_S and g_module_build_path.

	* gtk/gtkmain.h: Mark variables for export/import on Win32.
	* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
	the event is not a hint, or its window is not the slider. Needed
	on Win32, at least.

	* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
	unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
	G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
	a subdirectory of the Windows directory as gtk system
	configuration directory.

	* gtk/gtkselection.c: No chunks on Win32.

	* gtk/gtksocket.c: Not implemented on Win32.

	* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.

	* gtk/makeenums.h: Include gdkprivate.h after gdk.h.

	* gtk/maketypes.awk: Declare variables with a macro that expands to
	necessary export/import magic in the case of Win32.
	* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.

1999-03-13  Raja R Harinath  <>

	* (gdk_wc): Move widechar tests from `glib' to here,
	since those were meant only for gdki18n.h.  
	* gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
	for widechar tests.
	* gtk/ (INCLUDES): Add -I../gdk for gdkconfig.h.

1999-03-13  Tor Lillqvist  <>

	* acconfig.h: Check for dirent.h and pwd.h. Generate
	gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.

	* Add @libdir/gtk+/include (where gdkconfig.h is
	installed) to CFLAGS.

	* gdk/ Add rules for gdkconfig.h.

	* gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing

	* gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
	gdkx.h anyway when compiling for X11.
	(gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
	general): Merge in Win32 version.
	* gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
	version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
	expansion (if we don't have HAVE_PWD_H), allow for drive
	letters. UNC paths (\\server\share\...) are not handled yet.  Also,
	included code from Craig Setera's port to Win32 (the one that uses
	X11, and the cygwin dll), even if it probably will be abandoned.

	* gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
	the user entered one herself.  This way one can complete *.h and
	don't get matches on any .help files, for instance.
Tue Mar  9 01:01:28 1999  Tim Janik  <>

        * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
        font hash table, if we have a GdkFontPrivate entry for this font
        already, simply increment its reference count, provided by Olaf Dietsche

        * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
        provided by Olaf Dietsche <>.

1999-03-09  Federico Mena Quintero  <>

	* gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
	the number of calls to gdk_draw_point() (and thus to X) by
	clipping the points by hand.

	* gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
	the clip parameter.
	(gtk_handle_box_paint): Only paint the handle if the expose area
	intersects it.

Sun Mar  7 18:46:37 1999  (Asbjorn Pettersen)

	* gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)

Sun Mar  7 11:43:34 1999  (Asbjorn Pettersen)

	* gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
	Added function gen_8_3_dll_name(gchar *name, gchar *fullname).

Fri Mar  5 09:12:24 1999  (Asbjorn Pettersen)

	* gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
	 textmode (O_TEXT) for OS/2 version.

Sun Feb 28 16:46:02 1999  Stefan Jeske  <>

	* gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
	GtkSpinButton, "input" and "output", to make the output more flexible.
 	The user has to provide a mapping between adjustment->value and the
 	output string (and vice versa, if the spin button is editable). 
	See testgtk for examples.

Sat Feb 27 01:18:47 1999  Tim Janik  <>

	* ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
	new one.
	* set gtk+ version to 1.3.0.

	* gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog,