From 173ab99186f4ccd29664b2e3252780536bac0dda Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Fri, 16 Nov 2012 01:01:53 -0800 Subject: [PATCH] FL/Fl_Blink_Button: Fix CPU wasting bug introduced in afd354. --- FL/Fl_Blink_Button.H | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/FL/Fl_Blink_Button.H b/FL/Fl_Blink_Button.H index 629926d..d7e3418 100644 --- a/FL/Fl_Blink_Button.H +++ b/FL/Fl_Blink_Button.H @@ -35,10 +35,17 @@ class Fl_Blink_Button : public Fl_Button ((Fl_Blink_Button*)v)->update_cb(); } + + float + blink_interval_as_fraction_of_seceond ( void ) const + { + return (float)_blink_interval / 1000; + } + void update_cb ( void ) { - Fl::repeat_timeout( _blink_interval / 1000, update_cb, this ); + Fl::repeat_timeout( blink_interval_as_fraction_of_seceond(), update_cb, this ); _on = ! _on; @@ -92,7 +99,7 @@ public: if ( value() ) { Fl::remove_timeout( update_cb, this ); - Fl::add_timeout( _blink_interval / 1000, update_cb, this ); + Fl::add_timeout( blink_interval_as_fraction_of_seceond(), update_cb, this ); } } @@ -101,7 +108,7 @@ public: if ( v ) { if ( _blinking ) - Fl::add_timeout( _blink_interval / 1000, update_cb, this ); + Fl::add_timeout( blink_interval_as_fraction_of_seceond(), update_cb, this ); Fl_Button::value( v ); redraw(); }