diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2009-07-22 14:26:28 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2009-07-22 14:32:54 (GMT) |
commit | 9f176a9953e42ae08aaed5fa92ed55bbc8526142 (patch) | |
tree | ba7b00be00e4e6158d4c224f7e701093b24aa2c0 /src | |
parent | 1223a21a737e9fded46f2c761532bf535fb943b1 (diff) | |
download | Qt-9f176a9953e42ae08aaed5fa92ed55bbc8526142.zip Qt-9f176a9953e42ae08aaed5fa92ed55bbc8526142.tar.gz Qt-9f176a9953e42ae08aaed5fa92ed55bbc8526142.tar.bz2 |
Fix table borders in multiline tables when printing to PostScript.
I'm not all to happy with this fix, but its the best that one can
acheive given the current design. The problem is that QPdfBaseEngine
sets a number of states as part of updateState(), but only when we are
playing back through the alpha engine. These states are used in some
draw functions, also when we are recording in the alpha engine. This
leads to the states and their checks being out of sync. So to follow
the existing pattern in the code we need to not touch d-> vars prior
to a check to usesAlphaEngine.
Reviewed-By: Eskil
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/painting/qpdf.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp index 2017fdd..8a991e3 100644 --- a/src/gui/painting/qpdf.cpp +++ b/src/gui/painting/qpdf.cpp @@ -964,8 +964,7 @@ QPdfBaseEngine::QPdfBaseEngine(QPdfBaseEnginePrivate &dd, PaintEngineFeatures f) void QPdfBaseEngine::drawPoints (const QPointF *points, int pointCount) { - Q_D(QPdfBaseEngine); - if (!points || !d->hasPen) + if (!points) return; QPainterPath p; @@ -995,6 +994,12 @@ void QPdfBaseEngine::drawRects (const QRectF *rects, int rectCount) return; Q_D(QPdfBaseEngine); + if (d->useAlphaEngine) { + QAlphaPaintEngine::drawRects(rects, rectCount); + if (!continueCall()) + return; + } + if (d->clipEnabled && d->allClipped) return; if (!d->hasPen && !d->hasBrush) |