From b74e879a3f8ecbc88662920788570251c19ab822 Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Fri, 16 Dec 2022 10:35:10 -0800 Subject: [PATCH] [Impeller] Fix SceneC crash for nodes with children (flutter/engine#38346) --- engine/src/flutter/impeller/fixtures/BUILD.gn | 6 +++++- .../flutter/impeller/fixtures/two_triangles.glb | Bin 0 -> 3376 bytes .../impeller/scene/importer/importer_gltf.cc | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 engine/src/flutter/impeller/fixtures/two_triangles.glb diff --git a/engine/src/flutter/impeller/fixtures/BUILD.gn b/engine/src/flutter/impeller/fixtures/BUILD.gn index a52d020d65..7c8fe01a79 100644 --- a/engine/src/flutter/impeller/fixtures/BUILD.gn +++ b/engine/src/flutter/impeller/fixtures/BUILD.gn @@ -34,7 +34,10 @@ impeller_shaders("shader_fixtures") { } scenec("scene_fixtures") { - geometry = [ "flutter_logo.glb" ] + geometry = [ + "flutter_logo.glb", + "two_triangles.glb", + ] type = "gltf" } @@ -79,6 +82,7 @@ test_fixtures("file_fixtures") { "table_mountain_py.png", "table_mountain_pz.png", "test_texture.frag", + "two_triangles.glb", "types.h", "wtf.otf", ] diff --git a/engine/src/flutter/impeller/fixtures/two_triangles.glb b/engine/src/flutter/impeller/fixtures/two_triangles.glb new file mode 100644 index 0000000000000000000000000000000000000000..3937ac6969769d9b2c5f274ecb6f72c541a40a26 GIT binary patch literal 3376 zcmYe#32|d$U|=xdWnl2(W?=9N_V=q+N-Qo;Em5+nR!UFJOD#$)$uCl}Qu59y%FoL$ zRsd;HaLP%|OGzzK@YMHLC^ObG(KE4B(orf)Eh^5;&r`BeGSV|ps?|{{PEO5BRkAXG zvWk_gqN|ni5_40PtdxSmaym+R`6;O&3FFw>SOgEQEF`}`Nk^$Dza+5)Y;?4No{1$G zm>3vani`v$8tEA5nHqqBsim2LiJ6Isg^n&v%+S!%$iULb!qQ9!Q)ev5VTn1ZN>~Pok(rZH zl$xhx6>R|W4#clc`6VU!xv2io#dHqB)dmQkP{|`8$K|FLXMke^8U-OmnTdJnIjO}; zI!eXanR!Z91|VffelXGj1p!pKV^MBmNoi545-6f_6H8KyG81z^QCF>$l3$vXlNy|v zlA5AqRZ>)%ssoGWpwtv49i@V#BHz@K#GIVWc0^o+dJ;$lz&OG+$Gbz(3eC#M9po94jHN5zhYpK`!wIN>+wC zN`C%9zK%XhRz^BXUjCkbA;BPVV;!Y%S5J2j2+yQeM=3KeB{LahnyHQwEK;BmiOViC z9VKMD%n^23Alqe$Vwa%-vSo&b$hH~Qf-^5D4MEaFW*(?4NOj80OYu!CDS|lA&`3uq zD?c-@1f<4L2PuD`q^!i`K zS7&1-P%=Wc%n)QQUds@=jWBc@k)RvXZewh^!486X6k)dshTSIEbfW|lKHa9+bb}p) zW_Pf&qmN?{hV5XB@P=D%A|#TGp#?51QqUsJh+q_%V{(); ProcessNode(gltf, gltf.nodes[in_node.children[node_i]], *child); out_node.children.push_back(std::move(child));