[mutter] renderer-native: Move some error reporting up the call stack
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] renderer-native: Move some error reporting up the call stack
- Date: Fri, 6 Oct 2017 18:26:06 +0000 (UTC)
commit 492d2eb5736ce2a319471119af39d15febec9a34
Author: Jonas Ådahl <jadahl gmail com>
Date: Mon Jul 24 17:35:55 2017 +0800
renderer-native: Move some error reporting up the call stack
Pass GErrors to functions that can fail, and report the error att the
call site.
https://bugzilla.gnome.org/show_bug.cgi?id=785381
src/backends/native/meta-renderer-native.c | 28 +++++++++++++---------------
1 files changed, 13 insertions(+), 15 deletions(-)
---
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index c986bd7..d3106e7 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -1594,13 +1594,13 @@ meta_renderer_native_create_onscreen (MetaGpuKms *gpu_kms,
CoglContext *context,
MetaMonitorTransform transform,
gint view_width,
- gint view_height)
+ gint view_height,
+ GError **error)
{
CoglOnscreen *onscreen;
CoglOnscreenEGL *onscreen_egl;
MetaOnscreenNative *onscreen_native;
gint width, height;
- GError *error = NULL;
if (meta_monitor_transform_is_rotated (transform))
{
@@ -1617,11 +1617,9 @@ meta_renderer_native_create_onscreen (MetaGpuKms *gpu_kms,
cogl_onscreen_set_swap_throttled (onscreen,
_clutter_get_sync_to_vblank ());
- if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (onscreen), &error))
+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (onscreen), error))
{
- g_warning ("Could not create onscreen: %s", error->message);
cogl_object_unref (onscreen);
- g_error_free (error);
return NULL;
}
@@ -1637,16 +1635,16 @@ meta_renderer_native_create_offscreen (MetaRendererNative *renderer,
CoglContext *context,
MetaMonitorTransform transform,
gint view_width,
- gint view_height)
+ gint view_height,
+ GError **error)
{
CoglOffscreen *fb;
CoglTexture2D *tex;
- GError *error = NULL;
tex = cogl_texture_2d_new_with_size (context, view_width, view_height);
cogl_primitive_texture_set_auto_mipmap (COGL_PRIMITIVE_TEXTURE (tex), FALSE);
- if (!cogl_texture_allocate (COGL_TEXTURE (tex), &error))
+ if (!cogl_texture_allocate (COGL_TEXTURE (tex), error))
{
cogl_object_unref (tex);
return FALSE;
@@ -1654,10 +1652,8 @@ meta_renderer_native_create_offscreen (MetaRendererNative *renderer,
fb = cogl_offscreen_new_with_texture (COGL_TEXTURE (tex));
cogl_object_unref (tex);
- if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (fb), &error))
+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (fb), error))
{
- g_warning ("Could not create offscreen: %s", error->message);
- g_error_free (error);
cogl_object_unref (fb);
return FALSE;
}
@@ -1786,9 +1782,10 @@ meta_renderer_native_create_view (MetaRenderer *renderer,
cogl_context,
view_transform,
width,
- height);
+ height,
+ &error);
if (!onscreen)
- meta_fatal ("Failed to allocate onscreen framebuffer\n");
+ g_error ("Failed to allocate onscreen framebuffer: %s", error->message);
if (view_transform != META_MONITOR_TRANSFORM_NORMAL)
{
@@ -1796,9 +1793,10 @@ meta_renderer_native_create_view (MetaRenderer *renderer,
cogl_context,
view_transform,
width,
- height);
+ height,
+ &error);
if (!offscreen)
- meta_fatal ("Failed to allocate back buffer texture\n");
+ g_error ("Failed to allocate back buffer texture: %s", error->message);
}
view = g_object_new (META_TYPE_RENDERER_VIEW,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]