[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