MapTool 1.3 Bugfix Build 68

New build announcements plus site news and changes.

Moderators: dorpond, trevor, Azhrei, Craig

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

MapTool 1.3 Bugfix Build 68

Post by Azhrei »

This is the "bugs checked out when the code is checked-in" build. ;)

Again, the focus has been on bug fixes or finishing things that were started a looonnnng time ago. Here's the list:
  • Change Wiki: resetProperty() so that the property is actually removed from the token
  • A lot of token-related macro functions were cleaned up to ensure that they cause the token to be sent to other machines when modified. See http://forums.rptools.net/viewtopic.php?f=21&t=14139 for example
  • Add Preferences option that enables the map load/save menu options with the requisite "Are You Sure?" prompt when the checkbox is enabled.
  • Finished the autosave code for the chat log
  • Updated Italian translation
  • Ability to turn the map import/export feature on/off via a checkbox in Preferences (still considered a "beta" feature)
  • More updates to Rumble's select-unowned-tokens patch
  • Added support for changing the OSX dock icon inside MapTool (one more step towards eliminating the shell scripts)
As you can probably guess, my goal is to get as many bugs fixed as possible and get them to you folks to check them out.

The autosave for the chat log is pretty primitive: the user is expected to provide a filename which will be considered relative to .maptool/autosave. I want to put a file save dialog there instead but when I started looking at the existing code for doing file dialogs I realized that the whole mess should be cleaned up. :roll: But the timer and the filename work as-is. Note that changes to the timeout field are recognized immediately, but there is a 5-second delay after a change occurs before the first autosave happens. Thereafter the autosave is based on the time given in the spinner. Filenames without a .html extension will get one when the save actually happens even though it won't change the contents of the text field. (The filename handling will get fixed in the next build.)

I apologize for not getting some new features in but I've gotta get back to real work. ;) Next on my list will be a sound notification when a player receives initiative, the ability to browse from the texture chooser dialog (when choosing a background for a map), and external language translation support. Unfortunately, I won't have much time until around July Fourth to work on MT more. :(

Taragnor
Cave Troll
Posts: 95
Joined: Fri Feb 15, 2008 6:18 pm

Re: MapTool 1.3 Bugfix Build 68

Post by Taragnor »

The chat autologging really needs to add a date prefix or suffix to the filename, or at the very least append the file instead of overwriting it. Right now it overwrites the old logfile every time, meaning that basically if you didn't remember to rename your log file after each session, you lose it when you restart maptool, which isn't really very useful at all, since the main purpose of the auto-logging is in case you happen to forget to save a log.

Ideally, you'd probably want it by date.

So if you choose to name your file CampaignLog, you'd end up with a log folder holding...
CampaignLog-21-05-2010.htm
CampaignLog-25-05-2010.htm
CampaignLog-01-06-2010.htm

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: MapTool 1.3 Bugfix Build 68

Post by Rumble »

I found an exploit / bug thing in my unowned selection code: there are a couple actions you can perform on unowned tokens that you should not be able to perform. I've found that you can:

- Expose the visible area of an unowned token (if you have the right combination of windows open and/or closed)
- Change the halo on an unowned token
- Move an unowned token with the right-click menu or the keyboard (I thought I'd fixed that but apparently not)
- View the vision range of an unowned token (the white border)

You still can't see an unowned token's information or access its properties, and halos are fairly benign, but the ability to move tokens is the big problem. I will write a patch for these issues and send it in for inclusion in the next fix.

Gringoire
Cave Troll
Posts: 86
Joined: Wed Sep 09, 2009 7:47 pm
Location: Napoli (IT)
Contact:

Re: MapTool 1.3 Bugfix Build 68

Post by Gringoire »

what about my italian uploaded translation?? :(
La nuova Era - Sito italiano dedicato a MapTool e D&D 4th edition.
Gringoire's FrameWork Il primo e unico FrameWork completamente italiano, sviluppato da un italiano.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Bugfix Build 68

Post by Azhrei »

Sorry Gringoire, your translation update is in there. As are a few other things that somehow didn't make it into my change log. I've updated my OP.

Regarding the chat log, I already said that there was a lot more to do. And there is. :) I plan to include a style of % replacements like what Wiki: strformat() has. (Not identical, but similar.) But you're right that it overwrites what was there before. That means for now it'll be important to rename whatever file is created when a game session is over. And if you stop and restart MapTool for some reason your chat log starts over -- so the next time the autosave occurs it'll overwrite the existing chat log. (And a date stamp won't help with that. But I've got ideas for some alternate techniques.)

Also, if you look at the tooltips you'll find a couple of them that say ${appHome} instead of having an actual directory name there. It's referring to .maptool/ of course, but I wanted a generic "variable replacement" function and didn't have time to get that in.

Phergus has written a Java-based "MapToolLauncher" that I have more testing to do, but I'd like to include it in b69 and get rid of the Windows-specific exe file (ugh!). I expect both to be included in b69 so that people can try them out.

User avatar
aku
Dragon
Posts: 856
Joined: Wed Nov 15, 2006 9:03 am
Contact:

Re: MapTool 1.3 Bugfix Build 68

Post by aku »

why are u making these anouncements instead of regular topics az?

User avatar
pmbruner
Dragon
Posts: 321
Joined: Fri Sep 14, 2007 3:38 am

Re: MapTool 1.3 Bugfix Build 68

Post by pmbruner »

Trying to test version 1.3b68 before game night and it loads ok, I am able to run my macros, but I cannot save the campaign I get a JavaLangException failure to save error. I posted the campaign file here. http://forums.rptools.net/viewtopic.php?f=3&t=14651

Here is the error log, any help is appreciated...

Code: Select all

2010-06-01 16:32:06,102 [util.PersistenceUtil:458] ERROR - Referenced asset 'assets/ae7ae619401b9cb83484981f9d1cb695' not found?!
2010-06-01 16:32:10,189 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:10,283 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,063 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,219 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,234 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,250 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,515 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,593 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,609 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,687 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,718 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:11,733 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,186 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,217 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,248 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,264 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,295 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,311 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,357 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,763 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:12,888 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:13,059 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:13,683 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:14,089 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:14,183 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:14,557 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:19,128 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:21,281 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:22,529 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:22,544 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:22,669 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:22,700 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:23,979 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:23,995 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:25,883 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:26,023 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:26,210 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:26,226 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:26,975 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:28,722 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:28,831 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:28,847 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:28,862 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:28,987 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:29,049 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:30,407 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:32,419 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:36,756 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:36,818 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:36,943 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:37,193 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:37,645 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:40,749 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:45,835 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:45,866 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:45,882 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:45,991 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:46,007 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:46,085 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:46,911 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:47,223 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:48,300 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:55,055 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:58,003 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:58,019 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:58,112 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:32:58,190 [zone.ZoneRenderer:2366] WARN - DEVELOPMENT: Clipping rectangle is the same as the base rectangle
2010-06-01 16:36:12,126 [util.PersistenceUtil:458] ERROR - Referenced asset 'assets/ae7ae619401b9cb83484981f9d1cb695' not found?!
2010-06-01 16:36:34,668 [client.MapTool:239] ERROR - Could not save campaign.<br>java.lang.NullPointerException
java.lang.NullPointerException
	at net.rptools.maptool.util.PersistenceUtil.saveAssets(PersistenceUtil.java:499)
	at net.rptools.maptool.util.PersistenceUtil.saveCampaign(PersistenceUtil.java:221)
	at net.rptools.maptool.client.AppActions$71.doInBackground(AppActions.java:2017)
	at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

User avatar
Raoden
Dragon
Posts: 381
Joined: Fri Dec 18, 2009 2:33 am
Location: San Diego

Re: MapTool 1.3 Bugfix Build 68

Post by Raoden »

I'm getting an error as follows.

1. Open two instances of MapTool on my computer.
2. Start a server and connect to it.
3. Try to use or edit a Global macro on the client side.

Error:
Spoiler
java.lang.NullPointerException
at net.rptools.maptool.model.MacroButtonProperties.executeCommand(MacroButtonProperties.java:388)
at net.rptools.maptool.model.MacroButtonProperties.executeMacro(MacroButtonProperties.java:307)
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButton.mouseReleased(MacroButton.java:189)
at java.awt.AWTEventMulticaster.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.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:24)
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)
or, if edited:
Spoiler
java.lang.NullPointerException
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButton.getToken(MacroButton.java:109)
at net.rptools.maptool.client.ui.MacroButtonDialog.show(MacroButtonDialog.java:129)
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButtonPopupMenu$EditButtonAction.actionPerformed(MacroButtonPopupMenu.java:151)
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.AbstractButton.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(TinyMenuItemUI.java:571)
at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(TinyMenuItemUI.java:421)
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.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:24)
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 macro that is throwing the error is very simple: Its name is "<b>Clear Chat" and its command is simply "/clr". I can create a new global macro on the client side, but if I try to edit the "(new)" macro, I get a similar error:
Spoiler
java.lang.NullPointerException
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButton.getToken(MacroButton.java:109)
at net.rptools.maptool.client.ui.MacroButtonDialog.show(MacroButtonDialog.java:129)
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButtonPopupMenu$EditButtonAction.actionPerformed(MacroButtonPopupMenu.java:151)
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.AbstractButton.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(TinyMenuItemUI.java:571)
at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(TinyMenuItemUI.java:421)
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.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:24)
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)
But, with the "Clear" macro, after the error is reported, it still puts the command text "/clr" into the chat window. It seems to be the auto-execute part of the macro that is having a problem.

