Commit Graph

259 Commits

Author SHA1 Message Date
Matthias Clasen
1312c002df Fix problems with drag cancellation. (#376535, Michael Natterer)
2006-11-17  Matthias Clasen  <mclasen@redhat.com>

	Fix problems with drag cancellation. (#376535, Michael Natterer)

	* gtk/gtkdnd.c (gtk_drag_source_info_destroy): Disconnect signal
	handlers before emitting drag-end.
	(gtk_drag_end): Disconnect signal handlers before removing
	the grab.
2006-11-18 04:37:33 +00:00
Alexander Larsson
853f5e5fc2 Cancel drag when the grab is shadowed. (#122688)
2006-11-06  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkdnd.c: (gtk_drag_begin_internal),
	(gtk_drag_source_info_destroy), (gtk_drag_end),
	(gtk_drag_grab_notify_cb):
	Cancel drag when the grab is shadowed. (#122688)
2006-11-06 17:16:37 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:39:16 +00:00
Matthias Clasen
0db1e78f9d fix 347277 2006-07-18 22:16:44 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
3a0c91edbe fix late setting of dnd icons 2006-04-27 05:16:43 +00:00
Søren Sandmann
b9d1a03440 Create 'composited' label.
Tue Apr 25 10:25:28 2006  Søren Sandmann  <sandmann@redhat.com>

	* tests/testgtk.c (create_alpha_window): Create 'composited' label.

	* tests/testgtk.c (on_composited_changed): New function, change
	the label to say whether the screen is composited or not.

	* gtk/gtkwindow.c (gtk_window_on_composited_changed): When
	composited status change, invalidate the window and propagate the signal;.

	* gtk/gtkwindow.c (gtk_window_map): Set the appropriate type hint
	if reset_type_hint is TRUE.

	* gtk/gtkwindow.c (gtk_window_set_type_hint): If hint is one of
	the old hints, store a shadow copy in the public window->type_hint
	bitfield, otherwise set this field to normal. Set the private
	field to the type hint.

	* gtk/gtkwindow.c (gtk_window_init): Initialize priv->type_hint.

	* gtk/gtkwindow.c (struct _GtkWindowPrivate): New field
	"reset_type_hint" indicating whether the type hint needs to be
	reset. New field type_hint containing a GdkWindowTypeHint.

	* gtk/gtkwidget.c (propagate_composited_changed): New function to
	propagate changes in composited status.
	(gtk_widget_class_init): Add composited_changed signal.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): New signal composited-changed.

	* gtk/gtkwidget.c (gtk_widget_is_composited): New function.

	* gtk/gtktooltips.c (gtk_tooltips_draw_tips): Set transient for.

	* gtk/gtktooltips.c (gtk_tooltips_force_window): Set the type hint

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Compute whether
	the item belongs to a menubar. Set the type_hint appropriately
	depending on the outcome.

	* gtk/gtkmenu.c (gtk_menu_position): Set the default type hint here.

	* gtk/gtkmenu.c (gtk_menu_attach_to_widget): connect to hierarchy
	changed on the attach widget.

	* gtk/gtkmenu.c (attach_widget_hierarchy_changed): New function to
	set the transient_for property for menus.

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): Set the appropriate type hint.

	* gtk/gtkcombo.c (gtk_combo_popup_list): Make the popup window
	transient for the toplevel.

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Set
	transient-for, for the popup window.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): Support for
	new window types.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_type_hint): Add support
	for new window types.

	* gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_process_owner_change):
	New function called whenever the compositing manager comes and goes.

	* gdk/x11/gdkscreen-x11.c (gdk_screen_is_composited): New function.

	* gdk/x11/gdkscreen-x11.c
	(_gdk_x11_screen_request_cm_notification, make_cm_atom,
	check_is_composited): New functions

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
	_gdk_x11_screen_process_owner_change when an
	XFixesSelectionNotifyEvent is received.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Call
	_gdk_x11_screen_request_cm_notification() on all screens.

	* gdk/quartz/gdkscreen-quartz.c (gdk_screen_is_composited): Dummy
	implementation.

	* gdk/gdkscreen.c (gdk_screen_class_init): New signal,
	'composited-changed'.

	* gdk/gdkwindow.h: Add new EWMH window types.

	* gdk/win32/gdkscreen-win32.c (gdk_screen_is_composited)
2006-04-25 14:27:32 +00:00
Christian Persch
c114a3c19a Fix UMR in gtk_drag_dest_motion. Bug #338725.
2006-04-17  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkdnd.c: (gtk_drag_dest_set), (gtk_drag_dest_set_proxy): Fix
	UMR in gtk_drag_dest_motion. Bug #338725.
