_tbm_surface_mutex_lock();
_tbm_set_last_result(TBM_ERROR_NONE);
- TBM_SURFACE_RETURN_VAL_IF_FAIL(width > 0, 0);
- TBM_SURFACE_RETURN_VAL_IF_FAIL(height > 0, 0);
TBM_SURFACE_RETURN_VAL_IF_FAIL(_tbm_surface_internal_is_valid(surface), 0);
surf = (struct _tbm_surface *)surface;
- *x = surf->damage.x;
- *y = surf->damage.y;
- *width = surf->damage.width;
- *height = surf->damage.height;
+ if (x) *x = surf->damage.x;
+ if (y) *y = surf->damage.y;
+ if (width) *width = surf->damage.width;
+ if (height) *height = surf->damage.height;
TBM_TRACE_SURFACE_INTERNAL("tbm_surface(%p) x(%d) y(%d) width(%d) height(%d)\n",
surface, *x, *y, *width, *height);