.. | .. |
---|
298 | 298 | |
---|
299 | 299 | if (copy.versions == null) |
---|
300 | 300 | { |
---|
301 | | - copy.versions = new byte[100][]; |
---|
| 301 | + copy.versions = new Object3D[100]; |
---|
302 | 302 | copy.versionindex = -1; |
---|
303 | 303 | } |
---|
304 | 304 | |
---|
.. | .. |
---|
317 | 317 | |
---|
318 | 318 | if (copy.versions == null) |
---|
319 | 319 | { |
---|
320 | | - copy.versions = new byte[100][]; |
---|
| 320 | + copy.versions = new Object3D[100]; |
---|
321 | 321 | copy.versionindex = -1; |
---|
322 | 322 | } |
---|
323 | 323 | |
---|
.. | .. |
---|
850 | 850 | frame.validate(); |
---|
851 | 851 | } |
---|
852 | 852 | |
---|
853 | | - private byte[] CompressCopy() |
---|
| 853 | + private Object3D CompressCopy() |
---|
854 | 854 | { |
---|
855 | 855 | boolean temp = CameraPane.SWITCH; |
---|
856 | 856 | CameraPane.SWITCH = false; |
---|
.. | .. |
---|
858 | 858 | copy.ExtractBigData(versiontable); |
---|
859 | 859 | // if (copy == client) |
---|
860 | 860 | |
---|
861 | | - byte[] versions[] = copy.versions; |
---|
| 861 | + Object3D versions[] = copy.versions; |
---|
862 | 862 | copy.versions = null; |
---|
863 | 863 | |
---|
864 | | - byte[] compress = Compress(copy); |
---|
| 864 | + //byte[] compress = Compress(copy); |
---|
| 865 | + Object3D compress = (Object3D)Grafreed.clone(copy); |
---|
865 | 866 | |
---|
866 | 867 | copy.versions = versions; |
---|
867 | 868 | |
---|
.. | .. |
---|
3565 | 3566 | |
---|
3566 | 3567 | static public byte[] Compress(Object3D o) |
---|
3567 | 3568 | { |
---|
| 3569 | + // Slower to actually compress. |
---|
3568 | 3570 | try |
---|
3569 | 3571 | { |
---|
3570 | 3572 | ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
---|
.. | .. |
---|
3692 | 3694 | |
---|
3693 | 3695 | cRadio tab = GetCurrentTab(); |
---|
3694 | 3696 | |
---|
3695 | | - byte[] compress = CompressCopy(); // Saved version. No need for "Replace". |
---|
| 3697 | + Object3D compress = CompressCopy(); // Saved version. No need for "Replace". |
---|
3696 | 3698 | |
---|
3697 | 3699 | boolean thesame = false; |
---|
3698 | 3700 | |
---|
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 | +// } |
---|
3704 | 3705 | |
---|
3705 | 3706 | //EditorFrame.m_MainFrame.requestFocusInWindow(); |
---|
3706 | 3707 | if (!thesame) |
---|
.. | .. |
---|
3860 | 3861 | |
---|
3861 | 3862 | copy.versionindex -= 1; |
---|
3862 | 3863 | |
---|
3863 | | - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); |
---|
| 3864 | + CopyChanged((Object3D)copy.versions[copy.versionindex]); |
---|
3864 | 3865 | |
---|
3865 | 3866 | return true; |
---|
3866 | 3867 | } |
---|
.. | .. |
---|
3877 | 3878 | return false; |
---|
3878 | 3879 | } |
---|
3879 | 3880 | |
---|
3880 | | - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); |
---|
| 3881 | + //CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); |
---|
| 3882 | + CopyChanged(copy.versions[copy.versionindex]); |
---|
3881 | 3883 | |
---|
3882 | 3884 | return true; |
---|
3883 | 3885 | } |
---|
.. | .. |
---|
3914 | 3916 | |
---|
3915 | 3917 | copy.versionindex += 1; |
---|
3916 | 3918 | |
---|
3917 | | - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex])); |
---|
| 3919 | + CopyChanged(copy.versions[copy.versionindex]); |
---|
3918 | 3920 | |
---|
3919 | 3921 | //if (!tab.user[tab.versionindex]) |
---|
3920 | 3922 | // tab.graphs[tab.versionindex] = null; |
---|
.. | .. |
---|
4227 | 4229 | |
---|
4228 | 4230 | if (copy.versions[version] != null) |
---|
4229 | 4231 | { |
---|
4230 | | - CopyChanged((Object3D)Uncompress(copy.versions[copy.versionindex = version])); |
---|
| 4232 | + CopyChanged(copy.versions[copy.versionindex = version]); |
---|
4231 | 4233 | } |
---|
4232 | 4234 | |
---|
4233 | 4235 | return; |
---|
.. | .. |
---|
4962 | 4964 | |
---|
4963 | 4965 | if (copy.versions == null) |
---|
4964 | 4966 | { |
---|
4965 | | - copy.versions = new byte[100][]; |
---|
| 4967 | + copy.versions = new Object3D[100]; |
---|
4966 | 4968 | copy.versionindex = -1; |
---|
4967 | 4969 | } |
---|
4968 | 4970 | |
---|