2006-04-17 13:43:23 +00:00
Matthias Clasen
bbec8800a4 Make sure to get an icon window when constructing the fallback_icon. This
2006-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_icon): Make sure to get an
	icon window when constructing the fallback_icon. This
	fixes a crash when dragging icons between screens in
	nautilus.  (#325751, Hylke van der Schaaf)
2006-03-30 18:22:39 +00:00
Carlos Garnacho
efbac09061 make sure that gdk_drag_event() is called when track_motion is TRUE to
2006-03-23  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkdnd.c (gtk_drag_dest_motion): make sure that gdk_drag_event()
        is called when track_motion is TRUE to receive drag_motion and
        drag_leave events properly.
2006-03-23 14:39:56 +00:00
Matthias Clasen
411d798e93 Improved DND support for GtkNotebook (#332991, Carlos Garnacho)
2006-03-22  Matthias Clasen  <mclasen@redhat.com>

	Improved DND support for GtkNotebook  (#332991, Carlos Garnacho)

	* gtk/gtk.symbols:
	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c: Add a track_motion flag on GtkDragDest
	with getter and setter, for cases where the drag destination
	is interested in drag motion events independent of targets.

	* gtk/gtksettings.c (gtk_settings_class_init): Add a setting
	for the timeout used when expanding during DND.

	* gtk/gtknotebook.c: Use the track_motion flag to switch
	notebook tabs when hovering over tabs during DND.
2006-03-22 20:17:23 +00:00
Matthias Clasen
2d12378f9e Remove an unused variable.
2006-03-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_cursor): Remove an unused variable.
2006-03-21 03:59:44 +00:00
Federico Mena Quintero
712dc6b8da Cancel drags when the grabs get broken. Fixes bug #333056:
2006-03-07  Federico Mena Quintero  <federico@novell.com>

	Cancel drags when the grabs get broken.  Fixes bug #333056:

	* gtk/gtkdnd.c (gtk_drag_selection_received): The time argument is
	a guint, not guint32.
	(gtk_drag_source_event_cb): Return gboolean, not gint.
	(gtk_drag_anim_timeout): Likewise.
	(gtk_drag_motion_cb): Likewise.
	(gtk_drag_key_cb): Likewise.
	(gtk_drag_button_release_cb): Likewise.
	(gtk_drag_abort_timeout): Likewise.
	(gtk_drag_begin_internal): Connect to "grab-broken-event" on the
	ipc_widget.
	(gtk_drag_source_info_destroy): Disconnect from the
	"grab-broken-event" callback.
	(gtk_drag_end): Likewise.
	(gtk_drag_grab_broken_event_cb): New callback.  We cancel the drag
	if the grab was broken and not regrabbed by the DnD code.

2006-03-07  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_button_press_event_cb):
	Hack to let the treeview's button-press-event handler run before
	ours.  This lets the selection be updated before we pop up a
	context menu.
2006-03-07 17:48:07 +00:00
Matthias Clasen
01f9d21e9e slight cleanup 2006-02-27 06:44:33 +00:00
Matthias Clasen
aaed59e21d Comment out some unused code, and fix the reference point of composited
2006-02-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_cursor): Comment out some unused
	code, and fix the reference point of composited drag cursors.
	(#320132, Christian Neumair)
2006-02-27 06:42:20 +00:00
Matthias Clasen
94cb364cf6 DND keynav support:
2006-02-17  Matthias Clasen  <mclasen@redhat.com>

        DND keynav support:

        * gtk/gtkdnd.c (gtk_drag_update_idle): Protect against
        info->last_event being NULL.
        (gtk_drag_key_cb): Handle arrow keys to move the drag icon
        and space or enter to drop.
2006-02-17 16:47:29 +00:00
Matthias Clasen
df3005e14b Fix the build 2006-01-03 15:38:31 +00:00
Matthias Clasen
53de39a409 Remove pointless cast 2006-01-03 13:50:59 +00:00
Matthias Clasen
beddd0c5e8 Call gtk_drag_update for non-motion events. (#325443, Peter Harvey)
2006-01-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_begin_internal): Call gtk_drag_update
	for non-motion events.  (#325443, Peter Harvey)
2006-01-03 13:50:02 +00:00
Matthias Clasen
2ea833db9f Warn if the icon cannot be loaded. (#323504, Kjartan Maraas)
2005-12-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
	cannot be loaded.  (#323504, Kjartan Maraas)
2005-12-14 19:14:14 +00:00
Matthias Clasen
04f94a98f2 Fix the anchor of the default drag cursors. (#319200, Federico Mena
2005-10-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
	drag cursors.  (#319200, Federico Mena Quintero)
2005-10-28 17:06:43 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
89fafcd38b Fix a copy-and-paste mistake in the docs. (#315993, Guillaume Cottenceau)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
	mistake in the docs.  (#315993, Guillaume Cottenceau)
2005-09-13 17:18:01 +00:00
Matthias Clasen
af89d145f7 Use gdk_atom_intern_static_string() where appropriate.
* gtk/*.c:  Use gdk_atom_intern_static_string() where
	appropriate.
2005-09-11 05:48:27 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
9cffa70148 Create the icon window with the correct dimensions. (#312256, Mike
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): Create the icon window
	with the correct dimensions.  (#312256, Mike Morrison)
2005-08-01 17:02:49 +00:00
Matthias Clasen
9f3f20dc7b Don't fail if we can't get a keyboard grab. (#168351)
2005-07-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_begin_internal): Don't fail if we
	can't get a keyboard grab.  (#168351)
2005-07-20 19:54:04 +00:00
Matthias Clasen
b53a336e11 Pass a GdkDragAction to gtk_drag_get_cursor. (#309784, Sebastian Bacher)
2005-07-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_update_cursor): Pass a GdkDragAction to
	gtk_drag_get_cursor.  (#309784, Sebastian Bacher)
2005-07-08 14:36:31 +00:00
Matthias Clasen
d6ef11469b Connect to button-release-event as well, to handle touchscreen scenarios
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_source_set): Connect to
	button-release-event as well, to handle touchscreen
	scenarios better.  (#171490, Markku Vire)
2005-06-21 05:54:11 +00:00
Manish Singh
be53636ec1 remove unused variable.
Thu Jun 16 15:33:42 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable.

        * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use
        g_return_val_if_fail.

        * gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y
        for all cases.

        * gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image
        takes a GtkWidget, not a GtkImage.
2005-06-16 22:35:45 +00:00
Matthias Clasen
17441e5e7c Update the RGBA cursor if an icon is set after the cursor has been
* gtk/gtkdnd.c: Update the RGBA cursor if an
	icon is set after the cursor has been constructed.
	Also handle repeated setting of icons correctly.
2005-06-16 16:06:54 +00:00
Matthias Clasen
920b5749b3 Use named cursors for the DND cursors, the names are "dnd-none",
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	Use named cursors for the DND cursors, the names are "dnd-none",
	"dnd-copy", "dnd-link", "dnd-move" and "dnd-ask". Also use an RGBA
	cursor instead of cursor+window when possible. This saves
	roundtrips during the drag operation, and makes translucent icons
	possible.

	* gtk/gtkdndcursors.h: New file, containing inlined pixbufs
	for the default dnd cursors.

	* gtk/gtkdnd.c (struct _GtkDragSourceInfo): Store the cursors
	used during the drag here, also store the icon pixbuf here.

	* gtk/gtkdnd.c (drag_cursors): Store the cursor names here. Also
	switch the default cursors from xbm to inlined pixbufs.

	* gtk/gtkdnd.c (gtk_drag_get_cursor): This function now takes the
	GtkDragSourceInfo as well, since it has to composite the
	drag-specific cursors. The cursors combined from the image of
	the themed cursor and the icon_pixbuf stored in the info.

	* gtk/gtkdnd.c (gtk_drag_begin_internal): Don't set the default
	icon if there is an icon_pixbuf, which will be composited into
	the cursor later.

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): If appropriate, store
	the pixbuf in the info struct for later compositing into the
	cursor instead of creating an icon window.

	* gtk/gtkdnd.c (gtk_drag_drop_finished): If we used an
	RGBA cursor for the drag, and need to display the cancel
	animation, construct the icon window here.

	* gtk/gtkdnd.c (gtk_drag_source_info_destroy): Unref the
	drag-specific cursors and the icon_pixbuf when done with
	the drag.
2005-06-14 19:58:10 +00:00
Matthias Clasen
77f3189adc New functions to support themed drag icons. (#116577, Christian Neumair)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c (gtk_drag_source_set_icon_name)
	(gtk_drag_set_icon_name): New functions to support themed
	drag icons.  (#116577, Christian Neumair)
2005-05-18 05:23:59 +00:00
Owen Taylor
dda40ca71a Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
	to draw the swatch in to avoid having an extraneous window.

	* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
	color when !has_opacity.

2005-05-10  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
	files for Cairo convenience functionality.

	* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
	convenience functions to add GdkRectangle, GdkRegion to a cairo path.

	* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
	gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().

	* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
	gdk_drawable_create_cairo_context() to gdk_cairo_create().

	* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
	Rename gdk_pixbuf_set_as_cairo_source() to
	gdk_cairo_set_source_pixbuf().

	* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
	gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
	Adjust for renames.

	* gdk/gdk.symbols: Update.

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
	coordinate system problem that was causing the wrong portions
	to be invalidated.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
	gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
	gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
	gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
	gtk/gtkcellview.c (gtk_cell_view_expose)
	gtk/gtkdnd.c (gtk_drag_highlight_expose)
	gtk/gtkentry.c (gtk_entry_draw_text)
	gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.

	* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
	GTK+ style ... use instance-private data and standard names for
	private structure, etc. Move function docs inline.

	* gtk/gtkcalendar.[ch]: Switch to drawing everything in
	expose. Switch drawing to Cairo.

	* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
	gtk_calendar_freeze/thaw
2005-05-11 19:16:19 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Matthias Clasen
1d0c7ea1bb Fix many instances of "the the" in docs and comments. (#165815, Masao
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* */*.c: Fix many instances of "the the" in docs and
	comments.  (#165815, Masao Mutoh)
2005-02-01 18:15:09 +00:00
Matthias Clasen
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
Matthias Clasen
a811584d01 Use the new file DND api.
2004-10-22  Matthias Clasen  <mclasen@redhat.com>

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

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

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

	* configure.in: Bump glib requirement to 2.5.4.

	* gtk/gtkfilechooserdefault.c (shortcuts_drop_uris): Use
	g_uri_list_extract_uris().
2004-10-22 22:50:32 +00:00
Matthias Clasen
81229a1b0b Document how to use info with text/image targets.
2004-10-22  Matthias Clasen  <mclasen@redhat.com>

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

	* gtk/gtkselection.h:
	* gtk/gtkselection.c (gtk_target_list_add_text_targets):
	(gtk_target_list_add_image_targets): Add info argument.

	* gtk/gtkcalendar.c (gtk_calendar_motion_notify):
	* gtk/gtkentry.c (gtk_entry_init):
	* gtk/gtktextview.c (gtk_text_view_init): Adjust all callers.
2004-10-22 17:27:06 +00:00
Matthias Clasen
968b192fec Add convenience api for image dnd (#150165):
2004-10-21  Matthias Clasen  <mclasen@redhat.com>

	Add convenience api for image dnd (#150165):

	* gtk/gtkselection.h:
	* gtk/gtkselection.c (gtk_target_list_add_image_targets)
	(gtk_selection_data_set_pixbuf, gtk_selection_data_get_pixbuf):
	New functions to handle the image formats readable/writable
	by gdk-pixbuf.

	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c (gtk_drag_dest_add_image_targets)
	(gtk_drag_source_add_text_targets): New functions to handle
	the image formats readable/writable by gdk-pixbuf.
2004-10-21 04:53:23 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

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

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

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

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

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Matthias Clasen
0c42eed2de Ref and sink the column. (gtk_combo_box_menu_destroy): Unref the column.
Sun Aug  8 23:36:55 2004  Matthias Clasen  <maclas@gmx.de>

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

Sun Aug  8 23:35:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets):
	(gtk_drag_dest_add_text_targets): Don't leak a reference
	to the target list.
2004-08-09 03:39:06 +00:00
Hans Breuer
794776640b take targets into account again to allow dnd of other things than text
2004-08-07  Hans Breuer  <hans@breuer.org>

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

	* gdk/win32/gdkselection-win32.c : offer windows bitmap to
	be pasted from clipboard (makes The GIMP 2.1's
	"File/Acquire/Paste as New" work, only using gtk+ API)
2004-08-08 22:31:12 +00:00
Matthias Clasen
39469f8f4a Really fix the initialization of the target list.
2004-08-06  Matthias Clasen  <mclasen@redhat.com>

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

	Support XDND v5. (#10220, Owen Taylor)

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

	* gdk/gdkdnd.h:
	* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): New function
	to find out whether a drop was successful.
2004-08-06 17:03:52 +00:00
Matthias Clasen
d0a5b4e0c8 Create the change to initialize target_list to an empty list instead of
Fri Jul 23 13:04:10 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_dest_set): Create the change to
	initialize target_list to an empty list instead of NULL,
	since it broke tree dnd.  (#148215, Ernst Persson)

	* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): Instead
	handle target list being NULL here.
2004-07-23 17:06:44 +00:00
Soeren Sandmann
1952300896 Create an empty target list if targets is NULL.
Sun Jul 18 15:28:24 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkdnd.c (gtk_drag_source_set, gtk_drag_dest_set): Create an
	empty target list if targets is NULL.

	* configure.in: Add check for X11/extensions/sync.h. (#147416,
	Morten Welinder)
2004-07-18 15:14:05 +00:00
Matthias Clasen
fb88101854 Support text/plain selection target (#55117, Owen Taylor)
Sat Jul 17 00:48:27 2004  Matthias Clasen  <maclas@gmx.de>

	Support text/plain selection target  (#55117, Owen Taylor)

	* gtk/gtkselection.h:
	* gtk/gtkdnd.h:
	* gtk/gtkselection.c (gtk_target_list_add_text_targets):
	* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
	* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New
	functions to facilitate handling of text targets.

	* gtk/gtkentry.c:
	* gtk/gtktextview.c: Use the new text target handling
	functions instead of hardwiring the list of supported
	text targets everywhere.

	* gtk/gtkselection.c (gtk_selection_data_get_text):
	(gtk_selection_data_set_text):
	Support the targets text/plain, text/plain?charset=utf-8
	and text/plain?charset=<LOCALE-CHARSET> as outlined in
	#55117:
	For text/plain send only ASCII, but accept 8-bit text
	and treat it as ISO-8859-1 as specified by the Xdnd spec.
	Always send CRLF terminators. Accept either and convert
	into the native terminator for the platform.
2004-07-17 04:58:02 +00:00
Owen Taylor
fadaa65145 For GTK_IS_PLUG toplevels, call gdk_window_get_origin() not
Sat Mar 13 10:49:46 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): For
        GTK_IS_PLUG toplevels, call gdk_window_get_origin()
        not gtk_window_get_position, as a hackround for not
        having accurate notification of window position for
        embedded windows. (#136112, Dan Winship)
2004-03-13 16:27:36 +00:00
Hans Breuer
985e3a24a3 some more settings from system, also reflect some name changes done a
2004-03-07  Hans Breuer  <hans@breuer.org>

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

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

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

	* gtk/makefile.msc.in : build gtkpathbar, link shell32.lib

	* tests/makefile.msc : some more tests get build
2004-03-07 13:40:19 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

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

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Owen Taylor
d52caae6d1 Add gtk_drag_source_set/get_target_list(). (#127499, based on patch from
Mon Mar  1 19:30:25 2004  Owen Taylor  <otaylor@redhat.com>

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

        * tests/testgtk.c: Fix bidi strings to display correctly
        with new auto-bidi.
2004-03-02 00:45:33 +00:00
Soeren Sandmann
912b0944dc Add GDK_THREADS_ENTER()/GDK_THREADS_LEAVE() pairs around idle functions.
Mon Dec 29 12:22:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkuimanager.c (do_updates):
	* gtk/gtktoolbar.c (slide_idle_handler):
	* gtk/gtkdnd.c (gtk_drag_update_idle):

	Add GDK_THREADS_ENTER()/GDK_THREADS_LEAVE() pairs around idle
	functions. (#130157, patch from Olexiy Avramchenko).
2003-12-29 11:35:43 +00:00
Kristian Rietveld
eccc733f29 brooooooooken pipe. 2003-09-03 19:57:05 +00:00
Matthias Clasen
ba55b6f15b Rename parameter target_list back to targets, to pacify gtk-doc.
2003-07-13  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
2003-07-13 20:50:24 +00:00
Owen Taylor
c084f54145 gtk/gtkdnd.c (_gtk_drag_source_handle_event) Remove use of
Sun Jul  6 13:00:20 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_source_handle_event)
        * gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use
        of GDK_POINTER_MOTION_HINT_MASK.

        * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
        of the drag into an idle as a superior form of
        expose compression.

        * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
        creation here, so that we have an icon at the start
        of the drag (e.g., when retrieving the window cache
        information.)
2003-07-06 18:56:44 +00:00
Owen Taylor
d7226f50e6 Move default icon creation here, so that we have an icon at the start of
Sun Jul  6 11:56:48 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
        creation here, so that we have an icon at the start
        of the drag (e.g., when retrieving the window cache
        information.)
2003-07-06 16:13:11 +00:00
Owen Taylor
e5561940f2 Move the grabs up earlier, so we don't get a big pile of uncompressed
Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
        earlier, so we don't get a big pile of uncompressed
        motion events before the grab takes effect.

        * gtk/gtkdnd.c (gtk_drag_update_icon): Call
        gdk_window_process_all_updates() so that the area
        we are dragging over gets a change to redraw.

        * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use
        gdk_window_get_position(), not gdk_window_get_origin().

        * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
        gdkdisplay-x11.h: use XShapeQueryExtension to
        avoid duplicate XQueryExtension when we actually
        use it. Remove unnecessary caching in GdkDisplayX11.
2003-07-05 05:27:11 +00:00
Owen Taylor
85d8c33706 Use application/x-rootwindow-drop for root window drops. (#108670, Alex
Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/testdnd.c: Use application/x-rootwindow-drop for
        root window drops. (#108670, Alex Larsson)

        * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop):
        Accept either application/x-rootwin-drop (what GTK+ has always used)
        or application/x-rootwindow-drop (what the XDND standard specifies).
2003-06-09 02:13:42 +00:00
Matthias Clasen
83c626bbe0 Remove dubious bitfields of unspecified signedness. (#112919, Morten
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* io-wbmp.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)gdk-p

	* gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
	of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)

	* gtk/gtkwindow-decorate.c:
	* gtk/gtktreeprivate.h:
	* gtk/gtkdnd.c:
	* gdk/win32/gdkwindow-win32.h:
	* gdk/linux-fb/gdkprivate-fb.h:
	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)

	* gtk/queryimmodules.c (escape_string):
	* gtk/gtktextbtree.c (_gtk_text_btree_get_text):
	* gtk/gtksettings.c (_gtk_settings_parse_convert):
	* gtk/gtkrc.c (gtk_rc_parse_assignment):
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all
	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
	Morten Welinder)
2003-05-27 21:21:00 +00:00
Anders Carlsson
c3afabd5be Don't cast a gchar to a GObject. (#112762)
2003-05-11  Anders Carlsson  <andersca@codefactory.se>

	* gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
	a GObject. (#112762)
2003-05-11 12:35:40 +00:00
Matthias Clasen
362580fbdd Actually set the icon type to the stock icon type. (#111735, Dave
2003-05-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
	icon type to the stock icon type.  (#111735, Dave Bordoley)
2003-05-05 18:08:10 +00:00
Manish Singh
dd74be94c6 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 01:45:51 +00:00
Matthias Clasen
b414adc897 Replace uses of gtk_timeout_* and gtk_idle_* by their non-deprecated
GLib counterparts. Fully deprecate gtk_timeout_* and gtk_idle_*.
2003-02-05 23:48:11 +00:00
Owen Taylor
fcfb638ab0 Skip insensitive widgets. (#84061)
Thu Dec 12 17:01:38 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (gtk_drag_find_widget): Skip insensitive
        widgets. (#84061)
2002-12-12 22:06:43 +00:00
Manish Singh
5362022622 Deprecation cleanup
Sun Oct 13 16:55:49 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkdnd.c gtk/gtkradiobutton.[ch]: Deprecation cleanup

        * gtk/Makefile.am: Added disable deprecation flags

        * demos/pixbuf-init.c demos/gtk-demo/changedisplay.c: minor clean up
2002-10-13 23:56:31 +00:00
Owen Taylor
f3f016d045 Add gdk_drag_find_window_for_screen(), so that we can interpret x_root /
Mon Oct  7 15:48:44 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdnd.[ch] gdk/x11/gdkdnd-x11.c: Add
        gdk_drag_find_window_for_screen(), so that we can
        interpret x_root / y_root relative to the correct screen.

        * gdk/gdkdnd.c Makefile.am gdk/x11/gdkdnd-x11.c
        gdk/fb/gdkdnd-fb.c gdk/win32/gdkdnd-win32.c: New file.
        Move gdk_drag_find_window(), gdk_drag_get_protocol() here.

        * gtk/gtkdnd.c: Handle drags between screens; use
        a fallback icon for icons set as windows/pixmaps,
        move the drag icon between displays for icons set as
        pixbufs.

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix infinite
        loop from last change.
2002-10-07 20:03:15 +00:00
Owen Taylor
47bed428ff Improve checks on public entry points, including, among other things
Fri Oct  4 17:13:03 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c: Improve checks on public entry points,
        including, among other things checking whether drag
        contexts passed in are source or dest. (Fixes
        #76762, Alexey A. Malyshev)

        * tests/testtext.c tests/testgtk.c tests/testdnd.c:
        Fix uninstalled operation for new pixbuf changes.

        * gtk/stock-icons/Makefile.am (pixbuf_csource):
        Fix makefile for uninstalled operation.
2002-10-04 21:25:47 +00:00
Owen Taylor
ef33adff83 Add a 'type' parameter, make public.
Thu Oct  3 14:13:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_new): Add a 'type'
        parameter, make public.

        * gdk/gdkevents.c (gdk_event_copy): Copy the screen.

        * gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
        gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
        _gdk_event_new() => gdk_event_new().

        * gdk/win32/gdkevents-win32.c (real_window_procedure):
        Fix event_private->screen breakage that results from evil
        encapsulation breakage here.

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
        gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
        gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
        gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
        gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
        gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
        tests/testgtk.c: Remove most usage of stack-allocated
        GdkEvent structures.

        * gtk/gtktreeview.c: Use a cut-and-paste of the full
        send_focus_event() from gtkwindow.c that does the necessary
        notification of the ::has-focus property and setting of
        the HAS_FOCUS flag.x

        * gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
        an extraneous use of a GdkEvent.
2002-10-03 20:53:30 +00:00
Owen Taylor
090a1ac1cb Add a note that yes, we do know what () means and we can't change it.
Mon Aug  5 14:50:13 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkitemfactory.h: Add a note that yes, we do know
	what () means and we can't change it.

	Fixes for warnings reported by David L. Cooper II

	* tests/testtext.c: Warning fixes. Fix order of arguments
	to gtk_message_dialog_new(). (#85891)

	* gtk/gtktreeitem.c (gtk_tree_item_paint): Fix incorrect
	use GTK_STATE_INSENSITIVE for a shadow type. (Not clear
	what the drawing intent was, but it's ENABLE_BROKEN
	anyways.) (#85880)

	* gtk/gtktexttypes.c: Use character literals
	instead of direct constants to avoid warning. (#85878)

	* gtk/theme-bits/decompose-bits.c gtk/gtkstyle.c:
	Fix some signed/unsigned problems (#85876)

	* gtk/gtksignal.c (gtk_signal_newv): Add an explicit
	cast from GtkSignalRunType to GSignalFlags. (#85875)

	* gtk/gtkitemfactory.c (gtk_item_factory_add_item): Fix
	use of guint instead of GdkModifierType (#85871)

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	Fix signed/unsigned problem (#85870)

	* gtk/gtkimcontext.c (gtk_im_context_class_init): Get
	rid of GtkType/Signal*. (Fixes #85869 as a side effect)

	* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix some
	signed/unsigned warnings (#85865)
2002-08-05 18:52:28 +00:00
Owen Taylor
1abf7df6be Make the core pointer object per-display. (#85698)
Tue Jun 18 19:11:51 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdisplay.[ch] gdk/gdkevents.c gdk/gdkinput.h
        gdk/gdkinternals.h gdk/win32/gdkevents-win32.c
        gdk/win32/gdkinput-win32.[ch] gdk/x11/gdkevents-x11.c
        gdk/x11/gdkinput{,-none,-x11}.c gdk/x11/gdkinputprivate.h:
        Make the core pointer object per-display. (#85698)
2002-06-18 23:23:30 +00:00
Owen Taylor
621fb7466a Replace gdk_cursor_new_for_screen() with gdk_cursor_new_for_display().
Tue Jun 18 14:41:48 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkcursor.[ch] gdk/x11/gdkcursor-x11.c
        gdk/x11/gdkprivate-x11.h gdk/win32/gdkcursor-win32.c: Replace
        gdk_cursor_new_for_screen() with gdk_cursor_new_for_display().
        (#85671)

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcurve.c gtk/gtkdnd.c
        gtk/gtkentry.c gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtklabel.c
        gtk/gtkpaned.c gtk/gtktext.c gtk/gtktextview.c
        gtk/gtktipsquery.c gtk/gtktreeviewcolumn.c:
        Adapt to above change.
2002-06-18 20:59:44 +00:00
Owen Taylor
ddfd42fbb3 Save the initial grab time, use that when changing the pointer. (#83052,
Thu Jun 13 11:36:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Save
        the initial grab time, use that when changing the
        pointer. (#83052, help from Dave Camp tracking it down.)
2002-06-13 15:56:20 +00:00
Dave Camp
b179b6af11 Disconnect from keypress events.
2002-05-29  Dave Camp  <dave@ximian.com>

	* gtk/gtkdnd.c (gtk_drag_end): Disconnect from keypress events.
2002-05-29 19:22:39 +00:00
Owen Taylor
3fe86a489d Protect against reentrancy problems by emitting ::preedit_changed at the
Fri May 17 14:40:24 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
        Protect against reentrancy problems by emitting
        ::preedit_changed at the end, fixing input context
        leak. (Yao Zhang)

        * modules/input/gtkimcontextxim.c (status_window_free):
        Patch from Federico Mena Quintero to fix problem where
        references to IMContextXIM were kept around after
        module was unloaded.

        * gtk/gtkdnd.c (gtk_drag_dest_set): NULL initialize
        proxy window.
2002-05-17 19:27:53 +00:00
Owen Taylor
f58d55300b Fix a missing unref in the local/passive case. (#82067, Michael Meeks)
Fri May 17 13:56:23 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c (gtk_plug_filter_func): Fix a missing
        unref in the local/passive case. (#82067, Michael
        Meeks)

        * gtk/gtkplug.c (_gtk_plug_remove_from_socket): Fix
        reference leak on the plug window.

        * tests/testsocket.c (add_child): Fix memory leak.

        * gtk/gtkdnd.c (gtk_drag_dest_site_destroy): Unref
        the proxy window.
2002-05-17 18:15:26 +00:00
Owen Taylor
f642876f0c Don't call gdk_pointer_grab() to change the cursor if we've already
Wed May 15 18:15:45 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
        call gdk_pointer_grab() to change the cursor if we've
        already ungrabbed on button release / escape.
        (#80420, Dave Camp)
2002-05-15 22:27:42 +00:00
Alex Larsson
4632fb81c7 Integrate Erwann Chenede's multihead changes for the gtk/ directory.
Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>

	Integrate Erwann Chenede's multihead changes for the gtk/ directory.

	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
	make internals multihead aware.

	* gtk/gtkcolorsel.[ch]: Add
	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
	make up for non-multihead safety of
	gtk_color_selection_set_change_palette_hook()

	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
	for GtkWindow and GtkMenu.

	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
	gtk_plug_new_for_display(). Multihead fixes.

	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
	make internals multihead aware.

	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
	rid of now-useless gtk_settings_constructor().

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
	check/radio button indicators bitmap handling to be multihead
	safe.

	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
	gtk_widget_get_display(), gtk_widget_get_clipboard(),
	gtk_widget_get_root_window().

	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
	misc mechanical multihead-safety fixes.

	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
	the dropper, look up the color palette only at realization time,
	other multihead fixes.

	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
	unrealizing.

	* gtk/gtkentry.c: Only claim ownership of the primary selection
	when realized, misc multihead fixes.

	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
	fix gtk_font_selection_get_font() for multihead.

	* gtk/gtkgc.c: make the depth => drawable hash per-screen.

	* gtk/gtkinvisible.c: Add a constructor that realizes the
	widget, so we get a realized widget with g_object_new() as
	well gtk_invisible_new() as before.

	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
	variables.

	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
	are used on the wrong screen.

	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
	read properties and connect to settings when the screen is changed,
	rather than on init/finalize.

	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
	default icon pixmaps/mask are only shared between windows on the
	same screen. Misc multihead fixes.

Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.

2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
	Fix silly bug, noticed by Sven Neumann.

Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 22:53:45 +00:00
Owen Taylor
cc605cf5f4 Fix coordinate translations, once and for all.
Tue Jan  8 15:53:28 2002  Owen Taylor  <otaylor@redhat.com>

	* 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
	Tajima)
2002-01-08 21:17:55 +00:00
Matthias Clasen
c1808baa01 Doc typo fix. (#68172)
* 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):
        Document.

        * gtk/tmpl/gtksocket.sgml: Mention gtk_socket_get_id()
        instead of GTK_WINDOW_XWINDOW().  (#68172)

        * gtk/gtk-sections.txt: Move functions which are documented
        as "private" or "internal" into Private subsections.

        * gtk/tmpl/gtkdnd.sgml, gtk/tmpl/gtkobject.sgml,
        gtk/tmpl/gtkrc.sgml, gtk/tmpl/gtktooltips.sgml,
        gtk/tmpl/gtkwidget.sgml, gtk/tmpl/gtkclipboard.sgml,
        gtk/tmpl/gtkstyle.sgml, gtk/tmpl/gtkselection.sgml,
        gtk/tmpl/gtkfeatures.sgml: Minor markup fixes.

        * gtk/tmpl/gtksignal.sgml: Add link to GLib signal docs.

        * gtk/tmpl/gtkpreview.sgml, gtk/tmpl/gtktext.sgml,
        gtk/tmpl/gtktree.sgml: Remove "deprecated" from short desc.

        * gtk/tmpl/gtkrc.sgml: Correct names of default RC files.
2002-01-08 00:04:57 +00:00
Tim Janik
1901d4ebd7 don't forget to offset the pointer by x/y_offset into the new window when
Mon Jan  7 08:48:23 2002  Tim Janik  <timj@gtk.org>

        * 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-07 07:59:08 +00:00
Owen Taylor
b2015798aa At least don't infinite loop if the widget and window heirarchies don't
Fri Jan  4 13:05:15 2002  Owen Taylor  <otaylor@redhat.com>

        * 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.
2002-01-04 18:28:18 +00:00
Anders Carlsson
a11baab148 Free dash list if necessary.
2002-01-03  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if
	necessary.

	* 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.
2002-01-03 00:30:39 +00:00
Owen Taylor
1a0be4a67a Connect gtk_drag_hightlight_expose _after_, so it works with widgets that
Wed Dec 26 12:28:24 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (gtk_drag_highlight): Connect
        gtk_drag_hightlight_expose _after_, so it works with
        widgets that paint there entire background. (#66735)
2001-12-26 17:31:40 +00:00
Anders Carlsson
17f81739f7 Update xsettings name.
2001-12-09  Anders Carlsson  <andersca@gnu.org>

	* 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 22:08:30 +00:00
Owen Taylor
bffb11e1d6 Version 1.3.11, interface, binary age 0.
Wed Nov 21 15:21:26 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (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/Makefile.am (FAQ_FILES): Add missing files.
	(#64961, Akira Tagoh)
2001-11-21 21:44:08 +00:00
Sven Neumann
82c14f6f45 gtk/gtkbutton.[ch] fixed inline comments
2001-10-26  Sven Neumann  <sven@gimp.org>

        * gtk/gtkbutton.[ch]
        * gtk/gtkdnd.c: fixed inline comments

        * gtk/gtkgamma.c: gtk_entry_get_text() returns a const gchar.
2001-10-26 15:44:20 +00:00
Owen Taylor
46dde80428 Fix problem with g_return_if_fail return value.
Sun Oct 21 23:27:00 2001  Owen Taylor  <otaylor@redhat.com>

	* 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}
	  gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c}
	  tests/testdnd.c,tests/testselection.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}:
	Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
	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.
2001-10-22 04:34:42 +00:00
Matthias Clasen
a8fb1cf162 Documentation updates. Updates.
* gtk/gtkdnd.c, gtk/gtkclipboard.c, gdk/x11/gdkmain-x11.c: Documentation updates.
        * gtk/tmpl/gtkdnd.sgml, gtk/tmpl/gtkclipboard.sgml,
        gdk/tmpl/general.sgml, gdk/tmpl/threads.sgml,
        gdk/tmpl/x_interaction.sgml: Updates.
2001-10-17 21:41:47 +00:00
Owen Taylor
a8d54496fb Allow NUOL for @target_list to mean, use gtk_drag_dest_get_target_list
Wed Oct  3 10:42:54 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow
	NUOL 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 15:08:10 +00:00
Owen Taylor
1bbf2ac7ee Make gdkx.h the only installed header from gdk/x11. All structures in
Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>

      Make gdkx.h the only installed header from gdk/x11.
      All structures in gdk/x11 are opaque.

	* gdk/x11/Makefile.am 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_colormap_get_{xdisplay,xcolormap}
	gdk_x11_cursor_get_{xdisplay,xcursor},
	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
	gdk_x11_gc_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_
	namespace.

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

	* 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}
	  gtk/gtkselection.c
        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_error_warnings.

	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
	  docs/Changes-2.0.txt:
	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/Makefile.am (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 21:50:20 +00:00
Havoc Pennington
9df0074685 add default icon
2001-08-28  Havoc Pennington  <hp@pobox.com>

	* 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)
	(gtk_window_get_icon_list)
	(gtk_window_set_icon)
	(gtk_window_get_icon)
	(gtk_window_set_default_icon_list)
	(gtk_window_get_default_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.
2001-08-29 02:20:02 +00:00
Owen Taylor
159ff9c811 Make compile.
Wed Jul  4 23:17:04 2001  Owen Taylor  <otaylor@redhat.com>

	* 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)
2001-07-05 03:21:52 +00:00
Owen Taylor
c1a14d036d Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)), not
Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
	  gtk/gtkwidget.c:
	Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
	not GTK_WIDGET_GET_ANCESTOR ... see
	http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
	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"
	signals.

	* 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
	embedding.
2001-07-05 02:58:34 +00:00
Owen Taylor
1988e13749 Add a special size for drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>

	* 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:
	Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
	is used for GTK_STOCK_DND, but it is a bit too small.)

	* gtk/stock-icons/stock_dnd_multiple.png
	gtk/stock-icons/Makefile.am: 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.)
2001-06-25 01:51:58 +00:00
Alexander Larsson
404d1a2d7e New function for getting toplevel window at position.
2001-05-07  Alexander Larsson  <alexl@redhat.com>

	* 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
	win32).
2001-05-07 19:24:18 +00:00
Owen Taylor
eced717280 Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in: 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.

	* configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS

	* tests/testgtkrc: No magenta cursors, please.

	* README.in INSTALL.in HACKING README.cvs-commits: Updated.

	* gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
2001-04-17 19:19:09 +00:00
Owen Taylor
af5c897e4b Updated.
Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>

	* NEWS: Updated.

	* configure.in: Remove support for uninstalled glib.

	* gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
	so as not to stop emission.

	* gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
	is no longer supported.

	* Makefile.am gtk/Makefile.am tests/*: Moved all tests
	into tests, change build order to build modules before
	gtk/.

	* modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
	to here.
2001-04-03 18:48:46 +00:00
Havoc Pennington
207e3bb977 make this somewhat key-navigable
2001-03-23  Havoc Pennington  <hp@pobox.com>

	* 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  <hp@pobox.com>

	Applied big patch from Seth Lytle to fix event handler return
	values, slightly modified.

	* gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
	handled.
	(gtk_calendar_key_press): return TRUE for GDK_space triggers
	select_day

	* gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
	(gtk_clist_button_release): return TRUE if handled

	* gtk/gtkcolorsel.c (mouse_release):
	(palette_activate):
	(palette_press):
	(palette_new):
	(mouse_press):
	(get_screen_color):
	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
	button/motion

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

	* 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-24 06:10:40 +00:00
Havoc Pennington
e248e4e79e sync to tree changes
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
	function

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
	implement

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

	* configure.in: 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
	function
	(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 22:39:19 +00:00
Owen Taylor
2a1e8b06b4 Remove unused variable.
Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>

	* 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.
2001-01-17 20:05:08 +00:00
7
9012254c1e Doh! Mixed up x and y.
2001-01-17    <alexl@redhat.com>

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

	* 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
	if GDK_BUTTON_MOTION_MASK set.

	* gtk/gtkdnd.c (gtk_drag_update):
	Free info->last_event if gdk_drag_motion returned FALSE.
2001-01-17 15:52:22 +00:00
Havoc Pennington
9cca191b6a Fix bugs Alex found:
2000-12-04  Havoc Pennington  <hp@redhat.com>

        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 16:11:51 +00:00
Owen Taylor
2672c1173e removed accidentally committed debugging message 2000-11-14 20:36:03 +00:00
Owen Taylor
c879883dc6 Fix srcdir != builddir
Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>

	* demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir

	* gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk

	* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
	srcdir != builddir

	* modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk

	* configure.in (GTK_VERSION): Up to 1.3.2

	* modules/input/Makefile.am (im_xim_la_SOURCES): Add
	gtkimcontextxim.h

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
	missing doc comment.
2000-11-14 16:38:04 +00:00
Tim Janik
afee2c67c5 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:33:08 +00:00
Owen Taylor
01212ce170 Ignore calls with <= width or height.
Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>

	* 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/source 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 *
	everywhere.

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

	* 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.
2000-07-03 19:00:23 +00:00
Owen Taylor
4f1ccca594 Add gdk_rgb_find_color() to get a pixel value using GdkRGB functionality
Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>

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

	* 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.
2000-07-02 17:03:21 +00:00
Havoc Pennington
df4fc36721 Make this compile without framebuffer enabled
2000-06-20  Havoc Pennington  <hp@redhat.com>

* modules/linux-fb/Makefile.am: Make this compile
without framebuffer enabled

* gdk/linux-fb/Makefile.am: 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
width/height

* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
width/height confusion.

2000-06-19  Havoc Pennington  <hp@redhat.com>

* 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  <hp@redhat.com>

        * gdk/Makefile.am: add gdkpixmap.c

	* gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
	s/gdk_image_init/_gdk_windowing_image_init

	* gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
	ref/unref

	* 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_window_get_window_type().

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

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

	* gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP,
	GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
	GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
	GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
	GdkColormapPrivate.

	* 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/Makefile.am: 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_cursor_new().

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

	* 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:
	s/style->klass->[xy]thickness/style->[xy]thickness
	s/pango_layout_unref/g_object_unref/

	* 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-20 21:04:44 +00:00
Elliot Lee
8f4f35b392 (follow-on from previous commit)
(follow-on from previous commit)
2000-06-18  Elliot Lee  <sopwith@redhat.com>

* 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.
* configure.in, Makefile.am: Add modules top level dir
* configure.in: Only use pangox library if building x11 target.
* gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
2000-06-20 20:22:05 +00:00
Owen Taylor
62e5119872 Fix cut and paste typo where wrong pixmap was being unref'ed. (Pointed out
Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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.
2000-06-11 18:06:04 +00:00
Owen Taylor
386ae20970 A bit of editing.
Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>

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

	 _gdk_window_destroy()

	to the internal API to destroy a window without unreferencing it.
	Add a function:

	 _gdk_windowing_window_destroy()

	That does the windowing-system-dependent part of destroying
	the window.

Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c: Fix various memory leaks of pixmaps.

Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
	leak.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
	leak with event filters.

Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>

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

	* 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-15 16:09:53 +00:00
Paolo Molaro
8a836c07cf Sat, 6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>

	* 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.
2000-05-06 11:57:31 +00:00
Owen Taylor
10ba4fd066 Merges from gtk-1-2 2000-03-14 19:57:25 +00:00
Owen Taylor
cacec65e9e Add some sanity checks if the widget passed to gtk_drag_get_data() was not
Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>

	* 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 19:05:18 +00:00
Tor Lillqvist
9c00803e19 Must mark also gdk_error_warnings and gdk_error_code as GDKVAR, as they
1999-12-11  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkprivate.h: Must mark also gdk_error_warnings and
gdk_error_code as GDKVAR, as they are referred outside GDK.

* gdk/win32/gdkinput-win32.c: Remove debugging leftover.

* gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
non-NULL.

* 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 genmarshal.pl.
1999-12-11 23:04:55 +00:00
Raja R Harinath
33da844e70 Adapt cast macros to standard.
Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkgamma.h: Adapt cast macros to standard.

[ Merges from 1.2 ]

Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* docs/gtk_tut.sgml:
	s/gtk_accel_group_attach/gtk_window_add_accel_group/.

Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_remove): Use
	g_list_remove_link, not g_list_remove.

	[ From Geert Bevin <gbevin@thunderstorms.org> ]

Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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 <and@kampsax.dtu.dk>.

Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>

	* fix insensitive default/focus widget activation,
	reported by Matt Goodall <mgg@isotek.co.uk>.

	* gtk/gtkwindow.c (gtk_window_key_press_event):
	(gtk_window_activate_default):
	(gtk_window_activate_focus):
	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  <otaylor@redhat.com>

	* gtk-config.in (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  <otaylor@redhat.com>

	* 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  <cwryu@adam.kaist.ac.kr>

	* gtk/gtkrc.ko: Fixed the wrong number of "*"'s.

Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* gtk/gtkrc.ko: Changed the Korean default fontset.

Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
	names to lowercase and alphanumeric, before looking
	them up.

	* gtk/Makefile.am: Install codeset variant gtkrc files
	with normalized names.

Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* gtk/Makefile.am (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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
	extra g_free introduced in one of the last one or two
	commits.

Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am 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  <otaylor@redhat.com>

	* 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 <yosh@gimp.org>

	* gtk/Makefile.am: 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  <otaylor@redhat.com>

	* gdk/gdkinputcommon.h (gdk_input_device_new): Free
	device->info.axes for core pointer.

Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS
	(fixes bug #2144)

Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* gtk/gtkselection.[ch]: Make the data argument
	const guchar *.

Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

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

	* gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
	we simply trust these events. for deciding whether to discard exposes,
	check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.

Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* gtk/Makefile.am: 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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 <lmc@cyberhighway.net> ]

1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>

	* gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
	an empty file.

Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
	no children. (Reported by: Chris Rogers <gandalf@pobox.com>)

1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>

	* gtk/Makefile.am (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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	[ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]

	* 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  <timj@gtk.org>

	* gtk/Makefile.am: fixed up things for -jx, x > 1.

Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

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

Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>

	* 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
	for GTK_WIN_POS_CENTER_ALWAYS.
	(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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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 <prw@wainpr.demon.co.uk>)

	* 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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_hide):
	(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.
	(gtk_window_init):
	(gtk_window_size_request):
	don't freak around with the ->need_resize flag,
	gtk_container_queue_resize() will care about that.
	(gtk_window_show):
	handle initial resizing issues here, we can handle matters better in
	this place, especially since we know that our GdkWindow is still
	unmapped.
	(gtk_window_move_resize):
	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  <otaylor@redhat.com>

        * 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  <timj@gtk.org>

	* 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
	gtkwindow.c.

	* 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  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
                           gtk_window_set_geometry_hints
                           gtk_window_set_default_size):
        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  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <lars@gtk.org>

	* gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
 	in gtk_built_sources, so gtk.defs gets built prior to all other
 	sources.

Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>

	* gtk/Makefile.am:
	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/genmarshal.pl: 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  <lars@gtk.org>

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
	notebook after switch to avoid drawing problems.
	(Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)

	(gtk_notebook_pages_allocate): don't map not visible tab_labels,
	show them instead.
	(Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)

Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
	notebook after switch to avoid drawing problems.
	(Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)

	(gtk_notebook_pages_allocate): don't map not visible tab_labels,
	show them instead.
	(Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)

Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>

	* 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.
	(gtk_window_set_hints):
	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.
	(gtk_window_show):
	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
	realization.
	(gtk_window_configure_event):
	ignore plain window moves, or reallocate the widget tree through the
	resize queue otherwise.
	(gtk_window_move_resize):
	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  <timj@gtk.org>

	* 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
	reliable).
	(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  <federico@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
	checks.
	(gtk_target_list_unref): Likewise.

	* gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.

Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
	tree->view_lines.
	(gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)

	* gtk/Makefile.am (install-data-local): Solaris apparently
	has various troubles with ln -f; use rm first instead.
	(gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)

1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>

	* gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
	use `cp' followed by `rm' (the `rm' was already there).

July 30, 1999 Elliot Lee <sopwith@redhat.com>

	* configure.in: Fix autoconf warnings about cross compilation by
	trying to provide sane defaults for AC_TRY_RUN.
	* gtk/Makefile.am: 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  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_main_iteration_do): Added missing
	GDK_THREADS_{LEAVE,ENTER} pair.
	(From Paul Fisher <pnfisher@redhat.com>)

Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_events_pending): Unlock around call
	to g_main_pending() as well.

Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/gtkstyle.c: Include <stdlib.h> for strcmp().

Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.

Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
	add an extra "/" when concating "/" + filename.
	(From Matt Grossman <mattg@oz.net>)

Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

        Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>

	* 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  <timj@gtk.org>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.

Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>

	* gtk/gtkaccelgroup.h: mark certain functions as internal.

Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
        expand behaviour changed.

        * gtk/gtklabel.c (gtk_label_set_pattern):
        (gtk_label_set_justify):
        (gtk_label_set_line_wrap):
        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  <timj@gtk.org>

        * applied argument implementation patches from Elena Devdariani
        <elena@cogent.ca>.

        * 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  <otaylor@redhat.com>

	* gtk/gtkstyle.c: Removed ill-thought-out part of last
	comment.

Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>

	* 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 <cdhwang@sr.hei.co.kr>)

	* gtk/gtkstyle.c: Documented the refcounting
	peculularities of gtk_style_attach.

1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>

	* 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  <timj@dhcpd7.redhat.com>

	* 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  <otaylor@redhat.com>

        Fixes for invisible XOR lines (Frank Loemker
	<floemker@TechFak.Uni-Bielefeld.DE>)

	* 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  <lars@gtk.org>

	* gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
	signals if h/voffsets differ from adjustment values.
	Reportet by Jerome Bolliet <bolliet@in2p3.fr>

Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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 <terra@diku.dk>)

	* 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 <terra@diku.dk>)

Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

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

Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>

	* gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.

Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
	file for iso-8859-2 locales.

	* configure.in (ALL_LINGUAS): ALL_LINGUAS update.

Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
	 (Pointed out by andy@rz.uni-karlsruhe.de and others).
	 Remove some suspicious and useless lines.

Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_main): Correctly free list nodes
	when removing from quit_functions list.

Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>

	* gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.

Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
	 When redrawing characters on non-visible entry, use appropriate
	 '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)

Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>

	* 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  <timj@gtk.org>

	* gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
	translate_* fields.
	(gtk_item_factory_finalize): invoke translate_notify independant from
	translate_data.
	(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  <otaylor@redhat.com>

	* 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  <lars@gtk.org>

	* gtk/gtkctree.c (resync_selection):
	* gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
	* gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
 	bug.

Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
	Add some missing GDK_THREADS_ENTER()/LEAVE around
	timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)

Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

	* 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  <otaylor@redhat.com>

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

Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>

	* 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  <otaylor@redhat.com>

	* 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, jbb6@acpub.duke.edu

Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>

        Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
	gtk-a-higuti-990322-[0-3]

	* configure.in: 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  <timj@gtk.org>

	* 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  <timj@gtk.org>

	* gtk/gtkdrawingarea.[hc]: type/macro fixups.

Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>

	* 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  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
	unrealize title buttons.

Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_column_title_passive)
	(gtk_clist_column_title_active):
	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  <timj@gtk.org>

	* plugging problems reported by "Bruce Mitchener, Jr."
	<bruce@puremagic.com> due to a purify session.

	* gtk/gtkstyle.c:
	(gtk_style_ref):
	(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
	adjustments.

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

	* gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
	to TRUE when synthesizing events.

[ *** end of merges from 1.2 *** ]
1999-11-22 21:52:50 +00:00
Owen Taylor
41be586333 Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11 to #ifdef
Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>

	* */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
	to #ifdef GDK_WINDOWING_X11.
1999-09-29 23:47:22 +00:00
Tor Lillqvist
0b4d29fd6e Merge in Win32 version: Define macro GDKVAR for declaring gdk variables
* 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_DRAG_PROTO_OLE2.

* 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): As 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
bpp==32.

* gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
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
directory.

* gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk
headers.
1999-03-17 23:02:10 +00:00
George Lebl
cb8adfba87 swap the gtk_drag_highlight_expose and gtk_drag_highlight_paint since it
Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>

        * 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-15 11:42:44 +00:00
Tor Lillqvist
c65508d272 This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.

Win32 merge and general portability stuff:

* acconfig.h,configure.in: 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/Makefile.am: 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
implemented).

* 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/testrgb.c: Use dynamically allocated buffer. Use GTimers.
1999-03-15 00:03:37 +00:00
CST 1999 Shawn T. Amundson
279e878bdd Added notice to look in AUTHORS and ChangeLog files for a list of changes.
Wed Feb 24 01:22:39 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: Added notice to look in AUTHORS and ChangeLog files
	  for a list of changes.
1999-02-24 07:37:18 +00:00
Owen Taylor
148e766334 When sending events to windows with a proxy, set the window field in the
Mon Feb 22 19:06:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (xdnd_send_*): When sending events to
	 windows with a proxy, set the window field in the
	 sent event to the original window, not to the proxy.
	 (This gives consistency with Motif, and also provides
	  information to the destination that it wouldn't have
	  otherwise).

	* gtk/gtkdnd.c: Fixed some refcount leaks for windows.

	* gdk/gdkdnd.c (xdnd_send_xevent): When sending
	 Xdnd event to the root window, set the event mask
	 to ButtonPressMask. Hopefully, this should give us
	 compatibility with kfm, if it uses the Qt style
	 of root window drops.
1999-02-23 00:43:26 +00:00
Owen Taylor
f1a61ecc75 Some coding style fixups.
Mon Feb 15 18:02:22 1999  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c: Some coding style fixups.

	* gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set a flag
	 so that we destroy the icon window that we created
	 when the drag ends.
1999-02-16 00:19:13 +00:00
Owen Taylor
d8eb880d7d Reverted coding style "fixups"
Wed Feb 10 11:05:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Reverted coding style "fixups"
1999-02-10 16:01:48 +00:00
Tim Janik
88c112cde8 asure that ->value_buf always points to an allocated area.
Wed Feb 10 08:35:36 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
        ->value_buf always points to an allocated area.
        (gtk_color_selection_drag_end): new function hooked up to drag_end to
        destroy the drag_window.

        * gtk/gtkdnd.c: some coding style fixups.

Wed Feb 10 06:47:17 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c: various indentation fixes.

        * gdk/gdkevents.c: coding style fixups.
        NULL initialize event_func, event_notify and event_chunk.
        (expose_predicate): made this function static.
        (gdk_event_handler_set): perform destroy notification even if no
        event_func is set.

        * gdk/gdkrectangle.c (gdk_rectangle_union): added g_return_if_fail
        statements.
1999-02-10 08:06:30 +00:00
Owen Taylor
eb437560d3 Adjust saved positions of children when resizing a guffaw_gravity = TRUE
Fri Feb  5 13:23:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_move_resize): Adjust
	saved positions of children when resizing a
	guffaw_gravity = TRUE window.

	* gtk/gtkdnd.c (gtk_drag_highlight): Rework the
	 highlighting so that it is done in callbacks for
	 draw and expose. This should solve problems with
         multiple highlights for the same GdkWindow.

	* gtk/gtkdnd.c (gtk_drag_highlight): Fix bug where
	the highlight was being drawn with an incorrect
	width/height for !NO_WINDOW widgets.
1999-02-05 18:40:14 +00:00
Owen Taylor
902de9d413 Make sure we set the icon window position before it is shown to prevent
Tue Feb  2 12:39:42 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Make sure we set the icon window position
	 before it is shown to prevent annoying flicking to 0,0.
	 Make it consistent that info->cur_x/y do not include
	 info->hot_x/y displacement.
1999-02-02 18:40:47 +00:00
Owen Taylor
77e99440df Change signatures for gdk_drag_begin() and gdk_drag_motion() so that the
Wed Jan 27 18:57:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkdnd.c: Change signatures for
	gdk_drag_begin() and gdk_drag_motion() so that the set
	of possible actions is passed on each motion, not just at
	the beginning of the drag. We do this so that
	we can restrict the set of possible drag events
	when the user presses a modifier key during a
	drag.

	* gdk/gdkdnd.c: Send a motif Operation-changed
	message when the set of possible actions change,
	as well as when the suggested action change.

	* gdk/gdkdnd.c: Change the XdndActionList whenever
	the set of actions change.

	* gdk/gdkdnd.c: Add a filter to catch changes to
	the XdndActionList property for the source widget.

	* gtk/gtkdnd.c: Change the set of possible actions
	when the user presses Control, Shift, or Control-Shift,
	to only include the corresponding action.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb):
	Disconnect button signals before we possibly
	free info structure.
1999-01-28 01:03:15 +00:00
Owen Taylor
79fbe48242 X expects longs, not uint32 for XChangeProperty, when format == 32.
Sat Jan 23 11:15:39 1999  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkdnd.c (gdk_window_register_dnd): X expects
	 longs, not uint32 for XChangeProperty, when
	 format == 32.

	* gdk/gdkdnd.c (motif_read_initiator_info): Byte-swap
	 the MotifInitiatorInfo structure if necessary.

 	* gdk/gdkdnd.c: When extracting and constructing
         Motif DND messages, don't use data.s[], data.l[]
	 since on 64bit architectures, these won't necessarily
	 be in the same place with data.b[].

 	* gtk/testdnd.c (target_drag_drop): Return TRUE for
	 drag_drop within the drop zone.

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Only send
	 a XmTRANSFER_FAILURE if no drop site is found, not
	 on every drop!
1999-01-23 20:32:20 +00:00
Owen Taylor
e7b04a53ac Default handling for drops should be keyed on GTK_DRAG_DEFAULT_DROP not
Thu Jan 21 00:44:47 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_drop): Default handling
	for drops should be keyed on GTK_DRAG_DEFAULT_DROP
	not GTK_DRAG_DEFAULT_MOTION.
1999-01-21 05:59:04 +00:00
Owen Taylor
21993dcb10 Start off with the cursor for "no drop" since if we'll get a status if we
Wed Jan 20 19:57:14 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_begin): Start off with the
	cursor for "no drop" since if we'll get a status
	if we are over a drag window, but none if we aren't
	over one.
1999-01-21 01:03:27 +00:00
Federico Mena Quintero
df21a7064f Allow button 2 to act as GDK_ACTION_ASK. Also, allow MOD1 to specify
1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkdnd.c (gtk_drag_get_event_action): Allow button 2 to act
	as GDK_ACTION_ASK.  Also, allow MOD1 to specify GDK_ACTION_ASK
	only if that action is enabled in the actions argument.
1999-01-20 23:53:29 +00:00
Owen Taylor
3bba843968 Make MOD1-drag also do action ask.
Thu Jan 14 11:29:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_event_action): Make
	MOD1-drag also do action ask.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb): Send the
	button-release event we simulate to get grabs released,
	with a window of GDK_ROOT_PARENT instead of the actual
	widget. This is a bad hack in some sense, but seems
	to work nicely. (It's sort of like what you would
	if you grabbed on button press, then the user
	released outside of the widget.)
1999-01-15 15:58:17 +00:00
Owen Taylor
0b84fc2742 Only remove handlers for motion/button_release at drop, remove
Mon Jan 11 10:45:28 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Only remove handlers for motion/button_release
	at drop, remove "selection_get" handler later.
1999-01-11 16:07:47 +00:00
Owen Taylor
95843529d1 Fixed some list-manipulation breakage.
Fri Jan  8 19:00:17 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (gdk_window_cache_filter): Fixed
	some list-manipulation breakage.

	* gdk/gdkdnd.c (gdk_window_cache_destroy): Free
	window cache structure.

	* gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set an
	event mask on the drag window so clicking on it
	doesn't pop up root menus, etc.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb): Remove
	signal handlers at button release.
1999-01-09 00:21:37 +00:00
Owen Taylor
1fd7a6e491 Make gtk_propagate_event() non-static, we need it in gtkdnd.c so that the
Tue Jan  5 15:03:47 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_propagate_event): Make
	gtk_propagate_event() non-static, we need it in gtkdnd.c
	so that the button-release we synthesize gets propagated
	correctly.

	* gtk/gtkdnd.c: Use gtk_propagate_event() so
	release gets to a GtkList. But we can't really
	get this right without access to the windows
	event masks and doing X-style propagation ourselves.

Tue Jan  5 11:31:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_unref): Free
	memory allocated for target lists.

	* gtk/gtkdnd.c (gtk_drag_drop_finished): Release
	selections before destroying info structure.

	* gdk/gdkdnd.c gdktypes.h (gdk_drag_get_protocol): Add
	new value GDK_DRAG_PROTO_NONE, use it for non-drag
	targets, to quiet Purify.

	* gdk/gdkdnd.c (gdk_window_register_dnd): Set size
	of property properly.
1999-01-05 23:45:21 +00:00
Jeff Garzik
553fa4309e removed unused var 64-bit cast point to const data Made const-correct.
* gdk/gdkfont.c: removed unused var
        * gdk/gdkim.c: 64-bit cast
        * gtk/gtkaccelgroup.c: point to const data
        * gtk/gtkdnd.[ch]: (gtk_drag_dest_set, gtk_drag_source_set):
          Made const-correct.
        * gtk/gtkfontsel.c: kill uninitialized var warning
        * gtk/gtkselection.[ch]: (gtk_target_list_new,
          gtk_target_list_add_table, gtk_selection_add_targets):
          Made const-correct.
        * gtk/testgtk.c: 64-bit cast
1998-12-24 17:47:02 +00:00
Owen Taylor
08b22ddebf Request XmTRANFER_FAILURE on Motif drops not within a drop zone. I don't
Tue Dec 22 17:01:43 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event):
	Request XmTRANFER_FAILURE on Motif drops not within
	a drop zone. I don't know why this is necessary,
	but it is.

	* gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
	Motif flag field in response was getting wrong
	values.
1998-12-22 22:00:43 +00:00
Owen Taylor
7f0156c2ea Optimization - when we've already found a widget, skip all checks for
Tue Dec 22 14:50:25 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_find_widget): Optimization -
	when we've already found a widget, skip all checks
	for subsequent children.

	* gtk/gtkdnd.c (gtk_drag_find_widget): Checked for
	!MAPPED, not !VISIBLE, since a widget (like a notebook
	page), can be VISIBLE, but !REALIZED or !MAPPED.

	* gtk/gtkdnd.c (gtk_drag_find_widget): Use forall(),
	not foreach().
1998-12-22 20:06:44 +00:00
Owen Taylor
1bde7a5599 Remove the info tag from the context so if the source unexpectedly
Thu Dec 17 18:25:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_drop_finished): Remove the
	info tag from the context so if the source unexpectedly
	responds in the future, we do nothing properly.

Thu Dec 17 18:24:41 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Handle
	the case where one side of the the pane is empty.

	* gtk/gtkfilesel.c (gtk_file_selection_init): Set
	dir_title before using it. (Pointed out by
	Lavoie Philippe <lavoie@zeus.genie.uottawa.ca>)
1998-12-17 23:35:22 +00:00
Owen Taylor
fcfe7370d8 Move main thread lock back to GDK - we need it there for locking when
Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
	thread lock back to GDK - we need it there for locking
	when translating events. Rename things appropriately.

Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.

CVS:
1998-12-16 20:09:30 +00:00
Tim Janik
017dfc9e4e version bump to 1.1.8, binary age 0, interface age 0, depend on GLib
Wed Dec 16 05:26:32 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.8, binary age 0, interface age 0,
        depend on GLib 1.1.8.

        * gdk/gdkprivate.h:
        * gdk/gdkglobals.c: removed last Gdk threads specific bits.

        * gtk/gtkmain.c (gtk_init): s/g_thread_supported/g_thread_supported()/.

        * gtk/gtkprivate.h: changed GTK_THREADS_ENTER and GTK_THREADS_LEAVE
        to function macros GTK_THREADS_ENTER() and GTK_THREADS_LEAVE().
        honour G_THREADS_ENABLED in the definition of GTK_THREADS_ENTER()
        and GTK_THREADS_LEAVE(). changed callers accordingly.
1998-12-16 06:03:14 +00:00
Owen Taylor
7eec796cbd Added GTK_USER_DRAW flag.
Tue Dec 15 13:32:28 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.h: Added GTK_USER_DRAW flag.

	* gtk/gtkwindow.c: Honor GTK_USER_DRAW flag.

	* gtk/gtkdrawwindow.c gtk/Makefile.am: Removed
	GtkDrawWindow, which GTK_USER_DRAW obsoletes.
1998-12-15 18:48:19 +00:00
Owen Taylor
a0c84d6818 Commented out testthreads from the build process, since we won't have any
Tue Dec 15 01:38:53 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Commented out testthreads from
	the build process, since we won't have any idea
	how to create a thread.

	* configure.in (LIBS): use glib-config ... gthread
	so we always build a thread-compatible library.

        * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
	  gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
	  gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
	  gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
	  gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:

	Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
	and idles to account for the fact that they are no
	longer called within the GTK+ lock.

	* gtk/gtkprivate.h: Added definitions for locking
	the main GTK+ mutex.

	* gtk/gtkmain.c: Re-implement the main loop
	in terms of the GLib main loop.

	* gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading
	functionality, as it seems better to subsume GDK within the
	GTK+ lock than vice-versa.

        * gdk/gdkevents.c: New file, containing event handling bits
	from gdk.c.

	* gdk/gdkevents.c: Implement event source for GDK
	events.

	* configure.in gdk/gdkevents.c: Removed attempts to
	subtract base_id, which were already non-functional.
1998-12-15 07:32:11 +00:00
Owen Taylor
939c818395 Added gtk_drag_source_unset()
Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
1998-12-11 02:48:40 +00:00
Owen Taylor
ba17081caa Use gdk_window_get_origin() instead of gdk_window_get_position, because
Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use
	gdk_window_get_origin() instead of gdk_window_get_position,
	because get_position is unreliable for plugs.

	This is a bad hack, maybe we need GDK_WINDOW_PLUG?
1998-12-11 01:44:12 +00:00
Owen Taylor
646d68e4bd Changed to 5 min from 10 seconds, so it doesn't abort while users have an
Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
	from 10 seconds, so it doesn't abort while users
	have an ACTION_ASK menu up.

	* gtk/gtkdnd.c: Hide the icon window between sending a a
	drop event to the destination and displaying the
	snapback animation, so that it doesn't hang around
	during ACTION_ASK.
1998-12-03 21:50:20 +00:00
Elliot Lee
060978e069 I submitted this patch twice to gtk-devel-list, and received no comments,
I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it.  Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.

1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>

	* {gdk,gtk}/*.c: Make read-only data structures "static const" to
	allow them to be shared, mainly including (but not limited to) the
	GtkTypeInfo structures for each class.

	* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
1998-11-30 19:07:15 +00:00