From 1d27f6e5d1dbdf9d9cfb4b48cdc45a1f109200eb Mon Sep 17 00:00:00 2001 From: Annika Date: Sun, 5 Jul 2026 21:05:15 -0700 Subject: [PATCH] fixed issue with vertex sorting leading to segfault --- test | Bin 41184 -> 41256 bytes test.cpp | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/test b/test index fd10411978c6e41641f1c92fd6237fe652ca9f64..119b6168b08106ce12ee00c6bad4e42508572032 100755 GIT binary patch delta 9015 zcmbtaeOOghy5IW%axi7{>EWO$7%6_l;TQ_2T-mx0Yz#~j%xW}HKp-c{!0>Ah2pFp) z4$iX4x;YmoXT~OQX|%cumbsBiEr-amGrzSz08fwq+`FF#-nD-3 zZ@p`+_g(v4YqRL|nD)G7YKjVTPvg`lT@zgV^V=q#8yXp_RU>0*7@sgSLUrU!}C{^@|9y?@QL2M^$RltO+h($76i(a(Zo;CHAUA zqb2%ixl9dDp{IviLeqV;)pWsdi?vyAJKsmUkJdn2t!wjrv~Ie8xFzA7&012R zsZxBHmDDcS_$pc;Fy>mpX06tl)jrH^)B|Qcy#{6z4GOXG+i7Y@CjUIG39<0I=<^{q z>!0+tF;Cq(o-*16{wp*z)WW|(CxqI9+&XhU-5+M5RiW`1!!Bsc=)q8%^+RI}K6cJg zKFr23pbHab7t9JL-Hexw_$C_Xrp{w`!sK?RJXd6F~iqRInl0Jm;QA(mS`C0Td zkTtYBdSKe}`dcScM(rbQyhIB|TKGJ=cBIX^NbjY}hgnQLV3yKrV6JHi8Z~`{^K=5o zDRn=4z1<5(ah%+k_8tSCWWa0kDYmf}|{%jn{w zwtWz=v+f?$^2FS{g>vmza-r<ZO%@fu_M3p=eWZ$e(33} zMI*(_^=_fA9gs}kmdSC2W5Xd=L~>NQI8rT=Bg#pXB+^AbL62k6BRK}!BVZd$<(x{B z;$pJMQPtX$sEt+9cHFR3k5JnLq)8<2**_J@`=aNfS)A}*&qKnP zYDQ(|s$mWtkt@WVCH(DJcH_(@=P! zX`XPV_6X0^(o7Sx7|i-lJ+k_bsMKOmyfPe(^Z{*p!mCZAJDTHa`y}D%ovN=k#Kj!s zyqvc+ouAChZBcw7ca`)l^pXy<05rgkW|vR2H7+{Uc1_R4Y}%0L%P%^E1_J`|?VM#0D`4RR{u z2e8S&4mmIvvF$KoCcYT~YVp9E!c3S!C&y&rZ{KC}-(=Ok?Jo+iNlCnTOiJ?eioIVp zHn0n109}j3p8Rwwlj$@?O^)ifb?kLfZKD~QtD=P zu^~6fLh)nMm!ch?HFc{|ype#)=?sr~YmoG2XGpw04z0^{u(|S2IVNHp+DE%sVH&36QJ2 zH&3ojn}Ws&`^AdkvMX(K7RDAC14vnp?vDj*pG!S6Q<7)KBkmnYDhVhcFW8w79N&_+ zkQ*}k5K>o~z&ffuYVMx)gV$TEE}xe4v^10Hw-MAiYxHPm1oBF%viiL2T5nbg)LQ52 z(`s#bM9ZOBJZ~xwZ)r=P#+y>YT6#rDF0>_K&Q#viF3=+BKb?8xgd`kz3!@bu%p%{5 zi?YbiS)MB~VxB`d;DzcNF?S*P&eIcu@~23WC8V(e^N>m9K9cu3GUiM@V{SYllka8E zl|-5RK>q2u!Wwjme(k}kQ2pXYP+!M zuXtaIrPPzcruR`IXC-n{Bp!*Ja*zv1sSfmM2#niJx?OrU);?$E8 z>2wH=&n3ZeMk0ME-b7K6NQcByu0-;h;OXbaz;w~+D2aCpfcX+pb1a+(`OUN~?~BHhKr zu@|eId@DCfoFID?f7#RNFHblslS}wbD)&g_To&n*$wuc6JGx!6TP8)-N=q;N+L$(u z^}XUM`VbD}?3G;`cZkB_4~i!(X_h7xHIbYxtTP0oIAg}l6++`hEOfNGF&eGxXqD~S zSS`7VwvbO;mAmcU9MXraM|n`Q-N{&YfaS{DL(bUZGZ9`7Xx}c%j)re##=};EN`?)@_n& zkDJ8Ww|Hqr-WH*L6nr7O947|l@w?SsuIS7oMiO6g1S{RyE?_QLk0&J3E|Rn4h`QK6 z5m^C?U4fUoXCti*WS@KQM2ND#xm}=FUso5=k2r@Y%b+1!Nh_s&6COODwMy&fB?A-Wv_k-XlAN1fI z9CV76IPQ0j{UZ+nc91TaoOjsW#AEMhL!RWYV|4V;cO7@}8|hWYXnrddGA5cnyi8|g zOupyhWh{t#x3e=F8+-|?U`LV2CG9xTJq;G^9rj)zO6z61JtNV%hml+};~e&OwHIts zMM)gjhIPuiItX>PD>u$8H%|Q;r&%0(v&d|7HtB%nsP2cm2ajA_1lBYhD;(sQm@ATx z@?>&TCLb)6$w}-cX5|i8V`pdz549e$^q zR%G5a`XYu1*VuazEOQx$kso9OF5|sZl4MDgb={^ljlk$pYsT>5Meh7PI?!vErKPjK0iEDj4v<>I+ zF7>?64mvbruC3&s%otl6Gw?-ZhwG0hajY}q$3C{0qDcKzIB>Qfh`lM!{oEi9wW&q_Y$}6e?H!=b1lX$Wlhrf%1pf>V0b&ijz#7+G~ zI87tI)K7etnzN_z33OI=WT*_{!w>aDu&m4+)If`}$1S>(afQF(q&O#0+5S0_-kf-Z zpdnT5;>kn|>o*t{gOYVfa?Ody+|<{wm332pq5$2PzT2!t|=CgfOVJcUnxOqab>>{GssQyi?5 z+M|g;vAZZkP_=i6ud{Rjh*@up%j7P#&VsfDO%)40c7Nt@r>4c8AuG#i^!((Q zp7SiSRhLv3_8e9Y>FqxR-g8;WZh2z9P552DKQ-rPmchOk3#NcI6|yI{vDD-R3*G4dmyhPLwp1ofo-@11CN8;0GR~Y1Svu8hAf19 z9r8M4CuGD|7*GH{gX6yTdSejxB*-L42~r+H|6DlMdg8R#%hoj~1+o>)#o-5QoeQB| zh2x_eI=tTL43>gJo(MK`_(J6>@UyRjjxCyNs`!XLUNqNv=B(Gd4gGOqaL8s;*6<;- zf9vPi>YvjXkhx_@ZJ^(LzoEkd&Eg%|ps+txlpqjkm=8BQIOMmc2ZE!v`ppZDY4o2R z9KR(%3{KoUL<~-;4U~ebdB2ZMLxWT11Sg8Y@w0zNX>?fbLp8@l=cU89sp+2mwKO)WS@m$IP7zOYv zAA^&DDT6S4!*l7tzBot!P&{tPN)-Ff(RYf+25d($gkCF7zVj4Hxp;4ind#i%7*kHL zc{hp*@V(Tr;-!Eltds5Z>lNbz-asjeT1!?1B*Ldjw6SDl-h7mHWAzMnKq0VZAFK-4 zi@<_eKX_D+0^0#BT!YjV(ah}8nk;38>ceL98L%jtS~@<#j8*Uxw9F2B zm>dPH57^*75`kU+l5Q#O`^fOyLF z3n=4)%D9l~bZGkO3{4uBQ2PvAmu_7e7fr^+lGcjj@^yW=Ch1=)!)U(0KaKMn$>y)QkUaU`XwO-$#%X}R- z?w)*?)iu3T}1!1w-qD8~0AW zy#(q(i|`4aan&@=2cM|dD>eJ{_&O^to4VH7f@bL&)x)=)t)#OI52x#%G%lTrb-k?P zrH0j(ZR;O3nam4XzTLRUpTA18HrcF3zTh<9$P+m)*whlc#H&sRvpk zHyLf$>RLCw2Cb2y4DDZZZ6}SbwPan@^OT`|U)LI!;AyC{=MsL{c#J%UZ&>yDUdO9x zO|8YmWzrXF6Zmr4UYlv+vS?V{R+BrK{;@7$%GGIl3te1BkIZ0Z^1=dDO(+Ps5%`;P+AS8JpGk2M+aw1NMDGG)tW= zdR!Ka@vQ4Gzpv%_E%)+PHazz%ji#P;Pz(v;xELDi7alOi zDDkN@bgPBWX1}dVfwFOT&ez%*yJAI)xb=p4^277)&3h^@Nm^a-R7%C_(t^iVtSoZO zTli>7?x4!lIjdH#TJ50knkTj_f9_4bW%TnGO#IuFf6+G7aD;gQo&I75F86C*w1xiS zzecF%MO)aJLTw0!lme(}XTs1y|2#5%=d_^y|3{%~cP0<-|6i3dw50`s;Vq|jmYeu| YDmEtvm2cGyK0|AolldF;VDtEY1Ln6Y4FCWD delta 8726 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 d-~N<=7l~Ar6*+5z>SzvWs>