trans_table_replace_refcid_recursive(s->tag, cid_trans_table);
free(tag->data);
tag->data = NULL;
+ } else {
+ int refcid, to_refcid;
+ refcid = swf_tag_get_refcid(tag);
+ if (refcid > 0) {
+ to_refcid = trans_table_get(cid_trans_table, refcid);
+ if (refcid != to_refcid) {
+ swf_tag_replace_refcid(tag, to_refcid);
+ }
+ }
}
// extract tag before SpriteTag
prev_sprite_tag->next = swf_tag_move(tag);
return -1;
}
return swf_tag_place->character_id;
+ } else if (tag->code == 37) { // DefineEditText
+ swf_tag_edit_detail_t *swf_tag_edit;
+ swf_tag_edit = swf_tag_create_input_detail(tag, NULL);
+ if (swf_tag_edit == NULL) {
+ fprintf(stderr, "swf_tag_get_refcid: swf_tag_edit swf_tag_create_input_detail failed\n");
+ return -1;
+ }
+ return swf_tag_edit->edit_font_id_ref;
}
return -1; // no cid tag
}
return 1; // failure
}
swf_tag_place->character_id = cid;
+ } else if (tag->code == 37) { // DefineEditText
+ swf_tag_edit_detail_t *swf_tag_edit;
+ swf_tag_edit = swf_tag_create_input_detail(tag, NULL);
+ if (swf_tag_edit == NULL) {
+ fprintf(stderr, "swf_tag_get_refcid: swf_tag_edit swf_tag_create_input_detail failed\n");
+ return -1;
+ }
+ swf_tag_edit->edit_font_id_ref = cid;
}
if (tag->data) {
free(tag->data);