From d741e2b76c44449dc3d4dac8beaeeb27ee33f2d6 Mon Sep 17 00:00:00 2001 From: MiChinao Date: Tue, 18 Aug 2020 17:29:01 +0200 Subject: [PATCH] Fix possible NPE with Selection Tool --- plugin-tiled/assets/pack/tiled.png | Bin 4744 -> 6419 bytes .../view/stage/tools/SelectionTool.java | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin-tiled/assets/pack/tiled.png b/plugin-tiled/assets/pack/tiled.png index 38cdf5ef45e757e348db55fdd56fdf78ea51b864..b4327c44c23b4eeaf659f2613fb596fd9d220faf 100644 GIT binary patch literal 6419 zcmc&(X*|^3+dnhI7#R`5kS($#S+jOCD3qpw zH9KX`mVF;$Fwbvv-~Z43fB8Ibo;UOPopY}1I^XL$=Umr0-+6k$NSFBl&jA1c^EtgU zCIG;pPe4Q=pnqqz7OBv%lDk$>fk`Q;MdtiMZx(C+G+Lg#}ss44whNKj!r7_N*W$Mb@TWU`;R%r{bpw*PXoETE2eA^Uq|I%m2hVeeFs785fga zST^K#P4gnh*^AvAOrc3I;#=`&Z?9vU*83X~cQnLV@W6A5^*+xfHaIGs=0F=JI zJ{rIxJfc?|_r)(uaRHOwb29fCY3p;dc(L>+KObCA@XdGOAh%!lJ7?}Tpgl&bVg6rH z&LHcpqvvPF=CQ@{rNxJH_&jx?j89LWv9j@Jz3mn$v;jspEW`5rWwUKt3cA}~QP??b zj`Nhb(AlYc-mZiCyG#gnaarOH`T5*la7R3Euk`iHvrf&&L<=v9VS9`1cdw=YsebbH z1^!R9Iw(d4B+$~cNrjHM6~YB7uO(J9<2IxUwo1+)wN}Mw?^*F#z>D8J9k5@ zWt3TMaAqlfW#vNCF`a?f4oVO%c%Jl^wWv%4;D*^%ezx5#)0I>DIa%0e)BFjvA8eun zK}Q%JD3%?RCpZ)W8({DwmDv2>oz-+iAY(Uutg%0N=GL0VgVhP*Rw%CqRAm?Ag0Y(RK){1(6K7cQW{V3u&tx{UB;~J2L%aoFs!BIJ2B);#O>wKMV$)~W%rke zZ#3HjkCP92?JD(^Za=DcPd`9b=Vd>FQmeXRr6Z&0Yh^z~a^?XoBQsHoCB z{zK@=zu4e+txsqN(gRr+r(w?Cq8ZPT*wFra*(LbT=On$Gkl?Cui*Agwe9zPgWd|oZ=^Qd;$4`>W0sLe}wU~M^&-i&upygBk=Y$LPy$`=es+A0UjW6z~U z+fJ{c5m)TLbG9VYe1e)l@Q{q#Gf9;bJuoL5zK&$bU63JDkxLEol5BR?rxwmUTzq{8P8`?#S{)|-6X@pG6&XZlr zCMn;2q-rAlwHpr#td<>o)ErxI&8ZtCGwbKZxF57rb9JmrH5<8DG_0N(ut0}*t(f=n zsBATB9}u>_Z)=k-dkz)AwF-AQrca>WT@)t%|0?cMjXn0?netvRDE>8P(_h(D7ERUumh zx49zMN_~2$wMW!U^$0pzLd$|pNFu$Nal39>O-oCkQ7W@BFFp=j@D@<;d7X!rxa0j6 zt@>@6{LfOziv1NV!3!ohJ}OG#Pv_$?^(FBf#gFaq4BW@<5GbA+6eSW|L9sEvE* z_k9;)hVx_7>}OwQUfUzx?X{{TLECU)JX|C3^!9XWV~Tdr3(8`-bm?49xeozn)vI6H ztsN!(H@5hUH|gHwiD1hZXW{%7gBXW62TnL~*uQf4pA9zUcvu$KYHDO!?&EnTySd|Dy$-iD2Ux}Wm*@_X*MwLauR%hi^>hDhN?sp3JoWsBbO z2%@O%ncG%TW)sn;jPYfdaK%EJMdK9f$wyU(Wa`1_fTF(m+q#gwqQI483G;f;=D1!#HGwTxE6!WW4V)w@Jz`cSO#=OMRKvbrM2XnU+ws77!wY# zUU|rkLf$AX`h`Xe)hk_3-QfGszVqJqRDx!49WAG$wr>TiFQaT? zw(4EFs~qYUjNLKJrOt1(5@6M~N6;r7I-eyR4LGdLc}GG{T(ejrOL8hFm#kJ>fm3VW zp`Sz3BN?r1$tcU>FLI8SfYp(-67p0qW92=C?QX(bS>8YQ%X5A0VfnL2$-om+CXN># zxtU(FXt`=TcQ5!svv=|qQ!nNKnk~O-_E4T%IIbZN2sZeSW7zHA-x`TYp5qApF1}xt z5j0dfr3|2z)K*OkjjVHI2dgQ2AVvuZTu62WaUyKjX8Vg&DQ*ZW5Sy`D%0AY^ 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

fz0hk?d!=gzSRYO>6j$(t&RQvFb#<+|pssA= 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 diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java b/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java index 9aa42356..2ac7f258 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java @@ -445,7 +445,8 @@ public class SelectionTool extends SimpleTool { dragStartPositions.clear(); for (Entity itemInstance : sandbox.getSelector().getCurrentSelection()) { transformComponent = ComponentRetriever.get(itemInstance, TransformComponent.class); - dragStartPositions.put(itemInstance, new Vector2(transformComponent.x, transformComponent.y)); + if (transformComponent != null) + dragStartPositions.put(itemInstance, new Vector2(transformComponent.x, transformComponent.y)); } if (keycode == Input.Keys.UP) {