Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Agetian » 24 Oct 2014, 05:46
r28072: Targeting arrows for items on stack still do not work if the targeting overlay is in "On mouse over" mode. I narrowed the problem down to a particular issue - it's not that the targeting arcs do not appear on time, it's just that they do not appear at all unless the overlay is in "Always on" mode. While hovering the mouse over the stack item in the "On mouse over" targeting overlay mode though, there's nothing that can make the targeting arcs appear.
A simple test case to reproduce: Set your targeting overlay to "On Mouse Over" mode. Use the dev mode to add Lightning Bolt to stack and target the opponent. Hover the mouse over the stack item, the targeting arrow will not appear. Use the dock panel to switch the targeting overlay to "Always On" mode. Now the targeting arrow will appear when you hover your mouse over the stack item. Switch the targeting overlay to "On Mouse Over" again. The targeting arrow will no longer appear even though it should.
EDIT: Fixed in r28073, but I'm not sure if my fix is NPE-proof.
- Agetian
A simple test case to reproduce: Set your targeting overlay to "On Mouse Over" mode. Use the dev mode to add Lightning Bolt to stack and target the opponent. Hover the mouse over the stack item, the targeting arrow will not appear. Use the dock panel to switch the targeting overlay to "Always On" mode. Now the targeting arrow will appear when you hover your mouse over the stack item. Switch the targeting overlay to "On Mouse Over" again. The targeting arrow will no longer appear even though it should.
EDIT: Fixed in r28073, but I'm not sure if my fix is NPE-proof.
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by mastroego » 24 Oct 2014, 06:52
Maybe this is meant to be. After all, flashback cards are cast from the graveyard...Snowstorm wrote:r28063
This bug has been persisting since 1.5.28 and I have reported it before but I will again since this is a new version. The card that Snapcaster Mage targets still does not show up in the flashback section but is still playable if you go into the graveyard and click on it.
That zone may be used for "cast from exile" cards, and other special cases.
Re: Bug Reports (snapshot builds)
by Snowstorm » 24 Oct 2014, 08:01
Before 1.5.28 the cards Snapcaster Mage gave flashback appeared in the flashback section (the bar with a lightning bolt that is literately called flashback cards). Plus, all other cards that give or have flashback still appear there so there is no way this is meant to be.mastroego wrote:Maybe this is meant to be. After all, flashback cards are cast from the graveyard...Snowstorm wrote:r28063
This bug has been persisting since 1.5.28 and I have reported it before but I will again since this is a new version. The card that Snapcaster Mage targets still does not show up in the flashback section but is still playable if you go into the graveyard and click on it.
That zone may be used for "cast from exile" cards, and other special cases.

Re: Bug Reports (snapshot builds)
by lujo » 24 Oct 2014, 11:53
You can "click thorough" Geth's Verdict even if you have creatures to sacrifice. I've seen this with other sacrifice effects, if you pres space a few times in respons the game just goes on with nothing happening.
---
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
Re: Bug Reports (snapshot builds)
by Chris H. » 24 Oct 2014, 15:11
drdev wrote:That's really strange, as I specifically fixed that case, and it's working when I run Forge on my machine. Is there any chance the publish didn't pull on all the recent changes somehow?
I use the Synchronize View in Eclipse to update. I press the Synchronize SVN button that then displays all of the incoming changes. I then press the Update all incoming changes button. This process should update me to the head version.
Before I use a Maven command to build and deploy I make sure that the number of incoming changes in the entire workspace is set to zero.
-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Bug Reports (snapshot builds)
by lujo » 24 Oct 2014, 17:22
Description: This keeps happening at random times when I use certain sources of mana as part of paying a cost. I start paying a cost and try to sacrifice a land such as Ebon Stronghold and that happens.
Description: [describe what you were doing when the crash occurred]
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.29-SNAPSHOT-r28045 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.8.0_25 Oracle Corporation
java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
at forge.match.input.InputQueue.removeInput(InputQueue.java:59)
at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:49)
at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:415)
at forge.match.input.InputPayMana.showMessage(InputPayMana.java:409)
at forge.match.input.InputBase.showMessageInitial(InputBase.java:131)
at forge.match.input.InputProxy$1.run(InputProxy.java:68)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(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.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)
Description: [describe what you were doing when the crash occurred]
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.29-SNAPSHOT-r28045 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.8.0_25 Oracle Corporation
java.lang.RuntimeException: Cannot remove input InputPassPriority because it's not on top of stack. Stack = []
at forge.match.input.InputQueue.removeInput(InputQueue.java:59)
at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:49)
at forge.match.input.InputPassPriority$1.run(InputPassPriority.java:73)
at forge.match.input.InputPassPriority.passPriority(InputPassPriority.java:121)
at forge.match.input.InputPassPriority.onOk(InputPassPriority.java:70)
at forge.match.input.InputBase.selectButtonOK(InputBase.java:154)
at forge.match.input.InputProxy.selectButtonOK(InputProxy.java:82)
at forge.player.PlayerControllerHuman.selectButtonOk(PlayerControllerHuman.java:1317)
at forge.screens.match.controllers.CPrompt.selectButtonOk(CPrompt.java:91)
at forge.screens.match.controllers.CPrompt$2.actionPerformed(CPrompt.java:62)
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$400(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)
---
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
Re: Bug Reports (snapshot builds)
by Jak » 24 Oct 2014, 20:40
r28063
Coalition Relic does not work like it should if it has more than one charge counter on it, it generates only one mana and not one for any charge counter on it.
edit: Some odd behavior of the AI player I noticed: he used the ability of Copper Gnomes to put a Howling Mine into play (after the draw phase on his turn). He could have saved mana and still had a creature on the field.
Coalition Relic does not work like it should if it has more than one charge counter on it, it generates only one mana and not one for any charge counter on it.
edit: Some odd behavior of the AI player I noticed: he used the ability of Copper Gnomes to put a Howling Mine into play (after the draw phase on his turn). He could have saved mana and still had a creature on the field.

