Instead of asserting only in debug builds (which are generally not
shipped in distributions) we should deliver a critical log-level message
so that these can be found sooner when not developing with jhbuild,
Flatpak, etc.
Also assert that we've setup the state correctly when realizing the
GskGLRenderer object.
Fixes #4625
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;
}
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);
}