Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_gadcon.c 


Log Message:
Add some trapping to gadcon for doing drags. This is needed because toolbar
gadcon does not have zone->container.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -3 -r1.84 -r1.85
--- e_gadcon.c  31 Oct 2007 10:09:51 -0000      1.84
+++ e_gadcon.c  9 Nov 2007 20:34:55 -0000       1.85
@@ -1543,21 +1543,27 @@
    if (!e_drop_inside(gcc->gadcon->drop_handler, x, y))
      e_gadcon_client_hide(gcc);
 
-   drag = e_drag_new(gcc->gadcon->zone->container, gcc->drag.x, gcc->drag.y,
-        drag_types, 1, gcc, -1, NULL, _e_gadcon_cb_drag_finished);
-   o = gcc->client_class->func.icon(drag->evas);
-   evas_object_geometry_get(o, NULL, NULL, &w, &h);
-   if (!o)
+   if ((gcc->gadcon->zone) && (gcc->gadcon->zone->container))
      {
-       /* FIXME: fallback icon for drag */
-       o = evas_object_rectangle_add(drag->evas);
-       evas_object_color_set(o, 255, 255, 255, 255);
+       drag = e_drag_new(gcc->gadcon->zone->container, gcc->drag.x, 
gcc->drag.y,
+                         drag_types, 1, gcc, -1, NULL, 
+                         _e_gadcon_cb_drag_finished);
+       if (drag) 
+         {
+            o = gcc->client_class->func.icon(drag->evas);
+            evas_object_geometry_get(o, NULL, NULL, &w, &h);
+            if (!o)
+              {
+                 /* FIXME: fallback icon for drag */
+                 o = evas_object_rectangle_add(drag->evas);
+                 evas_object_color_set(o, 255, 255, 255, 255);
+              }
+            e_drag_object_set(drag, o);
+            e_drag_move(drag, gcc->drag.x - w/2, gcc->drag.y - h/2);
+            e_drag_resize(drag, w, h);
+            e_drag_start(drag, gcc->drag.x, gcc->drag.y);
+         }
      }
-   e_drag_object_set(drag, o);
-
-   e_drag_move(drag, gcc->drag.x - w/2, gcc->drag.y - h/2);
-   e_drag_resize(drag, w, h);
-   e_drag_start(drag, gcc->drag.x, gcc->drag.y);
    e_util_evas_fake_mouse_up_later(gcc->gadcon->evas, 1);
 }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to