summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2014-04-21 10:29:53 -0400
committerMike Blumenkrantz <zmike@samsung.com>2014-04-25 10:52:15 -0400
commit939f2eea7f8318864c85010c704a6045d2e77b51 (patch)
tree9dcc2c0e95e19cb808d305d4efc12d12a3a301a5 /src/lib
parentc5b1598e6e21fb11e7a0672e14077f61181b510b (diff)
edje now has the group.script_recursion flag for permitting unsafe embryo recursion
this is enabled for all scripts within a group, and it should only be used if you: 1) know what you are doing 2) know why this is unsafe (T905) @feature
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/edje/edje_data.c1
-rw-r--r--src/lib/edje/edje_embryo.c2
-rw-r--r--src/lib/edje/edje_private.h2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index 2a9cf3fdaa..a6d7c8124a 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -1077,6 +1077,7 @@ _edje_edd_init(void)
1077 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.depth", physics.world.depth, EET_T_INT); 1077 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics.world.depth", physics.world.depth, EET_T_INT);
1078#endif 1078#endif
1079 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics_enabled", physics_enabled, EET_T_UCHAR); 1079 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "physics_enabled", physics_enabled, EET_T_UCHAR);
1080 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "script_recursion", script_recursion, EET_T_UCHAR);
1080} 1081}
1081 1082
1082EAPI void 1083EAPI void
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index b4ba41f171..2f03c6ba89 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -3871,7 +3871,7 @@ _edje_embryo_test_run(Edje *ed, const char *fname, const char *sig, const char *
3871 /* will likely end up being much longer than 0.016 seconds - more */ 3871 /* will likely end up being much longer than 0.016 seconds - more */
3872 /* like 0.03 - 0.05 seconds or even more */ 3872 /* like 0.03 - 0.05 seconds or even more */
3873 embryo_program_max_cycle_run_set(ed->collection->script, 5000000); 3873 embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
3874 if (embryo_program_recursion_get(ed->collection->script)) 3874 if (embryo_program_recursion_get(ed->collection->script) && (!ed->collection->script_recursion))
3875 ERR("You are running Embryo->EDC->Embryo with script program '%s';\nBy the power of Grayskull, your previous Embryo stack is now broken!", fname); 3875 ERR("You are running Embryo->EDC->Embryo with script program '%s';\nBy the power of Grayskull, your previous Embryo stack is now broken!", fname);
3876 ret = embryo_program_run(ed->collection->script, fn); 3876 ret = embryo_program_run(ed->collection->script, fn);
3877 if (ret == EMBRYO_PROGRAM_FAIL) 3877 if (ret == EMBRYO_PROGRAM_FAIL)
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 96adb6ea9e..1c756b2a9f 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -967,6 +967,8 @@ struct _Edje_Part_Collection
967 967
968 unsigned char physics_enabled; /* will be 1 if a body is declared */ 968 unsigned char physics_enabled; /* will be 1 if a body is declared */
969 969
970 unsigned char script_recursion; /* permits unsafe Embryo->EDC->Embryo scripting */
971
970 unsigned char checked : 1; 972 unsigned char checked : 1;
971}; 973};
972 974