Skip to content
Permalink
Browse files

list-view: use the cairo surface as a drag icon

As we now store surfaces in the GtkListStore, we have to change the
drag method to use it instead of a pixbuf.

origin commit:
https://gitlab.gnome.org/GNOME/nautilus/commit/18a380af
  • Loading branch information...
cosimoc authored and raveit65 committed Aug 5, 2013
1 parent 1a14801 commit 0630180fcb42da1c6ecd95eb0bba41e71a567b27
Showing with 8 additions and 11 deletions.
  1. +8 −11 src/file-manager/fm-list-view.c
@@ -459,13 +459,13 @@ stop_drag_check (FMListView *view)
view->details->drag_button = 0;
}

static GdkPixbuf *
get_drag_pixbuf (FMListView *view)
static cairo_surface_t *
get_drag_surface (FMListView *view)
{
GtkTreeModel *model;
GtkTreePath *path;
GtkTreeIter iter;
GdkPixbuf *ret;
cairo_surface_t *ret;
GdkRectangle cell_area;

ret = NULL;
@@ -499,15 +499,12 @@ drag_begin_callback (GtkWidget *widget,
FMListView *view)
{
GList *ref_list;
GdkPixbuf *pixbuf;
cairo_surface_t *surface;

pixbuf = get_drag_pixbuf (view);
if (pixbuf)
{
gtk_drag_set_icon_pixbuf (context,
pixbuf,
0, 0);
g_object_unref (pixbuf);
surface = get_drag_surface (view);
if (surface) {
gtk_drag_set_icon_surface (context, surface);
cairo_surface_destroy (surface);
}
else
{

0 comments on commit 0630180

Please sign in to comment.
You can’t perform that action at this time.