I created a new macro called "Test" on the server side, to test the auto-execute thing, and closed and re-opened MapTool on the client side. Global macros -- Clear and Test -- both work fine, until I connect to the server again, when the auto-execute macro stops working again but the non-Auto-Execute macro works fine.

EDIT: Odd. This seems to happen in b63 too. Have I really never played around with Global macros on the client side of a server before? :?:
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G. K. Chesterton

Wonderful HTML/CSS reference * Color Manager * Token Manager 2.0

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Bugfix Build 68

Post by Azhrei »

aku wrote:why are u making these anouncements instead of regular topics az?
Hmm, I thought that's how Trevor always had done it. Maybe not? But they will only stay that way for 7 days before automatically returning to "regular post" status...
pmbruner wrote:Here is the error log, any help is appreciated...
Thanks. Those error logs are invaluable.

That message about "referenced asset...not found" is new. The old code simply ignored the problem -- at least now I've added the message! :)

TBH I wasn't sure it could even happen. How could the user insert an image onto a map, token, or table and save the campaign, only to load it and have references to an asset that doesn't exist?

I will be investigating your campaign file (thank you) although it may not help me identify how the campaign got that way in the first place. :(
Raoden wrote:

Code: Select all

java.lang.NullPointerException
at net.rptools.maptool.model.MacroButtonProperties.executeCommand(MacroButtonProperties.java:388)
Fixed for b69.

Code: Select all

java.lang.NullPointerException
at net.rptools.maptool.client.ui.macrobuttons.buttons.MacroButton.getToken(MacroButton.java:109)
Fixed for b69.

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: MapTool 1.3 Bugfix Build 68

Post by wolph42 »

I'm about to pick up my framework development again (Dark Heresy), it has been a couple of months so this will require some brushing up.

This brings a question to mind:
The current FW is build in b63 and based on outsider input, save some minor stuff, it works like a charm. Should I now upgrade to B68? (or somewhere in between) or not? As far as I can gather the b63+ builds are bugfixes and some minor add-ons, so they should be 'more' stable then b63 (if thats possible, as b63 has never crashed in my campaigns).

I know that after 'upgrading' a FW there is no way back so I want to be carefull with that, hence my request for advice on this matter.

Should I upgrade or not and if so to which build?

Thank you.

User avatar
Raoden
Dragon
Posts: 381
Joined: Fri Dec 18, 2009 2:33 am
Location: San Diego

Re: MapTool 1.3 Bugfix Build 68

Post by Raoden »

b63 is still the most stable version in recent history. Some of the minor features that have been added since then are pretty cool, but if you're concerned about stability, you should stick with b63 a little longer.
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G. K. Chesterton

Wonderful HTML/CSS reference * Color Manager * Token Manager 2.0

Iain
Kobold
Posts: 8
Joined: Thu Jun 04, 2009 9:08 am
Location: Scotland

Re: MapTool 1.3 Bugfix Build 68

Post by Iain »

Azhrei wrote:
  • Added support for changing the OSX dock icon inside MapTool (one more step towards eliminating the shell scripts)
I am using elipse on windows and I think the above change causes me to get the following build errors:

Code: Select all

com.apple cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
com.apple.eawt.Application cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
Is there some new dependencies that I require ?

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: MapTool 1.3 Bugfix Build 68

Post by Rumble »

Iain wrote:
Azhrei wrote:
  • Added support for changing the OSX dock icon inside MapTool (one more step towards eliminating the shell scripts)
I am using elipse on windows and I think the above change causes me to get the following build errors:

Code: Select all

com.apple cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
com.apple.eawt.Application cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
Is there some new dependencies that I require ?
Yeah, there's something not there. I just commented out that stuff for the sake of working on the code.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Bugfix Build 68

Post by Azhrei »

Rumble wrote:
Iain wrote:I am using elipse on windows and I think the above change causes me to get the following build errors:

Code: Select all

com.apple cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
com.apple.eawt.Application cannot be resolved to a type	MapTool.java	/maptool/src/net/rptools/maptool/client	line 1079	Java Problem
Is there some new dependencies that I require ?
Yeah, there's something not there. I just commented out that stuff for the sake of working on the code.
Hmm. I didn't expect a build failure, although Phergus mentioned it too. I guess Eclipse is configured to require checks on that code even though they'll never be used at runtime (unless you're on a Mac).

Commenting them out works for now, but I'll find an annotation or Eclipse setting that suppresses that library requirement.

Iain
Kobold
Posts: 8
Joined: Thu Jun 04, 2009 9:08 am
Location: Scotland

Re: MapTool 1.3 Bugfix Build 68

Post by Iain »

Azhrei wrote:Commenting them out works for now, but I'll find an annotation or Eclipse setting that suppresses that library requirement.
Did a bit of digging and I think you might want to consider something like the following (untested as I do not have a Mac):

Code: Select all

Index: src/net/rptools/maptool/client/MapTool.java
===================================================================
--- src/net/rptools/maptool/client/MapTool.java	(revision 5298)
+++ src/net/rptools/maptool/client/MapTool.java	(working copy)
@@ -28,6 +28,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.UnknownHostException;
@@ -1076,16 +1077,32 @@
 				log.warn("Cannot read '" + logoURL + "' or  cached '" + logoFile + "'; no dock icon", e1);
 			}
 		}
