From: <sil...@li...> - 2005-10-28 15:41:59
|
Update of /cvsroot/silgraphite/silgraphite/src/GrEngine In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13488/src/GrEngine Modified Files: GrPassActionCode.cpp GrSlotStream.h Log Message: Continuaton of insertion at segment boundary fix. Index: GrPassActionCode.cpp =================================================================== RCS file: /cvsroot/silgraphite/silgraphite/src/GrEngine/GrPassActionCode.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- GrPassActionCode.cpp 26 Oct 2005 21:49:51 -0000 1.16 +++ GrPassActionCode.cpp 28 Oct 2005 15:41:49 -0000 1.17 @@ -628,9 +628,9 @@ } if (fSegSegMin) - psstrmOut->SetSegMinToWritePos(); + psstrmOut->SetSegMinToWritePos(false); if (fSetSegLim) - psstrmOut->SetSegLimToWritePos(); + psstrmOut->SetSegLimToWritePos(false); psstrmOut->NextPut(pslotNew); } @@ -667,9 +667,9 @@ pengst->NewSlotCopy(pslotCopyFrom, m_ipass, &pslotNew); if (fSegSegMin) - psstrmOut->SetSegMinToWritePos(); + psstrmOut->SetSegMinToWritePos(false); if (fSetSegLim) - psstrmOut->SetSegLimToWritePos(); + psstrmOut->SetSegLimToWritePos(false); psstrmOut->NextPut(pslotNew); } @@ -730,9 +730,9 @@ } if (fSegSegMin) - psstrmOut->SetSegMinToWritePos(); + psstrmOut->SetSegMinToWritePos(false); if (fSetSegLim) - psstrmOut->SetSegLimToWritePos(); + psstrmOut->SetSegLimToWritePos(false); psstrmOut->NextPut(pslotNew); } Index: GrSlotStream.h =================================================================== RCS file: /cvsroot/silgraphite/silgraphite/src/GrEngine/GrSlotStream.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- GrSlotStream.h 24 Aug 2005 18:14:10 -0000 1.15 +++ GrSlotStream.h 28 Oct 2005 15:41:49 -0000 1.16 @@ -263,7 +263,7 @@ Assert(fAdjusting || m_islotSegMin == -1 || m_islotSegMin == islot); m_islotSegMin = islot; } - void SetSegMinToWritePos() + void SetSegMinToWritePos(bool fMod = true) { if (m_islotSegMin == -1) m_islotSegMin = m_islotWritePos; @@ -278,8 +278,13 @@ { m_islotSegLim = islot; } - void SetSegLimToWritePos() + void SetSegLimToWritePos(bool fMod = true) { + if (m_islotSegLim > -1 && !fMod) + { + Assert(m_islotSegLim <= m_islotWritePos); + return; + } m_islotSegLim = m_islotWritePos; } int SegLimIfKnown() |