B2016-174: PartialStepCompression does not work correctly for Background formats (those steps that use PageBreakOnStep format flag)

This commit is contained in:
Kathy Ruffing 2016-08-09 11:37:12 +00:00
parent 202ef89909
commit 0804ecc7ee

View File

@ -1031,7 +1031,10 @@ namespace Volian.Print.Library
paraBreak = paraBreak.ChildrenBelow[0];
float ySpaceOnNextPage1 = yPageSize - (myTopMsgSpace + (yEndMsg == 0 ? SixLinesPerInch : 0)); // Allow for continue message and blank line.
ySpaceOnNextPage1 -= accountForSmartTemplateHeader;
if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.PartialStepCompression && onNewPage) // ySpaceOnNextPage1 == ySpaceOnCurPage+myBottomMsgSpace)
// This fixes B2016-174:
// Added the check to not go into this code if on a step that needs to break. If the conditions were met, this
// code was not putting a page break on a step that needed to break, i.e. PageBreakOnStep = true.
if ((MyItemInfo.IsStep && !MyItemInfo.FormatStepData.PageBreakOnStep) && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.PartialStepCompression && onNewPage) // ySpaceOnNextPage1 == ySpaceOnCurPage+myBottomMsgSpace)
{
float ySpaceAt7LPI = ((ySpaceOnCurPage - accountForCalvertAlarmConditionResponseFooter) * SixLinesPerInch / _SevenLinesPerInch) - _SevenLinesPerInch;
vlnParagraph paraBreak7 = FindPageBreak(yStart, ySpaceAt7LPI, yLowerLimit,
@ -1115,7 +1118,10 @@ namespace Volian.Print.Library
yLowerLimit = ySpaceOnCurPage / 2;
if (_Match16BitPagination) yLowerLimit -= 1.5F * SixLinesPerInch; // 276 for HLP
yStart = 0;
if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.PartialStepCompression)
// This fixes B2016-174:
// Added the check to not go into this code if on a step that needs to break. If the conditions were met, this
// code was not putting a page break on a step that needed to break, i.e. PageBreakOnStep = true.
if ((MyItemInfo.IsStep && !MyItemInfo.FormatStepData.PageBreakOnStep) && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.PartialStepCompression)
{
float ySpaceAt7LPI = (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter + yEndMsg)) * SixLinesPerInch / _SevenLinesPerInch;
if ((YSize - yTop) > (ySpaceOnCurPage - (accountForCalvertAlarmConditionResponseFooter + yEndMsg))