Recorder broken when using the gl renderer
Recent branch merge broke this.
Just run widget-factory and try to record something.
Thread 1 "gtk4-widget-fac" received signal SIGSEGV, Segmentation fault.
0x00007ffff7cc2d39 in gsk_gl_texture_atlas_mark_used (self=0x200000001, width=0, height=1)
at ../gsk/gl/gskgltextureatlas.c:229
229 self->unused_pixels -= (width * height);
(gdb) bt
#0 0x00007ffff7cc2d39 in gsk_gl_texture_atlas_mark_used (self=0x200000001, width=0, height=1)
at ../gsk/gl/gskgltextureatlas.c:229
#1 0x00007ffff7cbe10d in gsk_gl_glyph_cache_entry_validate (cache=0x5555579ce760, value=0x555556a908e0)
at ../gsk/gl/gskglglyphcache.c:381
#2 0x00007ffff7cad95e in render_text_node (self=0x55555752b840, node=0x555557f61830, builder=0x55555752bc60,
color=0x555557f61860, force_color=0) at ../gsk/gl/gskglrenderer.c:636
#3 0x00007ffff7cb7912 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555557f61830,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2849
#4 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555557f61b50,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#5 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555557d42e70,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#6 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555557d42e70,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#7 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555556a80010,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#8 0x00007ffff7cafd57 in render_clip_node (self=0x55555752b840, node=0x555556b29050, builder=0x55555752bc60)
at ../gsk/gl/gskglrenderer.c:1143
#9 0x00007ffff7cb78b3 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555556b29050,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2841
#10 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555557a79380,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#11 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555556044050,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#12 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x55555603f8e0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#13 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555603f8e0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#14 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x5555562318d0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#15 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555555942040,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#16 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555555942040,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#17 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555556109250,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#18 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x5555579fe450,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#19 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555555c25d00,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#20 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555555c25d00,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#21 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x5555579fe4a0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#22 0x00007ffff7caf28c in render_transform_node (self=0x55555752b840, node=0x5555596147d0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:957
#23 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x5555596147d0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#24 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555559614990,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#25 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559614990,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
--Type <RET> for more, q to quit, c to continue without paging--
#26 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559614b40,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#27 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555559614b80,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#28 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559614b80,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#29 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559708100,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#30 0x00007ffff7cafd57 in render_clip_node (self=0x55555752b840, node=0x555559709ba0, builder=0x55555752bc60)
at ../gsk/gl/gskglrenderer.c:1143
#31 0x00007ffff7cb78b3 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559709ba0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2841
#32 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559709c40,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#33 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559709c90,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#34 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x555559709cd0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#35 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x555559709cd0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#36 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555970a8e0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#37 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x55555970a930,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#38 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555970a930,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#39 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555970a970,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#40 0x00007ffff7caf213 in render_transform_node (self=0x55555752b840, node=0x55555970a9b0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:949
#41 0x00007ffff7cb7826 in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555970a9b0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2828
#42 0x00007ffff7cb76fe in gsk_gl_renderer_add_render_ops (self=0x55555752b840, node=0x55555970a9f0,
builder=0x55555752bc60) at ../gsk/gl/gskglrenderer.c:2800
#43 0x00007ffff7cb8da5 in gsk_gl_renderer_do_render (renderer=0x55555752b840, root=0x55555970a9f0,
viewport=0x7fffffffc910, fbo_id=0, scale_factor=2) at ../gsk/gl/gskglrenderer.c:3299
#44 0x00007ffff7cb9731 in gsk_gl_renderer_render (renderer=0x55555752b840, root=0x55555970a9f0,
update_area=0x555557c58cb0) at ../gsk/gl/gskglrenderer.c:3468
#45 0x00007ffff7c928af in gsk_renderer_render (renderer=0x55555752b840, root=0x55555970a9f0,
region=0x555559449e30) at ../gsk/gskrenderer.c:432
#46 0x00007ffff7aab049 in gtk_widget_render (widget=0x555556cd2470, surface=0x555557114020,
region=0x555559449e30) at ../gtk/gtkwidget.c:12872
#47 0x00007ffff7abd6a4 in surface_render (surface=0x555557114020, region=0x555559449e30, widget=0x555556cd2470)
at ../gtk/gtkwindow.c:6036
#48 0x00007ffff7c2e40d in _gdk_marshal_BOOLEAN__BOXEDv (closure=0x5555572e6c20, return_value=0x7fffffffcd70,
instance=0x555557114020, args=0x7fffffffce20, marshal_data=0x0, n_params=1, param_types=0x5555560ae9c0)
at gdk/gdkmarshalers.c:130
#49 0x00007ffff75777a7 in _g_closure_invoke_va (closure=0x5555572e6c20, return_value=0x7fffffffcd70,
instance=0x555557114020, args=0x7fffffffce20, n_params=1, param_types=0x5555560ae9c0)
at ../../../../Source/gnome/glib/gobject/gclosure.c:873
#50 0x00007ffff75946dd in g_signal_emit_valist (instance=0x555557114020, signal_id=531, detail=0,
var_args=0x7fffffffce20) at ../../../../Source/gnome/glib/gobject/gsignal.c:3306
--Type <RET> for more, q to quit, c to continue without paging--
#51 0x00007ffff7595980 in g_signal_emit (instance=0x555557114020, signal_id=531, detail=0)
at ../../../../Source/gnome/glib/gobject/gsignal.c:3453
#52 0x00007ffff7c29499 in gdk_surface_process_updates_internal (surface=0x555557114020)
at ../gdk/gdksurface.c:1385
#53 0x00007ffff7c295fa in gdk_surface_paint_on_clock (clock=0x555557047d70, data=0x555557114020)
at ../gdk/gdksurface.c:1420
#54 0x00007ffff757aaf6 in g_cclosure_marshal_VOID__VOIDv (closure=0x5555574fb4d0, return_value=0x0,
instance=0x555557047d70, args=0x7fffffffd2f0, marshal_data=0x0, n_params=0, param_types=0x0)
at ../../../../Source/gnome/glib/gobject/gmarshal.c:165
#55 0x00007ffff75777a7 in _g_closure_invoke_va (closure=0x5555574fb4d0, return_value=0x0,
instance=0x555557047d70, args=0x7fffffffd2f0, n_params=0, param_types=0x0)
at ../../../../Source/gnome/glib/gobject/gclosure.c:873
#56 0x00007ffff75946dd in g_signal_emit_valist (instance=0x555557047d70, signal_id=526, detail=0,
var_args=0x7fffffffd2f0) at ../../../../Source/gnome/glib/gobject/gsignal.c:3306
#57 0x00007ffff7595980 in g_signal_emit (instance=0x555557047d70, signal_id=526, detail=0)
at ../../../../Source/gnome/glib/gobject/gsignal.c:3453
#58 0x00007ffff7c1829d in _gdk_frame_clock_emit_paint (frame_clock=0x555557047d70) at ../gdk/gdkframeclock.c:676
#59 0x00007ffff7cc6c4e in gdk_frame_clock_paint_idle (data=0x555557047d70) at ../gdk/gdkframeclockidle.c:454
#60 0x00007ffff76234a1 in g_timeout_dispatch (source=0x555555d5ebe0,
callback=0x7ffff7cc6865 <gdk_frame_clock_paint_idle>, user_data=0x555557047d70)
at ../../../../Source/gnome/glib/glib/gmain.c:4668
#61 0x00007ffff7621579 in g_main_dispatch (context=0x5555555b2800)
at ../../../../Source/gnome/glib/glib/gmain.c:3179
#62 0x00007ffff7622468 in g_main_context_dispatch (context=0x5555555b2800)
at ../../../../Source/gnome/glib/glib/gmain.c:3844
#63 0x00007ffff762265b in g_main_context_iterate (context=0x5555555b2800, block=1, dispatch=1,
self=0x5555555b1640) at ../../../../Source/gnome/glib/glib/gmain.c:3917
#64 0x00007ffff7622733 in g_main_context_iteration (context=0x5555555b2800, may_block=1)
at ../../../../Source/gnome/glib/glib/gmain.c:3978
#65 0x00007ffff744ef89 in g_application_run (application=0x5555555a31b0, argc=1, argv=0x7fffffffd788)
at ../../../../Source/gnome/glib/gio/gapplication.c:2559
#66 0x0000555555564331 in main (argc=1, argv=0x7fffffffd788) at ../demos/widget-factory/widget-factory.c:2092