[QScintilla] Editor with a custom lexer keeps flashing when editing
agarny at hellix.com
agarny at hellix.com
Tue May 31 22:02:52 BST 2016
Hi Phil,
>> Hi Neil,
> Wrong mailing list.
Argh, not sure what went wrong with me, but really sorry about that!
>> I am currently working on upgrading to Qt 5.5.1 from 5.4.2 in my
>> project. It's all working fine for different QScintilla-based editors
>> that I have in my application, except for one. The only difference
>> between that editor and the others is that it relies on a custom
>> lexer. As you might expect, that lexer is implemented in a class that
>> inherits from QsciLexerCustom (see https://goo.gl/cjrYCM and
>> https://goo.gl/cMojqk).
>>
>> Now, my problem, when my project is built using Qt 5.5.1 on OS X
>> (everything works fine on Windows and Linux), is that if I then try to
>> edit something in that particular editor, then I get one or two black
>> lines flashing repeatedly for as long as I keep editing.
>>
>> After some debugging, I found out that the 'culprit' is
>> Editor::Paint(), more precisely the paintState == paintAbandoned if
>> clause. That if clause is true then it will return after it has done
>> what it needs to do. Now, if I comment out the return statement (see
>> https://goo.gl/5jDdXt), everything works fine for me (i.e. I don't get
>> the one or two black lines flashing repeatedly).
>>
>> So, although I have got things to work fine for my application, I
>> wanted to check with you that what I have done is actually 'safe'. If
>> it is, then maybe this is something that could be merged in?
>
> That relates to the underlying Scintilla code, not the QScintilla code.
Hmm, good point indeed. My bad again!
> Is the Qt update the only change? Can be behaviour be reproduced in a
> simple, self-contained example?
The only thing that is different is indeed the fact that I have upgraded
Qt from version 5.4.2 to version 5.5.1. Everything else is the same,
i.e. same version of OS X (10.11.5) and Xcode (7.3.1).
I am going to see whether I can come up with a simple, self-contained
example.
Alan
More information about the QScintilla
mailing list