[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/khtml/rendering
From: Germain Garand <germain () ebooksfrance ! org>
Date: 2010-02-12 4:20:34
Message-ID: 1265948434.318065.10809.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1088979 by ggarand:
great, looks like these two Qt regressions have finally been fixed,
so we can enable back the optimized code and close all the printing bugs
that closing/restoring the QPainter triggered
I'll do that in two commits so that problems can be pin-pointed :
1) stop ending the QPainter before painting widgets to buffers,
it's not needed anymore and Qt has poor support for that.
Fixes printing on pages with form widgets.
BUG: 197402
BUG: 214352
BUG: 191999
M +4 -10 render_replaced.cpp
--- trunk/KDE/kdelibs/khtml/rendering/render_replaced.cpp #1088978:1088979
@@ -700,14 +700,9 @@
pp.fillRect(r, Qt::transparent);
}
d = pm;
+ } else {
+ p->end();
}
- // Qt 4.4 regression #1:
- // can't let a painter active on the view as Qt thinks it is opened on the *pixmap*
- // and prints "paint device can only be painted by one painter at a time" warnings.
- //
- // Testcase: paintEvent(...) { QPainter p(this); aChildWidget->render( aPixmapTarget, ...); }
- //
- p->end();
setInPaintEventFlag( widget, false );
@@ -715,7 +710,7 @@
setInPaintEventFlag( widget );
-// if (!buffered) {
+ if (!buffered) {
p->begin(x);
p->setWorldTransform(t);
p->setWindow(w);
@@ -728,8 +723,7 @@
p->setOpacity(op);
p->setPen(pen);
p->setBrush(brush);
-// } else {
- if (buffered) {
+ } else {
// transfer results
QPoint off(r.x(), r.y());
p->drawPixmap(thePoint+off, static_cast<QPixmap&>(*d), r);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic