summaryrefslogtreecommitdiffstats
path: root/tdegtk/tqtcairopainter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdegtk/tqtcairopainter.cpp')
-rw-r--r--tdegtk/tqtcairopainter.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/tdegtk/tqtcairopainter.cpp b/tdegtk/tqtcairopainter.cpp
index 677d9c7..25024ee 100644
--- a/tdegtk/tqtcairopainter.cpp
+++ b/tdegtk/tqtcairopainter.cpp
@@ -381,11 +381,12 @@ void TQt3CairoPaintDevice::transferIntermediateSurface() {
}
// Clear intermediate surface
- cairo_save(m_painter);
- cairo_set_operator(m_painter, CAIRO_OPERATOR_SOURCE);
- cairo_set_source_rgba(m_painter, 0.0, 0.0, 0.0, 0.0);
- cairo_paint(m_painter);
- cairo_restore(m_painter);
+ cairo_t *clearPainter = cairo_create(m_intermediateSurface);
+ cairo_set_operator(clearPainter, CAIRO_OPERATOR_SOURCE);
+ cairo_set_source_rgba(clearPainter, 0.0, 0.0, 0.0, 0.0);
+ cairo_paint(clearPainter);
+ cairo_surface_flush(m_intermediateSurface);
+ cairo_destroy(clearPainter);
m_transferNeeded = false;
}