[WIP]: Check surface allocations
This commit is contained in:
parent
e011cf38eb
commit
4135c6e3b0
@ -1219,10 +1219,14 @@ guac_common_surface* guac_common_surface_alloc(guac_client* client,
|
|||||||
/* Create corresponding Cairo surface */
|
/* Create corresponding Cairo surface */
|
||||||
surface->stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
|
surface->stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
|
||||||
surface->buffer = calloc(h, surface->stride);
|
surface->buffer = calloc(h, surface->stride);
|
||||||
|
if (surface->buffer == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* Create corresponding heat map */
|
/* Create corresponding heat map */
|
||||||
surface->heat_map = calloc(heat_width * heat_height,
|
surface->heat_map = calloc(heat_width * heat_height,
|
||||||
sizeof(guac_common_surface_heat_cell));
|
sizeof(guac_common_surface_heat_cell));
|
||||||
|
if (surface->heat_map == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* Reset clipping rect */
|
/* Reset clipping rect */
|
||||||
guac_common_surface_reset_clip(surface);
|
guac_common_surface_reset_clip(surface);
|
||||||
@ -1286,6 +1290,8 @@ void guac_common_surface_resize(guac_common_surface* surface, int w, int h) {
|
|||||||
surface->height = h;
|
surface->height = h;
|
||||||
surface->stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
|
surface->stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
|
||||||
surface->buffer = calloc(h, surface->stride);
|
surface->buffer = calloc(h, surface->stride);
|
||||||
|
if (surface->buffer == NULL)
|
||||||
|
return NULL;
|
||||||
__guac_common_bound_rect(surface, &surface->clip_rect, NULL, NULL);
|
__guac_common_bound_rect(surface, &surface->clip_rect, NULL, NULL);
|
||||||
|
|
||||||
/* Copy relevant old data */
|
/* Copy relevant old data */
|
||||||
@ -1299,6 +1305,8 @@ void guac_common_surface_resize(guac_common_surface* surface, int w, int h) {
|
|||||||
free(surface->heat_map);
|
free(surface->heat_map);
|
||||||
surface->heat_map = calloc(heat_width * heat_height,
|
surface->heat_map = calloc(heat_width * heat_height,
|
||||||
sizeof(guac_common_surface_heat_cell));
|
sizeof(guac_common_surface_heat_cell));
|
||||||
|
if (surface->heat_map == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* Resize dirty rect to fit new surface dimensions */
|
/* Resize dirty rect to fit new surface dimensions */
|
||||||
if (surface->dirty) {
|
if (surface->dirty) {
|
||||||
|
Loading…
Reference in New Issue
Block a user