diff options
author | Kristian Rietveld <kris@gtk.org> | 2010-10-19 13:26:39 +0200 |
---|---|---|
committer | Kristian Rietveld <kris@gtk.org> | 2010-10-19 14:07:39 +0200 |
commit | 046ca498de539463309a2e89f386b67d7e9713cf (patch) | |
tree | 08db4e9490fe58bf685be4596d8f83e5b342618a | |
parent | 8ac7f641235296a502c583cc2aa97e192cdb862b (diff) | |
download | gtk+-046ca498de539463309a2e89f386b67d7e9713cf.tar.gz |
dnd-quartz: get hot spot from device offset for surface and use this
-rw-r--r-- | gtk/gtkdnd-quartz.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index bc27d1444f..687f1aa606 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -1691,17 +1691,19 @@ gtk_drag_set_icon_surface (GdkDragContext *context, { GdkPixbuf *pixbuf; GdkRectangle extents; + double x_offset, y_offset; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); g_return_if_fail (context->is_source); g_return_if_fail (surface != NULL); _gtk_cairo_surface_extents (surface, &extents); + cairo_surface_get_device_offset (surface, &x_offset, &y_offset); pixbuf = gdk_pixbuf_get_from_surface (surface, extents.x, extents.y, extents.width, extents.height); - gtk_drag_set_icon_pixbuf (context, pixbuf, 0, 0); + gtk_drag_set_icon_pixbuf (context, pixbuf, -x_offset, -y_offset); g_object_unref (pixbuf); } |