11.08.2013 12:20, davemds - Enlightenment Git kirjoitti: > davemds pushed a commit to branch master. > > commit 0fe8211593b90ce813e91257c0860c09986a7666 > Author: davemds <[email protected]> > Date: Sun Aug 11 11:20:26 2013 +0200 > > PythonEFL: do not ignore exceptions in Timer/Animator/Poller/Idlers > callbacks > --- > efl/ecore/efl.ecore_animator.pxi | 2 +- > efl/ecore/efl.ecore_idler.pxi | 2 +- > efl/ecore/efl.ecore_poller.pxi | 2 +- > efl/ecore/efl.ecore_timer.pxi | 2 +- > include/efl.ecore.pxd | 8 ++++---- > 5 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/efl/ecore/efl.ecore_animator.pxi > b/efl/ecore/efl.ecore_animator.pxi > index 862a1e0..0888ae0 100644 > --- a/efl/ecore/efl.ecore_animator.pxi > +++ b/efl/ecore/efl.ecore_animator.pxi > @@ -61,7 +61,7 @@ cdef class Animator(Eo): > return "%s Animator(func=%s, args=%s, kargs=%s)" % > (Eo.__repr__(self), > self.func, self.args, self.kargs) > > - cpdef bint _task_exec(self): > + cpdef bint _task_exec(self) except *: > return self.func(*self.args, **self.kargs) > > def delete(self): > diff --git a/efl/ecore/efl.ecore_idler.pxi b/efl/ecore/efl.ecore_idler.pxi > index 1e18f78..4c76a09 100644 > --- a/efl/ecore/efl.ecore_idler.pxi > +++ b/efl/ecore/efl.ecore_idler.pxi > @@ -59,7 +59,7 @@ cdef class Idler(Eo): > return "%s Idler(func=%s, args=%s, kargs=%s)" % (Eo.__repr__(self), > self.func, self.args, self.kargs) > > - cpdef bint _task_exec(self): > + cpdef bint _task_exec(self) except *: > return self.func(*self.args, **self.kargs) > > def delete(self): > diff --git a/efl/ecore/efl.ecore_poller.pxi b/efl/ecore/efl.ecore_poller.pxi > index 2d7713b..5ec2b9d 100644 > --- a/efl/ecore/efl.ecore_poller.pxi > +++ b/efl/ecore/efl.ecore_poller.pxi > @@ -81,7 +81,7 @@ cdef class Poller(Eo): > self.interval if self.obj else -1, > self.func, self.args, self.kargs) > > - cpdef bint _task_exec(self): > + cpdef bint _task_exec(self) except *: > return self.func(*self.args, **self.kargs) > > def delete(self): > diff --git a/efl/ecore/efl.ecore_timer.pxi b/efl/ecore/efl.ecore_timer.pxi > index a6450a2..f43b687 100644 > --- a/efl/ecore/efl.ecore_timer.pxi > +++ b/efl/ecore/efl.ecore_timer.pxi > @@ -62,7 +62,7 @@ cdef class Timer(Eo): > self.interval if self.obj else -1.0, > self.func, self.args, self.kargs) > > - cpdef bint _task_exec(self): > + cpdef bint _task_exec(self) except *: > return self.func(*self.args, **self.kargs) > > def delete(self): > diff --git a/include/efl.ecore.pxd b/include/efl.ecore.pxd > index 19e6220..5ce8ea8 100644 > --- a/include/efl.ecore.pxd > +++ b/include/efl.ecore.pxd > @@ -201,26 +201,26 @@ cdef extern from "Ecore_File.h": > cdef class Timer(Eo): > cdef double _interval > cdef readonly object func, args, kargs > - cpdef bint _task_exec(self) > + cpdef bint _task_exec(self) except * > > > cdef class Animator(Eo): > cdef readonly object func > cdef readonly tuple args > cdef readonly dict kargs > - cpdef bint _task_exec(self) > + cpdef bint _task_exec(self) except * > > > cdef class Poller(Eo): > cdef readonly object func > cdef readonly tuple args > cdef readonly dict kargs > - cpdef bint _task_exec(self) > + cpdef bint _task_exec(self) except * > > > cdef class Idler(Eo): > cdef readonly object func, args, kargs > - cpdef bint _task_exec(self) > + cpdef bint _task_exec(self) except * > > > cdef class IdleEnterer(Idler): >
Good catch. I was assuming the exceptions would be propagated because it was returning bint, it's actually being called from C code making the return value C int. Possibly a layer could be removed from that cb system but I'm feeling too lazy to do it now. :P ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
