QScintilla: patch for correct display of SQL calltips containing non-US-ASCII characters
Phil Thompson
phil at riverbankcomputing.com
Sun Oct 11 10:34:13 BST 2020
On 09/10/2020 21:14, Manuel Gómez wrote:
>> El 1 nov. 2017 22:05, "Phil Thompson" <phil at riverbankcomputing.com
>> <mailto:phil at riverbankcomputing.com>> escribió:
>>
>> On 1 Nov 2017, at 7:50 pm, Manuel Gómez <mgrojo at gmail.com
>> <mailto:mgrojo at gmail.com>> wrote:
>> >
>> > Hi.
>> >
>> > Thanks for developing QScintilla. I don't know whether this
>> address is the appropiate for this. In any case, I attach a patch
>> that solves the following issue:
>> >
>> > Fixed incorrect display of SQL calltips containing non-US-ASCII
>> characters.
>> >
>> > QScintilla was incorrectly converting the text of the
>> calltips to Latin1
>> > although the encoding was set to UTF-8.
>>
>> Thanks. (The QScintilla mailing list is the best place to send
>> stuff.)
>>
>
> There is a further subcase of this bug. When the user access the call
> tip text using the arrows, the text is displayed with incorrect
> diacritics. This patch fixes it:
>
> diff --git a/libs/qscintilla/Qt4Qt5/qsciscintilla.cpp
> b/libs/qscintilla/Qt4Qt5/qsciscintilla.cpp
> index 08548696..d261ba40 100644
> --- a/libs/qscintilla/Qt4Qt5/qsciscintilla.cpp
> +++ b/libs/qscintilla/Qt4Qt5/qsciscintilla.cpp
> @@ -470,7 +470,10 @@ void QsciScintilla::handleCallTipClick(int dir)
> if (ct_cursor > 0)
> ct.prepend('\001');
>
> - SendScintilla(SCI_CALLTIPSHOW, adjustedCallTipPosition(shift),
> ct.toLatin1().data());
> + ScintillaBytes ct_bytes = textAsBytes(ct);
> + const char *cts = ScintillaBytesConstData(ct_bytes);
> +
> + SendScintilla(SCI_CALLTIPSHOW, adjustedCallTipPosition(shift),
> cts);
> }
Applied.
Thanks,
Phil
More information about the QScintilla
mailing list