]> git.lyx.org Git - features.git/commitdiff
Work around MSVC warning
authorGeorg Baum <baum@lyx.org>
Thu, 26 Jun 2014 19:05:40 +0000 (21:05 +0200)
committerGeorg Baum <baum@lyx.org>
Thu, 26 Jun 2014 19:05:40 +0000 (21:05 +0200)
The statement
if (pos < from + lyxrc.completion_minlength)
triggers a signed vs. unsigned warning. I don't know why this happens, it
could be a MSVC bug, or related to LLP64 (windows) vs. LP64 (unix)
programming model, or the C++ standard might be ambigous in the section
defining the "usual arithmetic conversions". However, using a temporary
variable is safe and works on all compilers.

src/Paragraph.cpp

index f3040b5da1559c39b5a431f460270749fa9d8421..dcfadc8c2834629b89d545d89eca6adaa6b87b68 100644 (file)
@@ -3852,7 +3852,16 @@ void Paragraph::collectWords()
                        continue;
                pos_type from = pos;
                locateWord(from, pos, WHOLE_WORD);
-               if (pos < from + lyxrc.completion_minlength)
+               // Work around MSVC warning: The statement
+               // if (pos < from + lyxrc.completion_minlength)
+               // triggers a signed vs. unsigned warning.
+               // I don't know why this happens, it could be a MSVC bug, or
+               // related to LLP64 (windows) vs. LP64 (unix) programming
+               // model, or the C++ standard might be ambigous in the section
+               // defining the "usual arithmetic conversions". However, using
+               // a temporary variable is safe and works on all compilers.
+               pos_type const endpos = from + lyxrc.completion_minlength;
+               if (pos < endpos)
                        continue;
                FontList::const_iterator cit = d->fontlist_.fontIterator(from);
                if (cit == d->fontlist_.end())