diff -u -b -r ../licq-1.2.7/plugins/qt-gui/src/ewidgets.cpp ./plugins/qt-gui/src/ewidgets.cpp
--- ../licq-1.2.7/plugins/qt-gui/src/ewidgets.cpp	2003-06-17 17:08:23.000000000 +0200
+++ ./plugins/qt-gui/src/ewidgets.cpp	2004-02-12 23:31:55.000000000 +0100
@@ -638,22 +638,19 @@
   const char *color = (e->Direction() == D_RECEIVER) ? "red" : "blue";

   // QTextEdit::append adds a paragraph break so we don't have to.
-  s.sprintf("<font color=\"%s\"><b>%s%s [%c%c%c%c] %s:</b></font>",
-            color,
-            e->SubCommand() == ICQ_CMDxSUB_MSG ? "" :
-              (EventDescription(e) + " ").utf8().data(),
-            sd.utf8().data(),
-            e->IsDirect() ? 'D' : '-',
-            e->IsMultiRec() ? 'M' : '-',
-            e->IsUrgent() ? 'U' : '-',
-            e->IsEncrypted() ? 'E' : '-',
-            contactName.utf8().data()
-           );
-  append(s);
-  s.sprintf("<font color=\"%s\">%s</font>",
-            color,
-            MLView::toRichText(messageText, true).utf8().data()
-           );
+  s = QString("<font color=\"%1\"><b>%2%3 [%4%5%6%7] %8:</b></font>")
+              .arg(color)
+              .arg((e->SubCommand() == ICQ_CMDxSUB_MSG ? "" : (EventDescription(e) + " ")))
+              .arg(sd)
+              .arg(e->IsDirect() ? 'D' : '-')
+              .arg(e->IsMultiRec() ? 'M' : '-')
+              .arg(e->IsUrgent() ? 'U' : '-')
+              .arg(e->IsEncrypted() ? 'E' : '-')
+              .arg(contactName);
+  append(s);
+  s = QString("<font color=\"%1\">%2</font>")
+                   .arg(color)
+                   .arg(MLView::toRichText(messageText, true));
   append(s);
 #else
   QString messageText = codec->toUnicode(e->Text());
diff -u -b -r ../licq-1.2.7/plugins/qt-gui/src/userinfodlg.cpp ./plugins/qt-gui/src/userinfodlg.cpp
--- ../licq-1.2.7/plugins/qt-gui/src/userinfodlg.cpp	2003-06-17 17:08:24.000000000 +0200
+++ ./plugins/qt-gui/src/userinfodlg.cpp	2004-02-12 23:33:39.000000000 +0100
@@ -1318,24 +1318,23 @@

 #if QT_VERSION >= 300
       const char *color = (*tempIter)->Direction() == D_RECEIVER ? "red" : "blue";
-      s.sprintf("<font color=\"%s\"><b>%s<br>%s [%c%c%c%c]</b></font><br><br>",
-                color,
-                ((*tempIter)->Direction() == D_RECEIVER ? tr("%1 from %2") : tr("%1 to %2"))
-                  .arg(EventDescription(*tempIter)).arg(QStyleSheet::escape(contactName)).utf8().data(),
-                date.toString().utf8().data(),
-                (*tempIter)->IsDirect() ? 'D' : '-',
-                (*tempIter)->IsMultiRec() ? 'M' : '-',
-                (*tempIter)->IsUrgent() ? 'U' : '-',
-                (*tempIter)->IsEncrypted() ? 'E' : '-'
-               );
+      s = QString("<font color=\"%1\"><b>%2<br>%3 [%4%5%6%7]</b></font><br><br>")
+                  .arg(color)
+                  .arg(((*tempIter)->Direction() == D_RECEIVER ? tr("%1 from %2") : tr("%1 to %2"))
+                       .arg(EventDescription(*tempIter)).arg(QStyleSheet::escape(contactName)))
+                  .arg(date.toString())
+                  .arg((*tempIter)->IsDirect() ? 'D' : '-')
+                  .arg((*tempIter)->IsMultiRec() ? 'M' : '-')
+                  .arg((*tempIter)->IsUrgent() ? 'U' : '-')
+                  .arg((*tempIter)->IsEncrypted() ? 'E' : '-');
       tmp.append(s);
+
       // We break the paragraph here, since the history text
       // could be in a different BiDi directionality than the
       // header and timestamp text.
-      s.sprintf("<font color=\"%s\">%s</font><br><br>",
-                color,
-                MLView::toRichText(messageText, true).utf8().data()
-               );
+      s = QString("<font color=\"%1\">%2</font><br><br>")
+                  .arg(color)
+                  .arg(MLView::toRichText(messageText, true));
       tmp.append(s);
 #else
       // See CHistoryWidget::paintCell for reference on those Qt 2-only
Nur in .: qt.patch.
