diff options
Diffstat (limited to 'tdegtk/tqtcairopainter.cpp')
-rw-r--r-- | tdegtk/tqtcairopainter.cpp | 11 |
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; } |