-		com.apple.eawt.Application appl = com.apple.eawt.Application.getApplication();
+		try {
+			Class appc = Class.forName("com.apple.eawt.Application");
+			Method appm = appc.getDeclaredMethod("getApplication", (Class[]) null);
+			Object appo = appm.invoke((Object) null, (Object[]) null);
+			Method appImage = appo.getClass().getDeclaredMethod("setDockIconImage", new Class[]{java.awt.Image.class});
+			Method appBadge = appo.getClass().getDeclaredMethod("setDockIconBadge", new Class[]{java.awt.Image.class});
 
-		// If we couldn't grab the image for some reason, don't set the dock bar icon!  Duh!
-		if (img != null) {
-			appl.setDockIconImage(img);
-		}
-		String vers = getVersion();
-		vers = vers.substring(vers.length() - 2);
-		vers = vers.replaceAll("[^0-9]", "0");		// Convert all non-digits to zeroes
-		appl.setDockIconBadge(vers);
+			// If we couldn't grab the image for some reason, don't set the dock bar icon!  Duh!
+			if (img != null) {
+				appImage.invoke(appo, new Object[]{img});
+			}
+			String vers = getVersion();
+			vers = vers.substring(vers.length() - 2);
+			vers = vers.replaceAll("[^0-9]", "0");		// Convert all non-digits to zeroes
+			appBadge.invoke(appo, new Object[]{vers});
+		} catch (IllegalAccessException ex) {
+			log.error("Illegal Access", ex);
+		} catch (IllegalArgumentException ex) {
+			log.error("Illegal Argument", ex);
+		} catch (InvocationTargetException ex) {
+			log.error("Invocation method not found", ex);
+		} catch (NoSuchMethodException ex) {
+			log.error("Method not found", ex);
+		} catch (ClassNotFoundException ex) {
+			log.error("Class not found", ex);
+		}
 	}
 
 	private static void postInitialize() {

Post Reply

Return to “Announcements”