diff options
Diffstat (limited to 'gfx/cairo/cairo_qt_a8_fallback.diff')
-rw-r--r-- | gfx/cairo/cairo_qt_a8_fallback.diff | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/gfx/cairo/cairo_qt_a8_fallback.diff b/gfx/cairo/cairo_qt_a8_fallback.diff deleted file mode 100644 index a8388dda77..0000000000 --- a/gfx/cairo/cairo_qt_a8_fallback.diff +++ /dev/null @@ -1,68 +0,0 @@ -CAIRO_FORMAT_A8 not allowed for cairo-qt image backend -diff --git a/gfx/cairo/cairo/src/cairo-qt-surface.cpp b/gfx/cairo/cairo/src/cairo-qt-surface.cpp ---- a/gfx/cairo/cairo/src/cairo-qt-surface.cpp -+++ b/gfx/cairo/cairo/src/cairo-qt-surface.cpp -@@ -459,17 +459,17 @@ _cairo_qt_surface_finish (void *abstract - { - cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface; - - D(fprintf(stderr, "q[%p] finish\n", abstract_surface)); - - /* Only delete p if we created it */ - if (qs->image || qs->pixmap) - delete qs->p; -- else -+ else if (qs->p) - qs->p->restore (); - - if (qs->image_equiv) - cairo_surface_destroy (qs->image_equiv); - - _cairo_surface_clipper_reset (&qs->clipper); - - if (qs->image) -@@ -736,17 +736,17 @@ _cairo_qt_surface_set_clip_region (cairo - } - - static cairo_int_status_t - _cairo_qt_surface_set_clip (cairo_qt_surface_t *qs, - cairo_clip_t *clip) - { - cairo_int_status_t status; - -- D(fprintf(stderr, "q[%p] intersect_clip_path %s\n", abstract_surface, path ? "(path)" : "(clear)")); -+ D(fprintf(stderr, "q[%p] intersect_clip_path %s\n", qs, clip ? "(path)" : "(clear)")); - - if (clip == NULL) { - _cairo_surface_clipper_reset (&qs->clipper); - // How the clip path is reset depends on whether we own p or not - if (qs->pixmap || qs->image) { - // we own p - qs->p->setClipping (false); - } else { -@@ -1605,16 +1605,25 @@ cairo_qt_surface_create_with_qimage (cai - - _cairo_surface_init (&qs->base, - &cairo_qt_surface_backend, - _cairo_content_from_format (format)); - - _cairo_surface_clipper_init (&qs->clipper, - _cairo_qt_surface_clipper_intersect_clip_path); - -+ if (CAIRO_FORMAT_A8 == format) { -+ qs->image = NULL; -+ qs->image_equiv = cairo_image_surface_create(format, -+ width, height); -+ qs->p = NULL; -+ qs->supports_porter_duff = false; -+ qs->window = QRect(0, 0, width, height); -+ return &qs->base; -+ } - - QImage *image = new QImage (width, height, - _qimage_format_from_cairo_format (format)); - - qs->image = image; - - if (!image->isNull()) { - qs->p = new QPainter(image); |