Page 1 of 1

NullPointerException on Game Creation

PostPosted: 03 Sep 2013, 22:31
by Scimatth7
First off, let me say that this is an incredible piece of work. I've been lurking around the DOTP2014 section for a while, but this is even better...which is why it annoyed me so much when it started crashing.

Basically, whenever I attempt to start a game it throws a null pointer exception, and the client appears to be the deck editor screen instead a match. I think this *may* be traced back to the fact that I wasn't sure how to exit the deck editor, so I simply saved and then restarted the program. It *seems* to have been crashing ever since then. (Before then I was able to play matches fine)

NullPointerException | Open
Code: Select all
Forge Version:    1.4.7-r23046M
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_07 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.match.VMatchUI.populate(VMatchUI.java:75)
   at forge.control.FControl.changeState(FControl.java:268)
   at forge.control.FControl.changeStateAutoFixLayout(FControl.java:314)
   at forge.control.FControl.attachToGame(FControl.java:464)
   at forge.control.FControl.startGameWithUi(FControl.java:430)
   at forge.gui.home.sanctioned.CSubmenuConstructed$6.run(CSubmenuConstructed.java:135)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:682)
   at java.awt.EventQueue$3.run(EventQueue.java:680)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

Re: NullPointerException on Game Creation

PostPosted: 03 Sep 2013, 22:49
by Scimatth7
And, as is always the case, I solved the problem right after I had given up and made a post.

I read through the report again and traced the issue back to the match.xml. Deleted it, launched, and it all worked out!

...still not sure how to exit to the main menu from the deck editor though :P

Re: NullPointerException on Game Creation

PostPosted: 03 Sep 2013, 23:54
by friarsol
Scimatth7 wrote:...still not sure how to exit to the main menu from the deck editor though :P
Have you tried clicking on the X on the Window?

Re: NullPointerException on Game Creation

PostPosted: 04 Sep 2013, 00:19
by Scimatth7
friarsol wrote:Have you tried clicking on the X on the Window?
Well I'll be. I just figured that would close the whole program.

Cheers :D

Re: NullPointerException on Game Creation

PostPosted: 04 Sep 2013, 04:04
by spr
Scimatth7 wrote:I think this *may* be traced back to the fact that I wasn't sure how to exit the deck editor, so I simply saved and then restarted the program. It *seems* to have been crashing ever since then. (Before then I was able to play matches fine)
Just to clarify. Unfortunately, it is not (currently) possible to save a game. You can save the screen layout using the Layout -> File -> Save Layout... menu option. This can be done both on the match screen and the deck editor. I recommend that once you have got the screen layout exactly how you want you should definitely save it. Forge does automatically remember the last layout but it has been known to scramble layouts from time to time for no obvious reason so if you have a saved layout then it will be much quicker to restore.

If in doubt, go to Game Settings -> Preferences on the home screen and select the Reset Match Layout or Reset Editor Layout to reset the respective screens back to their default layout.

If you come from a Windows background then you would usually expect X in the top right to close the application. In Forge it is used to close the active screen unless it is the home screen in which case it will in fact close Forge.

Cheers,
Steve