summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2014-09-01 10:33:28 -0500
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2014-09-03 16:18:47 +0300
commit66951b7f87034e8e4d1cf0e95980de0b4abcbe20 (patch)
tree48f5175158e9bc8ed151f05de6154fa865779f82
parent3c6d20c5eb51d20dce337961a3a5e5342315da49 (diff)
downloadweston-66951b7f87034e8e4d1cf0e95980de0b4abcbe20.tar.gz
pixman-renderer: fail to zoom more gracefully
When zoom is activated in the pixman rendered the log is filled with warnings and all rendering stops. With this patch the warning is generated once and rendering continues without zooming. Closes bug 80258 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=80258 Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r--src/pixman-renderer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pixman-renderer.c b/src/pixman-renderer.c
index 4fdcb051..351f00e7 100644
--- a/src/pixman-renderer.c
+++ b/src/pixman-renderer.c
@@ -385,6 +385,7 @@ static void
draw_view(struct weston_view *ev, struct weston_output *output,
pixman_region32_t *damage) /* in global coordinates */
{
+ static int zoom_logged = 0;
struct pixman_surface_state *ps = get_surface_state(ev->surface);
/* repaint bounding region in global coordinates: */
pixman_region32_t repaint;
@@ -403,9 +404,9 @@ draw_view(struct weston_view *ev, struct weston_output *output,
if (!pixman_region32_not_empty(&repaint))
goto out;
- if (output->zoom.active) {
+ if (output->zoom.active && !zoom_logged) {
weston_log("pixman renderer does not support zoom\n");
- goto out;
+ zoom_logged = 1;
}
/* TODO: Implement repaint_region_complex() using pixman_composite_trapezoids() */