clutter: Stop using cogl_offscreen_new_to_texture()
It's deprecated, drops errors silently, so change to the proper function. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1496
This commit is contained in:
parent
e7ac3e2715
commit
b947dced40
@ -173,6 +173,8 @@ update_fbo (ClutterEffect *effect,
|
|||||||
ClutterOffscreenEffect *self = CLUTTER_OFFSCREEN_EFFECT (effect);
|
ClutterOffscreenEffect *self = CLUTTER_OFFSCREEN_EFFECT (effect);
|
||||||
ClutterOffscreenEffectPrivate *priv = self->priv;
|
ClutterOffscreenEffectPrivate *priv = self->priv;
|
||||||
ClutterActor *stage_actor;
|
ClutterActor *stage_actor;
|
||||||
|
CoglOffscreen *offscreen;
|
||||||
|
g_autoptr (GError) error = NULL;
|
||||||
|
|
||||||
stage_actor = clutter_actor_get_stage (priv->actor);
|
stage_actor = clutter_actor_get_stage (priv->actor);
|
||||||
if (stage_actor != priv->stage)
|
if (stage_actor != priv->stage)
|
||||||
@ -231,11 +233,13 @@ update_fbo (ClutterEffect *effect,
|
|||||||
priv->target_width = target_width;
|
priv->target_width = target_width;
|
||||||
priv->target_height = target_height;
|
priv->target_height = target_height;
|
||||||
|
|
||||||
priv->offscreen = cogl_offscreen_new_to_texture (priv->texture);
|
offscreen = cogl_offscreen_new_with_texture (priv->texture);
|
||||||
if (priv->offscreen == NULL)
|
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error))
|
||||||
{
|
{
|
||||||
g_warning ("%s: Unable to create an Offscreen buffer", G_STRLOC);
|
g_warning ("Failed to create offscreen effect framebuffer: %s",
|
||||||
|
error->message);
|
||||||
|
|
||||||
|
cogl_object_unref (offscreen);
|
||||||
cogl_object_unref (priv->pipeline);
|
cogl_object_unref (priv->pipeline);
|
||||||
priv->pipeline = NULL;
|
priv->pipeline = NULL;
|
||||||
|
|
||||||
@ -245,6 +249,8 @@ update_fbo (ClutterEffect *effect,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->offscreen = offscreen;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1415,6 +1415,8 @@ clutter_layer_node_new (const graphene_matrix_t *projection,
|
|||||||
CoglTexture2D *tex_2d;
|
CoglTexture2D *tex_2d;
|
||||||
CoglTexture *texture;
|
CoglTexture *texture;
|
||||||
CoglColor color;
|
CoglColor color;
|
||||||
|
CoglOffscreen *offscreen;
|
||||||
|
g_autoptr (GError) error = NULL;
|
||||||
|
|
||||||
res = _clutter_paint_node_create (CLUTTER_TYPE_LAYER_NODE);
|
res = _clutter_paint_node_create (CLUTTER_TYPE_LAYER_NODE);
|
||||||
|
|
||||||
@ -1433,13 +1435,17 @@ clutter_layer_node_new (const graphene_matrix_t *projection,
|
|||||||
texture = COGL_TEXTURE (tex_2d);
|
texture = COGL_TEXTURE (tex_2d);
|
||||||
cogl_texture_set_premultiplied (texture, TRUE);
|
cogl_texture_set_premultiplied (texture, TRUE);
|
||||||
|
|
||||||
res->offscreen = COGL_FRAMEBUFFER (cogl_offscreen_new_to_texture (texture));
|
offscreen = cogl_offscreen_new_with_texture (texture);
|
||||||
if (res->offscreen == NULL)
|
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error))
|
||||||
{
|
{
|
||||||
g_critical ("%s: Unable to create an offscreen buffer", G_STRLOC);
|
g_warning ("Unable to create an allocate paint node offscreen: %s",
|
||||||
|
error->message);
|
||||||
|
cogl_object_unref (offscreen);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
res->offscreen = COGL_FRAMEBUFFER (offscreen);
|
||||||
|
|
||||||
cogl_color_init_from_4ub (&color, opacity, opacity, opacity, opacity);
|
cogl_color_init_from_4ub (&color, opacity, opacity, opacity, opacity);
|
||||||
|
|
||||||
/* the pipeline used to paint the texture; we use nearest
|
/* the pipeline used to paint the texture; we use nearest
|
||||||
|
Loading…
Reference in New Issue
Block a user