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

Reply via email to