After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 172794 - Drag and drop from other app only works for URIs
Drag and drop from other app only works for URIs
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: General
unspecified
Other All
: Normal enhancement
: 2.4
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2005-04-06 11:51 UTC by Jon Kåre Hellan
Modified: 2005-04-09 19:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jon Kåre Hellan 2005-04-06 11:51:09 UTC
Select an image from an app which supports outgoing drag an drop, and drop
on gimp. The drop fails because gimp expects URIs, and selection contains
image data.

You can test by dragging from OOo. Outgoing drag has also just been added to
Gnumeric HEAD, will be in version 1.5.2.

In the case of Gnumeric, we advertise the image formats gdk-pixbuf will save,
i.e. image/png, image/jpg and image/x-icon. We also talked the gtk people into
adding bmp saving to the 2.6 tree, so if linked with gtk 2.6.5 or later, we also
offer bmp.
Comment 1 Jon Kåre Hellan 2005-04-06 11:59:29 UTC
The latest release of gnumeric as I write this is 1.5.0. Outgoing dnd will be in
1.5.1
Comment 2 Michael Natterer 2005-04-09 19:04:49 UTC
Fixed in CVS:

2005-04-09  Michael Natterer  <mitch@gimp.org>

	Implement dragging and dropping in any GdkPixbuf supported format.
	Fixes bug #172794 and bug #172795.

	* app/core/gimplayer.[ch] (gimp_layer_new_from_region): new
	function which contains all stuff that was in
	gimp_layer_new_from_tiles().

	(gimp_layer_new_from_tiles): use above function.
	(gimp_layer_new_from_pixbuf): new function.

	* app/widgets/Makefile.am
	* app/widgets/gimppixbuf.[ch]: new files containing GdkPixbuf
	utility functions for clipboard and DnD.

	* app/widgets/gimpselectiondata.[ch]: removed
	gimp_selection_data_set,get_pixbuf(), GTK+ provides the same API.
	Also removed GdkAtom parameters all over the place because it's
	always the same as selection_data->target.

	* app/widgets/gimpclipboard.c: use the new pixbuf utility
	functions and gtk_selection_data_set,get_pixbuf().

	* app/widgets/widgets-enums.h
	* app/widgets/gimpdnd.[ch]: removed never-implemented
	GIMP_DND_TYPE_PNG and added a generic GIMP_DND_TYPE_PIXBUF
	instead. Added API to drag and drop GdkPixbufs which transparently
	converts from/to any GdkPixbuf-supported image format. Removed
	passing around of GdkAtoms, since they were always the same
	as selection_data->target.

	* app/widgets/gimpdnd-xds.[ch]: follow GdkAtom parameter removal.

	* app/widgets/gimpcontainertreeview.[ch]: added virtual function
	GimpContainerTreeView::drop_pixbuf().

	* app/widgets/gimpcontainertreeview-dnd.c: dispatch drop_pixbuf().

	* app/widgets/gimplayertreeview.c: implement drop_pixbuf().

	* app/widgets/gimpdrawabletreeview.c: allow to drag all drawables
	as pixbufs.

	* app/display/gimpdisplayshell-dnd.c: allow dropping of pixbufs.