Browse Source

qt: Fix richtext detection hang issue on very old Qt versions

Alternative implementation. Thanks to @awoland for the original.
Fixes #3486.
0.10
Wladimir J. van der Laan 11 years ago
parent
commit
17b409b2e6
  1. 6
      src/qt/guiutil.cpp

6
src/qt/guiutil.cpp

@ -361,11 +361,11 @@ bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
{ {
QWidget *widget = static_cast<QWidget*>(obj); QWidget *widget = static_cast<QWidget*>(obj);
QString tooltip = widget->toolTip(); QString tooltip = widget->toolTip();
if(tooltip.size() > size_threshold && !tooltip.startsWith("<qt/>") && !Qt::mightBeRichText(tooltip)) if(tooltip.size() > size_threshold && !tooltip.startsWith("<qt") && !Qt::mightBeRichText(tooltip))
{ {
// Prefix <qt/> to make sure Qt detects this as rich text // Envelop with <qt></qt> to make sure Qt detects this as rich text
// Escape the current message as HTML and replace \n by <br> // Escape the current message as HTML and replace \n by <br>
tooltip = "<qt/>" + HtmlEscape(tooltip, true); tooltip = "<qt>" + HtmlEscape(tooltip, true) + "</qt>";
widget->setToolTip(tooltip); widget->setToolTip(tooltip);
return true; return true;
} }

Loading…
Cancel
Save