From eeb52f487ae963f76532fd37e505105043089bd2 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 17 Sep 2008 08:33:35 +0000 Subject: [PATCH] Fix bug reported by Vincent Torri and add a test to trigger it. SVN revision: 36041 --- legacy/eina/src/lib/eina_counter.c | 2 +- legacy/eina/src/tests/eina_test_counter.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/legacy/eina/src/lib/eina_counter.c b/legacy/eina/src/lib/eina_counter.c index 7d90461077..ae7c914427 100644 --- a/legacy/eina/src/lib/eina_counter.c +++ b/legacy/eina/src/lib/eina_counter.c @@ -198,7 +198,7 @@ eina_counter_stop(Eina_Counter *counter, int specimen) clk = (Eina_Clock *) counter->clocks; - if (clk->valid == EINA_TRUE) return ; + if (!clk || clk->valid == EINA_TRUE) return ; clk->end = tp; clk->specimen = specimen; diff --git a/legacy/eina/src/tests/eina_test_counter.c b/legacy/eina/src/tests/eina_test_counter.c index aa6739ae1d..b4c726154b 100644 --- a/legacy/eina/src/tests/eina_test_counter.c +++ b/legacy/eina/src/tests/eina_test_counter.c @@ -66,9 +66,27 @@ START_TEST(eina_counter_simple) } END_TEST +START_TEST(eina_counter_break) +{ + Eina_Counter *cnt; + + eina_counter_init(); + + cnt = eina_counter_add("eina_test"); + fail_if(!cnt); + + eina_counter_stop(cnt, 10); + + eina_counter_delete(cnt); + + eina_counter_shutdown(); +} +END_TEST + void eina_test_counter(TCase *tc) { tcase_add_test(tc, eina_counter_init_shutdown); tcase_add_test(tc, eina_counter_simple); + tcase_add_test(tc, eina_counter_break); }