diff options
author | Rich Walsh <DragText@E-vertise.Com> | 2010-08-07 16:30:59 +0300 |
---|---|---|
committer | M Joonas Pihlaja <jpihlaja@cc.helsinki.fi> | 2010-08-08 22:33:43 +0300 |
commit | 046b642db0782ab5e2a5c82988b21e05afe8e716 (patch) | |
tree | a49dc6559d84da251f9c9f44e0e0b527d4480936 | |
parent | 78bdd87b7545f8e85632ac301a69da145727fcec (diff) |
os2: Restore surface type checking in the get_extents method.
-rw-r--r-- | src/cairo-os2-surface.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cairo-os2-surface.c b/src/cairo-os2-surface.c index 754f60c1..b9758281 100644 --- a/src/cairo-os2-surface.c +++ b/src/cairo-os2-surface.c @@ -714,7 +714,15 @@ static cairo_bool_t _cairo_os2_surface_get_extents (void *abstract_surface, cairo_rectangle_int_t *rectangle) { - cairo_os2_surface_t *local_os2_surface = abstract_surface; + cairo_os2_surface_t *local_os2_surface; + + local_os2_surface = (cairo_os2_surface_t *) abstract_surface; + if ((!local_os2_surface) || + (local_os2_surface->base.backend != &cairo_os2_surface_backend)) + { + /* Invalid parameter (wrong surface)! */ + return _cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH); + } rectangle->x = 0; rectangle->y = 0; |