diff options
author | Adel Gadllah <adel.gadllah@gmail.com> | 2013-07-03 18:51:53 +0200 |
---|---|---|
committer | Robert Bragg <robert@linux.intel.com> | 2013-10-12 14:39:44 +0100 |
commit | ac413ad1ee5a1c1fb04386339d06e05bc01a9636 (patch) | |
tree | 14a10c57f06c21bccd6571e2c862a5e092cb5c77 | |
parent | ba5e5410babf705f53b591579c104181dd752bec (diff) | |
download | cogl-ac413ad1ee5a1c1fb04386339d06e05bc01a9636.tar.gz |
offscreen: Allocate the framebuffer in cogl_offscreen_new_to_texture_full
The API says that it should return NULL on failure but it does not do that
due to the lazy allocation.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=703174
-rw-r--r-- | cogl/cogl-framebuffer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cogl/cogl-framebuffer.c b/cogl/cogl-framebuffer.c index 136ae860..c3e1fb78 100644 --- a/cogl/cogl-framebuffer.c +++ b/cogl/cogl-framebuffer.c @@ -615,6 +615,7 @@ _cogl_offscreen_new_to_texture_full (CoglTexture *texture, int level_width; int level_height; CoglOffscreen *ret; + CoglError *error = NULL; _COGL_RETURN_VAL_IF_FAIL (cogl_is_texture (texture), NULL); _COGL_RETURN_VAL_IF_FAIL (level < _cogl_texture_get_n_levels (texture), @@ -646,6 +647,13 @@ _cogl_offscreen_new_to_texture_full (CoglTexture *texture, _cogl_texture_associate_framebuffer (texture, fb); + if (!cogl_framebuffer_allocate (ret, &error)) + { + cogl_object_unref (offscreen); + cogl_error_free (error); + ret = NULL; + } + return ret; } |