Index: egg-editable-toolbar.c
===================================================================
--- egg-editable-toolbar.c	(revision 3835)
+++ egg-editable-toolbar.c	(working copy)
@@ -49,6 +49,7 @@
 
 static void egg_editable_toolbar_class_init	(EggEditableToolbarClass *klass);
 static void egg_editable_toolbar_init		(EggEditableToolbar *etoolbar);
+static GdkPixbuf * new_separator_pixbuf         (void);
 
 #define MIN_TOOLBAR_HEIGHT 20
 #define EGG_ITEM_NAME      "egg-item-name"
@@ -468,6 +469,32 @@
 
           gtk_drag_source_set (widget, GDK_BUTTON1_MASK, dest_drag_types,
                                G_N_ELEMENTS (dest_drag_types), GDK_ACTION_MOVE);
+	  if (GTK_IS_SEPARATOR_TOOL_ITEM (item))
+	    {
+	      GdkPixbuf *pixbuf;
+	      pixbuf = new_separator_pixbuf ();
+	      gtk_drag_source_set_icon_pixbuf (widget, pixbuf);
+              g_object_unref (pixbuf);
+            }
+	  else if (GTK_IS_TOOL_BUTTON (item))
+            {
+	      char* icon_name, *stock_id;
+
+	      g_object_get (widget,
+                            "icon-name", &icon_name,
+                            "stock-id", &stock_id,
+		            NULL);
+	      if (icon_name)
+                {
+                  gtk_drag_source_set_icon_name (widget, icon_name);
+                }
+              else
+                {		 
+                  gtk_drag_source_set_icon_stock (widget, stock_id ? stock_id : GTK_STOCK_DND);
+                }
+              g_free (icon_name);
+              g_free (stock_id);
+            }
         }
       else
         {
