Skip to main content
Participant
February 20, 2019
Question

Effect Crash When creating shapes from text

  • February 20, 2019
  • 1 reply
  • 986 views

Hello, everyone. I'm new to AE plug-in development and stumbled upon a problem, so I thought I'd ask.
I have an Effect Plug-In which I apply to a Text Layer, and that works fine. However when I click on "Create Shapes from Text", the Shape Layer gets created with the effect applied, but no shapes in it and I get this error:

After Effects error : internal verification failure, sorry! {child not found in parent} ( 29 :: 0 )

I'm guessing the problem is here (executed on PF_Cmd_UPDATE_PARAMS_UI):

AEGP_EffectRefH  meH = NULL;
AEGP_StreamRefH paramStreamH = NULL;
ERR(suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(NULL, in_data->effect_ref, &meH));
ERR(suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(NULL, meH, parameterName, &paramStreamH));
ERR(suites.DynamicStreamSuite2()->AEGP_SetDynamicStreamFlag(paramStreamH, AEGP_DynStreamFlag_HIDDEN, FALSE, shouldHide));
if (paramStreamH)
{
     ERR2(suites.StreamSuite2()->AEGP_DisposeStream(paramStreamH));
}
if (meH)
{
     ERR2(suites.EffectSuite2()->AEGP_DisposeEffect(meH));
}

This code normally does what it's supposed to, except in this scenario.

I would appreciate it if someone can give me a clue as to what I am doing wrong.

This topic has been closed for replies.

1 reply

Community Expert
February 20, 2019

you're using parameterName as an index. where does it's value come from?

are you sure it represents an index of an existing stream at the time of

the call?

goofaraAuthor
Participant
February 20, 2019

I assume PF_Cmd_PARAMS_SETUP was called before PF_Cmd_UPDATE_PARAMS_UI, so the parameter should exist. Or am I missing something?

Correction: I used a boolean in global data to ensure the params have been initialized. It is set to TRUE at the end of Params setup, so the problematic code is only executed if parameter creation is already done.

goofaraAuthor
Participant
February 20, 2019

In fact the error seems to come from this line:

ERR(suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(NULL, in_data->effect_ref, &meH));

The error code is 3;