]> git.llucax.com Git - software/libev.git/commitdiff
fix bug reported by chris brody
authorroot <root>
Thu, 29 Nov 2007 17:36:35 +0000 (17:36 +0000)
committerroot <root>
Thu, 29 Nov 2007 17:36:35 +0000 (17:36 +0000)
ev++.h

diff --git a/ev++.h b/ev++.h
index 5133af07561e1f8369dec7ed377cbdca2268eca1..c51e161cc39d96718024b366098d4354a534e827 100644 (file)
--- a/ev++.h
+++ b/ev++.h
@@ -250,6 +250,7 @@ namespace ev {
 
     void start (const char *path, ev_tstamp interval = 0.)
     {
 
     void start (const char *path, ev_tstamp interval = 0.)
     {
+      stop ();
       set (path, interval);
       start ();
     }
       set (path, interval);
       start ();
     }
@@ -275,17 +276,10 @@ namespace ev {
 
   #if EV_EMBED_ENABLE
   EV_BEGIN_WATCHER (embed, embed)
 
   #if EV_EMBED_ENABLE
   EV_BEGIN_WATCHER (embed, embed)
-    void set (struct ev_loop *loop)
-    {
-      int active = is_active ();
-      if (active) stop ();
-      ev_embed_set (static_cast<ev_embed *>(this), loop);
-      if (active) start ();
-    }
-
     void start (struct ev_loop *embedded_loop)
     {
     void start (struct ev_loop *embedded_loop)
     {
-      set (embedded_loop);
+      stop ();
+      ev_embed_set (static_cast<ev_embed *>(this), embedded_loop);
       start ();
     }
 
       start ();
     }