﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
47	Redrawing problems in showimg and designer	rudi	dmik	"Both ""examples/showimg"" and ""designer"" have drawing problems after certain resize operations. The ""showimg"" application doesn't erase it's window, when it is enlarged while no image is loaded. This is caused by the flag WResizeNoErase, which is applied to the ImageViewer instance created in main.cpp. While this looks correct in the first place, I've found that the same sample in Windows (I don't have Linux, so I can't compare) does erase the background.

Now the docs state:

{{{
WResizeNoErase     obsolete Use WNoAutoErase instead
WRepaintNoErase      obsolete Use WNoAutoErase instead
}}}

WNoAutoErase is defined as  WResizeNoErase | WRepaintNoErase.

So what is the desired behavior, if WResizeNoErase or WRepaintNoErase are specified alone ? Somehow I have the feeling, that Trolltech at some point made an change in the way these flags should be used and did not update existing source code. IOW, it appears that, erasing of the background should only be omitted, if both flags WResizeNoErase *AND* WRepaintNoErase (i.e. WNoAutoErase) are applied.


If I change line 3493 in src/kernel/qapplication_pm.cpp and line 2004 in src/kernel/qwodget_pm.cpp from:

    repaint( !testWFlags(WResizeNoErase) );

to:

    repaint( testWFlags(WNoAutoErase) != WNoAutoErase );


I get correct redrawing in both showimg and designer. However, with a little flickering. This is not as bad as the behavior without that change.


Any comments ?


"	task	new	normal		kernel		normal			
