Copy link to clipboard
Copied
In After Effects beta (on Mac M1, at least), programmatically opening a ModalDialog extension from a "sibling" extension (both under the same ExtensionBundle CSXS/Manifest) now breaks the Extendscript scope.
assuming my jsx file has this line:
var hello = "world";
then on After Effects up until version 22.6 I could do in Javascript -
var test1 = await evalScript("hello"); console.log("test1:" + test1); await openModalPanel(); var test2 = await evalScript("hello"); console.log("test2:" + test2);
I would get:
test1: world
test2: world
where of course evalScript and openModalPanel are my custom async functions (code not shown) that evaluate JSX (using CSInterface.evalScript) and open a bundled ModalDialog extension and wait for it to open before resolving (by the use of CSInterface.requestOpenExtension and messaging to determin that it had opened).
Same exact code as above on After Effects beta gives:
test1: world
test2: EvalScript error.
meanig that Extendscript scope is no longer available once the ModalDialog has been opened.
BTW, changing the second extension's type in the manifest file to something like Modeless does not block scope (meaning, I get the desired outcome).
(background: we have our main extension as a Modeless extension and while processing (when user clicks "process"), would like to present a ModalDialog to prevent the user from interacting with the host app, After Effects, while the main extension is "doing it's thing". This worked perfectly on After Effects up to version 22.6.0, and is now broken)
thnx,
Sa'ar
Copy link to clipboard
Copied
Hi @Saariko2,
Thank you for reporting this issue and for the details surrounding what you are seeing. Our team is aware of this bug and investigating a fix. Once the fix is available in Beta, I'll follow up with another reply here.
Thanks again for reporting this issue,
- John, After Effects Engineering Team