IsmAvatar / LateralGM

A free Game Maker source file editor
http://lateralgm.org/
Other
96 stars 25 forks source link

Room Editor Crashes With Swing Icon Pack #148

Closed ghost closed 10 years ago

ghost commented 10 years ago

Operating System: Windows 8.1 Version: 6.3 Architecture: x86

Java Vendor: Oracle Corporation Version: 1.7.0_55

Available processors (cores): 4 Free memory (bytes): 197414400 Maximum memory (bytes): 1013645312 Total memory available to JVM (bytes): 259522560

File system root: C:\ Total space (bytes): 948908847104 Free space (bytes): 799377092608 Usable space (bytes): 799377092608

File system root: D:\ Total space (bytes): 26843541504 Free space (bytes): 23875457024 Usable space (bytes): 23875457024

File system root: F:\ Total space (bytes): 0 Free space (bytes): 0 Usable space (bytes): 0

Stack trace: java.lang.ExceptionInInitializerError at org.lateralgm.components.visual.RoomEditor.(RoomEditor.java:140) at org.lateralgm.subframes.RoomFrame.(RoomFrame.java:1449) at org.lateralgm.subframes.ResourceFrame$DefaultResourceFrameFactory.makeFrame(ResourceFrame.java:114) at org.lateralgm.components.impl.ResNode.openFrame(ResNode.java:239) at org.lateralgm.main.Listener.putNode(Listener.java:196) at org.lateralgm.main.Listener.addResource(Listener.java:129) at org.lateralgm.main.Listener.addResource(Listener.java:96) at org.lateralgm.main.Listener$ResourceAdder.actionPerformed(Listener.java:90) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0 at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source) at java.awt.image.BufferedImage.(Unknown Source) at org.lateralgm.ui.swing.visuals.RoomVisual.(RoomVisual.java:72) ... 45 more

RobertBColton commented 10 years ago

@rorybg Does this occur when working with just a specific file or even with an empty game?

ghost commented 10 years ago

@RobertBColton with any save, new or old.

RobertBColton commented 10 years ago

@rorybg If I may, can you elaborate with additional details, specifically such as what format you were saving too. In fact, can you give me exact steps to replicate this from the point of starting the program to the exception because I have not been able to reproduce it with any of the formats.

ghost commented 10 years ago

@RobertBColton Here is a video illustrating the issue. https://www.youtube.com/watch?v=DqYOZxhecP8 I have tried with a brand new empty game, with nothing but a room. I have tried loading a .gmk made in GM8. I have tried loading a .gmx made in GM Studio. They all get the same error.

However, I have noticed a confusing interaction, which I will do my best to explain. Once the above error has triggered once (this can be from editing a room in a new game or an old one), any attempts to edit a room again (even when another game is loaded) will yield this new error:

Operating System: Windows 8.1 Version: 6.3 Architecture: x86

Java Vendor: Oracle Corporation Version: 1.7.0_55

Available processors (cores): 4 Free memory (bytes): 164871560 Maximum memory (bytes): 1013645312 Total memory available to JVM (bytes): 259522560

File system root: C:\ Total space (bytes): 948908847104 Free space (bytes): 799235145728 Usable space (bytes): 799235145728

File system root: D:\ Total space (bytes): 26843541504 Free space (bytes): 23875457024 Usable space (bytes): 23875457024

File system root: F:\ Total space (bytes): 0 Free space (bytes): 0 Usable space (bytes): 0

Stack trace: java.lang.NoClassDefFoundError: Could not initialize class org.lateralgm.ui.swing.visuals.RoomVisual at org.lateralgm.components.visual.RoomEditor.(RoomEditor.java:140) at org.lateralgm.subframes.RoomFrame.(RoomFrame.java:1449) at org.lateralgm.subframes.ResourceFrame$DefaultResourceFrameFactory.makeFrame(ResourceFrame.java:114) at org.lateralgm.components.impl.ResNode.openFrame(ResNode.java:239) at org.lateralgm.components.impl.ResNode.openFrame(ResNode.java:227) at org.lateralgm.main.Listener$MListener.mouseReleased(Listener.java:790) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

The only way to get the first error back is to completely restart Enigma.

RobertBColton commented 10 years ago

@rorybg Aha, lucky for you I know what it is. It's an icon pack bug. Open File->Preferences and change the icon pack to Calico. Also if I may ask, did you change the icon pack yourself or was that the default? Because we set the default to Calico since the Swing one is from LGM's olden days.

ghost commented 10 years ago

Ahh yep, that fixes it thanks! I changed it myself because they looked closest to GM8 (which is what I'm used to). Thanks again for all the help.

RobertBColton commented 10 years ago

@rorybg This issue has now been resolved.

As of https://github.com/IsmAvatar/LateralGM/commit/67892a0be78a8301572f5e6c772ab4860c8353ee the room editor will no longer throw an exception for a missing icon, our practice thus far has been for missing icons to fail silently.

As of https://github.com/IsmAvatar/LateralGM/commit/59a5233b2ad90bc8aea5e3926f54c901d0be3a78 the Swing icon pack is no longer included in the Jar but can still be used as a custom icon pack, please see the forum topic for more details. http://enigma-dev.org/forums/index.php?topic=2269.new#new