On 05/08/2023 19:39, Alan Third wrote: > On Sat, Aug 05, 2023 at 07:37:01PM +0200, David Ponce wrote: >> On 05/08/2023 18:31, Alan Third wrote: >>> On Sat, Aug 05, 2023 at 06:24:43PM +0200, David Ponce wrote: >>>> >>>> Background is white by default. >>> >>> Thanks. >>> >>>> Just before call rsvg_handle_get_geometry_for_layer (line 11412 in image.c): >>>> >>>> (gdb) print zero_rect >>>> $1 = {x = 6.9533474147268633e-310, y = 2.4608421688060808e-319, width = 5.8283471538673388e-315, height = 9.8813129168249309e-323} >>>> (gdb) print viewbox >>>> $2 = {x = 6.9533558057749482e-310, y = 6.9533473517748961e-310, width = 1.4821969375237396e-323, height = 3.0586981611317814e-317} >>>> (gdb) print out_logical_rect >>>> $3 = {x = 1.2476920383715837e-316, y = 0, width = 0, height = 3.3675983782902914e-317} >>>> >>>> Just after: >>>> >>>> (gdb) print zero_rect >>>> $4 = {x = 6.9533474147268633e-310, y = 2.4608421688060808e-319, width = 5.8283471538673388e-315, height = 9.8813129168249309e-323} >>>> (gdb) print viewbox >>>> $5 = {x = 0, y = 0, width = 0, height = 0} >>>> (gdb) print out_logical_rect >>>> $6 = {x = 0, y = 0, width = 0, height = 0} >>>> (gdb) print $eax >>>> $7 = 1 >>> >>> Yeah, I see what's going on. >>> >>> I was under the impression a new struct should always be set to all >>> zeroes, but evidently not. >>> >>> Are you getting any build warnings about it being uninitialised? >>> >>> Anyway, 3rd go at the patch attached. >> >> Thanks >> >> I just tried patch V3, and the result is the same: >> insert-image produces the same black square of 22x22 pixels. > > Can you try changing the initialisation of zero_rect to {0, 0, 10, > 10}? > > I remember a lot of trial and error with this originally, and it looks > like they may have changed how it works. It is better :-) Before call to rsvg_handle_get_geometry_for_layer: (gdb) print zero_rect $1 = {x = 0, y = 0, width = 10, height = 10} (gdb) print viewbox $2 = {x = 6.9533474147268633e-310, y = 2.3106462124703418e-319, width = 5.8283471538673388e-315, height = 9.8813129168249309e-323} (gdb) print out_logical_rect $3 = {x = 6.9533558057749482e-310, y = 6.9533473517748961e-310, width = 1.4821969375237396e-323, height = 3.0586981611317814e-317} After call: (gdb) print $eax $4 = 1 (gdb) print zero_rect $5 = {x = 0, y = 0, width = 10, height = 10} (gdb) print viewbox $6 = {x = 7, y = 3, width = 8.70703125, height = 16} (gdb) print out_logical_rect $7 = {x = 7, y = 3, width = 8.70703125, height = 16} Now I see the image, aligned at bottom right on the line (see the screenshot).