(And found a faster way to compare the classes of two objects.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4321 542714f4-19e9-0310-aa3c-eee0fc999fb1
The default behavior of an event is determined by the entity that calls
into the event dispatcher, so the solution was to unify the dispatch of
these events. Created a utility method in CommandEvent to do that, and
did some singlton-like hackery on the constructor to prevent folks from
thinking they can just dispatch these themselves and have it work correctly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4317 542714f4-19e9-0310-aa3c-eee0fc999fb1
may already be the case that the normalize() method returned the same
String, but if not, ensure that we're only holding on to one of those Strings.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4297 542714f4-19e9-0310-aa3c-eee0fc999fb1
If the user embeds the flash client on their own page, if someone then
clicks something to visit a msoy page, we will be unable to load that
page in that same tab/window. Instead, we'll be forced by flash security
restrictions to open in a blank window.
Allow for either method, falling back to a blank window if the other
method fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4289 542714f4-19e9-0310-aa3c-eee0fc999fb1
forEach(), in which you pass a visitor function that will visit each key/value
stored in the map.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4257 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Import bleeding may be fixed, as I had to import a bunch of things I
should have had to earlier.
- NOW they make duplicate variable definitions bad (but without block
scoping... yay).
- Another hoopjump.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4233 542714f4-19e9-0310-aa3c-eee0fc999fb1
We'll call this with a big fat number whenever a non-guest logs in. The
first time we ask, the user will authorize the big fat storage, and it will
never ask again. Hopefully we can make it look like part of the login...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4202 542714f4-19e9-0310-aa3c-eee0fc999fb1
package, use those. The ResourceBundle stuff is not quite working now due
to bugs in beta3, but I'll loop back to it later.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4126 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Track the size of non-simple keys separately so that we really know when
to resize the map.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4121 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Renamed HashMap Hashtable, because I wanted a version without ties to
mx.* code. User-defined hashing functions may be specified.
- Created a subclass of Hashtable called HashMap which uses
functions in mx.utils.ObjectUtil to hash non-Hashable complex keys.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4120 542714f4-19e9-0310-aa3c-eee0fc999fb1
Internally, three different things may be done for storage:
- Simple keys can utilize the Dictionary class, we just use one of those
inside the map.
- If the key implements Hashable, we can hash it.
- Otherwise, use mx.utils.ObjectUtil to generate a hash for any other key and
also to compare the keys. Keys are then wrapped in a KeyWrapper object
that implements Hashable. This last case will also handle null as a key.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4117 542714f4-19e9-0310-aa3c-eee0fc999fb1
of the output.
Update code to recognize the new format and stop working around the old bugs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4108 542714f4-19e9-0310-aa3c-eee0fc999fb1