Don't crash on very long inputs
[quassel.git] / src / uisupport / uistyle.cpp
index 0e00d51..8228b8f 100644 (file)
@@ -491,12 +491,16 @@ QList<QTextLayout::FormatRange> UiStyle::toTextLayoutList(const FormatList &form
 UiStyle::StyledString UiStyle::styleString(const QString &s_, quint32 baseFormat)
 {
     QString s = s_;
+    StyledString result;
+    result.formatList.append(qMakePair((quint16)0, baseFormat));
+
     if (s.length() > 65535) {
+        // We use quint16 for indexes
         qWarning() << QString("String too long to be styled: %1").arg(s);
-        return StyledString();
+        result.plainText = s;
+        return result;
     }
-    StyledString result;
-    result.formatList.append(qMakePair((quint16)0, baseFormat));
+
     quint32 curfmt = baseFormat;
     int pos = 0; quint16 length = 0;
     for (;;) {