--===============1207928785== Content-Type: multipart/signed; boundary="nextPart4749176.EjeIvKatHe"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart4749176.EjeIvKatHe Content-Type: text/plain; charset="utf-8"; boundary="" Content-Transfer-Encoding: quoted-printable Hello Oxygen developers =46or the past month, we've been seeing Qt tests failing on our KDE 4 machi= ne=20 and we hadn't been able to track down the problem. Until now. It appears that Oxygen installs an event filter and hijacks the paint event= to=20 "mess up" the windows being drawn, by adding a gradient where there was non= e.=20 Our tests then break because the rendering isn't what was expected. The=20 following testcase is simple example of the problem: QWidget w; QPalette opaquePalette =3D w.palette(); opaquePalette.setColor(w.backgroundRole(), Qt::red); w.setPalette(opaquePalette); w.setAutoFillBackground(true); w.setGeometry(10, 100, 50, 50); w.show(); QApplication::processEvents(); qt_x11_wait_for_window_manager(&w); QPixmap px =3D QPixmap::grabWindow(w.winId()); px.save("redblock.xpm"); QPixmap expectedPixmap(px); expectedPixmap.fill(Qt::red); QCOMPARE(px, expectedPixmap); Is there any chance you can modify Oxygen to make the test above pass? We=20 simply want a 50x50 opaque, solid red block, but instead we get a gradient.= =20 See the "redblock.xpm" saved file for more information. I have tracked down the problem to kdebase/runtime/kstyles/oxygen/oxygen.cp= p=20 around line 3481: if(widget->testAttribute(Qt::WA_StyledBackground) && !widget- >testAttribute(Qt::WA_NoSystemBackground)) { QPainter p(widget); _helper.renderWindowBackground(&p, widget->rect(),=20 widget,widget->window()->palette()); } If I remove this code, our tests pass as expected. An environment variable= =20 (OXYGEN_NO_GRADIENTS or OXYGEN_PAINT_AS_TOLD) would be enough. If the test above isn't made to pass, we will have to ban Oxygen from our t= est=20 machines, as well as request that any bug reports relating to painting issu= es=20 be retried with Plastique. =2D-=20 Thiago Macieira - thiago.macieira (AT) nokia.com Senior Software Engineer - Nokia, Qt Software Qt Software is hiring - ask me Sandakerveien 116, NO-0402 Oslo, Norway --nextPart4749176.EjeIvKatHe Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iD8DBQBJfbPaM/XwBW70U1gRAkvgAKCSTgdz8wCoySNJDzYPtUhVyA8V7ACcC6Yq gucDPNMiz2Zw1slTyk8p0gs= =y77y -----END PGP SIGNATURE----- --nextPart4749176.EjeIvKatHe-- --===============1207928785== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ______________________________________________________________________________ kde-artists@kde.org | https://mail.kde.org/mailman/listinfo/kde-artists --===============1207928785==--