Normand Briere
2019-08-01 c49ad213b600f844e9070cb09390c3e6d3d13db4
ObjEditor.java
....@@ -298,7 +298,7 @@
298298
299299 if (copy.versions == null)
300300 {
301
- copy.versions = new byte[100][];
301
+ copy.versions = new Object3D[100];
302302 copy.versionindex = -1;
303303 }
304304
....@@ -317,7 +317,7 @@
317317
318318 if (copy.versions == null)
319319 {
320
- copy.versions = new byte[100][];
320
+ copy.versions = new Object3D[100];
321321 copy.versionindex = -1;
322322 }
323323
....@@ -850,7 +850,7 @@
850850 frame.validate();
851851 }
852852
853
- private byte[] CompressCopy()
853
+ private Object3D CompressCopy()
854854 {
855855 boolean temp = CameraPane.SWITCH;
856856 CameraPane.SWITCH = false;
....@@ -858,10 +858,11 @@
858858 copy.ExtractBigData(versiontable);
859859 // if (copy == client)
860860
861
- byte[] versions[] = copy.versions;
861
+ Object3D versions[] = copy.versions;
862862 copy.versions = null;
863863
864
- byte[] compress = Compress(copy);
864
+ //byte[] compress = Compress(copy);
865
+ Object3D compress = (Object3D)Grafreed.clone(copy);
865866
866867 copy.versions = versions;
867868
....@@ -3565,6 +3566,7 @@
35653566
35663567 static public byte[] Compress(Object3D o)
35673568 {
3569
+ // Slower to actually compress.
35683570 try
35693571 {
35703572 ByteArrayOutputStream baos = new ByteArrayOutputStream();
....@@ -3692,15 +3694,14 @@
36923694
36933695 cRadio tab = GetCurrentTab();
36943696
3695
- byte[] compress = CompressCopy(); // Saved version. No need for "Replace".
3697
+ Object3D compress = CompressCopy(); // Saved version. No need for "Replace".
36963698
36973699 boolean thesame = false;
36983700
3699
- // Quick heuristic using length. Works only when stream is compressed.
3700
- if (copy.versionindex > 0 && copy.versions[copy.versionindex-1] != null && Equal(compress, copy.versions[copy.versionindex-1]))
3701
- {
3702
- thesame = true;
3703
- }
3701
+// if (copy.versionindex > 0 && copy.versions[copy.versionindex-1] != null && Equal(compress, copy.versions[copy.versionindex-1]))
3702
+// {
3703
+// thesame = true;
3704
+// }
37043705
37053706 //EditorFrame.m_MainFrame.requestFocusInWindow();
37063707 if (!thesame)
....@@ -3860,7 +3861,7 @@
38603861
38613862 copy.versionindex -= 1;
38623863
3863
- CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex]));
3864
+ CopyChanged((Object3D)copy.versions[copy.versionindex]);
38643865
38653866 return true;
38663867 }
....@@ -3877,7 +3878,8 @@
38773878 return false;
38783879 }
38793880
3880
- CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex]));
3881
+ //CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex]));
3882
+ CopyChanged(copy.versions[copy.versionindex]);
38813883
38823884 return true;
38833885 }
....@@ -3914,7 +3916,7 @@
39143916
39153917 copy.versionindex += 1;
39163918
3917
- CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex]));
3919
+ CopyChanged(copy.versions[copy.versionindex]);
39183920
39193921 //if (!tab.user[tab.versionindex])
39203922 // tab.graphs[tab.versionindex] = null;
....@@ -4227,7 +4229,7 @@
42274229
42284230 if (copy.versions[version] != null)
42294231 {
4230
- CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex = version]));
4232
+ CopyChanged(copy.versions[copy.versionindex = version]);
42314233 }
42324234
42334235 return;
....@@ -4962,7 +4964,7 @@
49624964
49634965 if (copy.versions == null)
49644966 {
4965
- copy.versions = new byte[100][];
4967
+ copy.versions = new Object3D[100];
49664968 copy.versionindex = -1;
49674969 }
49684970