Dear all,
When edje program is removed by "program_remove", queued program lookups
will be removed also. However, it seems that required program lookups that
should be kept are also removed.
For example, three program lookups will be queued after parsing this
programs block.
programs {
program { "pr0";
after: "pr1"; // LOOKUP[0]
}
program { "pr1";
script {
run_program(PROGRAM: "pr2"); // LOOKUP[1]
}
after: "pr3"; // LOOKUP[2]
}
}
If "pr1" is removed, it is right to remove LOOKUP[1] & LOOKUP[2], but
LOOKUP[0] should be kept.
In normal case, if "pr1" doesn't exist in group, edje_cc complains about
non-existence of "pr1", but "program_remove" removes all program lookups
for "pr1".
"pr0" still tries to execute "pr1" in runtime, but it will execute
arbitrary program having index of "0". Because "pr0"'s lookup for "pr1" is
removed by "program_remove" and the id of "Edje_Program_After" will remains
as 0 after calloc'ed.
It is easy to make program lookups for removed program alive, but the
change can cause compilation error for edje_cc.
Is it allowed to change code in this case, or should I find the way not
causing build error?
Regards,
conr2d (Jee-Yong Um)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel