From 537f4ac57ae2b34f0a04fa63874c8ca6534c9a6d Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 20 Aug 2019 02:31:25 -0400
Subject: [PATCH] Faster JPG reader.

---
 ObjEditor.java                      |   10 ++++++++--
 textures/Color/Others/icons/215.jpg |    0 
 GroupEditor.java                    |    5 ++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index 8342091..f678dca 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -1259,7 +1259,10 @@
                 
                 CreateTexturePanel(textures);
                 
-                resourcecontainer.setSelectedIndex((int)(Math.random() * resourcecontainer.getTabCount()));
+                int tabCount = resourcecontainer.getTabCount();
+                
+                if (tabCount > 0)
+                    resourcecontainer.setSelectedIndex((int)(Math.random() * tabCount));
                 
                 oe.toolboxPanel.add(textures);
                 
diff --git a/ObjEditor.java b/ObjEditor.java
index 93b4b40..a9b5c11 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -134,8 +134,14 @@
         
         try
         {
-            BufferedImage image = javax.imageio.ImageIO.read(ObjEditor.class.getClassLoader().getResourceAsStream(name));
-
+            BufferedImage image;
+            
+            if (name.endsWith("jpg"))
+                // Much faster!
+                image = new sun.awt.image.codec.JPEGImageDecoderImpl(ObjEditor.class.getClassLoader().getResourceAsStream(name)).decodeAsBufferedImage();
+            else
+                image = javax.imageio.ImageIO.read(ObjEditor.class.getClassLoader().getResourceAsStream(name));
+  
 //            if (image.getWidth() > 48 && image.getHeight() > 48)
 //            {
 //                BufferedImage resized = new BufferedImage(48, 48, image.getType());
diff --git a/textures/Color/Others/icons/215.jpg b/textures/Color/Others/icons/215.jpg
index 35e4482..c81bacc 100644
--- a/textures/Color/Others/icons/215.jpg
+++ b/textures/Color/Others/icons/215.jpg
Binary files differ

--
Gitblit v1.6.2