Cross-post from the discussion board of our Open CASCADE group at LinkedIn.
Yesterday I migrated to Qt 4.5 release candidate 1 and encountered ugly behavior of a 3D view (Windows XP Sp2, VS2005 SP1): - it does not draw upon view creation (i.e. contents of a former widget on view's place remain) - when dragging (resizing) contents get black and/or some artifacts/garbage appear - after switching between windows (e.g. Alt-Tab) the view is black - dragging rectangular selection ribbon creates a black area, also with ribbon traces. It's likely due to Widget attributes changed behavior (that QtSoftware introduced in 4.5 - they claim about some performance improvement).
If someone has successful experience with migration to 4.5, I would appreciate sharing it before my own diving into Qt code.
Here are the flags I use (worth mentioning that in Qt 4.4 they gave ugly flickering which I did not yet come up to investigation).
Thanks ! Roman
(Edited after posting: LinkedIn condenses the code below. Here is a screenshot of the code below - http://myphoto.nnov.ru/img/c52fecc42b0c02204fc1f4fba6c08969.gif )
//attempt to minimize flicking (it still remains however)
/*! Called by showEvent() only once.
//sets the window handles of this widget to view
int windowHandle = (int)winId();
short hi, lo;
lo = (short) windowHandle;
hi = (short) (windowHandle >> 16);
Handle(WNT_Window) aWnd = new WNT_Window(Handle(Graphic3d_WNTGraphicDevice)::
DownCast(myView->Viewer()->Device()), hi, lo);
//aWnd->SetDoubleBuffer (Standard_True);//does not remove flickerring
aWnd->SetFlags( WDF_NOERASEBKGRND );