Check whether the gadcon is on a shelf before doing shelf operation.
authorSebastian Dransfeld <sd@tango.flipp.net>
Fri, 13 Jun 2008 09:14:20 +0000 (09:14 +0000)
committerSebastian Dransfeld <sd@tango.flipp.net>
Fri, 13 Jun 2008 09:14:20 +0000 (09:14 +0000)
(Thanks to Dave Andreoli).

SVN revision: 34810

src/bin/e_dnd.c

index 6007e76..173ef4c 100644 (file)
@@ -637,15 +637,19 @@ _e_drag_win_show(E_Drop_Handler *h)
 static void
 _e_drag_win_hide(E_Drop_Handler *h)
 {
+   E_Shelf *shelf;
+
    if (h->obj)
      {
        switch (h->obj->type)
          {
           case E_GADCON_TYPE:
-             e_shelf_toggle(e_gadcon_shelf_get((E_Gadcon *)(h->obj)), 0);
+             shelf = e_gadcon_shelf_get((E_Gadcon *)(h->obj));
+             if (shelf) e_shelf_toggle(shelf, 0);
              break;
           case E_GADCON_CLIENT_TYPE:
-             e_shelf_toggle(e_gadcon_shelf_get(((E_Gadcon_Client *)(h->obj))->gadcon), 0);
+             shelf = e_gadcon_shelf_get(((E_Gadcon_Client *)(h->obj))->gadcon);
+             if (shelf) e_shelf_toggle(shelf, 0);
              break;
             /* FIXME: add more types as needed */
           default: