https://bugs.kde.org/show_bug.cgi?id=376419

            Bug ID: 376419
           Summary: Template angle brackets not HTML-escaped in tooltips
                    for clang errors
           Product: kdevelop
           Version: git master
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: Language Support: CPP (Clang-based)
          Assignee: kdevelop-bugs-n...@kde.org
          Reporter: nicolas.alva...@gmail.com
  Target Milestone: ---

If my C++ code has an error detected by clang parsing, and the error message
includes a type with template parameters, the parameters were missing; for
example saying "no conversion from 'std::unique_ptr' to 'pointer'" but not
including the type passed to unique_ptr.

Since the tooltip uses HTML-based rich text formatting, I suspected it could be
because the angle brackets are not escaped, and sure enough that was exactly
the problem. Here is a test case:

template<typename T>
class SmartPtr {};

class u{};

void foo(int);
void bar() {
    SmartPtr<u> ptr;
    foo(ptr);
}

Clang will complain that 'SmartPtr<u>' cannot be converted to 'int' when
calling 'foo', but since the message is not escaped, <u> will be interpreted as
the 'underline' HTML tag, it won't be visible as text, and the tooltip contents
after that will appear underlined.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to