Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : proto/python-efl

Dir     : e17/proto/python-efl/python-evas/evas


Modified Files:
        evas.c_evas.pxd evas.c_evas_object_smart.pxi 


Log Message:
Fix circular reference, have Factory to add Text as member

===================================================================
RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas.pxd,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- evas.c_evas.pxd     24 Jul 2007 14:20:07 -0000      1.10
+++ evas.c_evas.pxd     22 Aug 2007 14:29:54 -0000      1.11
@@ -624,14 +624,6 @@
     cdef object _m_color_set
     cdef object _m_clip_set
     cdef object _m_clip_unset
-    cdef object _m_old_delete
-    cdef object _m_old_move
-    cdef object _m_old_resize
-    cdef object _m_old_show
-    cdef object _m_old_hide
-    cdef object _m_old_color_set
-    cdef object _m_old_clip_set
-    cdef object _m_old_clip_unset
 
 
 cdef class Rectangle(Object):
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_smart.pxi,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- evas.c_evas_object_smart.pxi        9 Aug 2007 15:59:28 -0000       1.11
+++ evas.c_evas_object_smart.pxi        22 Aug 2007 14:29:54 -0000      1.12
@@ -10,16 +10,30 @@
     cdef SmartObject obj
     obj = <SmartObject>Object_from_instance(o)
     if obj._m_delete is not None:
-        obj._m_delete(obj)
+        try:
+            obj._m_delete(obj)
+        except Exception, e:
+            import traceback
+            traceback.print_exc()
+
+    del obj.delete
+    del obj.move
+    del obj.resize
+    del obj.show
+    del obj.hide
+    del obj.color_set
+    del obj.clip_set
+    del obj.clip_unset
+
     obj._smart_callbacks = None
-    obj.delete = obj._m_old_delete
-    obj.move = obj._m_old_move
-    obj.resize = obj._m_old_resize
-    obj.show = obj._m_old_show
-    obj.hide = obj._m_old_hide
-    obj.color_set = obj._m_old_color_set
-    obj.clip_set = obj._m_old_clip_set
-    obj.clip_unset = obj._m_old_clip_unset
+    obj._m_delete = None
+    obj._m_move = None
+    obj._m_resize = None
+    obj._m_show = None
+    obj._m_hide = None
+    obj._m_color_set = None
+    obj._m_clip_set = None
+    obj._m_clip_unset = None
 
 
 cdef void _smart_object_move(Evas_Object *o, Evas_Coord x, Evas_Coord y):
@@ -207,35 +221,27 @@
     def __new__(self, *a, **ka):
         self._smart_callbacks = dict()
         cls = self.__class__
-        self._m_old_delete = self.delete
         self._m_delete = _smart_class_get_impl_method(cls, "delete")
         if self._m_delete is not None:
             self.delete = python.PyMethod_New(Object.delete, self, cls)
-        self._m_old_move = self.move
         self._m_move = _smart_class_get_impl_method(cls, "move")
         if self._m_move is not None:
             self.move = python.PyMethod_New(Object.move, self, cls)
-        self._m_old_resize = self.resize
         self._m_resize = _smart_class_get_impl_method(cls, "resize")
         if self._m_resize is not None:
             self.resize = python.PyMethod_New(Object.resize, self, cls)
-        self._m_old_show = self.show
         self._m_show = _smart_class_get_impl_method(cls, "show")
         if self._m_show is not None:
             self.show = python.PyMethod_New(Object.show, self, cls)
-        self._m_old_hide = self.hide
         self._m_hide = _smart_class_get_impl_method(cls, "hide")
         if self._m_hide is not None:
             self.hide = python.PyMethod_New(Object.hide, self, cls)
-        self._m_old_color_set = self.color_set
         self._m_color_set = _smart_class_get_impl_method(cls, "color_set")
         if self._m_color_set is not None:
             self.color_set = python.PyMethod_New(Object.color_set, self, cls)
-        self._m_old_clip_set = self.clip_set
         self._m_clip_set = _smart_class_get_impl_method(cls, "clip_set")
         if self._m_clip_set is not None:
             self.clip_set = python.PyMethod_New(Object.clip_set, self, cls)
-        self._m_old_clip_unset = self.clip_unset
         self._m_clip_unset = _smart_class_get_impl_method(cls, "clip_unset")
         if self._m_clip_unset is not None:
             self.clip_unset = python.PyMethod_New(Object.clip_unset, self, cls)
@@ -378,4 +384,5 @@
                                glow_color=glow_color, glow2_color=glow2_color,
                                outline_color=outline_color, size=size, pos=pos,
                                geometry=geometry, color=color, name=name)
+        self.member_add(obj)
         return obj



-------------------------------------------------------------------------
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