summaryrefslogtreecommitdiffstats
path: root/tdegtk/tqtcairopainter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdegtk/tqtcairopainter.cpp')
-rw-r--r--tdegtk/tqtcairopainter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tdegtk/tqtcairopainter.cpp b/tdegtk/tqtcairopainter.cpp
index a2867f0..677d9c7 100644
--- a/tdegtk/tqtcairopainter.cpp
+++ b/tdegtk/tqtcairopainter.cpp
@@ -149,6 +149,11 @@ void TQt3CairoPaintDevice::resetIntermediateSurface() {
m_intermediateSurface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
}
+// FIXME
+// transferIntermediateSurface should only be used when clipping is active or ROP != CopyROP
+// Cairo however does not allow the target surface of a context to be switched, effectively preventing
+// direct drawing with dynamic switching to and from the intermediate surface on clip or ROP set/unset
+// See upstream Cairo bug report https://bugs.freedesktop.org/show_bug.cgi?id=57289
void TQt3CairoPaintDevice::transferIntermediateSurface() {
bool overlayMerge = true;
cairo_surface_flush(m_intermediateSurface);