From d6e45172f31e9a724a5da3b99ef26d519740d691 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Sun, 8 Apr 2007 14:00:20 +0200 Subject: [PATCH] Made Timer#initialize reject infinite floats for the interval. --- src/ecore/rb_timer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ecore/rb_timer.c b/src/ecore/rb_timer.c index 4d05d48..6ef4d75 100644 --- a/src/ecore/rb_timer.c +++ b/src/ecore/rb_timer.c @@ -84,6 +84,11 @@ static VALUE c_init (VALUE self, VALUE interval) if (!rb_block_given_p ()) rb_raise (rb_eStandardError, "block missing"); + interval = rb_funcall2 (interval, rb_intern ("to_f"), 0, NULL); + + if (rb_funcall2 (interval, rb_intern ("finite?"), 0, NULL) == Qfalse) + rb_raise (rb_eArgError, "Argument must not be infinite"); + timer->callback = rb_block_proc (); timer->deleted = false; timer->real = ecore_timer_add (NUM2DBL (interval), -- 2.30.2