- g_memmove(&length, user_data, sizeof(int));
- p = ((char *)user_data) + length;
- g_memmove(&text, p, sizeof(gchar *)); p+= sizeof(gchar *);
- g_memmove(&pixbuf, p, sizeof(GdkPixbuf *)); p += sizeof(GdkPixbuf *);
-
- if (text!=NULL) g_free(text);
- if (pixbuf!=NULL) gdk_pixbuf_unref(pixbuf);
- g_free(user_data);
+ if (sel->xo_data!=NULL) g_free(sel->xo_data);
+ if (sel->text_data!=NULL) g_free(sel->text_data);
+ if (sel->image_data!=NULL) g_object_unref(sel->image_data);
+ g_free(sel);