Unplanned
Last Updated: 03 Sep 2025 13:53 by Tibor
Tibor
Created on: 03 Sep 2025 13:53
Category: WordsProcessing
Type: Bug Report
0
WordsProcessing: RadFlowDocumentEditor.InsertDocument throws NullReferenceException when inserting a document with incorrectly paired permission range elements

RadFlowDocumentEditor.InsertDocument throws NullReferenceException when inserting a document with incorrectly paired permission range elements.

Valid (Nested):

<w:permStart w:id="1"/>
  <w:permStart w:id="2"/>
    ... content ...
  <w:permEnd w:id="2"/>
<w:permEnd w:id="1"/>

Invalid (Overlapped):

<w:permStart w:id="1"/>
  <w:permStart w:id="2"/>
<w:permEnd w:id="1"/>
  <w:permEnd w:id="2"/>

Workaround - Remove all Permission Ranges before inserting:

var startPermissionRanges = contentDocument.EnumerateChildrenOfType<PermissionRangeStart>().ToList();
var endPermissionRanges = contentDocument.EnumerateChildrenOfType<PermissionRangeEnd>().ToList();

foreach (PermissionRangeStart rangeStart in startPermissionRanges)
{
    rangeStart.Paragraph.Inlines.Remove(rangeStart);
}

foreach (PermissionRangeEnd rangeEnd in endPermissionRanges)
{
    rangeEnd.Paragraph.Inlines.Remove(rangeEnd);
}

 

 

0 comments