- Jak
- Posts: 23
- Joined: 23 Mar 2011, 07:37
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by drdev » 24 Oct 2014, 21:09
I looked your fix over and tested it out. Looks good. Thanks.Agetian wrote:r28072: Targeting arrows for items on stack still do not work if the targeting overlay is in "On mouse over" mode. I narrowed the problem down to a particular issue - it's not that the targeting arcs do not appear on time, it's just that they do not appear at all unless the overlay is in "Always on" mode. While hovering the mouse over the stack item in the "On mouse over" targeting overlay mode though, there's nothing that can make the targeting arcs appear.
A simple test case to reproduce: Set your targeting overlay to "On Mouse Over" mode. Use the dev mode to add Lightning Bolt to stack and target the opponent. Hover the mouse over the stack item, the targeting arrow will not appear. Use the dock panel to switch the targeting overlay to "Always On" mode. Now the targeting arrow will appear when you hover your mouse over the stack item. Switch the targeting overlay to "On Mouse Over" again. The targeting arrow will no longer appear even though it should.
EDIT: Fixed in r28073, but I'm not sure if my fix is NPE-proof.
- Agetian
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Jak » 25 Oct 2014, 05:55
If you have a token pic for morph creatures (morph.jpg), all cards where you should see the back (e. g. looking at library) use this pic. There should be a seperate pic for the backside instead of using the morph token pic. 

- Jak
- Posts: 23
- Joined: 23 Mar 2011, 07:37
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by JaeKill » 25 Oct 2014, 16:35
suppression field will not let me play shocklands from my hand unless i pay 2. the pay 2 life is a triggered not activated ability.
Re: Bug Reports (snapshot builds)
by friarsol » 25 Oct 2014, 16:45
What version are you on? I fixed that before the last release.JaeKill wrote:suppression field will not let me play shocklands from my hand unless i pay 2. the pay 2 life is a triggered not activated ability.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by borsuk » 25 Oct 2014, 20:09
1.5.29
duel in quest mode, during opponents M1 turn bug showed up, forge couldn't continue:
Description: [describe what you were doing when the crash occurred]
duel in quest mode, during opponents M1 turn bug showed up, forge couldn't continue:
Description: [describe what you were doing when the crash occurred]
- IllegalComponentStateException | Open
- Code: Select all
Forge Version: 1.5.29-r28053Mu (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_25 Oracle Corporation
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.awt.Component.getLocationOnScreen_NoTreeLock(Unknown Source)
at java.awt.Component.getLocationOnScreen(Unknown Source)
at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:165)
at forge.screens.match.TargetingOverlay.access$600(TargetingOverlay.java:59)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:377)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(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.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)
Re: Bug Reports (snapshot builds)
by drdev » 25 Oct 2014, 20:16
This has already been fixed. Please update to a newer snapshot.borsuk wrote:1.5.29
duel in quest mode, during opponents M1 turn bug showed up, forge couldn't continue:
Description: [describe what you were doing when the crash occurred]
- IllegalComponentStateException | Open
- Code: Select all
Forge Version: 1.5.29-r28053Mu (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_25 Oracle Corporation
java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
at java.awt.Component.getLocationOnScreen_NoTreeLock(Unknown Source)
at java.awt.Component.getLocationOnScreen(Unknown Source)
at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:165)
at forge.screens.match.TargetingOverlay.access$600(TargetingOverlay.java:59)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:377)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(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.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)
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Snowstorm » 26 Oct 2014, 02:01
r28063
Two bugs I noticed:
Goblin Guide does not reveal the top card of the library when a opponent attacks you with it but it works the other way around. However, it still gives you a land if there is a land on top.
I noticed this bug a long time ago (since 1.5.26) but I forgot about it until today after running into it again. The AI does not play Rift Bolt when it comes off suspend and it stays exiled indefinitely.
Two bugs I noticed:
Goblin Guide does not reveal the top card of the library when a opponent attacks you with it but it works the other way around. However, it still gives you a land if there is a land on top.
I noticed this bug a long time ago (since 1.5.26) but I forgot about it until today after running into it again. The AI does not play Rift Bolt when it comes off suspend and it stays exiled indefinitely.
Re: Bug Reports (snapshot builds)
by Hanmac » 26 Oct 2014, 17:01
Ink-Treader Nephilim does trigger but not copy the spells that i target on him
Who is online
Users browsing this forum: No registered users and 42 guests