qt: Fix richtext detection hang issue on very old Qt versions
Alternative implementation. Thanks to @awoland for the original. Fixes #3486.
This commit is contained in:
parent
8b2cf12b53
commit
17b409b2e6
@ -361,11 +361,11 @@ bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
|
||||
{
|
||||
QWidget *widget = static_cast<QWidget*>(obj);
|
||||
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>
|
||||
tooltip = "<qt/>" + HtmlEscape(tooltip, true);
|
||||
tooltip = "<qt>" + HtmlEscape(tooltip, true) + "</qt>";
|
||||
widget->setToolTip(tooltip);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user