If there's a filter and a program running don't execute another one.
authorgastal <gastal>
Fri, 20 Jul 2012 14:05:22 +0000 (14:05 +0000)
committergastal <gastal@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 20 Jul 2012 14:05:22 +0000 (14:05 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@74249 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_program.c

index e08fa3d..70d26bf 100644 (file)
@@ -1157,8 +1157,13 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src,
                             Edje_Real_Part *rp;
 
                             rp = _edje_real_part_get(ed, pr->filter.part ? pr->filter.part : src);
-                            if (rp && !rp->program)
-                              exec = (rp->chosen_description->state.name == pr->filter.state);
+                            if (rp)
+                              {
+                                 if (rp->program)
+                                   exec = EINA_FALSE;
+                                 else
+                                   exec = (rp->chosen_description->state.name == pr->filter.state);
+                              }
                          }
 
                        pr->exec = exec;