Author: hdu
Date: Fri Feb 21 10:26:51 2014
New Revision: 1570513
URL: http://svn.apache.org/r1570513
Log:
#i123501# fix invalid iterators in graphite
Modified:
openoffice/trunk/main/graphite/graphite-2.3.1.patch
Modified: openoffice/trunk/main/graphite/graphite-2.3.1.patch
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/graphite/graphite-2.3.1.patch?rev=1570513&r1=1570512&r2=1570513&view=diff
==============================================================================
--- openoffice/trunk/main/graphite/graphite-2.3.1.patch (original)
+++ openoffice/trunk/main/graphite/graphite-2.3.1.patch Fri Feb 21 10:26:51 2014
@@ -2427,3 +2427,28 @@
#include "GrAppData.h"
namespace gr
+--- misc/silgraphite-2.3.1/engine/include/graphite/SegmentAux.h Thu Jan
22 00:36:40 2009
++++ misc/build/silgraphite-2.3.1/engine/include/graphite/SegmentAux.h Sat Aug
22 19:36:32 2009
+@@ -232,8 +232,12 @@
+ protected:
+ // Constructor that includes output-slot mapping list, used for
non-contiguous lists:
+ GlyphSetIterator(Segment & seg, size_t islout, RcVector * qvislout)
+- : m_pseg(&seg), m_vit(qvislout->Vector().begin() + islout)
++ : m_pseg(&seg), m_vit(qvislout->Vector().begin())
+ {
++ if( islout < qvislout->Vector().size())
++ m_vit += islout;
++ else
++ m_vit = qvislout->Vector().end();
+ m_qvislout = qvislout;
+ m_qvislout->IncRefCount();
+ }
+@@ -289,7 +293,7 @@
+
+ // Relational operators.
+ // Forward iterator requirements
+- bool operator==(const GlyphSetIterator & rhs) const throw() {
return m_vit == rhs.m_vit; }
++ bool operator==(const GlyphSetIterator & rhs) const throw() {
return (m_qvislout == NULL) || (m_vit == rhs.m_vit); }
+ bool operator!=(const GlyphSetIterator & rhs) const throw() {
return !(*this == rhs); }
+
+ // Random access iterator requirements