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.
This commit is contained in:
Georg Baum 2014-06-26 21:05:40 +02:00
parent c62a53b78b
commit 2896fe1bd0

View File

@ -3852,7 +3852,16 @@ void Paragraph::collectWords()
continue; continue;
pos_type from = pos; pos_type from = pos;
locateWord(from, pos, WHOLE_WORD); 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; continue;
FontList::const_iterator cit = d->fontlist_.fontIterator(from); FontList::const_iterator cit = d->fontlist_.fontIterator(from);
if (cit == d->fontlist_.end()) if (cit == d->fontlist_.end())