[Qgis-developer] Map canvas flickers

Marco Hugentobler marco.hugentobler at sourcepole.ch
Thu Aug 2 07:32:44 PDT 2012


Hi Matthias

Disabling that piece of code means there is no possibility to interrupt 
long rendering with the 'esc' key. Also the possibility to have an 
incremental screen update will be gone (e.g. every 10000 features).

Regards,
Marco

Am 01.08.2012 17:59, schrieb Matthias Kuhn:
> Hi Marco,
>
> You're right, this patch does not work. I don't really know it passed
> the tests I did here. My environment was pretty messy.
>
> I had a look at it again today and tracked down the warning that
> appeared before the crashes (QWidget::repaint: Recursive repaint
> detected).
> This led me to the code in qgsvectorlayer I changed in the attached
> patch. It looks to me as if this patch really fixes the problem. Still,
> I'd be happy if you could review the patch, because I don't know, what
> side-effects it could cause. I think you know what the code I removed
> did (The initials MH probably say that you already disabled this for
> Mac)
>
> Regards,
> Matthias
>
>
> On Fri, 2012-07-27 at 16:19 +0200, Marco Hugentobler wrote:
>> I still have the crash with the patch (Qt::WA_NativeWindow) on my
>> machine (Qt 4.8.1).
>>
>> Regards,
>> Marco
>>
>> Am 27.07.2012 15:10, schrieb Matthias Kuhn:
>>
>>> Hi Marco,
>>>
>>> thank you for verifying and advises on how to reproduce. I missed the
>>> part with "without releasing the mouse"
>>>
>>> I have created a patch that resolves the issue here. Can you please
>>> check the patch and commit it if it works for you as well.
>>>
>>> Thank you,
>>> Matthias
>>>
>>>
>>> On Fri, 2012-07-27 at 13:28 +0200, Marco Hugentobler wrote:
>>>> Hi Matthias
>>>>
>>>> I still have the resize crash with Qt 4.8.1. To reproduce, load a layer
>>>> with many objects. Go with the mouse to the right corner and resize
>>>> several times without releasing the mouse. After the mouse release, the
>>>> crash occures.
>>>> Note: this problem (and the flicker with the workaround) is X11 only.
>>>> But still, Linux is the most important platform.
>>>> Btw, the threading branch would be the clean solution for the issue. But
>>>> if you have another workaround in the short-term, let me know.
>>>>
>>>> Regards,
>>>> Marco
>>>>
>>>>
>>>> Am 27.07.2012 13:08, schrieb Matthias Kuhn:
>>>>> Hi all,
>>>>>
>>>>> there is this issue report #4011 "Map canvas flickers when content is
>>>>> dragged" which is actually pretty annoying and doesn't get much
>>>>> attention. ( http://hub.qgis.org/issues/4011 ) I think the solution
>>>>> would be pretty simple. Please read on.
>>>>>
>>>>> It was introduced by f4d26d6211830a866030a333236dcfbf15e077aa "Fix for
>>>>> resize crash, ticket #2714".
>>>>> This bugfix disables backbuffering, what fixes the crash but leads to
>>>>> the beforementioned flickering.
>>>>>
>>>>> The crash seems to be related to Qt versions (probably 4.6 and 4.7
>>>>> affected). When I tried to reproduce the crash in 4.8.1 (by reverting
>>>>> abovementioned patch) I couldn't reproduce the crash. So it is well
>>>>> possible that this problem has been fixed in Qt upstreams.
>>>>>
>>>>> But: I myself never could reproduce this crash (due to the lack of a
>>>>> system with old Qt libs). So, I would be happy if someone familiar with
>>>>> this problem could confirm that this is fixed with Qt 4.8.
>>>>>
>>>>> Then there are two possibilities (unless you come up with a third one):
>>>>>
>>>>> 1. Check for qVersion upon every repaint as suggested by Martin Dobias
>>>>> and then enable/disable the workaround accordingly.
>>>>>
>>>>> 2. Switch the workaround on/off by a pre-compiler constant. This way,
>>>>> any new distro with Qt>=4.8 could be shipped without the workaround-code
>>>>> being compiled into the binaries.
>>>>>
>>>>> Any comments on this issue are very welcome, as it makes QGIS look a lot
>>>>> sweeter :)
>>>>>
>>>>> Regards
>>>>>
>>>>> _______________________________________________
>>>>> Qgis-developer mailing list
>>>>> Qgis-developer at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>
>>> _______________________________________________
>>> Qgis-developer mailing list
>>> Qgis-developer at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>> -- 
>> Dr. Marco Hugentobler
>> Sourcepole -  Linux & Open Source Solutions
>> Weberstrasse 5, CH-8004 Zürich, Switzerland
>> marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
>> Technical Advisor QGIS Project Steering Committee
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux & Open Source Solutions
Weberstrasse 5, CH-8004 Zürich, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee



More information about the Qgis-developer mailing list