[QScintilla] QScintilla folding display issue with Qt4 (did not
exist with Qt3)
Gilles Depeyrot
gsd at dolphin.fr
Wed Jun 10 16:44:03 BST 2009
Hi,
Digging deeper into this issue, we found another way to temporarily fix
the problem with a change in QScintilla and not in Scintilla.
In qsciscintillabase.cpp, in the constructor of QsciScintillaBase, adding
SendScintilla(SCI_SETBUFFEREDDRAW, 0);
fixes the display problem by disabling the display buffering (which is
not a very good solution).
Just in case this might give ideas about where the problem might be (we
are trying to built a small examples reproducing the problem).
Best regards,
Gilles
Gilles Depeyrot wrote:
> Thanks for the hint which effectively corrected the problem (which
> appears on rhel5).
>
> With the proposed change in Editor.cpp, the margin color is red. We
> changed that using the QScintilla function "setFoldMarginColors".
> What is the interest of the first argument to "setFoldMarginColors" ?
> It doesn't seem to have any visible impact.
>
> Has this change to Editor.cpp been proposed for inclusion in the
> Scintilla sources?
>
> Best regards,
> Gilles
>
> Alex Kides wrote:
>> I've encountered similar glitches on rhel3, as a work around I
>> changed Editor.cpp (don't know the precise line - approx 1490ish) so
>> that instead of calling "surface->FillRectangle(rcSelMargin,
>> *pixmapSelPattern);" it calls "surface->FillRectangle(rcSelMargin,
>> vs.foldmarginColour.allocated);" instead, when the margin mask is
>> SC_MASK_FOLDERS
>>
>> -Alex
>>
>>
>> -----Original Message-----
>> From: qscintilla-bounces at riverbankcomputing.com
>> [mailto:qscintilla-bounces at riverbankcomputing.com] On Behalf Of
>> Gilles Depeyrot
>> Sent: 10 June 2009 11:16
>> To: qscintilla at riverbankcomputing.com
>> Subject: [QScintilla] QScintilla folding display issue with Qt4 (did
>> notexist with Qt3)
>>
>> Hi,
>>
>> We are porting a cross-platform application from Qt3.3.8 to Qt4.4.3
>> which uses QScintilla 2.3.2.
>> A class of our application inherits QsciScintilla, and uses the
>> Folding functionality.
>>
>> A problem has appeared in the Qt4 version of our application that
>> does not occur in the Qt3 version:
>>
>> - the display of the folding margin is not correct (screenshot
>> attached) under Linux, while it is correct under Windows.
>>
>> This display problem occurs even if there is no lexer.
>> We have tried updating to QScintilla 2.4 but the problem persists.
>>
>> Any hints as to what might be causing this behavior?
>> Are there additional initialization steps that should be performed
>> for QScintilla with Qt4 that were not needed with Qt3?
>>
>
--
Gilles Depeyrot - MEDAL Business Manager
DOLPHIN Integration
"The Enabler of mixed signal Systems-on-Chip"
BP 65 Inovallée F-38240 Meylan FRANCE
Tel: +33 (0)476 41 74 01
Fax: +33 (0)476 90 29 65
mailto:gsd at dolphin-integration.com
http://www.dolphin-integration.com
More information about the QScintilla
mailing list