summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-27 22:13:01 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-27 22:13:01 +0100
commita18506acf0ca4a5b6f56cc9a8e0ffb3dd0eaabab (patch)
tree775b2af74ab9100c67059244798bd451068dd9c1
parent7eb33099d34234dcccb8f96caba94b38fa385f16 (diff)
Update the remaining backends to handle a NULL extents for _cairo_surface_get_source
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-gl-surface.c8
-rw-r--r--src/cairo-image-surface.c8
-rw-r--r--src/cairo-script-surface.c8
-rw-r--r--src/cairo-xcb-surface.c8
-rw-r--r--src/cairo-xlib-surface.c8
5 files changed, 25 insertions, 15 deletions
diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c
index 32ecf63c4..f4802606d 100644
--- a/src/cairo-gl-surface.c
+++ b/src/cairo-gl-surface.c
@@ -1118,9 +1118,11 @@ _cairo_gl_surface_source (void *abstract_surface,
{
cairo_gl_surface_t *surface = abstract_surface;
- extents->x = extents->y = 0;
- extents->width = surface->width;
- extents->height = surface->height;
+ if (extents) {
+ extents->x = extents->y = 0;
+ extents->width = surface->width;
+ extents->height = surface->height;
+ }
return &surface->base;
}
diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
index 56914b06b..98f70c585 100644
--- a/src/cairo-image-surface.c
+++ b/src/cairo-image-surface.c
@@ -859,9 +859,11 @@ _cairo_image_surface_source (void *abstract_surface,
{
cairo_image_surface_t *surface = abstract_surface;
- extents->x = extents->y = 0;
- extents->width = surface->width;
- extents->height = surface->height;
+ if (extents) {
+ extents->x = extents->y = 0;
+ extents->width = surface->width;
+ extents->height = surface->height;
+ }
return &surface->base;
}
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index ab4dcd65c..2149e7e60 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -2097,9 +2097,11 @@ _cairo_script_surface_source (void *abstract_surface,
{
cairo_script_surface_t *surface = abstract_surface;
- extents->x = extents->y = 0;
- extents->width = surface->width;
- extents->height = surface->height;
+ if (extents) {
+ extents->x = extents->y = 0;
+ extents->width = surface->width;
+ extents->height = surface->height;
+ }
return &surface->base;
}
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index 4b1b906df..c6a1d2945 100644
--- a/src/cairo-xcb-surface.c
+++ b/src/cairo-xcb-surface.c
@@ -466,9 +466,11 @@ _cairo_xcb_surface_source (void *abstract_surface,
{
cairo_xcb_surface_t *surface = abstract_surface;
- extents->x = extents->y = 0;
- extents->width = surface->width;
- extents->height = surface->height;
+ if (extents) {
+ extents->x = extents->y = 0;
+ extents->width = surface->width;
+ extents->height = surface->height;
+ }
return &surface->base;
}
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
index ac0cf7c89..ae2153b95 100644
--- a/src/cairo-xlib-surface.c
+++ b/src/cairo-xlib-surface.c
@@ -1230,9 +1230,11 @@ _cairo_xlib_surface_source(void *abstract_surface,
{
cairo_xlib_surface_t *surface = abstract_surface;
- extents->x = extents->y = 0;
- extents->width = surface->width;
- extents->height = surface->height;
+ if (extents) {
+ extents->x = extents->y = 0;
+ extents->width = surface->width;
+ extents->height = surface->height;
+ }
return &surface->base;
}