[gtk/wip/chergert/fix-4625] gsk/gl: use critical instead of assert for unrealize check
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/fix-4625] gsk/gl: use critical instead of assert for unrealize check
- Date: Mon, 16 May 2022 17:53:23 +0000 (UTC)
commit 2505ff5cc47cbed5857d8b0b94a76c4ea3e746b6
Author: Christian Hergert <chergert redhat com>
Date: Mon May 16 10:50:07 2022 -0700
gsk/gl: use critical instead of assert for unrealize check
Also assert that we've setup the state correctly when realizing the
GskGLRenderer object.
gsk/gl/gskglrenderer.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index afb34cd2f1..67cc924cda 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -158,6 +158,10 @@ failure:
gdk_profiler_end_mark (start_time, "realize GskGLRenderer", NULL);
+ /* Assert either all or no state was set */
+ g_assert ((ret && self->driver != NULL && self->context != NULL && self->command_queue != NULL) ||
+ (!ret && self->driver == NULL && self->context == NULL && self->command_queue == NULL));
+
return ret;
}
@@ -403,11 +407,11 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer,
static void
gsk_gl_renderer_dispose (GObject *object)
{
-#ifdef G_ENABLE_DEBUG
GskGLRenderer *self = (GskGLRenderer *)object;
- g_assert (self->driver == NULL);
-#endif
+ if (self->driver != NULL)
+ g_critical ("Attempt to dispose %s without calling gsk_renderer_unrealize()",
+ G_OBJECT_TYPE_NAME (self));
G_OBJECT_CLASS (gsk_gl_renderer_parent_class)->dispose (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]