Hi
I've noticed that in 2014.3.1021 there have been some performance enhancements to UpdateAllFields. I'm not entirely sure what they are, but if I was to guess I'd say the document is no longer being layed out, mesaured and arranged after each field update.
This has, sadly, broken one of my custom fields.
I have a sort-of-cross reference field - it returns the page number of a custom AnnotationRangeStart. It does this in basically the same way as PageField.
Following the update to this version, the page number is always returned as '1' during UpdateAllFields. This seems to be because the layout only reports a single SectionLayoutBox in the DocumentLayoutBox.
I see from the PageField source two internal virtual methods that you use to workaround this issue: SaveState and RestoreState. As these are internal and not protected internal, I can't do the same.
My current workaround is to run Document.UpdateLayout() while this field is updating, which isn't ideal. Do you have any better ideas, or would you consider changing the accessibility of these internal state management methods?
I've noticed that in 2014.3.1021 there have been some performance enhancements to UpdateAllFields. I'm not entirely sure what they are, but if I was to guess I'd say the document is no longer being layed out, mesaured and arranged after each field update.
This has, sadly, broken one of my custom fields.
I have a sort-of-cross reference field - it returns the page number of a custom AnnotationRangeStart. It does this in basically the same way as PageField.
Following the update to this version, the page number is always returned as '1' during UpdateAllFields. This seems to be because the layout only reports a single SectionLayoutBox in the DocumentLayoutBox.
I see from the PageField source two internal virtual methods that you use to workaround this issue: SaveState and RestoreState. As these are internal and not protected internal, I can't do the same.
My current workaround is to run Document.UpdateLayout() while this field is updating, which isn't ideal. Do you have any better ideas, or would you consider changing the accessibility of these internal state management methods?