summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphite/graphite2-0.9.2.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/graphite/graphite2-0.9.2.patch b/graphite/graphite2-0.9.2.patch
index 35f0bd23650b..a775c1fe6c8e 100644
--- a/graphite/graphite2-0.9.2.patch
+++ b/graphite/graphite2-0.9.2.patch
@@ -402,3 +402,52 @@ diff current src/List.h
#ifdef GR2_EXPORTING
#ifdef __GNUC__
#define GR2_API __attribute__((dllexport))
+diff -r b3a86877ec68 src/Pass.cpp
+--- misc/build/graphite2-0.9.2/src/Pass.cpp Wed May 11 09:34:52 2011 +0700
++++ misc/build/graphite2-0.9.2/src/Pass.cpp Mon May 16 13:54:00 2011 +0700
+@@ -513,6 +513,7 @@
+ bool Pass::testConstraint(const Rule &r, Machine & m) const
+ {
+ if (r.sort - r.preContext > (int)m.slotMap().size() - m.slotMap().context()) return false;
++ if (m.slotMap().context() - r.preContext < 0) return false;
+ if (!*r.constraint) return true;
+ assert(r.constraint->constraint());
+
+@@ -527,6 +528,7 @@
+ Machine::status_t status = Machine::finished;
+ for (int n = r.sort; n && map; --n, ++map)
+ {
++ if (!*map) continue;
+ const int32 ret = r.constraint->run(m, map, status);
+ if (!ret || status != Machine::finished)
+ {
+diff -r b3a86877ec68 src/Rule.h
+--- misc/build/graphite2-0.9.2/src/Rule.h Wed May 11 09:34:52 2011 +0700
++++ misc/build/graphite2-0.9.2/src/Rule.h Mon May 16 13:54:00 2011 +0700
+@@ -187,8 +187,9 @@
+ // Merge the new sorted rules list into the current sorted result set.
+ const RuleEntry * lre = begin(), * rre = state.rules;
+ RuleEntry * out = m_rules + (m_begin == m_rules)*MAX_RULES;
++ const RuleEntry * lrend = out + MAX_RULES;
+ m_begin = out;
+- while (lre != end())
++ while (lre != end() && out != lrend)
+ {
+ if (*lre < *rre) *out++ = *lre++;
+ else if (*rre < *lre) { *out++ = *rre++; }
+@@ -196,12 +197,12 @@
+
+ if (rre == state.rules_end)
+ {
+- while (lre != end()) { *out++ = *lre++; }
++ while (lre != end() && out != lrend) { *out++ = *lre++; }
+ m_end = out;
+ return;
+ }
+ }
+- while (rre != state.rules_end) { *out++ = *rre++; }
++ while (rre != state.rules_end && out != lrend) { *out++ = *rre++; }
+ m_end = out;
+ }
+
+
vx/source/smarttags?id=2b17ec2175e288b92044092166d5b885978cecff'>uno:Sequence->std::vector in SmartTagMgrNoel Grandin 2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin 2015-10-31com::sun::star->css in svxNoel Grandin 2015-05-29loplugin:loopvartoosmallNoel Grandin 2015-03-09V801: Decreased performanceCaolán McNamara 2014-08-19svx: Cleanup ASCII art and useless commentsChris Laplante 2014-04-15svx: sal_Bool->boolNoel Grandin 2014-04-03Redundant null checksStephan Bergmann 2014-04-03Support SmartTagRecognizers againStephan Bergmann 2014-02-26cppuhelper: retrofit std::exception into overriding exception specsStephan Bergmann 2013-05-23Resolves: #i121730# add optional interface XRangeBasedSmartTagRecognizerJürgen Schmidt 2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák 2013-01-30remove useless macrosLuboš Luňák 2013-01-30Removed several useless macros: A2OU, A2S, C2U, C2S, OUSTR, OUSTRINGJean-Noël Rouvignac 2012-10-31fdo#46808, Deprecate configuration::ConfigurationProvider old-style serviceNoel Grandin 2012-08-27fdo#46808, Use BreakIterator ::create methodNoel Grandin 2012-06-22re-base on ALv2 code.Michael Meeks 2012-01-05Removed unnecessary tools includes.Marcel Metz 2011-11-27remove include of pch header from svxNorbert Thiebaud