From 989407a46041b80c71fd906bff6b97528e6f3350 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sat, 08 Jun 2019 23:58:21 -0400
Subject: [PATCH] Fix ZIP issue

---
 ObjEditor.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/ObjEditor.java b/ObjEditor.java
index 75f346b..00cc42b 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -4062,6 +4062,7 @@
             }
         }
     }
+    
     LoadGFDThread loadGFDThread;
 
     void ReadGFD(String fullname, iCallBack cb)
@@ -4082,7 +4083,8 @@
         try
         {
             java.io.FileInputStream istream = new java.io.FileInputStream(fullname);
-            java.io.ObjectInputStream p = new java.io.ObjectInputStream(istream);
+            java.util.zip.GZIPInputStream zstream = new java.util.zip.GZIPInputStream(istream);
+            java.io.ObjectInputStream p = new java.io.ObjectInputStream(zstream);
 
             readobj = (Object3D) p.readObject();
             istream.close();
@@ -4090,7 +4092,20 @@
             readobj.ResetDisplayList();
         } catch (Exception e)
         {
-            e.printStackTrace();
+            //e.printStackTrace();
+            try
+            {
+                java.io.FileInputStream istream = new java.io.FileInputStream(fullname);
+                java.io.ObjectInputStream p = new java.io.ObjectInputStream(istream);
+
+                readobj = (Object3D) p.readObject();
+                istream.close();
+
+                readobj.ResetDisplayList();
+            } catch (Exception e2)
+            {
+                e2.printStackTrace();
+            }
         }
 //            catch(java.io.StreamCorruptedException e) { e.printStackTrace(); }
 //            catch(java.io.IOException e) { System.out.println("IOexception"); e.printStackTrace(); }
@@ -4294,11 +4309,13 @@
         try
         {
             FileOutputStream ostream = new FileOutputStream(lastname);
-            ObjectOutputStream p = new ObjectOutputStream(ostream);
+            java.util.zip.GZIPOutputStream zstream = new java.util.zip.GZIPOutputStream(ostream);
+            ObjectOutputStream p = new ObjectOutputStream(zstream);
 
             p.writeObject(copy);
             p.flush();
 
+            zstream.close();
             ostream.close();
 
             //FileOutputStream fos = new FileOutputStream(fullname);
@@ -4308,6 +4325,7 @@
         {
         }
     }
+    
     String lastname;
 
     void saveAs()
@@ -4417,8 +4435,8 @@
         try
         {
             FileOutputStream ostream = new FileOutputStream(filename);
-            // ??        java.util.zip.GZIPOutputStream zstream = new java.util.zip.GZIPOutputStream(ostream);
-            ObjectOutputStream p = new ObjectOutputStream(/*z*/ostream);
+            java.util.zip.GZIPOutputStream zstream = new java.util.zip.GZIPOutputStream(ostream);
+            ObjectOutputStream p = new ObjectOutputStream(zstream);
 
             Object3D objectparent = obj.parent;
             obj.parent = null;
@@ -4435,8 +4453,8 @@
             p.writeObject(object);
             p.flush();
 
+            zstream.close();
             ostream.close();
-            //       zstream.close();
 
 //                                    group.selection.get(0).parent = parent;
             //FileOutputStream fos = new FileOutputStream(fullname);

--
Gitblit v1.6.2