From 644813d62c5dcfaf70e9d8de408a652a25d02228 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Mon, 14 Feb 2022 17:01:37 -0800 Subject: [PATCH] Don't save assets more than once --- .../FileSystem/FileSystemContainer.cs | 14 ++++++++++++-- StaticData/Stls/sheet_icon.mcx | Bin 106577 -> 102770 bytes Submodules/agg-sharp | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/MatterControlLib/Library/Providers/FileSystem/FileSystemContainer.cs b/MatterControlLib/Library/Providers/FileSystem/FileSystemContainer.cs index 80cbf3912..a8df8ba97 100644 --- a/MatterControlLib/Library/Providers/FileSystem/FileSystemContainer.cs +++ b/MatterControlLib/Library/Providers/FileSystem/FileSystemContainer.cs @@ -143,6 +143,7 @@ namespace MatterHackers.MatterControl.Library { using (var zip = new ZipArchive(file, ZipArchiveMode.Create)) { + var savedItems = new HashSet(); foreach (var persistableItem in persistableItems) { string sourcePath = null; @@ -156,10 +157,19 @@ namespace MatterHackers.MatterControl.Library sourcePath = assetObject3D.AssetPath; } + var destFilename = Path.GetFileName(sourcePath); if (File.Exists(sourcePath)) { - var assetName = Path.Combine("Assets", Path.GetFileName(sourcePath)); - zip.CreateEntryFromFile(sourcePath, assetName); + if (!savedItems.Contains(destFilename)) + { + savedItems.Add(destFilename); + var assetName = Path.Combine("Assets", destFilename); + zip.CreateEntryFromFile(sourcePath, assetName); + } + } + else + { + int a = 0; } savedCount++; diff --git a/StaticData/Stls/sheet_icon.mcx b/StaticData/Stls/sheet_icon.mcx index e22b3ead065ec9e425cddf97b335f761ac82577c..95471619d6671fd4127bae39c0d752fb07631210 100644 GIT binary patch delta 4341 zcmcb3fbG*FHr@blW)=|!1_lm>Wf^`Gd5>@`%kT@4&D|_Fc_E|l#5Zf1mu2`(p2K*Q zIkw$z@&=ZJVEzGiFunN!udXUcpjp6pyMQs{aY+zo`Yj*ELmrOo5bPkYV+siT-KL~(XnU#!3dFx}_{X*s{^fx`^V_+yRXJFuDU|=XtPR&cz%T2C$ zJNI?|V~a@#_RAOiZ=T4^x7$HuLqyFx^Vbh|vz09qH*UWBHj+ndipSDg59`{#V(Z?c z|K5jBxt)1@+8>Wcp68FebC+4EBD(s7{Av%cU(fgdznxL?aoL_9hhHpu>e$$FU=72$ z`XwtGeZ)U#vjq~Tv&*vWf{jzk%aY@cU zy15d)|91W3le*CT0ftP>`1KK^lrhc=lykJ8JFeVx_`$0 z*_6EW*muv~i_$^KZ&%3M)%IvN{-1UKPHj!}fB&3%v50jib5{RyxNAB!HaqK`u94rh zgh|)uM6P8L7OK!)lkf5*-fvIv+q~!Ib%yi*%{lkSe4gj(R>pU8t~hb9zMGU@^Z0(9 ztvSW#_*QC~+MYkk! z8TAZ{{i5~OsM;4V4J>uLV|H&FWA!)rj03iAZ%m);GF;hp<(k*Bl>t7p1R~c?P20FG z(7JzXN8azI)7|%C?w`4A`H$H*@zlwN8_I9a8SlMw+<5U)<<(rLx7I&QunLbzw|FkZ z%I+CD`wicmRaUjz{VtYuTffro=cfK5dsq^dSieEFO@;esa-+7;3=EJwVk00|U+W52|+;(Dr72oZr zuKj*y9lC~sx|0=Ip3QPIaBVxdt)A2BO3`|8^*xKuf37Ut>f7m~{ZwWGGb=-vx0+G2 z(9VEkj2Uk)#N6U(WlI&|NDfrJZM=@ZH0hn%(vYyJQv;KiZ#{cdMgPkYDdUYXeXO61 z^m}X$bRLbB6+Z8lv*qP^-xIt)iXEQGZ?=fvbz0(J;1$!)TRqwQPFpLjLp7%F2{cO2;`Ql^e-M0Uqp*QRM;-hCXN@rbUpX4LGZiVu{ z0^@$=dfUCTdh_h`mYHw9y~e#c_HMHJhXvD^q?XoOYOJbmO304EqB8xj`WG;W9kyU!k(_L1l*(XRNWva;n4(S%nq=|Q~vtPL$GV9`1 zn`1YhX6%zYd8fNhetqXZ!;%&6pZ{@{jeecAVrJ1owHeoWKTGIr4stgz)sQ_Jw)fY{ z=TY4D@jmI{_4j>(`!6xiJG|~nwTA4U@LSE3dfu;iud<`aK{Ka*b*1|zpPOe^{QGNv zsqWMHM2@`zR$7mxk1I%Zg|FSb#&2!EndH-*BD?r@U-g?&6vA%s*Yz~}m8g}xmooZf zmKt+>iaaH-=Ho8Y#zdbr%kR(NU6r=Ax9hgR3XUC{d74f>)G(U+b+sp>EC=p4qdv zaeq~~BB{>thNJY~El!n_+dsd&T4JX0>9DWRuWxB$zg_Nadz%}>b0zQ5nK=S(5?;$6 z)Lz(MQ5^mE{oHt+R4X~TfD7fnr`B(e|5>iT_)q`$Q}vfu|Lp&5`u}69NqtR4jllC? z(MO`nZ{Cj7HQn96k7d3FGxPI$t>ss�u@MtlQqBUbS|+&W$+kW&ZM2*F=6keD=8e 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 delta 4699 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