2008-06-12 Russ Nelson <nelson@crynwr.com>

	* configure.ac: 0.8.3 release.
	* README: note the passing of bwy's laptop, Franz.

2008-06-11 Russ Nelson <nelson@crynwr.com>

	* configure.ac: note that OpenSUSE's libffmpeg-api should not
	  be used.

2008-06-11 Sandro Santilli <strk@keybit.net>

	* utilities/Makefile.am: add full AM_LDFLAGS to gprocessor, otherwise
	  only using the LDFLAGS explicitly put in overridden _LDFLAGS
	  automake variable (at least on some systems, reported on bug
	  #21536).

2008-06-09 Russ Nelson <nelson@crynwr.com>

	* Tag and release -rc3
	* libbase/gnashpluginrc.in: We need more infrastructure before
	  we can ship startstopped on.  In particular, we need to identify	
	  gnash as the source of the "Click to play", and we need to show
	  them how to turn startstopped off.  Ideally, we would also give
	  them a whitelist for hosts to start on, or a blacklist for hosts
	  to start off.

2008-06-09 Russ Nelson <nelson@crynwr.com>

	* Committed both of Patrice's patches (missing .as && .po files)

2008-06-06 Russ Nelson <nelson@crynwr.com>

	* configure.ac: Patrice Dumas noticed that the .as files were
	  missing from the ming tests directory.  For better or worse,
	  ''make dist'' takes your current configuration into account
	  when it decides what needs to go into the distribution.  I
	  was missing makeswf (libming-utils), but configure.ac didn't
	  warn me about that.  It does now.

2008-06-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	 * libbase/utility.h: include gnashconfig.h.

2008-06-03 Russ Nelson <nelson@crynwr.com>

	* Apply patch #6533, adds autoresample to the gstreamer pipeline.
	  https://savannah.gnu.org/patch/?6533

2008-06-03 Russ Nelson <nelson@crynwr.com>

	* macros/ffmpeg.m4: Previous method for location of ffmpeg
	  libraries didn't work on Mandriva.  Current method should be
	  more supportable.
	* ..: throw up our hands and give up if we can't autolocate
	  avcodec.h; suggest that they use --with-ffmpeg-incl.

2008-06-01 Russ Nelson <nelson@crynwr.com>

	* README.opensuse: Document the problem with the OpenSUSE
	  libffmpeg-api package (installs in /usr/lib64 on a 32-bit
	  machine).

2008-05-30 Sandro Santilli <strk@keybit.net>

	* gui/Player.{cpp,h}: keep the toplevel movie in an intrusive_ptr
	  just in case someone else will get it in and out of one while
	  we're still using it (would prematurely destroy it).
	* server/parser/: movie_definition.h, sprite_definition.h,
	  movie_def_impl.{cpp,h}:
	  Add new importResources() method taking care of IMPORT
	  details; have movie_def_impl maintain a list of movies
	  from which it imports from: fixes bug #23364.
	* server/swf/tag_loaders.cpp (import_loader): just parse
	  and load the source movie, let the rest be done
	  by the new importResources() method.

2008-05-29  Dossy Shiobara <dossy@panoptic.com>

	* libbase/utility.h,
	  server/as_object.h: Fix up finite/isfinite for GCC
	  3.4, specifically Win32/MinGW.

2008-05-26 Benjamin Wolsey <bwy@benjaminwolsey.de>

	 * server/vm/ASHandlers.cpp: commit the proper fix for bug #23331
	   (segfault in enumerateProperties).

2008-05-25 Sandro Santilli <strk@keybit.net>

	* gui/Player.cpp: don't forget to initialize hasOverriddenBaseUrl.
	  (thanks Bastiaan for finding out)

2008-05-24 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/matrix.cpp: Use std::max instead of fmax, to fix build on BSD
	and friends.

2008-05-23 Russ Nelson <nelson@crynwr.com>

	* configure.ac: make the user's life a little easier by telling them
	  explicitly what guis each renderer supports.

2008-05-23 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamFfmpeg.cpp (seek): argument is in seconds,
	  not milliseconds. "Fixes" seeking.

2008-05-23 Bastiaan Jacques <bastiaan@bjacques.org>

	* backend/render_handler_cairo.cpp: Snap all coordinates to half a
	pixel. This fixes rendering of hair lines (and two testsuite
	failures.)

2008-05-22 Bastiaan Jacques <bastiaan@bjacques.org>

	* backend/render_handler_cairo.cpp: Unlike AGG, the Cairo renderer
	takes measurements in TWIPS.

2008-05-22 Russ Nelson <nelson@crynwr.com>

	* README.dump-gnash: I don't know where to put this information
	  where someone will be sure to find it, other than a README.
	  If someone has a better idea, Just Do It(tm).

2008-05-22 Russ Nelson <nelson@crynwr.com>

	* All files were changed to support the new method for location
	  of ffmpeg include files.  They were moved from .../ffmpeg/* into
	  .../lib*/*.  Also, they changed the way they express the version
	  number in avcodec.h, which we are parsing to avoid compiling
	  because we support cross-compilation.  We now support that also.

2008-05-22 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/SoundFfmpeg.cpp: Ensure the destructor cannot finish
	  before setupDecoder() has finished. Fixes crashbug #23275. 

2008-05-21 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamFfmpeg.{cpp,h}:
	  Don't lock input mutex while holding it on ::startPlayback.
	  Doesn't fix the .join() hung, but helgrind is kind of happier.

2008-05-20 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/NetStreamFfmpeg.cpp: Set playStop when playback stops
	and not when decoding stops.

2008-05-21 Sandro Santilli <strk@keybit.net>

	* libbase/FLVParser.cpp (parseNextFrame): don't log ERROR on end of
	  file, but mark parsing as complete; don't abort parsing on unknown
	  FLV tag type (we can just skip them); handle premature EOF during
	  metaTag parsing.

2008-05-21 Brad Smith <brad@comstyle.com>

	* libnet/network.h: Ensure data types are defined before including
	netinet.h (for OpenBSD).
	* gui/Player.cpp: Make sure write() is defined (for OpenBSD).

2008-05-21 Sandro Santilli <strk@keybit.net>

	* cygnal/Makefile.am, utilities/Makefile.am: add LIBINTL
	  to AM_LDFLAGS. Patch in bug #21536, modified to use LIBINT
	  consistently (also used in libbase/Makefile.am).

2008-05-20 Benjamin Wolsey <bwy@benjaminwolsey.de>

	 * po/ja.po: This isn't PHP...

2008-05-19 Bastiaan Jacques <bastiaan@bjacques.org>	

	* server/asobj/NetStream.{h,cpp}: Remove the m_go and m_pause status
	variables, because their semantics are ill-defined. Extend imagemutex
	to the m_newFrameReady flagging boolean so that it doesn't need to be
	volatile.
	* server/asobj/NetStreamFfmpeg.{h,cpp}: No longer depend on
	NetConnection to download URLs. This allows two NetStreams to share
	one Netconnection object. It also fixes a segmentation fault. m_go and
	m_pause are replaced by playbackStatus() and decodingStatus
	mutex-protected methods, resolving ambiguity. updateVideoFrame no
	longer relies on the presence of audio in order to show video frames
	(fixing bug #22400 and #22439). These changes reduce the potential
	race conditions that Helgrind detects from +/- 90 to three on a short
	movie.

2008-05-19 Benjamin Wolsey <bwy@benjaminwolsey.de>

	 * po/Makefile.am, po/ja.po: add Japanese translation by
	   Makoto Kato.

2008-05-19 Sandro Santilli <strk@keybit.net>

	* server/vm/ActionExec.cpp (setLocalVariable): use scope stack
	  when out of a function context (as comment suggested).
	* testsuite/swfdec/PASSING: definelocal-scope.as in all versions.

2008-05-17 Russ Nelson <nelson@crynwr.com>

	* doc/C/Makefile.am: list the files one by one, not the subdir.
	* testsuite/Makefile.am: list the files one by one, not the subdir.
	* testsuite/media/README: list and describe the files to include

2008-05-17 Sandro Santilli <strk@keybit.net>

	* server/namedStrings.{cpp,h}: add PROP_TEXT_HEIGHT.
	* server/edit_text_character.{cpp,h}: implement missing textHeight,
	  turn textWidth into a proper property.
	* testsuite/actionscript.all/TextField.as: updated expected results.

2008-05-17 Sandro Santilli <strk@keybit.net>

	* gui/Player.cpp (run): support relative urls in 'base' parameter,
	  always resolve against baseurl given with -U or derived from -u
	  or filename. Fixes bug #23260.

2008-05-16 Russ Nelson <nelson@crynwr.com>

	* testsuite/media/Bitstream Vera Sans.COPYRIGHT rename to:
	* testsuite/media/Bitstream-Vera-Sans.COPYRIGHT
	* testsuite/media/Bitstream Vera Sans.fdb rename to:
	* testsuite/media/Bitstream-Vera-Sans.fdb
	* testsuite/media/README: Modify the file to include *everything*
	  which should go in the distro.

2008-05-16 Sandro Santilli <strk@keybit.net>

	* libmedia/ffmpeg/sound_handler_sdl.{cpp,h}: fix memory leak in
	  stop_all_sounds too..

2008-05-16 Sandro Santilli <strk@keybit.net>

	* libmedia/ffmpeg/sound_handler_sdl.h: add an
	  sound_data::clearActiveSounds() method to properly
	  drop active sounds w/out memory leaks.
	* libmedia/ffmpeg/sound_handler_sdl.cpp (stop_sound):
	  use sound_data::clearActiveSounds() fixing leak of
	  actual active sounds..

2008-05-16 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.{cpp,h}: remove unloaded TextField references
	  from TextField variables container on ::cleanupDisplayList.
	  Fixes bug #20076 (leak on curve_ball.swf).

2008-05-15 Sandro Santilli <strk@keybit.net>

	* README: remove section about impelmented/unimplemented as classes
	  and opcode as the info is old and we'll log UNIMPLEMENTED messages
	  for any class or class interface we know to be unimplemented;
	  Removed reference to 'mad' media handler, no more supported.

2008-05-15 Russ Nelson <nelson@crynwr.com>

	* NEWS: add notes about this release, make formatting consistent
          across all the release notes.
	* README: remove first person, update to 0.8.3
	* doc/C/actionscript.xml: update version number
	* doc/C/app_authors.xml: add myself as author
	* doc/C/conformance.xml: add Implements 
	* doc/C/gnashref.xml: update version number
	* doc/C/gnashuser.xml: update version number
	* doc/C/introduction.xml: change the tense
	* doc/C/preformatted/gnash.1.in: regenerate
	* doc/C/preformatted/gnash_ref.info.in: regenerate
	* doc/C/preformatted/gnash_user.info.in: regenerate
	* doc/C/preformatted/gnashref.html.in: regenerate
	* doc/C/preformatted/gnashuser.html.in: regenerate
	* doc/C/refmanual/documentation_dependencies.xml: spelling
	* doc/C/refmanual/feature_configuration.xml: spelling/grammar and note
          that AGG is the default.
	* doc/C/refmanual/testing_dependencies.xml: spelling
	* doc/C/usermanual/usage.xml: spelling and add options for dump-gnash.
	* macros/boost.m4: remove dependency on filesystem
	* macros/docbook.m4: improve FOP and jre location code

2008-05-15 Sandro Santilli <strk@keybit.net>

	* configure.ac: set version to 0.8.3

2008-05-15 Sandro Santilli <strk@keybit.net>

	* server/parser/movie_def_impl.cpp (readHeader): limit FPS to a max of
	  84 (limit found by trial and error). Can be turned into a
	  compile-time define. Use this upper bound when FPS 0 is requested.

2008-05-15 Sandro Santilli <strk@keybit.net>

	* configure.ac: bail out if sdl gui is selected in conjuntion
	  with cairo renderer (unsupported).

2008-05-15 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/tools.cpp, libbase/image_filters.cpp, win32: drop
	  unused or obsolete files.

2008-05-15 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStream.{cpp,h}: drop unused as_environment member.

2008-05-14 Sandro Santilli <strk@keybit.net>

	* server/dlist.cpp (mergeDisplayList): add assertion checking
	  when GNASH_PARANOIA_LEVEL > 1. The assertion fails running
	  movie attached to bug #23248.

2008-05-14 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamGst.cpp (time,bytesLoaded,bytesTotal): check
	  existance of the elements before querying them. Fixes some
	  gst-CRITICAL errors.

2008-05-14 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/parser/movie_def_impl.h: log malformed SWF and return
	  when more than one JPEGTABLES tag present. Fixes bug #23201.

2008-05-13 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/NetStream.{h,cpp,Ffmpeg.cpp}: Mutex-protect 
	_netCon and m_parser, because they access a curl tu_file 
	across threads.
	* libmedia/ffmpeg/VideoDecoderFfmpeg.cpp: Don't neglect to return the
	decoded frame in pop().

2008-05-12 Robert Millan <rmh@aybabtu.com>

	* libbase/: Makefile.am, gnashpluginrc.in, gnashrc.in,
	  sysgnashpluginrc.in, sysgnashrc.in:
	  Use 'gnashrc' and 'gnashpluginrc', w/out 'sys' prefix.
	  Patch #6509.

2008-05-10 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/NetStreamFfmpeg.cpp: Mutex-protect m_imageframe,
	which is used across threads.

2008-05-10 Sandro Santilli <strk@keybit.net>

	* libbase/utility.h: add smallestMultipleContaining
	  utility function.
	* libbase/FLVParser.{cpp,h}: always allocate a multiple
	  of 64 (READ_CHUNK) greater or equal the actual frame
	  size augmented by 64 bytes (PADDING_BYTES): the multiple
	  thing was suggested by bjacques, the PADDING_BYTES I found
	  by myself (for h264 parser in ffmpeg...). Always check
	  return from tu_file::read_bytes to catch premature end
	  of input. Merge duplicated code into makeAudioFrame and
	  makeVideoFrame static functions.

2008-05-09 Sandro Santilli <strk@keybit.net>

	* libmedia/: Makefile.cm, FLVParser.{cpp,h}: drop unused FLVParser
	  (we use the one from libbase).

2008-05-09 Sandro Santilli <strk@keybit.net>

	* libbase/FLVParser.{cpp,h}: take a tu_file rather then a LoadThread.
	* server/asobj/NetConnection.{cpp,h}: don't construct a LoadThread,
	  let users create a thread for download/parser/decode.

2008-05-09 Russ Nelson <nelson@crynwr.com>

	* Fix dump-gnash's -D switch.

2008-05-09 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/setProperty.as: round _xscale so gnash
	  passes.

2008-05-09 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/setProperty.as: copy dejagnu
	  stuff to function scope so swf5 still works...

2008-05-09 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Makefile.am: indent
	* testsuite/actionscript.all/MovieClip.as: drop duplicated rcsid.
	* testsuite/actionscript.all/setProperty.as: add rcsid, don't stop,
	  fix expected test run. NOTE: pp fails in swf5, not finding
	  the pass_check/pass_fail etc...

2008-05-09 Sandro Santilli <strk@keybit.net>

	* libbase/FLVParser.cpp: use 64 (rather then 8) padding bytes.
	  I've no idea what that padding means and why is needed, anyway
	  it fixes an illegal read of 33 bytes past the allocated set
	  watching http://www.youtube.com/watch?v=P48VFXltFyM.

2008-05-09 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* fonts: drop unused fonts directory.

2008-05-09 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamFfmpeg.cpp (decodeVideo): make somewhat more
	  readable.

2008-05-09 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamFfmpeg.{cpp,h}: maintain a decoder
	  buffer so to reuse it in case resampling is needed;
	  allocate for it AVCODEC_MAX_AUDIO_FRAME_SIZE rather then 3/2
	  of it; allocate computed number of bytes for the resampled
	  buffer.

2008-05-09 Zou Lunkai <zoulunkai@gmail.com>
	
	* testsuite/actionscript.all/setProperty.as, Makefile.am: 
	  new tests for set/getProperty. Fixing this will fix some swf5 files.
	  
2008-05-09 Sandro Santilli <strk@keybit.net>

	* libmedia/Makefile.am: remove other references to libltdl.
	* server/asobj/NetStreamFfmpeg.{cpp,h}: move FLVParser.h
	  include from header to cpp file.

2008-05-08 Russ Nelson <nelson@crynwr.com>

	* libmedia/Makefile.am: don't build libltdl here, as it's already
	  being built by libbase.

2008-05-08 Sandro Santilli <strk@keybit.net>

	* libbase/curl_adapter.cpp (CurlStreamFile::seek): remove
	  a warning on seek(too_far). Return code cleanly handles
	  it (keep warnings for unexpected internal errors).

2008-05-08 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStreamFfmpeg.cpp: use multithread_queue::clear
	  rather then looping and using .pop/.size (clear would lock
	  the mutex once).

2008-05-08 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/Makefile.am: distribute empty.as

2008-05-08 Sandro Santilli <strk@keybit.net>

	* server/swf/PlaceObject2Tag.cpp (readPlaceActions): handle malformed
	  swf during events parsing by keeping what was read so far.
	  Fixes misc-swfmill.all/zeroframe_definesprite.swf run.

2008-05-08 Sandro Santilli <strk@keybit.net>

	* libmedia/ffmpeg/sound_handler_sdl.cpp: fix default constructor
	  to actually construct the object instead of corrupting memory;
	  don't heap-allocate WAV and CHK stuff.
	* libmedia/ffmpeg/sound_handler_sdl.h: hide wave-specific code, not
	  needed in header.

2008-05-08 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/NetStreamFfmpeg.cpp: Sleep 1 millisecond instead of 1
	microsecond to reduce CPU hogging.

2008-05-08 Sandro Santilli <strk@keybit.net>

	* libmedia/sound_handler.h: expose create_sound_handler_sdl(), fixing
	  make check (and any use not willing to save a wave file... ).

2008-05-08 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* docs: update logging info in refmanual.

2008-05-08 Sandro Santilli <strk@keybit.net>

	* doc/DESIGN: draf a design diagram
	* gui/gnash.cpp: print gstreamer linked version in addition to
	  built-against version.

2008-05-08 Zou Lunkai <zoulunkai@gmail.com>

	* server/sprite_instance.{h,cpp}: add a pointInHitableShape() for 
	  fixing MovieClip.hitTest().
	* testsuite/media/empty_swf.swf: removed.
	  testsuite/misc-ming.all/empty.as: add a empty as file for making an empty frame.
	  testsuite/misc-ming.all/Makefile.am: use empty.as instead of empty_swf.swf
	  testsuite/misc-ming.all/RollOverOutTest.c: pass.	
	  should fix bug #22889.

2008-05-08 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/parser/action_buffer.cpp: it's a vector, use push_back.
	* server/swf/PlaceObject2Tag.cpp: use ensureBytes, drop
	  assertion, with comment: rely on action_buffer's safety.

2008-05-07 Russ Nelson <nelson@crynwr.com>

	* libamf/amf.cpp: eliminate "tmp used before initialization"
	* libamf/amf.cpp: eliminate "variable not used" warning.
	* libbase/extension.cpp: remove unused variable.
	* libbase/memory.cpp: comment out unused variable.
	* libbase/shm.cpp: nuke nuke.
	* server/character.cpp: mark unused variables as such.
	* server/asobj/ClassHierarchy.cpp: remove unused function.
	* server/asobj/NetStreamGst.cpp: mark unused variables as such.
	* server/vm/ActionExec.cpp: #if 0 out an unused variable.
	* server/vm/Machine.cpp: mark unused variables as such.
	
2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/swfdec/PASSING: update for new tests.

2008-05-07 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* gui/fb.cpp: don't read from closed file descriptors

2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* po/*.po, po/gnash.pot: updated for distribution.

2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* backend/render_handler_agg.cpp: i18n.
	* gui/gui.cpp: don't divide by zero; it annoys the matrices.
	  Fixes bug #23184.
	* gui/gtk.cpp: nothing much, was just left over from debugging.

2008-05-07 Sandro Santilli <strk@keybit.net>

	* server/timers.cpp (execute): be more verbose about as coding
	  errors.

2008-05-07 Sandro Santilli <strk@keybit.net>

	* server/timers.cpp (execute): compute super.
	* testsuite/misc-ming.all/intervalTest.as: successes.

2008-05-07 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/: intervalTest.as, intervalTestRunner.cpp:
	  Add test for 'super' in setInterval-set method call (comment #3
	  in bug #23130).

2008-05-07 Sandro Santilli <strk@keybit.net>

	* libbase/log.cpp: add pid in timestamp
	* server/asobj/flash/: external/ExternalInterface_as.cpp,
	  filters/DisplacementMapFilter_as.cpp,
	  geom/ColorTransform_as.cpp, geom/Matrix_as.cpp,
	  geom/Transform_as.cpp, net/FileReferenceList_as.cpp,
	  net/FileReference_as.cpp, text/TextRenderer_as.cpp:
	  Fix unused parameter warning.

2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/parser/sprite_definition.cpp: drop loaded frame assertion.
	  It's fine for this to exceed total frames. Fixes bug #23186.

2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/GnashException.h: make ActionException ctor protected
	  so that it can't be used directly. Add ActionParserException
	  subclass for bad action_buffer accesses. Make ActionTypeError
	  a subclass of ActionException. GnashException should perhaps
	  get the same treatment, but is used directly in a number
	  of places.
	* server/sprite_instance.cpp: catch ActionTypeError.
	* server/as_object.h (ensureType): throw ActionTypeError.
	* server/as_object.cpp: catch ActionTypeError.
	* server/action.cpp: throw/catch ActionTypeError.
	* server/parser/action_buffer.h: the actual point of these
	  changes: check for out-of-buffer access and throw an 
	  ActionParserException. Drop unused method get_length(). Add
	  assertions to other methods. Use direct vector access instead
	  of .at() now that boundaries are checked. Fixes bug #23185
	* server/parser/action_buffer.cpp: Add a NULL terminator to buffer
	  if no END tag found, to prevent string reads going past the end of
	  the buffer.
	* server/vm/AShandlers.cpp (SWFHandlers::execute()): catch
	  ActionParserException and stop parsing on error.

2008-05-07 Sandro Santilli <strk@keybit.net>

	* server/swf/tag_loaders.cpp (sound_stream_head_loader): log no
	  samples as an swf error and only once [annoying otherwise],
	  other log-related small changes.

2008-05-07 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/Makefile.am: fix DrawingApiTest.swf build
	  out of source tree (we should use the source btw, or older Ming
	  won't build it).

2008-05-07 Sandro Santilli <strk@keybit.net>

	* server/asobj/flash/geom/Point_as.{cpp,h}: implement constructor,
	  toString and length; load on demand; expose constructor for internal
	  use.
	* server/asobj/flash/geom/Rectangle_as.cpp: implement topLeft,
	  bottomRight, size and clone; load on demand.
	* testsuite/actionscript.all/: Makefile.am, Point.as: new stub
	  for testing flash.geom.Point (only tests ctor, length and toString).
	* testsuite/actionscript.all/Rectangle.as: more tests, all successes.

2008-05-07 Zou Lunkai <zoulunkai@gmail.com>

	* testsuite/media/empty_swf.swf: add a new binary empty swf file for testing
	  convenience(produced by "makeswf empty_source_file.as")
	* testsuite/misc-ming.all/makefile.am, testsuite/misc-ming.all/DrawingApiTest.as,
	  testsuite/misc-ming.all/DrawingApiTestRunner.cpp: put the tests to the second
	  frame. hitTest(*, *, true) is not reliable when in the first frame(don't know why).
	
2008-05-06 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/NetStreamGst.cpp, libmedia/gst/VideoDecoderGst.cpp:
	Force the Gstreamer output to RGB24, which is what the renderer
	expects. Fixes bug #23081.

2008-05-06 Russ Nelson <nelson@crynwr.com>

	* doc/C/Makefile.am: Remove dependence upon gpl-appendix.xml
	* add required acknowledgement of jemalloc.

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/vm/ASHandlers.cpp (unsupported_action_handler): fix
	  the silly debugging message.

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/swf/tag_loaders.cpp: ensureBytes - doesn't fix any known
	  bug, but is good for robustness.
	* server/stream.{h,cpp}: move ensureBytes implementation to
	  stream.cpp to make changing it less painful. Throw parser
	  exception when seeking fails. Stops reading off the end of
	  the stream, which was happening on certain malformed SWFs.
	  Clean up logging. Use ensureBytes for open_tag too.
	* server/parser/action_buffer.cpp: typo.

2008-05-06 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionFscommand2): fix ensureStack
	  calls. Fixes bug #23181.

2008-05-06 Sandro Santilli <strk@keybit.net>

	* server/PropertyList.cpp (setValue): don't let prop flags
	  prevent setting values of destructive properties.
	  set_member doesn't use this function, so user-requested
	  override is still handled correctly. init_member instead
	  which is only used by internal code, will use it.
	  NOTE: in a cleaner design, we'd use native destructive
	  getter returning an as_value directly instead !
	  Fixes abort reported on bug #23139.

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libmedia/ffmpeg/sound_handler_sdl.{h,cpp}: drop unnecessary
	  file_output member. Don't initialize ofstream with NULL in the
	  constructor (or indeed with anything).

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/fb.cpp: internationalization.
	* server/sprite_instance.cpp, server/URLAccessManager.cpp: i18n

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/TextFormat.cpp: use LOG_ONCE more, fix return
	  values for bullet (not implemented). Use a switch for variable
	  nargs.
	* server/edit_text_character.cpp: use LOG_ONCE.
	* testsuite/actionscript.all/TextFormat.as: bullet returns
	  correct values.

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/namedStrings{h,cpp}, server/asobj/ClassHierarchy.cpp:
	  support loading TextFormat on demand.
	* server/asobj/Global.cpp: load TextFormat on demand, use LOG_ONCE,
	  indentation.

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/render.h: fix build with visibility.

2008-05-06 Sandro Santilli <strk@keybit.net>

	* server/PropertyList.cpp: add compile-time macro to enable
	  debugging of properties insertions and flags setting.

2008-05-06 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* backend/render_handler_agg.cpp: fix doPixelHinting handling
	  and improve pixel hinting generally

2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/TextFormat.{cpp,h}: register ASnative functions
	  (not yet used).
	* server/asobj/Stage.cpp: minor cleanups.

2008-05-06 Sandro Santilli <strk@keybit.net>

	* server/asobj/ClassHierarchy.{cpp,h}: add output operator
	  for nativeClass and extentionClass, handle declareClass
	  failures in massDeclare (log_error).
	* server/as_prop_flags.h: add output operator (useful
	  for log_debug).

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/as_value.{cpp,h}: add convert_to_primitive to
	  possibly reduce copies of as_value; add newAdd and subtract
	  methods doing the same as the corresponding opcodes to 
	  make C++ implementation of AS-like code easier.
	  (opcodes untoched, would likely be worth delegating).
	* testsuite/actionscript.all/: Makefile.am, Rectangle.as:
	  Initial tests for flash.geom.Rectangle class
	* server/asobj/flash/geom/Rectangle_as.cpp: implement constructor,
	  left/top/right/bottom getter-setters, isEmpty method.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/namedStrings.{cpp,h}: add PROP_WIDTH and PROP_HEIGHT.

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/Player.{cpp,h}, gui/gnash.cpp, libmedia/sound_handler.h,
	  libmedia/sound_handler_sdl.{h,cpp}: don't cast from string
	  to const char* to char*; pass std::string by const ref, store
	  as string in SDL_sound_handler. Don't heap-allocate ofstream.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.pl: getClassInterface MUST return a static
	  or 'instanceof' will never work correctly!
	* server/asobj/flash: regenerated classes...

2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* generic_character.cpp, sprite_instance.cpp, character.h, dlist.h, 
	  dlist.cpp, sprite_instance.h: Implement omit_display(), real fix 
	  for bug #22904   	

2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* backend/render_handler_agg.cpp: Don't try to access line style
	  for paths that have none  	

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/as_function.cpp (constructInstance): catch exception
	  thrown by native functions. Most will trhow an exception when
	  'this' is undefined (example: a=new String.prototype.substring).

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.pl: add support for static methods and
	  properties.
	* doc/C/NOTES: add note about static props and methods in the new
	  classes in flash package.
	* server/asobj/flash/: regenerated classes.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/Global.cpp: call flash_package_init for SWF8 up.
	* server/asobj/gen-asclass.pl: don't attach interface to class,
	  don't use statics for GcResources.
	* server/asobj/: flash_pkg.cpp, flash/display_pkg.cpp,
	  flash/external_pkg.cpp, flash/filters_pkg.cpp,
	  flash/geom_pkg.cpp, flash/net_pkg.cpp,
	  flash/text_pkg.cpp, flash/display/BitmapData_as.cpp,
	  flash/external/ExternalInterface_as.cpp,
	  flash/filters/DisplacementMapFilter_as.cpp,
	  flash/geom/ColorTransform_as.cpp, flash/geom/Matrix_as.cpp,
	  flash/geom/Point_as.cpp, flash/geom/Rectangle_as.cpp,
	  flash/geom/Transform_as.cpp, flash/net/FileReferenceList_as.cpp,
	  flash/net/FileReference_as.cpp, flash/text/TextRenderer_as.cpp:
	  Load flash package and subpackages (objects) on demand.

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/LocalConnection.as: add more tests,
	  mostly failing.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/Property.h, server/PropertyList.cpp,
	  server/PropertyList.h, server/as_object.cpp,
	  server/as_object.h: Allow for native functions
	  in destructive getter-setters, reduce scans
	  on initialization.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.pl: add support for stubbing
	  properties as native getter-setters.
	* server/asobj/flash/: display/BitmapData_as.cpp,
	  external/ExternalInterface_as.cpp,
	  filters/DisplacementMapFilter_as.cpp,
	  geom/ColorTransform_as.cpp, geom/Matrix_as.cpp
	  geom/Point_as.cpp, geom/Rectangle_as.cpp,
	  geom/Transform_as.cpp, net/FileReferenceList_as.cpp,
	  net/FileReference_as.cpp, text/TextRenderer_as.cpp:
	  Re-generated.

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Global.{h,cpp}: drop goto from initialization, use
	  a switch instead (possibly not necessary to distinguish here
	  based on version anyway). Load extensions in separate method. Use
	  forward declarations of functions for legibility.
	* server/asobj/xmlsocket.cpp: fix warning.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/styles.cpp: use 'pixelHinting' flag parsed from SWF
	  tags.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/PropertyList.{cpp,h}: rename addDestructiveGetterSetter
	  to addDestructiveGetter, as we're not using the setter anyway,
	  add a flagIfMissing to avoid a duplicated scan.
	* server/as_object.{cpp,h}: drop the 'setter' parameter to
	  init_destructive_property.
	* server/asobj/ClassHierarchy.cpp: don't create a useless
	  setter for all declarative properties.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/: create a new subtree for the 'flash'
	  ActionScript package. Stub all known classes there, moving
	  also there the existing BitmapFilter classes which belongs
	  in the flash.filters package.
	  NOTE: the package initialization function is not called
	  currently, I think we should call them from destructive
	  native getter-setters.

2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/shape.h: Add isClosed() to Path class
	* backend/render_handler_agg.cpp: Respect doPixelHinting() for
	  outlines
	* backend/render_handler_agg.cpp: Remove unused build_agg_strokes()
	* backend/render_handler_agg.cpp: Remove unimplemented pixel hinting 
	  warning
	* backend/render_handler_agg.cpp: implement closed polygons and
	  check for noClose==0

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.pl: log_unimpl if constructor
	  takes any argument; have prototype inherit from Object class
	  by default.
	* doc/C/NOTES: add DisplacementMapFilter notes.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.sh: drop this, better focus on the perl
	  version (needs improvement).

2008-05-05 Sandro Santilli <strk@keybit.net>

	* server/asobj/gen-asclass.pl: retain class case, add an _as prefix,
	  include gnashconfig.h (not config.h), comment-out unused
	  parameters, fix signature of native methods (must return as_value),
	  fix ensureType call (to return intrusive_ptr).

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/Player.{cpp,h}: fix initialization warning, use camelCase for
	  new methods and members (and some old ones). Minor doc additions.
	  Would be nice if the audio-dump-related code could be moved out
	  of Player.

2008-05-05 Sandro Santilli <strk@keybit.net>

	* doc/C/NOTES: add notes about classes in the 'flash'
	  package (SWF8)

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/swfdec/PASSING: update for new tests.

2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/URL.h: DSOexport operator<<, fix build with visibility.

2008-05-04 Zou Lunkai <zoulunkai@gmail.com>

	* server/sprite_instance.h, server/dlist.h: docs.

2008-05-03 Sandro Santilli <strk@keybit.net>

	* server/character.cpp: use namespace std, so isfinite works
	  when HAVE_ISFINITE is defined.

2008-05-03 Sandro Santilli <strk@keybit.net>

	* server/URLAccessManager.cpp: include full URL in SECURITY lines
	  (for allow/deny) - could be done better (using a single line)
	  but at least we have the full information now.

2008-05-03  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/libnet.all/test_rtmp.cpp: Unit tests for the RTMP
	encoding and decoding.
	* libamf/amf.cpp: Booleans are two bytes after all.
	* libamf/sol.cpp: Booleans are two bytes after all.
	* libamf/element.cpp: Copy the name, don't just grab the
	pointer. Terminate Objects correctly.
	* libnet/rtmp.cpp: Add methods to encode & decode the RTMP
	header, and the Ping message.
	* libnet/rtmp.h: Add methods to encode & decode the RTMP
	header, and the messages. Add Ping message types and data
	structure.
	* libnet/rtmp_server.cpp: Actually handle the message type. Modify
	how the initial 1536 bytes handshake works.

2008-05-03 Sandro Santilli <strk@keybit.net>

	* server/as_value.cpp (to_number): more blocks to protect
	  NAN (std::numeric_limit<double>::quite_NaN()) from 
	  initialization-cross paranoia of gcc-4.2.3.
	* server/asobj/Global.cpp (ctor): use a block-scope
	  as a woraround to what looks like a bug in gcc-4.2.3
	  (http://lists.gnu.org/archive/html/gnash/2008-05/msg00016.html)

2008-05-03 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (sprite_beginGradientFill):
	  Don't complain about too many args when not too many
	  were given...

2008-05-02 Sandro Santilli <strk@keybit.net>

	* server/asobj/Object.cpp (object_registerClass): use symbol table
	  from the current environment, not _level0. I'm sure failures
	  are hiding as our concept of "current environment" is pretty
	  vague. Anyway, makes youtube embedded player beta (bug #23130)
	  much closer to working.

2008-05-02 Russ Nelson <nelson@crynwr.com>

	* incorporate the rest of Craig Kelley's "dump" gui code.

2008-05-02 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (cleanupUnloadedListeners): scan again if
	  any unloaded character was found. Fixes an assertion failure
          with GNASH_PARANOIA_LEVEL > 1 while running MovieClip.as tests.

2008-05-02 Sandro Santilli <strk@keybit.net>

	* server/DynamicShape.{cpp,h}, server/sprite_instance.{cpp,h},
	  server/styles.{cpp,h}: Add support for all known parameters
	  in the lineStyle call for swf8 up.
	* backend/render_handler_agg.cpp: log_unimpl about pixel
	  hinting in line styles.

2008-05-02 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/style.{cpp,h}: fixed default constructor
	* backend/render_handler_agg.cpp: implement cap and join styles

2008-05-02 Sandro Santilli <strk@keybit.net>

	* gui/Player.cpp, gui/gui.h: have dump-gnash really use the
	  the DUMP gui.

2008-05-02 Sandro Santilli <strk@keybit.net>

	* testsuite/server/ClassSizes.cpp: print sizeof line_style
	  and fill_style.

2008-05-02 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/style.{cpp,h}: added cap style, join style, no-close and
	  miter limit factor properties to line_style class

2008-05-02 Sandro Santilli <strk@keybit.net>

	* gui/Makefile.am: build the DUMP gui when requested.
	* gui/dump.h: cleanup headers inclusion.

2008-05-01 Russ Nelson <nelson@crynwr.com>

	* incorporate Craig Kelley's "dump" gui code.

2008-04-30 Russ Nelson <nelson@crynwr.com>

	* configure.ac: check for dejagnu and throw a warning if not present.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfmill.all/Makefile.am: don't forget
	  to clean background.swf (distcheck fix).

2008-04-30 Sandro Santilli <strk@keybit.net>

	* libamf/amf.{cpp,h}, libamf/lcshm.{cpp,h},
	  libamf/sol.cpp, libnet/rtmp.cpp:
	  Add boundary checking in AMF parser, will throw
	  a ParserException on premature end of buffer,
	  sol::readFile will interchept and log_error.

2008-04-30  Rob Savoye  <rob@ripple.welcomehome.org>

	* configure.ac: Always look for mallinfo(), jemalloc now supports it.
	* libbase/jemalloc.c: Add support for mallinfo.
	* libbase/memory.cpp: Take a sample when starting.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* server/character.cpp (alpha_getset): undefined, null and nan
	  values are not valid input to _alpha setter.
	* testsuite/actionscript.all/MovieClip.as: success for all newly
	  added _alpha tests.

2008-04-30 Russ Nelson <nelson@crynwr.com>

	* resolve http://savannah.gnu.org/bugs/?22973 by adding a test
	  for a directory, and by removing .. and ../.. which we probably
	  don't need.
	* add the OpenSUSE name of gstreamer 0.10.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/MovieClip.as: add test for setting
	  _alpha, Gnash fails (potlatch scissors case).

2008-04-30 Sandro Santilli <strk@keybit.net>

	* server/movie_root.{cpp,h}: allow setting background color
	  only once (till the stage is reset by clear).
	  TODO: check if background can change when loading something
	  with different background into _level0.
	* testsuite/misc-swfmill.all/Makefile.am: fix abs_builddir
	* testsuite/misc-swfmill.all/backgroundTestRunner.cpp: use TGTDIR
	  (not SRCDIR) to find the swf, use a tolerance of 15 to compare
	  color (AGG_RGB555 gives 240,0,0 for a red!), success of the
	  test (related to the change in movie_root).

2008-04-30 Sandro Santilli <strk@keybit.net>

	* server/swf/SetBackgroundColorTag.h: update to match 
	  change in ::execute signature
	* testsuite/misc-swfmill.all/: Makefile.am, background.xml,
	  backgroundTestRunner.cpp: add test for multiple SetBackgroundColor
	  tags in an SWF. Expected behaviour is we only use the first one,
	  gnash fails.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* server/Makefile.am, server/impl.cpp,
	  server/parser/sound_definition.{cpp,h},
	  server/swf/StreamSoundBlockTag.{cpp,h},
	  server/swf/tag_loaders.cpp:
	  Move StreamSoundBlockTag handling in its
	  own file and document it, fix the execute
	  signature to match the one expected by ControlTag.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* macros/boost.m4: filesystem/exception.hpp might also
	  be useful.

2008-04-30 Sandro Santilli <strk@keybit.net>

	* macros/boost.m4: 1.33 didn't have boost/filesystem.hpp,
	  and we'd need boost/filesystem/convenience.hpp for
	  create_directories (if we're going to use it).

2008-04-30 Sandro Santilli <strk@keybit.net>

	* macros/boost.m4: correct header is boost/filesystem.hpp

2008-04-30 Zou Lunkai <zoulunkai@gmail.com>
	
	* server/sprite_instance.{h,cpp}: drop ugly m_tmp_display_list and
	  m_is_jumping back. execute_frame_tags() now take a dislpayList parameter.
	* server/swf/ControlTag.h
	  server/swf/DisplayListTag.h
	  server/swf/DoActionTag.h
	  server/swf/DoInitActionTag.h
	  server/swf/PlaceObject2Tag.cpp
	  server/swf/PlaceObject2Tag.h
	  server/swf/RemoveObjectTag.cpp
	  server/swf/RemoveObjectTag.h, 
	  make all those control tags to take a dlist parameter.
	  
2008-04-30 Sandro Santilli <strk@keybit.net>

	* libbase/rc.cpp: initialize the _lcshmkey member to 0, add a note
	  about how I think it should work instead..

2008-04-30 Sandro Santilli <strk@keybit.net>

	* macros/boost.m4: make boost filesystem lib mandatory.
	  This is still not used, but I tought I'll use this commit
	  to find out how much discontent it would make :)
	  About why we should use it (portability):
	  http://www.boost.org/doc/libs/1_33_1/libs/filesystem/doc/index.htm
	  http://www.boost.org/doc/libs/1_35_0/libs/filesystem/doc/index.htm

2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>

	* server/asobj/SharedObject.cpp: Use AMF0_* instead of just
	AMF_*.
	
	* libamf/amf.cpp: Go back to a proper type cast now that the real
	problem is fixed.
	
	* libnet/rtmp.{h,cpp}: Use *Property instead of *Variable.
	
	* configure.ac: Don't look for mallinfo() when using jemalloc().
	
	* libamf/amf.h: Use _AMF0* on Element types.
	* libamf/amf.cpp: Use AMF0_* instead of just AMF_*. Remove junk
	that's been commented out for awhile. Rename *Variable to
	*Property, which is the correct name. Adjust to keep valgrind
	happy.
	* libamf/element.h: Rename amf_* to amf0_*. Add new
	amf3_types. Rename *Child methods to *Property.
	* libamf/element.cpp: Add NOTYPE back in. 
	* libamf/lcshm.cpp: Use non static methods for extracting AMF
	objects.
	* libamf/sol.cpp: Use _AMF0* on Element types. 
	* testsuite/libamf.all/test_amf.cpp: Don't use Memory profiling
	if mallinfo() isn't found. Use _AMF0* on Element types.  Delete
	pointers so there are no memory leaks.
	* testsuite/libamf.all/test_buffer.cpp: Don't use Memory profiling
	if mallinfo() isn't found. Use _AMF0* on Element types. Delete
	pointers so there are no memory leaks.
	* testsuite/libamf.all/test_el.cpp: Use properties instead of
	children. Use _AMF0* on Element types. 
	* testsuite/libamf.all/test_lc.cpp: Don't try to send(), it's
	unimplemented still. Use _AMF0* on Element types. 
	* testsuite/libamf.all/test_sol.cpp: Use Memory profiling if
	mallinfo() exists. Use proper argument processing. Use _AMF0* on
	Element types.

2008-04-29 Zou Lunkai <zoulunkai@gmail.com>
	
	* server/dlist.{h,cpp}: move_display_object() renamed to move_character(),
	  remove_display_object() renamed to remove_character(). maintain name
	  consistance.
	* server/sprite_instance.{h,cpp}: adop the new names. 	  
	  
2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>
	
	* libbase/utility.h: Use C ctyle cast for pthread_self() to work
	around BSD compiler bug.
	
2008-04-29 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.cpp: have wordWrap take precedence
	  over autoSize, don't let wordWrap make the text box taller
	  if autoSize is none.
	* testsuite/actionscript.all/TextField.as: a couple of success
	  and a failure in effects of _width over textWidth.

2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>

	* configure.ac: Add --enable-jemalloc option to use our own copy of
	jemalloc() instead of the system malloc. Test for local thread
	storage via __thread. Expand OS specific tests.
	* libbase/Makefile.am: Optionally build jemalloc.
	* libbase/jamalloc.c, jemtree.h: Add the jemalloc memory allocator
	from Mozilla/Firefox/FreeBSD, tweaked to configure and build the
	way the rest of Gnash does.
	* libnet/http.cpp: Include unistd.h to keep OpenBSD happy looking
	for ::read() and ::close().

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/namedStrings.{cpp,h}: add onFullScreen.
	* server/asobj/Stage.{h,cpp}: drop own onResize member, add
	  notifyFullScreen.
	* server/movie_root.cpp: notify onFullScreen listener on
	  state change.
	* testsuite/actionscript.all/Stage.as: make number of tests
	  independent of correctness. Some passes, but I've lost track
	  a bit of the onResize test - would be grateful if someone
	  can test with pp (Linux version supposedly broken in this
	  regard).

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/Stage.as: test onFullScreen().

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/parser/filter_factory.{h,cpp}: drop invalid const qualifier
	  on static int read(), fix the gcc 4.3 bracket warnings that then
	  appear.
	* server/dlist.cpp (get_character_by_name{_i}): was a thought at an
	  optimization (cache _charsByDepth.end()) that I never tested but
	  don't really want to revert.

2008-04-29 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/Makefile.am: fix build of tests
	  against Ming-0.3.0 (a lot of tests fail actually, but at
	  least they build).

2008-04-29 Sandro Santilli <strk@keybit.net>

	* backend/render_handler_agg.cpp, backend/render_handler_cairo.cpp,
	  backend/render_handler_ogl.cpp: 
	  Update calls to fetch line_style strokes, implement noScale="none"
	  in AGG and log_unimpl in all renderers about unsupported values
	  of it.
	* server/parser/character_def.h,
	  server/parser/shape_character_def.{h,cpp},
	  server/generic_character.cpp:
	  Have point_test_local take an additional matrix argument
	  to deal with non-scaled strokes.
	* server/DynamicShape.{cpp,h}: have lineTo and curveTo take
	  an swf version argument, as influence of strokes on boundaries
	  are version-dependent.
	* server/FreetypeGlyphProvider.cpp: use SWF6 semantic for the glyph
	  shapes.
	* server/shape.{h,cpp} (expandBounds): take an swf version argument, as
	  influence of strokes on boundaries are version-dependent.
	* server/styles.{cpp,h}: add vertical and horizontal stroke
	  scaling flag support.
	* server/sprite_instance.{cpp,h}: Add support for noScale
	  parameter of lineStyle in SWF8.
	* testsuite/actionscript.all/MovieClip.as: success in bounds
	  checking of strokes in SWF8.

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Global.cpp: tidy up, register ASnative functions,
	  as ASnew (still unimplemented). Log once more often, drop 
	  c_str() usage.
	* testsuite/ASnative.cpp: tests for ASnative(2, 0) (old ASnew).

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/MovieTester.cpp: function name change.

2008-04-29 Sandro Santilli <strk@keybit.net>

	* server/parser/morph2_character_def.h: drop inclusion of "shape.h".

2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Stage.{cpp,h}: drop methods from Stage class,
	  implement in movie_root instead. Fixes using ASnative before
	  Stage has been initialised on demand.
	* server/movie_root.{cpp,h}: implement displayState, alignMode
	  here.
	* testsuite/actionscript.all/ASnative.as: test Stage ASnative
	  methods, new tests pass with this commit.
	* gui/gui.cpp: movie_root function name change (getScaleMode ->
	  getStageScaleMode).

2008-04-29 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/MovieClip.as: test influence
	  of strokes in bounds of shapes.

2008-04-28 Russ Nelson <nelson@crynwr.com>

	* Put translations in alphabetic order
	* Some things rely on gettext, so warn people

2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/as_value.cpp: return undefined instead of throwing an 
	  ActionType error in to_primitive(). I suspect it's not really
	  correct, but it gets a lot of passes in swfdec, some in
	  actionscript.all, and no fails, so it will do for now.
	* testsuite/swfdec/PASSING: 35 new passes (all for the same reason,
	  probably).
	* testsuite/actionscript.all/Object.as,Function.as: some passes.

2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/Object.as: tests for undefined __proto__
	  and valueOf (and toString).

2008-04-28 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp: for lineStyle, since we now know SWF8
	  support more args, log_unimpl for unhandled ones.

2008-04-28 Sandro Santilli <strk@keybit.net>

	* server/styles.{cpp,h}: add line_style.set_lerp, drop friendliness.
	* server/parser/morph2_character_def.cpp: use line_style.set_lerp
	  rather then accessing its private members.

2008-04-28 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp: have methods of the DrawingApi 
	  log an as_error if more args then supported are passed.
	  This will help finding out when the player API adds support
	  for additional args (lineStyle takes more args in SWF8 for
	  instance) -- we should always do this, for every function.

2008-04-28 Sandro Santilli <strk@keybit.net>

	* libbase/LoadThread.cpp: don't trust advertised streamSize
	  for detecting the "completed" state. Fixes bug #23076.

2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/edit_text_character.{h,cpp}: make parseHTML a const
	  member function.

2008-04-28 Zou Lunkai <zoulunkai@gmail.com>
	
	* server/character.{h,cpp}, server/dlist.{h,cpp}
	  server/parser/morph2_character_def.cpp,
	  server/sprite_instance.cpp: drop character::noRatioValue. Now all
	  character's ratio value are default to 0 if not set explicitly. 
	
2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/edit_text_character.{h,cpp}: check for end of string when
	  formatting text. Split HTML parsing into a separate function. Use
	  the magic of boost::format to log custom types directly, and drop
	  c_str() in logging.

2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/utf8.{cpp,h}: decodeNextUnicodeCharacter should know
	  where the end of the string is, so it doesn't deference 
	  .end() (thanks zou).
	* server/vm/ASHanders.cpp: pass end of string iterator to 
	  decodeNextUnicodeCharacter, cache value generally to save repeated
	  calls to .end().

2008-04-28 Zou Lunkai <zoulunkai@gmail.com>
	
	* server/swf/DisplayListTag.h: isRmove(), isPlace(), isReplace(), isMove(),
	  drop this four virtual functions, no longer needed.
	* server/swf/RemoveObjectTag.h: drop isRemove().
	* server/PlaceObject2Tag.{h, cpp}: keep all swf defined flags, add interfaces
	  to extract the information from those flags. Drop some unncessary members. The
	  rational is not discarding any definitions. 	  
	
2008-04-28 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (get_member): our own properties
	  have precedence over our child names. Beside correctness
	  (this fixes a bug in potlatch) I suspect this will
	  speed up actionscript interpretation on the average.
	  (did make check did run faster or is it just my impression?).
	* testsuite/misc-ming.all/VarAndCharClashTest.as: success in 
	  just-added new test.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/VarAndCharClashTest.as: test that
	  only a sprite own properties hide child characters, but
	  not inherited properties.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h}, array.{cpp,h},
	  edit_text_character.{cpp,h}, sprite_instance.{cpp,h},
	  asobj/xml.{cpp,h}:
	  Change set_member signature to return bool (did the named
	  member exist?) and take an additional arg (create a new member
	  if not found?).
	* server/as_environment.cpp (set_variable_raw): use set_member for
	  in-scope-chain seeks (rather then update_member, which was
	  dropped by this commit).
	* testsuite/actionscript.all/TextField.as: successes.

2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/gnash.cpp: use boost format for formatting, drop last use
	  of printf among all the couts and cerrs.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/TextField.as: add test showing a scary
	  bug with update_member and non-properties.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* server/namedStrings.{cpp,h}: add PROP_USEHANDCURSOR named string.
	* server/character.h: add virtual allowHandCursor() method.
	* gui/gui.cpp (notify_mouse_moved): check if active entity under
	  pointer wants to use an hand cursor or not. (getMovieInfo):
	  cleanup output, add useHandCursor info for active entity.
	* server/sprite_instance.{cpp,h}: implement allowHandCursor()
	  by checking the useHandCursor ActionScript property.
	* testsuite/actionscript.all/MovieClip.as: test that useHandCursor
	  can take any value, and that it is a property of
	  MovieClip.prototype; new successes about it..

2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/rc.cpp: (updateFile) save to the last file specified
	  in GNASHRC by default.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* libbase/Makefile.am: clean_hook seems unused, CLEANFILE
	  is the one...

2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/gui.cpp: leave fullscreen on stop, otherwise the stopped
	  widget will display in the plugin window while we're in fullscreen.
	  Seems like logical behaviour anyway.
	* gui/gtk.cpp: no need to call gtk_widget_show repeatedly. Move call
	  to stopHook to init() to keep it out of the run() call. Also seems
	  more appropriate there.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/check.as: Ming 0.4.0.beta6
	  introduced support for 'implements' in asm, not beta5.

2008-04-27 Sandro Santilli <strk@keybit.net>

	* configure.ac: don't generate sysgnash{plugin,}rc, let
	  'make' take care of that.
	* libbase/Makefile.am: install sysgnash{plugin,}rc, generate
	  on make, clean on make clean.

2008-04-27 Robert Millan <rmh@aybabtu.com>

	* gui/gui.{cpp,h}, gui/gtk{sup.h,.cpp}: add stopHook and playHook for
	  startStopped (not pause). Implement in gtk with a massive button to
	  click when starting in stopped mode.

2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/rc.{h,cpp}: use boost tokenizer more, parseList doesn't
	  need to damage the items string. Continue loop if >> variable
	  fails, or we'll get a nonsense warning (variable kept from last
	  loop). Boostify warnings (for internationalization).

2008-04-26  Dossy Shiobara <dossy@panoptic.com>

	* plugin/Makefile.am: install-plugin rule should do
	  nothing on Win32 in top-level plugin dir, but instead
	  recurse down to the plugin/win32 dir.

2008-04-26 Robert Millan <rmh@aybabtu.com>

	* gui/gtk.cpp: make the preferences menu buttons more
	  intuitive.

2008-04-26 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/fb.cpp: do it again, as getenv is not const.

2008-04-26 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* gui/fb.cpp: fix const char warnings.

2008-04-26  Dossy Shiobara <dossy@panoptic.com>

	* configure.ac: Use AC_PATH_TOOL instead of
	  AC_PATH_PROG, which should automatically look for
	  cross-compiling tools.  Fixed the NSPR_CFLAGS check
	  and guarded the WINDRES checks, too.

2008-04-26 Sandro Santilli <strk@keybit.net>

	* configure.ac: AC_DEFINE_UNQUOTED saved the day
	  (rush hacking)

2008-04-26 Sandro Santilli <strk@keybit.net>

	* configure.ac: Oops, AC_DEFINE can't use variables,
	  will need to generate sysgnash{plugin}rc on 'make'
	  (as suggested by automake dox)

2008-04-26 Sandro Santilli <strk@keybit.net>

	* libbase/rc.cpp: explicitly initialize the default
	  value for _solsafedir to "/tmp/" (will be done
	  so by SharedObject.cpp for an empty string anyway);
	  drop the hard-coded DEFAULT_STREAMS_TIMEOUT as it's
	  now set at configure time.
	* configure.ac: provide DEFAULT_STREAMS_TIMEOUT, and
	  all the FLASH_VERSION macros as substitutable symbols;
	  generate libbase/sysgnashpluginrc and libbase/sysgnashrc
	* libbase/: Makefile.am, sysgnashpluginrc.in, sysgnashrc.in:
	  Provide systemwide default configuration files.
	  They are created and distributed, but still not installed.

2008-04-26 Sandro Santilli <strk@keybit.net>

	* libbase/rc.cpp: add support for 'include' directive,
	  cleanup parser to recognize empty lines and comments
	  not starting on first column and to be more verbose
	  about syntax errors (include line number).
	* gui/gtk.cpp: initialize members in constructor.

2008-04-26 Sandro Santilli <strk@keybit.net>

	* libbase/Makefile.am: provide a SYSCONFDIR define
	* libbase/rc.cpp: use SYSCONFDIR to find gnashrc, don't guess.
	* plugin/Makefile.am: provide a SYSCONFDIR define
	* plugin/plugin.cpp: use SYSCONFIDIR to add a system-wide
	  gnashpluginrc to GNASHRC.

2008-04-25  Dossy Shiobara <dossy@panoptic.com>

	* configure.ac: Correctly locate windres executable when
	  cross-compiling for Win32 target.  Fix c/o Robert
	  Millan <robertmh>.  c.f. bug #20042 comment #7.

2008-04-25 Sandro Santilli <strk@keybit.net>

	* plugin/plugin.cpp: append ~/.gnashpluginrc to GNASHRC env (creating
	  that var if non-existing); use a static variable to tell if the
	  plugin was initialized already or not: this is as epiphany keeps
	  calling NS_PluginInitialize even if not supposed to (in a single
	  session). Tests highly welcome.
	* libbase/rc.cpp (loadFiles): allow GNASHRC env variable to be
	  a comma-separate list of rcfiles to parse.

2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Stage.{cpp,h}: register ASnative methods separately,
	  drop methods from Stage class, reduce reliance on Stage class
	  generally (needs to go completely for ASnative functions, as it's not
	  necessarily initialized in time). Case insensitive setters (fixes
	  part of swfdec scalemode test).
	* server/asobj/Global.cpp: register Stage ASnative functions from SWF5
	  (fixes another part of swfdec test).
	* server/StringPredicates.h: drop separate length test
	  (StringNoCaseEqual).
	* testsuite/swfdec/PASSING: scalemode tests pass.

2008-04-25 Sandro Santilli <strk@keybit.net>

	* gui/gui.cpp (updateStageMatrix): don't try to tell a NULL renderer
	  about an updated stage matrix... [ thanks bwy for finding this ].

2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/swfdec/PASSING: update for 13 new tests 
	  (all pass; nothing to do there).

2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/String.as: tests for String.split.

2008-04-25 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/swfdec_gnash_tester: don't make use
	  of .trace.org files, their format is unreliable, and
	  they are only available when swfdec developers think
	  complying with the proprietary player would be silly.
	* testsuite/swfdec/PASSING: 'constantpool-broken' and
	  'double' succeed (swfdec-expected behaviour).

2008-04-25 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionPushData): push undefined
	  (not 0) when accessing an out-of-bound constant index.

2008-04-25 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Makefile.am,
	  testsuite/misc-ming.all/Makefile.am,
	  testsuite/misc-mtasc.all/Makefile.am,
	  testsuite/misc-swfc.all/Makefile.am,
	  testsuite/misc-swfmill.all/Makefile.am,
	  testsuite/movies.all/Makefile.am,
	  testsuite/samples/Makefile.am,
	  testsuite/swfdec/Makefile.am:
	  Always use the testsuite-specific gnashrc, instruct
	  the GC to run w/out rest.

2008-04-24 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h} (instanceOf): don't consider
	  ourself as a prototype, use our __proto__ to check
	  for inheritance and interfaces instead. Accept generic
	  as_object, not just functions.
	* server/vm/ASHandlers.cpp (ActionImplementsOp):
	  Interfaces must be registered to 'prototype', not '__proto__'
	  of the target. (ActionInstanceOf): don't insist for the constructor
	  argument to be a function, logaserror for aserrors...
	* testsuite/misc-mtasc.all/implementsOpTest.as: no more failures here.
	* testsuite/actionscript.all/Inheritance.as: no more failures about
	  IMPLEMENTSOP / instanceof.
	* testsuite/swfdec/PASSING: implements.as succeeds in all versions,
	  instance-of-propflags succeeds in versions 5,8,9 (fails in 6,7)

2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as:
	  Don't run 'implementsop' tests if Ming doesn't
	  support it. Add a test to ensure we don't
	  choke on circular inheritance.
	* testsuite/actionscript.all/check.as: Ming support
	  for asm "implements" opcode was introduced in 
	  0.4.0.beta6

2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as:
	  Tests for implementsop (probably need a specific
	  Ming version, overlooked it for now).
	* testsuite/misc-mtasc.all/implementsOpTest.as:
	  More failing tests.

2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as:
	  Add a failing test for 'instanceof'.

2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-mtasc.all/implementsOpTest.as: 
	  Test instanceof when interfaces are involved
	  (gnash fails!)

2008-04-24 Sandro Santilli <strk@keybit.net>

	* server/swf/PlaceObject2Tag.h (hasCxform): fix typo
	  (did return hasMatrix). Fixes bug #23037.

2008-04-24 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Global.cpp: include tu_math.h for isfinite on
	  windows.
	* server/asobj/Stage.cpp: try to fix what looks like a compiler
	  bug on MinGW.

2008-04-24 Zou Lunkai <zoulunkai@gmail.com>
	
	* server/dlist.{h,cpp}: replace_character(), simplify the interface, 
	  drop some unnecessary args.
	* server/sprite_instance.{h,cpp}: adopt the new interface.
	
2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/Makefile.am: add rule to build
	  StageConfigTest.swf
	* gui/gui.cpp (resize_view): don't display if not started.

2008-04-24 Sandro Santilli <strk@keybit.net>

	* testsuite/server/ClassSizes.cpp: print sizeof Property* and
	  smartptr<PropertyList>

2008-04-24 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/movie_root.{cpp,h}: rename get{Width,Height} to
	  getStage{Width,Height}. Move implementation of Stage.width and
	  Stage.height to movie_root. Add docs.
	* server/asobj/Stage.{h,cpp}: drop class members moved to movie_root.
	  Handle setScaleMode in the getter/setter (no need for a duplicated
	  method in the Stage class). Update docs.

2008-04-24 Zou Lunkai <zoulunkai@gmail.com>

	* server/sprite_instance.cpp, server/BitmapMovieInstance.cpp:
	  set ratio value of dynamic characters to zero. All dynamic
	  characters' ratio should be default to zero in theory.
	
2008-04-24 Zou Lunkai <zoulunkai@gmail.com>

	* server/dlist.{h,cpp}: place_character(), simplify the interface, 
	  drop some unnecessary args.
	* server/sprite_instance.{h,cpp}, server/BitmapMovieInstance.cpp, 
	  testsuite/server/DisplayList.cpp: adopt the new interface of place_character().

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/asobj/Stage.h: make notifyResize a public method.
	* server/movie_root.cpp: only send onResize event when stage size
	  actually changes.
	* testsuite/actionscript.all/Stage.as: don't expect a call to onResize
	  when just assigning to scaleMode, it is reported to be a bug in
	  the proprietary player for linux.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/: Makefile.am, StageConfigTest.as:
	  Committed the test grew and used the whole day for stage testing.
	  It shows we still get Stage size wrong, but is not automated yet.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* testsuite/MovieTester.cpp (resizeStage): don't try
	  to use what I just dropped (isRescalignAllowed).

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/movie_root.{cpp,h}: Drop _allowRescale (does more
	  harm then a rebuild); broadcast a Stage.onResize event when
	  scaleMode is set to noScale (from something else).
	* testsuite/actionscript.all/Stage.as: XPASS the totals.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (set_display_viewport): use _scaleMode,
	  not the deprecated (and unmaintained) _allowRescale.
	  The latter should be dropped, just didn't feel like changing
	  the header again in this one :) We'll need to add more
	  methods for obtaining a string representatino of the new
	  enum values anyway.
	* gui/gui.cpp (updateStageMatrix): missing break in switch..

2008-04-23 Sandro Santilli <strk@keybit.net>

	* gui/gui.cpp (updateStageMatrix): add support for
	  all scale modes. Query all from movie_root.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/Stage.as: update passes.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/movie_root.h, server/asobj/Stage.cpp: it's exactFit,
	  not exactFill.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/movie_root.{cpp,h}: store scaleMode in movie_root,
	  add methods to set and query scale and align mode. Notify
	  Player when scaleMode changes. The method isRescalingAllowed
	  still works, probably not necessary.
	* server/asobj/Stage.cpp: leave scaleMode entirely to movie_root
	  as there's no point duplicating it.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Stage.as: test other valid values
	  for Stage.scaleMode, and add consistency checking (gnash fails
	  in NOT sending onResize event on scaleMode=noScale set).

2008-04-23 Sandro Santilli <strk@keybit.net>

	* gui/gui.cpp (updateStageMatrix): add support for all vertical
	  and horizontal alignments.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/movie_root.cpp: notify Player of Stage.align event.
	* server/asobj/Stage.cpp: drop unimplemented message for Stage.align.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/movie_root.{h,cpp}: add private members and enums
	  to track stage alignment.
	* server/asobj/Stage.{h,cpp}: set alignment in movie_root
	  when Stage.align changes. Stage is responsible for working
	  out the actual alignment when two competing alignments (L/R,
	  T/B) are set.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* gui/gui.{cpp,h}: Put stage matrix computation in its own
	  method (updateStageMatrix). Call on resize.
	* gui/Player.cpp: call Gui's updateStageMatrix when 
	  the Stage.align and Stage.scaleMode events are received.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/render.{cpp,h}: drop get_scale interface (unused).
	* backend/render_handler.h: add set_translation method, to
	  go togheter with set_scale for setting a "stage matrix".
	* backend/render_handler_agg.cpp, backend/render_handler_ogl.cpp:
	  Implement set_translation.
	* gui/gui.{cpp,h}: add x/y offset private member, compute offsets
	  and scales on resize_view configuring renderer accordingly
	  (align stage to center).
	  Use scale/offset in notify_mouse_moved for proper Window-to-Stage
	  coordinate conversion. 

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (clear): remove key/mouse listeners. Fixes
	  an assertion failure running levels.swf with PARANOIA_LEVEL > 1.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/movie_root.{cpp,h}: add a cleanupAndCollect() private method
	  so we don't forget to clean key/mouse listeners before invoking
	  the garbage collector. Fixes a few assertion failures with
	  GNASH_PARANOIA_LEVEL > 1 (others still fail).

2008-04-23 Sandro Santilli <strk@keybit.net>

	* gui/: fb.cpp, fltk.cpp, gtk.cpp, gui.{cpp,h}, kde.cpp, sdl.cpp:
	  Make pixel scale a Gui private, and drop accessors, Handle
	  it in Gui::notify_mouse_moved, now taking coordinates in 
	  user coordinate space.

2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/movie_root.{cpp,h}: drop unused pixel scale
	  and interfaces to it, update documentation for notify_mouse_moved.

2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/swfdec/PASSING: remove the 4 fails from yesterday's
	  commit, keep buildbot happy.

2008-04-23 Zou Lunkai <zoulunkai@gmail.com>

	* server/swf/PlaceObject2Tag.cpp: execute(), use the DLIST tag directly
	  instead of passing every single field.
	* server/sprite_instance.{h,cpp}: add_display_object(), move_display_object(),
	  replace_display_object(), pass the DLIST tag directly instead of the verbose
	  interface. still a halfway work.
	  
2008-04-23 Zou Lunkai <zoulunkai@gmail.com>

	* server/swf/PlaceObject2Tag.h: add some member functions
	  to access the private data.
	  
2008-04-23 Sandro Santilli <strk@keybit.net>

	* server/character.{cpp,h}, server/movie_root.h,
	  server/sprite_instance.{cpp,h}: drop get_mouse_state proxy.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* gui/gui.cpp (resize_view): immediate display on resize, fixes
	  that annoying flickering during resizes.
	* server/sprite_instance.{cpp,h}: drop get_pixel_scale proxy.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* server/swf/StartSoundTag.cpp (read): log unimpl once about
	  syncNoMultiple flag.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* libbase/GC.{cpp,h}: use GNASH_GC_TRIGGER_THRESHOLD environment
	  variable, if any, to set number of newly registered collectables
	  since last run before a new collection starts.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp (on_event,
	  on_button_event): ignore events if unloaded.
	  Fixes bug #22982.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* server/dlist.h, server/movie_root.{cpp,h}: set
	  GNASH_PARANOIA_LEVEL if not already set, use it
	  to engage expensive assertions when > 1.

2008-04-22 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/as_prop_flags.h: add onlySWF9Up to cleared visible flags
	  (copied blindly from swfdec, like much of this file). Drop
	  static const member for flags mask, as it's used exclusively
	  in Global.cpp.
	* server/asobj/Global.cpp: move flag mask here, make onlySWF9Up
	  overridable, which gives new 27 swfdec testsuite passes and
	  four failures. The only effective change is the addition
	  of onlySWF9Up to the mask; to revert, remove it.
	* testsuite/swfdec/PASSING: new passes.
	* server/vm/CodeStream.h: add brackets to shut gcc 4.3 up.

2008-04-22 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfc.all/: Makefile.am, button_test2.sc:
	  Add zou test for bug #22982 (still not automated - read
	  comments in it for how to reproduce).

2008-04-22 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.{cpp,h}: override
	  ::destroy (every character overriding ::unload should
	  do this).

2008-04-21 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/LocalConnection.cpp: log unimplemented message only
	  once, drop c_str() where appropriate and other minor cleanups.

2008-04-21 Sandro Santilli <strk@keybit.net>

	* server/parser/button_character_def.cpp (readDefineButton2):
	  Check 'next_action_offset' field in DEFINEBUTTON2 action records.

2008-04-21 Sandro Santilli <strk@keybit.net>

	* testsuite/server/: ClassSizes.cpp, Makefile.am:
	  Add a simple prog to report common class sizes.
	  It's not a real test so won't be run, but will
	  be built on 'make check' or you can build
	  manually (make ClassSizes) to see.

2008-04-21 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/: (many files) GNASH_USE_GC is defined in smart_ptr.h,
	  not gnashconfig.h. Make sure it's explicitly included wherever
	  GNASH_USE_GC is needed. Drop more gnashconfig.h includes. Replace
	  SIZET_FMT with %d now that we use boost::format (removes need to
	  include gnashconfig.h).
	* libbase/log.h: define LOG_ONCE to replace the ONCE implementations
	  in various server/ files.
	* server/vm/ActionExec.cpp, server/vm/ASHandlers.cpp: replace
	  SIZET_FMT.

2008-04-20 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Date.{h,cpp}: make date_as_object into Date class,
	  remove direct access to value member. Drop remaining casts; use
	  to_int() instead.
	* testsuite/actionscript.all/ASnative.as: more tests for ASnative
	  date function. All full AS classes with ASnative 'constructors'
	  need some redoing (Date, for instance).	

2008-04-19 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.cpp (textfield_setTextFormat): use
	  the fontlib to reuse existing fonts.
	* server/fontlib.{cpp,h}: have fontlib::get_font(name, bold, italic)
	  create a new font if none was found.

2008-04-19 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp (on_button_event):
	  Push all events to the global queue. Tested this locally, no
	  automated test.

2008-04-19 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/LocalConnection.cpp: log unimplemented for LC send.

2008-04-19 Sandro Santilli <strk@keybit.net>

	* server/parser/movie_def_impl.cpp (isSelfThread): 
	  boost 1.35 changed semantic of default constructor
	  for boost::thread class.

2008-04-19 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/Makefile.am: remove files
	  in chunks on make clean (too many args to rm!).

2008-04-19 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp (set_current_state):
	  Don't forget set_invalidated when characters are *added*
	  and not *removed* from the set of active ones.

2008-04-18 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.{cpp,h}: 
	  Redesign buttons' "DisplayList" doing proper
	  load/unload and depth-shift. Execute statically-defined
	  button actions by pushing them on stack (movie_root
	  will take care of processing after event).
	* testsuite/misc-ming.all/ButtonEventsTest.c:
	  No more failures in the test. Looking forward for
	  more tests :)

2008-04-18 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/: ButtonEventsTest.c,
	  ButtonEventsTest-Runner.cpp: Add test for shape-sensible
	  hitTest agains containing mouse-grabbing sprite, add
	  test code (not automated) for key events.
	* server/button_character_instance.cpp:
	  Reduce direct access to the m_record_character member,
	  which will need to be changed for proper design.
	  As a side-effect, fix pointInShape so to consider
	  all characters for current state, not just the first one.

2008-04-18 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp,
	  server/parser/button_character_def.{cpp,h}:
	  Abstract access to button actions, now parser-private.

2008-04-18 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/ButtonEventsTest.c: enable a test snippet
	  that was failing to execute. Add constency checking for the
	  self-contained tests. Add test showing that unloaded (depth-shifted)
	  characters are still referenceable.

2008-04-18 Russ Nelson <nelson@crynwr.com>

	* consolidate all WARNING messages for display at the end of
	  configure's output, along with a notice saying that gnash
	  should compile anyway.
	* configure.ac: move cerr and cwarn to /tmp; they're truly temporary.

2008-04-18 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp: use staticDepthOffset
	  for depth-shifting.
	* testsuite/misc-ming.all/: ButtonEventsTest-Runner.cpp,
	  ButtonEventsTest.c: Add test for child load/unload.
	  Gnash is being very wrong here..

2008-04-18 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (stop_drag): there's no reason why
	  stop_drag shouldn't be called on the root movie, that code
	  will simply ask movie_root to stop dragging whatever is being
	  dragged currently (independently from on which sprite/movie
	  it is called). Should fix bug #22970.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* server/character.{cpp,h}: make get_root return m_root no matter
	  lockroot and provide a new getAsRoot() for lockroot-aware
	  operations.
	* server/as_environment.cpp, server/button_character_instance.cpp,
	  server/sprite_instance.{cpp,h}, server/swf_function.cpp:
	  Use getAsRoot() when the _root member is needed, implement it
	  to check _lockroot on every component of the path, and to
	  check for movie (not VM only) version.
	  Fixes bug #22930.
	* testsuite/swfdec/PASSING: movieclip-lockroot-{7,8}.swf and
	  movieclip-lockroot-loadmovie-6.swf complete the lockroot
	  test series.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* configure.ac: drop the trap, messes up with autoconf internals.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* configure.ac: don't leave a stale 'cerr' file around, open
	  it only once for writing.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* server/FreetypeGlyphsProvider.{cpp,h}: add a unitsPerEM() method
	  to retrive the nominal EM square size. Currently always 1024
	  but could theoretically match the underlying freetype EM square.
	* server/font.{cpp,h}: add a unitsPerEM() method workign both
	  for device and embedde fonts, both DEFINEFONT kinds (small
	  and largs).
	* server/edit_text_character.cpp, server/text.cpp:
	  don't assume EM square is 1024x1024, fetch from font instead.
	  Fixes bug #22965.

2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/actionscript.all/case.as: test for case collision
	  in _global properties.
	* testsuite/actionscript.all/String.as: test SWF5 properties
	  too.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* server/parser/movie_def_impl.{cpp,h}:
	  Add a boost::barrier based mechanism to make
	  sure the loader thread execution waits for 
	  the _thread member to be assigned-to.
	  Hopefully fixes bug #22915 and represents
	  a model for other thread starterts to follow
	  to avoid time-sensible joins aka segfaults
	  on exit.

2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Color.{h,cpp}: register ASnative separately.
	* server/asobj/Global.cpp: only load Color on demand. I think
	  this won't reintroduce the old string_table lookup bug, but
	  this is where to revert if it does happen (until a better
	  solution is found).
	* testsuite/actionscript.all/Color.as: test variables with same
	  name as class (case insensitive). Doesn't really get the problem,
	  but this should be tested as well.

2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* libbase/utf8.h: visibility...
	* server/character.cpp: use std::floor instead of cast to int.

2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/System.{h,cpp}: allow registering ASnative functions,
	  add notes for unimplemented ASnatives.
	* server/asobj/Global.cpp: register System ASnative functions at
	  startup.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* server/asobj/xml.cpp: handle BOM in XML input.
	* testsuite/media/gnash.xml: add utf8 BOM.

2008-04-17 Sandro Santilli <strk@keybit.net>

	* libbase/utf8.{cpp,h}: add a stripBOM interface and a TextEncoding
	  enum to deal with BOMs.
	* server/LoadVariablesThread.cpp: handle BOMs, fixing failure in
	  actionscript.all/MovieClip.as
	* server/asobj/LoadVars.cpp: delegate BOM handling to the new
	  specialized utf8:: interface.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/LoadVars.as: check that getBytesLoaded()
	  is bigger then 0 when onLoad is received>
	* server/asobj/LoadVars.cpp: handle BOM mark in input file.
	  Fixes bug #19915.
	* testsuite/media/vars.txt: add UTF8 BOM mark.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/LoadVars.as: test that LoadVars::decode()
	  would not skip BOM.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.{cpp,h}: implement movie info
	  tree filler so to print state and childs.

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/types.h: drop some dead code. (PIXELS_TO_TWIPS) don't
	  divide by a float; it introduces unnecessary inaccuracy.
	* server/character.cpp: drop debugging calls I forgot to remove.
	  They weren't that helpful anyway.
	* testsuite/actionscript.all/MovieClip.as: tests passing.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* configure.ac, testsuite/misc-ming.all/Makefile.am:
	  It takes Ming 0.4.0.beta6 for SWFButton_setDepth.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (can_handle_mouse_event):
	  A MovieClip can't handle mouse event if it's not enabled.
	  If no 'enabled' member is found, sprite is considered
	  enabled.
	* testsuite/misc-ming.all/SpriteButtonEventsTest-Runner.cpp:
	  success in "active" entity state based on .enabled member.

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/character.cpp: x and y translation should be
	  rounded down to next twip.
	* testsuite/actionscript.all/MovieClip.as: tests for _x and
	  _y.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (generate_mouse_button_events): don't let
	  handling of mouse DOWN-to-UP transition handling change the
	  status and thus trigger further processing of UP-MOVING pointer.
	* testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: fix expected
	  results + successes (we won't send RollOut after ReleaseOutside
	  now).
	* testsuite/misc-ming.all/SpriteButtonEventsTest-Runner.cpp:
	  successes (we won't send RollOut after ReleaseOutside now).

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* testsuite/swfdec/PASSING: some newly added swfdec tests
	  pass (_lockroot).

2008-04-16 Sandro Santilli <strk@keybit.net>

	* server/vm/action.cpp: onRelease_Outside -> onReleaseOutside
	* testsuite/swfdec/PASSING: asnative-create-{5,6,7,8} success.

2008-04-16 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/: SpriteButtonEventsTest-Runner.cpp,
	  SpriteButtonEventsTest.c:
	  Runner was running the wrong test, too the chance to
	  cleanup both test and runner. Exposes a few interesting bugs.

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>

	* server/asobj/Global.cpp: trace is ASnative(100, 4).
	* server/FreetypeGlyphsProvider.cpp: Disable device font debugging
	  by default again.

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/Date.{h,cpp}, server/asobj/Mouse.{cpp,h}: register
	  Native functions separately.
	* server/asobj/Global.cpp: register Mouse and Date ASnative
	  functions for SWF5+ at startup so that they are always available.
	* testsuite/actionscript.all/Mouse.as: couple of new tests.
	* testsuite/actionscript.all/Date.as: tests for ASnative(103, 256):
	  _global.Date. (Will fail, unsurprisingly).
	* server/FreetypeGlyphsProvider.cpp: log filename of selected font
	  when verbosely debugging.

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/{GMath.h,Math.cpp}: split registering native
	  functions into a separate method (registerMathNative), which
	  must be called at startup (logical enough...), or at least
	  before the Math class is initialized.
	* server/asobj/Global.cpp: register Math ASnative functions
	  at startup for SWF4+. Return to loading Math class on demand.
	  Notify ClassHierarchy about Date initialization (though this
	  can be reverted if Date ASnatives are initialized separately).

2008-04-16 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/ButtonEventsTest.c: self-contain
	  tests for NOT receiving unexpected events, gnash failure
	  is more explicitly visible now (gets an additional
	  unexpected MOUSEOUT event when MOUSEUPOUTSIDE is expected).

2008-04-16 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/: ButtonEventsTest-Runner.cpp,
	  ButtonEventsTest.c: cleanup the test so to guide
	  humans trough non-automated testing. Interestingly
	  enough gnash seems to support onMouseUpOutside, but
	  probably just sends an onMouseUp immediately afterwards,
	  which would explain the failure in test runner.
	  Another pass at this test might make the failure even
	  more visible (self-contained).

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/Global.cpp: register parseInt, parseFloat,
	  escape, unescape, isNaN and isFinite as ASnative.
	* testsuite/actionscript.all/ASnative.cpp: test global
	  ASnative functions

2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/Global.cpp: init Date class at startup
	  so that its ASnative functions are registered.
	* testsuite/actionscript.all/ASnative.cpp: test Date
	  ASnative getter functions (all fine now).

2008-04-15 Russ Nelson <nelson@crynwr.com>

	* consolidate all ERROR messages for display at the end of
	  configure's output
	* testsuite/libgeometry/Makefile.am: can't run an executable
	  using "sh executable" -- it interprets it as a script.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/vm/VM.{h,cpp}: move implementation of registerNative
	  (makes debugging friendlier).
	* server/asobj/Global.cpp: don't only load Math class on demand
	  or its ASnative functions may not be registered when needed!
	* testsuite/actionscript.all/ASnative.as: Math tests now pass.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* testsuite/actionscript.all/ASnative.as: 36 tests for ASnative.
	  All of them fail :-(
	* testsuite/actionscript.all/Makefile.am: new test.

2008-04-15 Sandro Santilli <strk@keybit.net>

	* server/LoadVariablesThread.cpp, server/sprite_instance.cpp,
	  server/asobj/LoadVars.cpp: use compile-time defines to enable
	  debugging of variables load.

2008-04-15 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/button_character_instance.cpp: call set_invalidated() *before*
	  changing anything (does not really change anything, but who knows...)
	  
2008-04-15 Sandro Santilli <strk@keybit.net>

	* configure.ac, testsuite/misc-ming.all/Makefile.am:
	  New code in ButtonEventsTest.c require Ming 0.4.0.beta5.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/Math.cpp: internal functions can have internal
	  linkage.

2008-04-15 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp (set_current_state):
	  Cleanup, indent and comment code looking for invalidation.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* testsuite/actionscript.all/Mouse.as: tests for mouse prototype
	  (one fail before this commit).
	* server/asobj/Mouse.cpp: Mouse is not an instantiatable class.
	  Drop unused mouse_ctor, drop class constructor. Attach interface
	  to singleton Mouse object. The new test passes.

2008-04-15 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* gui/gtk.cpp: refresh view when leaving "show updated regions" mode
	  
2008-04-15 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: 
	  Check rendering of the additional state character.
	* testsuite/misc-ming.all/ButtonEventsTest.c: add a second
	  smaller character for each state making sure it's listed 
	  before the wider but is at higher depth. This is very focused
	  on testing the just-fixed bug in button's getBOunds.
	* server/button_character_instance.cpp (getBounds): consider
	  bounds of all active child characters, not just the first
	  found, and appropriately transform them with their matrix.

2008-04-15 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp: revert use of
	  m_child_invalidated in add_invalidated_bounds as per
	  Udo's request.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/System.{h,cpp}: System is not a proper class,
	  so doesn't need a constructor.
	* server/asobj/{Math.cpp,GMath.h}: Math is not a proper class, so
	  doesn't need a constructor. Drop unused 'Math' class in
	  header. Register ASnative functions, make all Math members
	  read-only.

2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* testsuite/actionscript.all/Math.as: tests for Math class
	  instantiation (not a proper class).
	* testsuite/actionscript.all/System.as: tests for System
	  object. 

2008-04-14 Benjamin Wolsey <bwy@benjaminwolsey.de>
	
	* server/asobj/Date.cpp: register date members as native.
	* server/asobj/Math.cpp: document ASnative functions.

2008-04-14  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/amf.{h,cpp}: Use size_t instead of int.
	* libamf/buffer.cpp: Drop bogus size test when copying buffers.
	* testsuite/libamf.all/test_amf.cpp: Create test object that
	matches packet captured one.

2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
	
	* testsuite/actionscript.all/System.as: test hasOwnProperty for
	  SWF6+, be more selective about testing different versions.
	* server/asobj/System.cpp: exactSettings only available in SWF6
	  or above.

2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: gdk_screen_get_resolution only available from
	  version 2.10 onwards (thanks buildbot!).

2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/System.cpp: correct formatting of serverString.
	* gui/Player.cpp, gui/gui.h, gui/gtk{sup.h,.cpp}: get screen
	  resolution in DPI (doesn't agree with the pp, but no idea
	  which is correct).

2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* utilities/processor.cpp: return some fake values for
	  System.capabilities requests.

2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/System.cpp: add useCodepage and exactSettings
	  getter-setters. The getters return the notionally correct
	  values; setters are unimplemented. Pass screenDPI and
	  screenColor requests on to frontend.
	* testsuite/actionscript.all/System.as: test new System properties.

2008-04-13  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/amf.cpp: Bools are two bytes for AMF, so use a uint16_t,
	not a bool when copying data. If the name is set, then it's a
	variable for encoding.
`	* libamf/amf.h: Use Network::byte_t instead of char for constants.
	* libamf/element.cpp: Elements, encode thyself instead of leaving
	it for an AMF object to do it.
	* testsuite/libamf.all/test_el.cpp: Test the children too.
	* testsuite/libamf.all/test_amf.cpp: Test the AMF class.
	* testsuite/libamf.all/Makefile.am: Add test_amf.

2008-04-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/System.cpp: add windowlessDisable, reorder.
	* testsuite/actionscript.all: test windowlessDisable.

2008-04-12  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/element.cpp: Use new check_buffer() to reduce code
	bloat. Add a few more make* methods, now all object types are
	covered.
	* libamf/element.h: Add private method to check the data buffer to
	replace often duplicated code.
	* testsuite/libamf.all/test_el.cpp: Add more make* tests, add
	tests for == and = operators.

2008-04-11  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/buffer.cpp: Redesign the ::resize() method. Add more
	::copy() methods for bool and doubles.
	* libamf/element.cpp: When invoking one of the make* methods for
	initializing an object, all allocate memory if none has been done so
	yet. Implement a few more object creation types.
	* libamf/element.h: Add a few more object creation methods.
	* testsuite/libamf.all/test_buffer.cpp: Test new ::copy()
	methods. Default to a nop if DejaGnu isn't installed. 
	* testsuite/libamf.all/test_el.cpp: Use	arg_parser instead of
	getopt. Default to a nop if DejaGnu isn't installed. Add more
	tests for construction, and the making of Elements.
	* testsuite/libamf.all/test_amf.cpp: New test case for AMF class.
	* testsuite/libamf.all/Makefile.am: Add test_amf.
	
2008-04-11  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/buffer.h: Check _seekptr, not nbytes to determine if a
	buffer is ::empty().
	* libamf/buffer.cpp: Fix bugs in ::remove() method.
	* testsuite/libamf.all/buffer.cpp: Add tests for ::remove().
 
	* libamf/buffer.{h,cpp}: Cleanup minor bugs found by newly
	expanded test case. Rename empty() to clear().
	* libamf/amf.cpp: Don't take 1 off the end of the string. Comment
	out some stuff that will be deleted later, it's been moved to the
	Element class.
	* libamf/element.cpp: Add makeNumber that takes a variable name.
	* testsuite/libamf.all/test_buffer.cpp: Add many new tests for all
	methods. This makes it much easier to more thoroughly test for
	memory problems.
	* testsuite/libamf.all/test_lc.cpp: Clean up error handling.
	* libbase/shm.cpp: Handle permission errors better.
	* libbase/gmemory.h, memory.cpp: Use size_t instead of int.

2008-04-11 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp (add_invalidated_bounds):
	  check m_child_invalidated. Partially fixes bug #22904.

2008-04-11 Sandro Santilli <strk@keybit.net>

	* server/text.{cpp,h}: make has{x,y}offset flags and {x,y}offset
	  values private.
	* server/parser/text_character_def.cpp: updated to avoid direct
	  access to text_style now-private members.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* configure.ac: allow disabling movie properties separately from
	  menus. It can't presently be viewed without the menus, but may
	  be useful for debugging (dumping movie information).
	* server/character.{h,cpp}, server/movie_root.{cpp,h},
	  server/sprite_instance.{cpp,h}, gui/gtk{.cpp,sup.h},
	  gui/gui.{cpp,h}: update ifdefs, make sure all tree-related
	  code is ifdeffed out.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/character.h: tree is not defined if tree.hh is not
	  included.

2008-04-11 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/TextFormat.as: success in indent
	  and blockIndent tests.

2008-04-11 Sandro Santilli <strk@keybit.net>

	* server/text.h: don't forget to initialize
	  the _underline member.
	* server/text.cpp (display_glyph_records): don't reset
	  the x/y offsets on every new glyph record (useful for
	  static text) - was a regression I introduced with last 
	  commit.
	* testsuite/misc-ming.all/: DefineTextTest-Runner.cpp,
	  DefineTextTest.c, Makefile.am: new test for static text
	  (would fail with the regression introduced in
	  last commit).

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: explicit cast to int to silence warnings on some
	  machines.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gui.{cpp,h}, gui/gtk.cpp: cleanup and rename region debugging
	  ifdef.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gui.{cpp,h}: add flag for showing invalidated ranges for
	  runtime option. Enable show invalidated ranges by default, 
	  check runtime flag.
	* gui/gtk{sup.h,.cpp}: menu option to turn on showing invalidated
	  ranges.

2008-04-11 Sandro Santilli <strk@keybit.net>

	* server/asobj/TextFormat.cpp: implement getter-setter for
	  'underline'
	* testsuite/misc-ming.all/DefineEditTextTest.c: test 
	  getTextFormat().underline.
	* server/edit_text_character.{cpp,h}, server/text.{cpp,h}:
	  Implement text underlining.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/System.as: correct expected results.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/System.cpp: add hasTLS property, reorder server string
	  to match pp and document.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/System.as: tests for undocumented
	  functions.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/System.as: test for hasIME and hasTLS. 
	  The former doesn't exist on at least one pp version but is
	  documented.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: a way of getting pixel aspect ratio.

2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: cleaner way to get screen size.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.{cpp,h}: add support for
	  block indentation (that is, indentation of every line
	  in a block of text, including those generated by word-wrap).
	* server/asobj/TextFormat.cpp: implement getter-setter for
	  blockIndent.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test blockIndent.

2008-04-10 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/edit_text_character.cpp: get_topmost_mouse_entity() should
	  return NULL if *not* selectable, not when selectable	

2008-04-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all: Date constructor tests.
	* server/asobj/Date.cpp: correct constructor to return
	  current time when not called with new.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.cpp (setTextFormat): don't
	  use uninitialized members of a TextFormat.
	* server/asobj/TextFormat.{cpp,h}: support concept
	  of "undefined" members; fix constructor.
	* testsuite/actionscript.all/TextFormat.as: test that
	  most properties of a TextFormat are null when not
	  initialized; and test initialization.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/Video-EmbedSquareTestRunner.cpp: don't
	  check colors on the corners, and sample some more pixels around
	  the point.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/asobj/TextFormat.{cpp,h}: implement color getter-setter
	* server/edit_text_character.cpp: fix handling of TextField.color.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test TextFormat.color.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/asobj/TextFormat.cpp: implement leading getter-setter.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test leading.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/asobj/TextFormat.{cpp,h}: implement align getter-setter
	* testsuite/misc-ming.all/DefineEditTextTest.c: test align.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/asobj/TextFormat.cpp: implement leftMargin and rightMargin
	  getter-setters.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test leftMargin and
	  rightMargin, improve test indent.

2008-04-10 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.cpp: add bold,italic and indent support
	  in getTextFormat and setTextFormat; proxy setNewTextFormat to 
	  setTextFormat (still unimplemneted but at least would do something)
	* server/font.{cpp,h}: allow specifying bold and italic modifiers
	  in the device-font constructor; add getters for them.
	* server/asobj/TextFormat.{cpp,h}: implement getter-setter for
	  bold, italic and indent; make properties enumerable.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test bold, italic
	  and indent values from TextField.getTextFormat.

2008-04-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.{cpp,h}: allow registering callback to receive
	  log messages.

2008-04-10 Zou Lunkai <zoulunkai@gmail.com>

	* server/parser/movie_def_impl.{h, cpp}, server/parser/movie_definition.h,
	  server/parser/sprite_definition.{h,cpp},
	  server/swf/PlaceObject2Tag.cpp, RemoveObjectTag.cpp,
	  server/sprite_instance.cpp: drop obsolete timeline
	  handling.	  

2008-04-09 Sandro Santilli <strk@keybit.net>

	* libbase/ref_counted.h, libbase/smart_ptr.h: const-correctness.
	* server/edit_text_character.{cpp,h}: partially implement setTextFormat
	  and getTextFormat; keep font by intrusive_ptr to avoid leak of
	  AS-created fonts [should be optimized to leave ownership to fontlib]
	* server/asobj/Makefile.am: add FREETYPE_CFLAGS
	* server/asobj/TextFormat.{cpp,h}: implement getter-setters for font
	  size and name.
	* testsuite/misc-ming.all/DefineEditTextTest.c: test
	  getTextFormat()'s font and name.

2008-04-09 Sandro Santilli <strk@keybit.net>

	* server/Makefile.am, server/textformat.{cpp,h},
	  server/asobj/Global.cpp, server/asobj/Makefile.am,
	  server/asobj/TextFormat.{cpp,h}:
	  Move TextFormat stuff under asobj/
	* server/parser/edit_text_character_def.h,
	  server/parser/text_character_def.h: remove unused (and now
	  obsoleted) textformat.h include.

2008-04-09 Sandro Santilli <strk@keybit.net>

	* server/textformat.{cpp,h}: stub TextFormat in the up-to-date way
	* server/asobj/ClassHierarchy.cpp: don't include textformat.h
	* server/asobj/Global.cpp: initialize TextFormat object in the 
	  proper way (and from swf5 up).
	* server/parser/edit_text_character_def.h: drop unused functions
	  referencing textformat.
	* testsuite/actionscript.all/: Makefile.am, TextFormat.as: initial
	  simple test for TextFormat object
	* testsuite/misc-ming.all/DefineEditTextTest.c: test that a TextFormat
	  is constructed on demand (TextField.getTextFormat).

2008-04-09 Sandro Santilli <strk@keybit.net>

	* server/text.{cpp,h}: don't include textformat.h
	* server/vm/action.cpp: reduce header inclusion, drop obsoleted
	  comments and code.
	* server/movie_root.cpp (fire_mouse_event): catch ActionLimit
	  exceptions triggered by immediate event execution
	  (see bug #22756).

2008-04-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/System.cpp: fetch some information from gui. Put in
	  default values for other System.capabilities members.
	* gui/gui.h: virtual methods to fetch screen dimensions
	  and pixel aspect ratio.
	* gui/gtk{sup.h,.cpp}: implement getting screen height and width.
	* gui/Player.h: add System.capabilities to callback function.
	* testsuite/actionscript.all/System.as: update expected results.

2008-04-09 Sandro Santilli <strk@keybit.net>

	* libbase/GC.cpp: don't need to include builtin_function.h.

2008-04-09 Sandro Santilli <strk@keybit.net>

	* server/parser/sprite_definition.h: overrides from public virtuals
	  in base class can as well be public here; comment out the
	  assertion insisting in getPlaylist requiring a frame number <
	  the advertised number of frames (we must support advertising
	  less frames then available, in particular: 0).
	* server/parser/sprite_definition.cpp (read): always warn about
	  malformed swf, not just the first time. It will stop at end of
	  parsing anyway.
	* server/sprite_instance.cpp:
	  (stagePlacementCallback): still try to execute tags in first frame,
	  even if there were no SHOWFRAME tags (fixes bug #22872).
	  (sprite_currentframe_get): return min between loaded frame
	  and current frame (well, yes, it seems real current frame may be
	  > then loaded, in gnash model).
	* server/swf/tag_loaders.cpp (sprite_loader): warn' here about
	  no frames advertised (so we have the character id).
	* testsuite/misc-swfmill.all/zeroframe_definesprite.xml: test
	  that tags in first frame of a 0-advertised 0-showframe 
	  sprite are still executed.

2008-04-08 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h}: add init_readonly_property taking
	  string_table::key directly.
	* server/sprite_instance.cpp (attachMovieClipProperties): use named
	  strings to avoid 22 string_table lookups for each created sprite.
	* server/edit_text_character.cpp: parseAutoSizeValue must be
	  case-insensitive; implement TextField.length.
	* testsuite/actionscript.all/TextField.as: successes

2008-04-08 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/DefineEditTextTest.c: more tests
	  for _parent, _xscale, _yscale, _xmouse and _ymouse.

2008-04-08 Russ Nelson <nelson@crynwr.com>

	* configure.ac: suggest "apt-get install swftools"
	* macros/boost.m4: don't -I/usr/include

2008-04-08 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.cpp (attachTextFieldInterface):
	  add support for _parent, _{x,y}mouse and _{x,y}scale using
	  native getter-setter in the prototype.
	* testsuite/actionscript.all/TextField.as: sane tests pass,
	  insane fail.

2008-04-08 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/TextField.as: test _parent. 
	  textfields need some love...
	* testsuite/swfdec/REALTIME: run netstream-dimensions.swf in
	  real-time.
	* utilities/processor.cpp: don't parse rcfiles twice.

2008-04-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: charAt returns a string.
	* testsuite/swfdec/PASSING: charat-6 to 8 pass.

2008-04-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/swfdec/PASSING: update new passing tests.

2008-04-08 Sandro Santilli <strk@keybit.net>

	* server/asobj/xml.{cpp,h}: rework parsing so it doesn't
	  try to recover at first, but does in a more compatible way
	  on second try. Fixes parsing of STUDENT.xml in bug #22819.
	* testsuite/actionscript.all/XML.as: parsing of gnashrc.xml work
	  more compatibly now.
	* testsuite/swfdec/PASSING: string-object-tostring-{5,6,7,8}.

2008-04-07 Russ Nelson <nelson@crynwr.com>

	* GAH!  Checked in too much.

2008-04-07 Russ Nelson <nelson@crynwr.com>

	* Make sure that an existing libming is properly detected, so that
	  we don't tell people to install a libming-dev which is already
	 there.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/swfdec/PASSING: update for some new tests
	  (constant-pool-when-lookup.as)

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Mouse.cpp: expect a return value from Mouse.show and
	  Mouse.hide callbacks, and return it (as an integer 1 or 0, not a
	  boolean).
	* gui/gtk{.cpp,sup.h}, gui/fb{.cpp,sup.h}, gui/gui.{cpp,h}: return
	  true if Mouse was visible before the call; otherwise false.
	* gui/Player.cpp: pass Mouse return as "true" or "false".
	* utilities/processor.cpp: replicate event callback for Mouse.show
	  and .hide. Return whether hypothetical mouse was visible or not.
	* testsuite/swfdec/PASSING: mouse-show-hide test passes (relies on
	  processor and gui acting the same).

2008-04-07 Sandro Santilli <strk@keybit.net>

	* libnet/cque.cpp: implement safe ::merge method. 

2008-04-07  Rob Savoye  <rob@ripple.welcomehome.org>

	* libnet/cque.cpp: Only delete the pointer if we actually have
	data. Handle merging differently to eliminate problem with
	singular interators. Not this fixes the abort, but leaks memory as
	the original buffers aren't removed from the que like they need to
	be. This at least get make check working for libnet.all.
	* testsuite/libamf.all/test_sol.cpp: Don't check the bogus data for
	default camera.

2008-04-07 Sandro Santilli <strk@keybit.net>

        * server/as_object.cpp (add_property): invoke the watch trigger
	  if replacing an existing property.
	* testsuite/actionscript.all/Object.as: 6 more successes.

2008-04-07  Dossy Shiobara <dossy@panoptic.com>

	* libbase/ClockTime.h: Win32 needs to include <sys/time.h> too.

2008-04-07 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Object.as: another test to show
	  difference in watch triggers calls between adding a getter
	  setter for an existend or unexistend property.

2008-04-07 Sandro Santilli <strk@keybit.net>

	* server/Property.{cpp,h}: expose interface to set/get "cache" value
	  (only meaningful for getter-setters)
	* server/PropertyList.{cpp,h}: (addGetterSetter) takes an additional
	  value to set the cache value
	* server/as_object.cpp: don't unwatch existing getter-setters, use
	  cache setter-getters for passing and using return of triggers on
	  values.
	* testsuite/actionscript.all/Object.as: average of 9 successes.
	* testsuite/swfdec/PASSING: object-watch-6.swf succeeds (7 and 8
	  still fail).

2008-04-07 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Object.as: test that a watch trigger is
	  sticky once a getter-setter is being watched.

2008-04-07  Rob Savoye  <rob@ripple.welcomehome.org>

	* libnet/cque.cpp: Enable ifdef'd out deletion of buffers from the
	cque at destuction time.
	* libnet/http.cpp: Don't forget to pass in the filetype.
	* libamf/element.cpp: Enable deletion of the buffer when an an
	Element is destructed.
	* plugin/Makefile.am: Get all shared libraries, not just the ones
	that end in .so.
	
2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all: drop more tests that are dependent on
	  timezone, with comments.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/ClockTime.{cpp,h}: drop left-over w32 function; should
	  help compiling...

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/ClockTime.{cpp,h}: fix build for systems with no
	  localtime_r; add safety checks.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/Time.{cpp,h}: renamed.
	* libbase/ClockTime.{cpp,h}: renamed from Time.{cpp,h}.
	* libbase/Makefile.am: reflect name change.
	* libbase/WallClockTimer.cpp, server/SystemClock.cpp,
	  utilities/processor.cpp, gui/gui.cpp,
	  server/asobj/NetStreamFfmpeg.cpp, server/asobj/Date.cpp: update
	  includes.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: add getUTCYear(), fix setMilliseconds,
	  fix setFullYear.
	* testsuite/actionscript.all/Date.as: drop tests that vary according
	  to local timezone. Add tests for getUTCYear, more passes for
	  milliseconds and full year.

2008-04-07 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Object.as: test that native
	  getter-setters (assuming MovieClip._target is one of them)
	  will not provide an underlying value for overriding user
	  defined property.

2008-04-07 Sandro Santilli <strk@keybit.net>

	* libmedia/gst/gstflvparse.c, server/asobj/NetStream.cpp,
	  server/asobj/NetStream.h, server/asobj/NetStreamGst.cpp:
	  Applied bastiaan patch for proper INVOKE tag processing,
	  will hopefully fix distcheck on gnashdev.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gui.cpp: get_ticks -> getTicks.

2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/Time.{cpp,h}: clean up headers again.

2008-04-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/Time.{cpp,h}: sys/time.h should be included; let's see if
	  this fixes the win32 build.

2008-04-06  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/libamf.all/test_el.cpp: Use new make* methods for
	constructing elements.
	* libamf/element.cpp: Apply strk's patch for initializing private
	data.
	* libnet/cque.{h,cpp}: Apply part of strk's patch for merging
	buffers.
	* libamf/sol.cpp: Copy a buffer by it's reference(), not it's base
	address.

2008-04-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/tu_timer.{cpp,h}: drop, functions moved to Time.{cpp,h}.
	* libbase/Time.{cpp,h}: new file to collect all platform- and
	  implementation-dependent clock time code in namespace clocktime.
	  Includes the used functions of tu_timer, timezone detection
	  from Date.cpp and a partial boost date-time implementation of a
	  timer (not enabled by default).
	* libbase/Makefile.am: add Time, remove tu_timer.
	* libbase/WallClockTimer.cpp: change from tu_timer to clocktime.
	* server/SystemClock.cpp: tu_timer -> clocktime.
	* utilities/processor.cpp: tu_timer -> clocktime.
	* gui/gui.cpp: tu_timer -> clocktime.
	* server/asobj/NetStreamFfmpeg.cpp: tu_timer -> clocktime.
	* server/asobj/Date.cpp: update methods to take account of local
	  timezone. The calculation of timezone, now in Time.cpp, is
	  a bit dubious, but the Date class methods *should* be
	  internally consistent - the timezone may be wrong in some
	  cases, but the relationship between UTC and local time methods
	  is always correctly described in Date.getTimezoneOffset().

2008-04-05  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/amf.{h,cpp}: Keep track of the total size of data read
	from each packet to make it easier to calculate the byte
	offset. Don't have extractVariable as a static so it can calculate
	the pointer offset.
	* libamf/buffer.cpp: Set private data at constructor time.
	* libamf/element.cpp: Set private data. Don't calculate the total
	data size here. Add makeNull() for zero length strings.
	* libamf/sol.cpp: Remove smart pointer for file reading.

2008-04-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/Player.cpp: minor cleanups.
	* testsuite/asobj/Date.as: don't use == to compare double - it 
	  failed on one of the amd64-ubuntu machines.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h}: add initial support for
	  property modify/create triggers (watches).
	* server/asobj/Object.cpp: implement Object.watch/unwatch.
	* testsuite/actionscript.all/Object.as: watch/unwatch successes
	  (not complete yet).
	* testsuite/swfdec/PASSING: object-watch-segv-*.swf all pass now.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Object.as: add test for "underlying
	  value" for getter-setter, add tests for watch/unwatch.

2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/Player.cpp: document fscommand, edit logging calls, drop
	  some dead code.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* extensions/gnashrc: force useless options off.
	* testsuite/misc-mtasc.all/Makefile.am,
	  testsuite/misc-swfc.all/Makefile.am,
	  testsuite/misc-swfmill.all/Makefile.am,
	  testsuite/samples/Makefile.am:
	  Use the testsuite/gnashrc config file.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* testsuite/gnashrc.in: use fakesink as GstAudioSink, so you don't
	  hear sound from tests coming out of speakers on make check.
	* testsuite/misc-ming.all/Makefile.am: use testsuite/gnashrc
	  while automatically running tests.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* gui/Player.cpp (fs_callback): don't forget the newline ending
	  (the gnash-to-host protocol needs some real definition).
	* server/vm/ASHandlers.cpp (CommonGetUrl): consitent logging
	  for gnash-to-host comunication.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* gui/Player.cpp (fs_callback): if an host-fd is given, always
	  send an INVOKE request for fscommands, no matter how we've
	  been called (standalone or plugin).
	* plugin/plugin.{cpp,h}: remember instance 'name' (as set by
	  <object> attribute); support INVOKE command in the gnash-to-host
	  interface.

2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: add timeZoneOffset functions. Now to
	  decide how best to implement them.

2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/tu_timer.{h,cpp}: drop unnecessary functions.

2008-04-04 Sandro Santilli <strk@keybit.net>

	* server/character.{cpp,h}: have getMovieInfo return an iterator
	  to the added subtree.
	* server/sprite_instance.{cpp,h}: implement getMovieInfo descending
	  in displaylist.
	* gui/gtk.cpp (makeTreeModel): fix model constructor when
	  jumping back to ancestor nodes at depth !+ current-1.

2008-04-04 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* gui/Player.cpp: avoid bogus "Unhandled FSCommand quit"
	* gui/fb.cpp, gui/fbsup.h: stubs for setFullscreen, unsetFullscreen,
	  showMenu and showMouse

2008-04-03 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/ButtonEventsTest.c: test that button
	  instances should have a _name property.
	* server/button_character_instance.cpp: provide a _name property
	  for button characters. Fixes the never-loading "free software
	  movement" animation from Ubuntu movie.

2008-04-03 Sandro Santilli <strk@keybit.net>

	* server/: Property.cpp, PropertyList.{cpp,h},
	  as_object.{cpp,h}: add support for setter-less
	  gette-rsetters.
	* server/asobj/Object.cpp: addProperty call is valid
	  if setter argument is null.
	* testsuite/swfdec/PASSING: 11 new successes.
	* testsuite/actionscript.all/Object.as: addProperty
	  tests pass.

2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: get current time from tu_timer, avoids
	  duplicating ifdefs. Clean ups of code and indentation.

2008-04-03 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* server/dlist.cpp: clear invalidated flag when skipping display() call;
	  fixes the invalidation bug for the Ubuntu animation
	* gui/gui.cpp: added debugging code (not compiled in by default)
	* server/character.{cpp,h}, server/dlist.{cpp,h}, server/movie_root.{cpp,h},
	  server/sprite_instance.{cpp,h}: added debugging function to dump the  
	  chracter instances tree (simplifies inv. bounds debugging)

2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: these are the results on 
	  my machine. Don't expect the overflow result at the moment - 
	  it might be possible to do, but is worth sacrificing for
	  32-bit compatibility at the moment. 

2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: add several algorithms for working out the
	  year from the epoch day; the most accurate but slowest is enabled.
	  Comments explaining the advantages and disadvantages of the
	  implementations. Fixes most date tests.

2008-04-03 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Object.as: test that null is a valid
	  setter argument for setProperty (gnash fails).

2008-04-03 Sandro Santilli <strk@keybit.net>

	* server/parser/sprite_definition.cpp (read): warn only once about
	  less SHOWFRAME then advertised in header.
	* testsuite/misc-ming.all/DefineEditTextVariableNameText.c:
	  check that even if you delete the associated variable
	  and then set it back, the textfield still uses that value.

2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: disable timezone offset for all systems
	  to fix build.

2008-04-02 Sandro Santilli <strk@keybit.net>

	* server/as_prop_flags.h: add SWF9 visibility flag.
	* server/asobj/Sound.cpp: get closer to swfdec reported properties
	  set, stubbing missing methods, correctly setting flags.
	* testsuite/swfdec/PASSING: sound-properties-9.swf passes, 5 to 8
	  still not (due to a weird value of a weird member).

2008-04-02 Udo Giacomozzi <udo.gnu@nova-sys.net>

	* backend/render_handler_agg.cpp: Only swap pixel format bits on big
	  endian hosts for 24 and 32 bpp modes (see bug #22799)
	  
2008-04-02 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/DefineEditTextVariableNameTest-Runner.cpp: 
	  the testcase has 11 tests now.
	* server/asobj/Number.cpp: add valueOf_method, as Number.valueOf like
	  Number.toString must only work for number instances.
	* testsuite/actionscript.all/Number.as: those weird tests for
	  Number.prototype in swf5 are fixed now.
	* testsuite/swfdec/PASSING: number.swf succeeds.

2008-04-02 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Number.as: more tests on Number.prototype
	  (weird results)
	* server/asobj/Number.as (toString_method): Number.prototype.toString
	  is supposed to work _only_ for the number object.
	* testsuite/actionscript.all/Boolean.as: !"true" succeeds.

2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_value.cpp: use stringstream instead of strtod to avoid
	  different locales changing the result (SWF4 only).
	* testsuite/misc-swfc.all: tests passing.

2008-04-02 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfc.all/swf4opcode.sc: make swf4 dejagnu interface
	  behave as the usual one (more info).

2008-04-02 Sandro Santilli <strk@keybit.net>

	* server/as_value.cpp (to_bool_v5, to_bool_v6): "true" and "false"
	  have no special meaning !
	* testsuite/actionscript.all/ops.as: pass !"true" is false in swf<7.
	* testsuite/misc-swfc.all/swf4opcode.sc: pass !"true".

2008-04-02 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfc.all/swf4opcode.sc: test ACTION_LOGICALNOT, gnash
	  fails a "true" and a "_root" in swf4.
	* testsuite/actionscript.all/ops.as: test ACTION_LOGICALNOT, gnash
	  fails a "true" in swf5.

2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/misc-swfc.all/swf4opcode.sc: was just about to add exponent
	  tests. Here are some more. Also test for decimal separator.

2008-04-02 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfc.all/swf4opcode.sc: check that scientific
	  notation still works in swf4.
	* testsuite/libamf.all/Makefile.am: test_buffer is here now...

2008-04-01  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/libnet.all/test_http.cpp: Adjust patterns because all
	header fields now have a "\r\n" instead of just a "\n".
	
2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/parser/movie_def_impl.cpp (read_all_swf): on end of stream
	  update loaded frames count to match advertised number. This is
	  now the same handling for definesprite. While we have automated
	  test for the sprite case (swfmill testsuite) we don't have one
	  for the root movie case, but swfdec's crash-0.5.5-cvs-truncated
	  series of tests seem to be less race-condition prone with this
	  patch.
	* libamf/sol.cpp (writeFile): fix write of BOOLEAN elements.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* testsuite/libnet.all/Makefile.am: test_buffer was killed by rob...
	* testsuite/libnet.all/: test_cque.cpp, test_handler.cpp: Buffer is
	  now in amf namespace (tests still fail, but build now).

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/as_value.cpp (to_number): in swf<5 a astring can
	  convert to a number as long as it starts with digits; leading
	  non-digits won't yeld a NaN. Fixes bug #20911.
	* testsuite/misc-swfc.all/swf4opcode.sc: test convertion of 
	  strings containing leading non-digits to number.

2008-04-01 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: drop ctime methods as time_t is not up to
	  the job on 32-bit platforms. Use homegrown algorithms instead.
	  Drop half the functions, as they only call other functions. Use a
	  custom struct to hold time (struct tm doesn't hold milliseconds).
	  Return NaN when the date value is NaN or infinity. Make sure 
	  fillGnashTime doesn't return negative month or milliseconds.
	  Drop (temporarily) timezone functions.
	* testsuite/actionscript.all/Date.as: passing tests.  

2008-04-01  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/Makefile.am: Build buffer class here instead of libnet. 
	* libamf/amf.cpp: All encode* methods return a Buffer now with the
	encoded data.
	* libamf/amf.h: Add more comments about the constants. All encode*
	methods return a Buffer now.
	* libamf/element.{h,cpp}: Use a Buffer to store data instead of
	duplicating the functionality here. Add additional methods for
	appending data. Use a char * for the name instead of a string to
	reduce copying of data.
	* libamf/lcshm.cpp: AMF:encode* methods return an Element now.
	* libamf/protocol.h: Add a suffix to the enum names for protocol
	types.
	* libamf/sol.cpp: Work with modified Element class. All encoding
	classs use a Buffer now, extract classes return an Element.
	* libnet/Makefile.am: Don't build buffer class here.
	* libnet/cque.{h,cpp}: Buffer class now in amf namespace.
	* libnet/handler.{h,cpp}: Buffer class now in amf namespace.
	* libnet/http.{h,cpp}: Buffer class now in amf namespace.
	* libnet/network.{h,cpp}: Buffer class now in amf namespace. Add
	suffix to port names in enum.
	* libnet/rtmp.{h,cpp}: Buffer class now in amf namespace. Rename
	RTMPproto to just RTMP.
	* libnet/rtmp_server.{h,cpp}: Buffer class now in amf namespace.
	* testsuite/libnet.all/Makefile.am: Move test_buffer to libamf.all.
	* testsuite/libamf.all/Makefile.am: Test_buffer moved to here as
	it's on libamf now.
	* testsuite/libamf.all/test_el.cpp: Use MakeString instead of
	init().
	* testsuite/libamf.all/test_sol.cpp: Element name is now a char*,
	so use strcmp() for string compares.
	
2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionLogicalNot): swf < 5 return 0 
	  or 1 from this tag.
	* testsuite/actionscript.all/MovieClip.as: fix handling of load
	  callback for SWF5.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/edit_text_character.{cpp,h}: always register
	  the variable name, just don't set a value for it
	  unless we have one defined.
	* server/sprite_instance.cpp (get_member): don't use
	  a registered textfield variable if there's no text
	  defined for the corresponding textfield.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.{cpp,h}: streamline headers inclusion.
	* server/edit_text_character.{cpp,h}: keep note about whether
	  text is defined, and don't register the text variable until
	  it is. Fixes bug #22472.
	* server/parser/edit_text_character_def.{cpp,h}: keep note about
	  whether text is defined at definition time.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* libmedia/gst/SoundHandlerGst.{cpp,h}: streamline headers
	  inclusion.

2008-04-01 Russ Nelson <nelson@crynwr.com>

	* Made boost-serialization optional again.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp: register natives.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/array.cpp: sorting constants are not protected (swfdec test
	  shows).
	* testsuite/actionscript.all/toString_valueOf.as: xpass leftovers
	  from implementation of Button class.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* server/asobj/xmlsocket.cpp: onData is a prototype (not instance)
	  member, and has weird inheritance as shown by swfdec testsuite.
	* testsuite/actionscript.all/XMLSocket.as: onData is a prototype (not
	  instance) member. The test was wrong.
	* testsuite/swfdec/PASSING: xml-socket-properties-{5,6,7,8} pass.

2008-04-01 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Number.as: rounding tests.
	* doc/C/gnashrc.xml: removed, the good one is
	  doc/C/usermanual/gnashrc.xml

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.{cpp,h}: have buttons
	  share prototype.
	* server/namedStrings.{cpp,h}: add CLASS_BUTTON
	* server/asobj/ClassHierarchy.cpp: register Button as a global class.
	* testsuite/actionscript.all/Global.as: test that Button exists and
	  is a function.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h}: const-correct setPropFlags (sorry
	  for big rebuild).
	* server/asobj/Number.cpp: add missing properties, make all Number
	  properties constant (shown to be required by swfdec
	  number-properties-*.swf, all of which only fail due to rounding
	  issues now).
	* testsuite/actionscript.all/Number.as: add test for missing
	  properties.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/asobj/ClassHierarchy.cpp: use hasOwnProperty to find out
	  if a native class initialized its own __proto__ as get_member
	  won't return a non-visible one; add debugging and error
	  logging while loading on-demand classes.
	* testsuite/swfdec/PASSING: boolean-properties-5.swf passes.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: drop dead code. Be more careful
	  with casts to time_t to avoid segfaults. Use std::strings,
	  not snprintf. Use boost::format, probably only temporarily.	   

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/asobj/Boolean.cpp: don't replicate interface to class
	* testsuite/swfdec/PASSING: boolean-properties-6,7,8 pass,
	  5 still fails.

2008-03-31  Dossy Shiobara <dossy@panoptic.com>

	* plugin/win32/Makefile.am: Install npgnash.dll into
	  $(bindir) for Win32.  A future installer will need to
	  copy it into the correct directory as per the user's
	  Windows registry indicates where the appropriate
	  Mozilla-based application is installed.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/asobj/Global.cpp (as_global_assetpropflags): clear flags
	  default to 0, always, not to 1 in swf5 (no idea where that idea came
	  from).
	* testsuite/swfdec/PASSING: {string,function}-properties-5.swf pass.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/builtin_function.h: Oops, swapped __constructor__
	  and constructor..
	* server/asobj/Object.cpp: still register all property members,
	  just visible or not based on version.
	* testsuite/actionscript.all/String.as: cleanup tests to set
	  strictly needed prop flags; test that hasOwnProperty is there
	  for SWF5 too, just not-visible.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: correct case.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: results tested against
	  LNX 9,0,115,0.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: more tests.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: fix expected results.
	  Some aren't the same as the pp - there was already a note about
	  that, and maybe it is worth emulating the player here.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/: as_object.cpp, builtin_function.h: don't lookup string_table
	  for __proto__, constructor and __constructor__.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/as_function.cpp: constructor and __constructor__ still exist
	  in swf5, just not-visible. Reduce string_table lookups.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: lots of failing tests, some
	  a bit wierd, and one segfault.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/asobj/Global.cpp (as_global_assetpropflags): it is perfectly
	  fine for ASSetPropFlags() to take 4 args in SWF5..
	* testsuite/swfdec/PASSING: object-hasownproperty-5.swf passes.
	* testsuite/actionscript.all/Date.as, Number.as: tests for __proto__
	  succeed.

2008-03-31 Sandro Santilli <strk@keybit.net>

	* server/as_object.cpp (findProperty): respect visibility flag also
	  for __proto__.
	* testsuite/actionscript.all/String.as: test that __proto__ of String
	  still exists, but it's not-visible (assetpropflags can be used to
	  unhide).
	* server/as_function.cpp: __proto__ is still attached to functions in
	  SWF5, only not-visible (a flag).
	* server/asobj/Object.cpp: register natives despite swf version.
	* server/asobj/Global.cpp: register ASSetPropFlags native.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Date.cpp: check for success of localtime - some
	  more-than-32-bit numbers fail - and set to NaN. This (probably)
	  isn't expected behaviour, but fixes a segfault.
	* testsuite/libnet.all/test_http.cpp: extractCharset returns an int, and
	  we don't want to try turning it into a string like that.
	* testsuite/swfdec/Makefile.am: remove .out and .err files on make clean.

2008-03-31 Zou Lunkai <zoulunkai@gmail.com>

	* libnet/cque.{h, cpp}: add the USE_STATS_QUEUE macro guard, fix
	  building without USE_STATS_QUEUE defined.
	* server/as_value.{h, cpp}: don't inline as_value::as_value(asNamespace &),
	  fix a 'link once' problem here with -O2 option.

2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libamf/sol.cpp: outsize isn't expected to be more than 0 at
	  this point.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* libnet/rtmp_server.cpp: Use portable get_thread_id()
	  instead of pthread_self() directly.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/Makefile.am,
	  plugin/mozilla-sdk/np_entry.cpp,
	  plugin/mozilla-sdk/include/npupp.h: Reverting my own
	  change to np_entry.cpp and Rob Savoye's change to
	  npupp.h.  The correct fix is to Makefile.am and define
	  _WINDOWS on Win32.

2008-03-31  Markus Gothe  <nietzsche@lysator.liu.se>

	* libamf/amf.cpp: reinterpret return value.
	* libamf/sol.cpp: include cassert.

2008-03-30  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/sol.{h,cpp}, lcshm.{h,cpp}: Use Network::byte_t instead
	of boost::uint8_t top stay consistant. Move all RTMP methods to
	libnet/rtmp.h.
	* libamf/amf.cpp: Move all RTMP methods to libnet/rtmp.h.
	* libamf/element.{h,cpp}: Add more overloaded make* methods, get
	ready to depreciated the init methods to use this instead.

	* plugin/mozilla-sdk/include/npupp.h: Don't use NPPluginFuncs.
	* gui/klash.moc.in: Drop the extraneous gnash-head path from the
	include for kdesup.h.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* plugin/win32/.cvsignore, plugin/win32/Makefile.am: Include
	  Win32 npgnash.dll in Gnash build process.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/np_entry.cpp: Fix symbols so they're
	  exported correctly on Win32.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/Makefile.am: Build libmozsdk separately,
	  as its used by both the Win32 npgnash.dll and the
	  libgnashplugin.so on *nix.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* plugin/Makefile.am: Conditionally add directories to the
	  SUBDIRS list.  Build plugin/mozilla-sdk separately, with its
	  own Makefile.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* libbase/getclocktime.hpp: Win32 has no "struct timespec" so we
	  provide one.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* configure.ac: Add detection for NSPR and windres for Win32
	  builds of npgnash.dll NPAPI plugin.

2008-03-30  Dossy Shiobara <dossy@panoptic.com>

	* macros/gnashpkgtool.m4: Add support for pkgname-config scripts
	  that don't understand --cxxflags, such as nspr-config.

2008-03-30 Sandro Santilli <strk@keybit.net>

	* server/asobj/string.cpp: 'length' is an instance, not class, member,
	  and it can be overridden.
	* testsuite/actionscript.all/String.as: test 'length' member of string
	  instances.
	* testsuite/swfdec/PASSING: string-properties-{6,7,8}.swf pass

2008-03-30 Sandro Santilli <strk@keybit.net>

	* server/asobj/Global.cpp: error to aserror, provide a null
	  _global.o (don't ask me why, but that's expected...)
	* testsuite/swfdec/PASSING: global-variable-properties succeeds.

2008-03-30 Sandro Santilli <strk@keybit.net>

	* server/as_function.cpp: __constructor__ and constructor
	  members given to new instances are not protected from
	  deletion.
	* testsuite/swfdec/PASSING: video-properties-{6,7,8}.swf pass.

2008-03-30 Sandro Santilli <strk@keybit.net>

	* server/as_function.{cpp,h}: don't provide a prototype
	  member to builtin function if not requested so.
	* testsuite/swfdec/PASSING: function-properties-{6,7,8} succeed.

2008-03-30 Sandro Santilli <strk@keybit.net>

	* server/as_function.cpp, server/builtin_function.h
	  server/asobj/ClassHierarchy.cpp: have function's
	  constructor property set to Function.
	* testsuite/actionscript.all/: MovieClip.as, Object.as,
	  String.as: more constructors tests.

2008-03-29 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionSubString): don't choke on empty
	  strings. Fixes last crash in swfdec testsuite.
	* testsuite/actionscript.all/String.as: test ACTION_SUBSTRING with
	  empty input.

2008-03-29 Sandro Santilli <strk@keybit.net>

	* server/video_stream_instance.{cpp,h}: don't attach character
	  properties if it's not a character (a user-created Video instance).
	  Fixes more crashes in swfdec testsuite.
	* testsuite/actionscript.all/Video.as: test that a user-defined Video
	  instance doesn't have character properties.

2008-03-29 Sandro Santilli <strk@keybit.net>

	* testsuite/libamf.all/Makefile.am: add libnet include
	* server/as_function.cpp (constructInstance): don't assume a class
	  will always have a prototype defined. Fixes leftover crashes
	  in swfdec testsuite.
	* testsuite/libnet.all/test_http.cpp: its' amf::AMF::FILETYPE_SWF 
	  today (when do you want to go tomorrow?)

2008-03-29 Sandro Santilli <strk@keybit.net>

	* server/array.cpp: don't assume multiprop comparator container is
	  nonempty, add assertion checking in get_basic_cmp to ensure caller
	  took care of stripping the fUniqueSort and fReturnIndexArray flags.

2008-03-29 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/: gen_run_swfdec_testsuite.sh, swfdec_gnash_tester:
	  always take gnash crashes as real failures, expect it or not
	  (yes, we have some crashes there..).

2008-03-29 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/gen_run_swfdec_testsuite.sh: hint about tests
	  that used to pass and are not passing anymore.
	* libbase/log.{cpp,h}: drop unused timestamp variation code.
	* testsuite/actionscript.all/Function.as: add test for user-defined
	  function's constructor.

2008-03-29  Rob Savoye  <rob@ripple.welcomehome.org>

	* libamf/Makefile.am: Add libnet to include paths.
	* libamf/amf.cpp: Include network.h. Use Network::byte_t instead
	of boost::uint8_t. Move headerSize() and parseHeader to rtmp.h, as
	they're really an RTMP thing, not an AMF one.
	* libamf/amf.h: Move amfsource_e, amf_headersize_e,
	content_types_e to rtmp.h, as they're an RTMP thing, not an AMF
	one. Define the filetypes here. Use Network::byte_t instead
	of boost::uint8_t. Move headerSize() and parseHeader to rtmp.h.
	* libmedia/Makefile.am: Include libnet in include paths.
	* libnet/Makefile.am: Build rtmp_server too.
	* libnet/buffer.{h,cpp}: Find a byte in a buffer. Remove a byte(s)
	from a buffer for filtering.
	* libnet/handler.cpp: Compare incoming message size to NETBUFSIZE
	instead of the buffer size itself.
	* libnet/handler.h: Add support for merging buffers in the queues.
	* libnet/http.cpp: Change to new prefixed enums.
	* libnet/rtmp.{h,cpp}: Use Elements and byte_t for all
	paramaters. Move all server sid efunctionality to rtmp_server.cpp.
	* libnet/rtmp_server.{h,cpp}: New RTMPServer class for server side
	only code.
	
2008-03-29 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/: Function.as,
	  MovieClip.as, Object.as: some tests for builtin
	  constructor's "constructor" props.

2008-03-29 Sandro Santilli <strk@keybit.net>

	* testsuite/libnet.all/test_http.cpp: fix qualification
	  of enum.
	* Makefile.am: don't enable build of cygnal on 'distcheck'
	  (it's broken currently).
	* libbase/Makefile.am: distribute getclocktime.hpp
	* testsuite/Makefile.am: descend into libnet.all

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libamf/rtmp.h: one that got away (tu_config.h).

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* plugin/mozilla-sdk/pluginbase.h: replace tu_config with
	  dsodefs.
	* gui/NullGui.h
	* gui/gtksup.h
	* gui/gui.h
	* gui/kdesup.h
	* gui/riscossup.h
	* gui/sdlsup.h: drop tu_config.h, remove visibility qualifiers.
	* libbase/tu_config.h: drop.

2008-03-28  Dossy Shiobara <dossy@panoptic.com>

	* gui/gtk.cpp: Only include X11-specific headers if HAVE_X11 is
	  defined.     

2008-03-28  Dossy Shiobara <dossy@panoptic.com>

	* libbase/utility.h: Provide get_thread_id() that returns the
	  current thread ID or gracefully degrades to returning the
	  current process ID if thread ID is not available.

 	* libbase/log.cpp, libnet/handler.cpp, libnet/http.cpp,
	  libnet/rtmp.cpp: Don't call pthread_self() directly, use
	  get_thread_id() instead.

2008-03-28  Dossy Shiobara <dossy@panoptic.com>

	* libnet/http.cpp, libnet/http.h, libnet/statistics.h:
	  Disambiguate symbols with prefixes as GCC 3.x doesn't have
	  strongly typed enums.

2008-03-29 Markus Gothe <nietzsche@lysator.liu.se>

	* libbase/getclocktime.hpp: Workaround for systems lacking
	  clock_gettime().

2008-03-28 Russ Nelson <nelson@crynwr.com>

	* Fix this problem report:
	  http://www.mail-archive.com/gnash-dev@gnu.org/msg03319.html
	  Both debian and ubuntu use a dash instead of underscore.

2008-03-28 Russ Nelson <nelson@crynwr.com>

	* Remove test which disables GTK gui if dependencies are missing.
	  If the gtk is disabled, you don't get the right errors at the
	  end of the output.

2008-03-27  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/Makefile.am: Add libnet.all to SUIBDIRS.
	* configure.ac: Add libnet and testsuite/libnet.all.
	* Makefile.am: Build libnet after libamf.
	* libbase/lirc.{h,cpp}: Move to libnet.
	* server/asobj/xmlsocket.cpp: Include network.h.

	* libbase/Makefile.am: Add libnet to cflags and libs.
	* server/Makefile.am, server/asobj/Makefile.am:
	server/vm/Makefile.am: Add libnet to cflags and libs.
	* utilities/Makefile.am:  Add libnet to cflags and libs.
	* gui/Makefile.am:  Add libnet to cflags and libs.
	* cygnal/Makefile.am: Move libcygnal.la files to new libnet. Use
	libnet now instead of libcygnal.la.
	
	* libnet: New directory for networking and protocols.
	* libbase/network.{h,cpp}: Move to libnet.
	* libbase/Makefile.am: Remove network.*.
	* cygnal/buffer.{h,cpp},cque.{h,cpp},handler.{h,cpp},http.{h,cpp},
	network.{h,cpp},rtmp.{h,cpp},netstats.{h,cpp},statistics.{h,cpp},
	cque.{h,cpp}: Move to libnet so they can be shared with Gnash.
	* libnet/buffer.{h,cpp},cque.{h,cpp},handler.{h,cpp},http.{h,cpp},
	network.{h,cpp},rtmp.{h,cpp},netstats.{h,cpp},statistics.{h,cpp},
	cque.{h,cpp}: Moved from cygnal so they can be shared.
	* testsuite/libnet.all: New directory for networking and protocol
	test cases.
	* testsuite/libnet.all/{test_buffer.cpp,test_cque.cpp,test_crc.cpp,
	test_handler.cpp,test_http.cpp: Moved from cygnal/testsuite/cygnal.all.
	* libamf/rtmp.{h,cpp}: Move to libnet.

2008-03-28 Sandro Santilli <strk@keybit.net>

	* server/swf_function.cpp (call operator): esplicit args override
	  implicit ones.
	* testsuite/swfdec/PASSING: definefunction2-overwrite.swf succeeds.

2008-03-28 Sandro Santilli <strk@keybit.net>

	* server/asobj/Object.cpp: add Object.toLocaleString.
	* testsuite/actionscript.all/: Date.as, Object.as:
	  toLocaleString tests pass.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_environment.h
	* server/as_object.h
	* server/as_value.h
	* server/asobj/Key.h
	* server/asobj/MovieClipLoader.cpp
	* server/asobj/Number.cpp
	* server/asobj/Object.cpp
	* server/asobj/string.cpp
	* server/asobj/xml.cpp
	* server/asobj/xml.h
	* server/asobj/xmlnode.cpp
	* server/asobj/xmlnode.h
	* server/vm/ExecutableCode.h
	* libbase/utility.cpp
	* libmedia/sound_handler.h
	* libmedia/ffmpeg/ffmpegNetStreamUtil.h
	* libmedia/gst/GstUtil.h
	* libmedia/gst/VideoDecoderGst.h
	* libamf/element.h
	* libamf/sol.h
	* backend/render_handler_cairo.h: drop tu_config.h include;
	  replace with dsodefs.h where appropriate.
	* server/asobj/xmlattrs.cpp: ditto, plus nothing in this file.
	* server/asobj/xmlattrs.h
	* libbase/Makefile.am: tu_config should be unused.
	* gui/Player.h: nothing in gui/ needs to be visible.

2008-03-28 Sandro Santilli <strk@keybit.net>

	* libbase/log.{cpp,h}: simplify logging path.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/utf8.h: minor comment update.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/utf8.{cpp,h}: add a utf8::invalid constant.
	* server/vm/ASHandlers.cpp: use utf8 code for guessEncoding.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: (charAt) prevent another potential
	  out-of-bounds string access.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/gmemory.h: add DSOEXPORT to allow the testsuite to
	  build with visibility support enabled.
	* libamf/lcshm.h: make Listener class visible (testsuite).
	* libamf/amf.h: export swapbytes (testsuite).

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: (charCodeAt) don't try to
	  access string out of bounds. (Fixes abort in the movie
	  http://newsimg.bbc.co.uk/player/emp/2_0_1275/player.swf).

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.cpp: comment headers, minor alterations.
	* libbase/container.h: drop tu_config.h include.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* po/cs.po: add Petr Pisar's updated Czech translation.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/arg_parser.{cpp,h}: add FSF copyright.

2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/tu_file.{cpp,h}: remove everything that isn't currently
	  used, including all membuf code.
	* libbase/membuf.{cpp,h}: unused. Dropped.
	* libbase/config.cpp: (lua bindings) dropped.
	* libbase/Makefile.am: don't try to build unused files.

2008-03-27 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as: use 'delete x.y'
	  as 'delete(x.y)' didn't work until Ming 0.4.0.beta6.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libgeometry/Point2d.h
	* libgeometry/Range2d.h
	* libgeometry/snappingrange.h: gnashconfig.h gone.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/BitsReader.cpp
	* libbase/BitsReader.h
	* libbase/FLVParser.h
	* libbase/GC.h
	* libbase/URL.h
	* libbase/WallClockTimer.h
	* libbase/arg_parser.h
	* libbase/curl_adapter.h
	* libbase/dsodefs.h
	* libbase/extension.h
	* libbase/grid_index.h
	* libbase/image.h
	* libbase/jpeg.h
	* libbase/lirc.h
	* libbase/membuf.h
	* libbase/noseek_fd_adapter.h
	* libbase/ogl.h
	* libbase/ref_counted.h
	* libbase/smart_ptr.h
	* libbase/string_table.h
	* libbase/tu_file.h
	* libbase/tu_math.h
	* libbase/tu_opengl_includes.h
	* libbase/tu_timer.h
	* libbase/utf8.h
	* libbase/utility.h
	* libbase/zlib_adapter.h: drop gnashconfig.h where it's not needed,
	  replace tu_config.h with dsodefs.h.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/vm/ASHandlers.{cpp,h}: const correct guessEncoding,
	  don't try to access vector out of bounds in ActionMbSubString.
	  Use at() for run time checking.
	
2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/parser/action_buffer.{cpp,h}: fix very annoying
	  g++4.3 compiler warnings about parentheses, use at() to
	  access vectors, don't cast away constness in hexify call.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* backend/render_handler_agg.h,render_handler.h: include
	  dsodefs.h
	* libbase/dsodefs.h: include gnashconfig.h so DSOEXPORT
	  etc are correctly defined all the time.
	* libbase/utf8.h: drop tu_config.h include.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/Makefile.am: add dsodefs.h, which should fix 'make
	  distcheck'.

2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/BevelFilter.h
	* server/BitmapFilter.h
	* server/BitmapMovieInstance.h
	* server/BlurFilter.h
	* server/ColorMatrixFilter.h
	* server/ConvolutionFilter.h
	* server/DropShadowFilter.h
	* server/DynamicShape.h
	* server/FreetypeGlyphsProvider.h
	* server/GlowFilter.h
	* server/GradientBevelFilter.h
	* server/GradientGlowFilter.h
	* server/LoadVariablesThread.h
	* server/Property.h
	* server/PropertyList.h
	* server/StreamProvider.h
	* server/StringPredicates.h
	* server/SystemClock.h
	* server/as_prop_flags.h
	* server/bitmap_info.h
	* server/builtin_function.h
	* server/button_character_instance.h
	* server/cxform.h
	* server/drag_state.h
	* server/edit_text_character.h
	* server/event_id.h
	* server/fill_style.h
	* server/font.h
	* server/fontlib.h
	* server/generic_character.h
	* server/gnash.h
	* server/impl.h
	* server/matrix.h
	* server/mouse_button_state.h
	* server/movie_instance.h
	* server/movie_root.h
	* server/rect.h
	* server/shape.h
	* server/sprite_instance.h
	* server/stream.h
	* server/swf_event.h
	* server/swf_function.h
	* server/textformat.h
	* server/timers.h
	* server/types.h
	* server/parser/edit_text_character_def.h: Drop gnashconfig.h
	  where it's not needed, replace tu_config.h with dsodefs.h
	  when it's there for DSOEXPORT, add headers where they are
	  needed but were relying on includes before.

2008-03-27 Sandro Santilli <strk@keybit.net>

	* doc/C/refmanual/testing_dependencies.xml: 
	  swfc is not a decompiler.

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.h: templates apparently don't need explicitly
	  marking as visible.

2008-03-26  Dossy Shiobara <dossy@panoptic.com>

	* macros/gnashpkgtool.m4: Add support for package-config scripts
	  (i.e., fltk2-config, xml2-config, etc.)

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/vm/ActionExec.h
	* server/vm/action.h
	* server/vm/with_stack_entry.h
	* server/asobj/AsBroadcaster.h
	* server/asobj/BevelFilter_as.h
	* server/asobj/BlurFilter_as.h
	* server/asobj/Boolean.h
	* server/asobj/Camera.h
	* server/asobj/Color.h
	* server/asobj/ColorMatrixFilter_as.h
	* server/asobj/ContextMenu.h
	* server/asobj/ConvolutionFilter_as.h
	* server/asobj/CustomActions.h
	* server/asobj/Date.h
	* server/asobj/DropShadowFilter_as.h
	* server/asobj/Error.h
	* server/asobj/GlowFilter_as.h
	* server/asobj/GradientBevelFilter_as.h
	* server/asobj/GradientGlowFilter_as.h
	* server/asobj/Key.h
	* server/asobj/LoadVars.h
	* server/asobj/LocalConnection.h
	* server/asobj/Microphone.h
	* server/asobj/Mouse.h
	* server/asobj/NetConnection.h
	* server/asobj/Number.h
	* server/asobj/Selection.h
	* server/asobj/SharedObject.h
	* server/asobj/SoundFfmpeg.h
	* server/asobj/SoundGst.h
	* server/asobj/SoundMad.h
	* server/asobj/Stage.h
	* server/asobj/System.h
	* server/asobj/TextSnapshot.h
	* server/asobj/gstring.h
	* server/asobj/xml.h
	* server/asobj/xmlsocket.h: drop gnashconfig includes. Also replace tu_config.h
	  with dsodefs.h when only DSOEXPORT is required.

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.{h,cpp}: drop (unused) vsnprintf logging calls, tidy up
	  a bit.
	* server/sprite_instance.cpp: don't use SIZET_FMT or c_str() in logging
	  calls.

2008-03-26  Dossy Shiobara <dossy@panoptic.com>

	* gui/Makefile.am, gui/am-frag/fltk.am: Add missing
	  line-continuation backslash. Move extra Win32 libs to
	  am-frag/fltk.am from main Makefile.am.

2008-03-26 Sandro Santilli <strk@keybit.net>

	* server/asobj/NetStream.cpp: make elements of the info object
	  enumerable and deletable.
	* testsuite/misc-ming.all/NetStream-SquareTest.c: test that elements
	  of the info object passed to onStatus are enumerable and deletable.

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: more tests for int().

2008-03-26 Sandro Santilli <strk@keybit.net>

	* configure.ac: provide a MING_SUPPORTS_STREAMING_SOUND
	  conditional.
	* testsuite/misc-ming.all/Makefile.am: only build and
	  run the streamingSoundTest if ming supports it.

2008-03-26 Sandro Santilli <strk@keybit.net>

	* server/swf/tag_loaders.cpp: warn about unimplemented MP3 seeks.
	* server/sprite_instance.cpp (stagePlacementCallback): place also
	  sprites for which NO frame was loaded (tot frames 0).
	* testsuite/misc-swfmill.all/zeroframe_definesprite.xml: don't
	  expect a failure.

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: tests for int(). 

2008-03-26 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-swfmill.all/: Makefile.am,
	  zeroframe_definesprite.xml:
	  Test that zero-framed sprites should still be
	  placed on stage. Gnash fails in one over 3 tests,
	  0.8.2 would fail all cases. 

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Global.cpp: parseFloat should work with double
	  precision; improves swfdec testsuite results in parse-float.as
	  and string-to-number.as (though neither passes yet). 

2008-03-26 Sandro Santilli <strk@keybit.net>

	* gui/sdl.cpp: fix sdl to gnash key modifiers conversion.

2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Object.as: check type of undefined 
	  __proto__ (Gnash passes).

2008-03-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Object.as: test for
	  Object.__proto__ = undefined; (Gnash fails). 

2008-03-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: more passes, some new
	  (now passing) tests for parseint.
	* server/asobj/global.cpp: fix parseint, pass all actionscript.all
	  parseint tests; the now single discrepancy in swfdec parse-int*
	  seems not directly related to parseint at all.    

2008-03-24 Markus Gothe <nietzsche@lysator.liu.se>

	* server/as_envoronment.cpp: Fixed signedness of int.
	* libbase/rc.cpp: Fixed comparsion.
	* libbase/rc.h: Replaced tu_config.h.

2008-03-23 Markus Gothe <nietzsche@lysator.liu.se>

	* libamf/lcshm.cpp: Fixed warning on uninitialized integer.
	* server/asobj/NetStreamFfmpeg.cpp: 'copied' is unsigned int.
	* server/debugger.h, libbase/log.h: Added DSOEXPORT to definations.
	* testsuite/samples/Make.am: Added FFMPEG_CFLAGS.
	* libbase/memory.cpp: return true when function returns.
	* libbase/sharedlib.cpp, plugins/plugin.cpp: declared char* as 
	  const char*.
	* plugins/plugin.cpp: compare result of getenv() with NULL.
	* server/font.cpp: compare with same type.

2008-03-22  Dossy Shiobara <dossy@panoptic.com>

	* utilities/Makefile.am (1.66): Win32 needs libintl, libz and
	  ws2_32.

2008-03-22 Markus Gothe <nietzsche@lysator.liu.se>

	* libbase/sharedlib.cpp: Got rid off a couples of compiler warnings.
				 Compare getenv with NULL not 0!
	* libbase/postscript{cpp, h}: Unused garbage as well as PD-
	  licensed. On demand we'll write our own implementation.
	
	* libbase/dsodefs.h, libbase/tu_config.h: Moved our defines
	  for DSO{EXPORT, LOCAL} to it's own file.
	
	* libbase/utf8.h, libmedia/ffmpeg/ffmpegNetStreamUtil.h,
	  libmedia/ffmpeg/VideoDecoderFfmpeg.h, libbase/network.h,
	  libbase/arg_parser.h, server/sprite_instance.h: 
	  Added DSOEXPORT to definations.

2008-03-22  Dossy Shiobara <dossy@panoptic.com>

	* gui/Makefile.am (1.121): Win32 requires extra LDFLAGS to build,
	  for some reason.

2008-03-22  Rob Savoye  <rob@ripple.welcomehome.org>

	* configure.ac: Change --enable-statistics to --with-statistics
	with settings for queues, buffers, and memory allocation as
	separate values for more fined grained control. Currently these
	are only used by Cygnal.

2008-03-22  Dossy Shiobara <dossy@panoptic.com>

	* libbase/tu_file.cpp (1.25): gettext 0.17 redefines printf in
	  libintl.h, which confuses cpp 3.x and causes a build failure
	  looking for tu_file::__printf__.

2008-03-21  Rob Savoye  <rob@ripple.welcomehome.org>

	* gui/kde.cpp: The names have changed in the enum, prefix GNASH_
	to MOD_SHIFT, etc...

2008-03-21 Russ Nelson <nelson@crynwr.com>

	* packaging/snapshot.am: dist-hook not needed anymore.

2008-03-21  Dossy Shiobara <dossy@panoptic.com>

	* libbase/sharedlib.h (1.9): Tweak things so that libltdl works
	  correctly on Win32.

	* utilities/processor.cpp (1.92): Win32 lacks a usleep(), so we
	  fake it with Sleep().

	* server/asobj/SharedObject.cpp (1.37): mkdir() on Win32 only takes
	  one arg, apparently.

	* libmedia/ffmpeg/: ffmpegNetStreamUtil.h (1.3),
	  sound_handler_sdl.h (1.4): SDL_audio.h appears to need iconv.h on
	  Win32.

	* libmedia/AudioDecoderNellymoser.cpp (1.12): Win32 doesn't have
	  random() and srandom() but does have rand() and srand().

	* libbase/: rc.h (1.49), shm.cpp (1.7): Win32 lacks sys/shm.h, so
	  define key_t on Win32 as boost::uint32_t.

	* libbase/network.cpp (1.39): Win32 doesn't have the sa_family_t
	  type, nor the UNIX_PATH_MAX defined, or the sockaddr_un struct.

	* macros/pango.m4 (1.30): Use pangox on X11, pangowin32 on Win32.

	* gui/: gtk_glue_agg.cpp (1.34), gtk_glue_agg.h (1.17): Fix build
	  for when ENABLE_MIT_SHM is false, such as on Win32.

	* gui/: gtk_cairo_create.h (1.2), gtk_glue.h (1.15),
	  gtk_glue_cairo.h (1.16), gtk_glue_gtkglext.h (1.13), gtksup.h
	  (1.68): gdk/gdkx.h is for X11.  Win32 only has gdk/gdk.h.

	* gui/fltk.cpp (1.18), gui/gtk.cpp (1.159), gui/gui.cpp (1.143),
	  server/gnash.h (1.119): Fix some macro redefinition issues when
	  compiling with GCC 3.x, which does not have strongly typed enums.

	* server/vm/Makefile.am (1.20): If building with ffmpeg, we need
	  FFMPEG_CFLAGS.

2008-03-21  Rob Savoye  <rob@ripple.welcomehome.org>

	* configure.ac: Add conditional for win32 builds.

2008-03-21 Sandro Santilli <strk@keybit.net>

	* server/array.cpp, testsuite/server/AsValueTest.cpp:
	  Revert Markus patch (error: 'finite' is not a member of 'std').

2008-03-21 Markus Gothe <nietzsche@lysator.liu.se>

	* configure.ac: added tags for HP-UX and IRIX.
	* macros/opengl.m4: Fixed OGL-linking on OS X Leopard.
	* server/array.cpp: Fix compilation of isfinite.
	* testsuite/server/AsValueTest.cpp: Fix compilation of isfinite.

2008-03-20  Rob Savoye  <rob@ripple.welcomehome.org>

	* libbase/network.cpp: Return a 0 if the socket is never available
	for writing.

2008-03-20 Sandro Santilli <strk@keybit.net>

	* server/parser/sprite_definition.cpp (read):
	  If DefineSprite contains less SHOWFRAME then advertised
	  in header, still pretend all of the advertised frames
	  were loaded. This should be safe, and makes FlowPlayer
	  progress further (it exports an asset that advertise
	  1 frame and contains NO showframe tag).

2008-03-20 Sandro Santilli <strk@keybit.net>

	* server/character.{cpp,h}: add a virtual getMovieInfo.
	* server/movie_root.{cpp,h}: delegate character info gathering
	  to the characters themselves. 

2008-03-19  Rob Savoye  <rob@ripple.welcomehome.org>

	* libbase/network.cpp: Close the listener file descriptor too before
	restarting a connection.

2008-03-19 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (restart): only stop streaming
	  sound associated with the sprite, not *all* sounds !

2008-03-19 Sandro Santilli <strk@keybit.net>

	* server/swf/tag_loaders.cpp: log malformed swf if SOUNDSTREAMBLOCK
	  is found w/out preceeding SOUNDSTREAMHEAD.
	* testsuite/misc-ming.all/: Makefile.am,
	  streamingSoundTest1-Runner.cpp, streamingSoundTest1.c:
	  Stub test for streaming sound. Doesn't work yet, producing
	  a malformed SWF which inspired the tag_loaders.cpp change.

2008-03-19 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.{cpp,h}: always stop any streaming
	  sound when the sprite is stopped or unloaded.
	* server/parser/sound_definition.cpp, server/vm/ASHandlers.cpp:
	  update calls to cleaned up streaming sound interface of
	  sprite_instance.

2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/swfdec/swfdec_gnash_tester: use more complicated 
	  sed matching to handle newlines in trace output (one, anyway).
	* utilities/gprocessor: put all debugging output in log_debug
	  calls (or it gets caught in the sed rules).
	* testsuite/swfdec/PASSING: eight passing tests with newlines.

2008-03-19  Rob Savoye  <rob@ripple.welcomehome.org>

	* configure.ac: Add --enable-statistics, to turn on performance
	statistics gathering.

	* libbase/network.cpp: Actually use the timeout parameter to set
	the timeout. Turn off overly verbose debugging.

2008-03-19 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/array.as: test addProperty(<valid_index>) 
	  against arrays. One more reason to use at least Property rather then
	  simple as_values.

2008-03-19 Sandro Santilli <strk@keybit.net>

	* server/as_object.{cpp,h}: enumerateNonProperProperty made protected,
	  add a virtual hasOwnProperty, made delProperty virtual.
	* server/array.{cpp,h}: implement hasOwnProperty and delProperty.
	* server/asobj/Object.cpp: use as_object::hasOwnProperty to implement
	  Object.hasOwnProperty().
	* testsuite/actionscript.all/array.as: more successes.

2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gnash.cpp: minor changes to 'usage' display.
	* cygnal/cygnal.cpp: remove unnecessary call to RcFile::loadfiles()
	  (this is called on construction); use Arg_parser to add long
	  options. Make output of usage consistent with gnash, update
	  copyright date; use cout for output, split into smaller
	  units for translation. Set locale for LC_ALL to avoid mangling
	  non-ASCII characters in some log messages.

2008-03-18 Sandro Santilli <strk@keybit.net>

	* server/array.{cpp,h}: use boost's mapped_vector for a sparse
	  array implementation. Saves space at some cpu cycles till all
	  gaps are filled (which happens by most modifiers, as an expected
	  behaviour :/).
	* testsuite/actionscript.all/array.as: successes in gaps filling.

2008-03-19 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/array.as:
	  test splice() and members access on a sparse array.

2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gnash.cpp: remove duplicated --verbose in usage, add --version.
	* po/gnash.pot: updated after changes to gnash.cpp (shorter phrases
	  should also make translating less annoying).
	* po/de.po: fix messages broken by changes to gnash.cpp.

2008-03-18 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/array.as:
	  test reverse(), join() and concat() on a sparse array.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: add more parseInt tests showing
	  some errors with hexadecimal parsing.
	* server/asobj/Global.cpp: rewrite parseInt to deal with most of the
	  main cases correctly.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/swfdec/swfdec_gnash_tester: don't use fromdos. It's
	  not always available and seems to be unnecessary.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_value.cpp: revert most of to_int() changes until
	  it's tested on i586.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_value.cpp: (to_int() again): work with unsigned values
	  until the return. Will hopefully fix for 32-bit platforms.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_value.cpp: last commit of this file was wrong.

2008-03-18  Rob Savoye  <rob@ripple.welcomehome.org>

	* libbase/lirc.{h,cpp}: Use byte_t instead of uint8_t.

	* libbase/network.{h,cpp}: Define NETBUFSIZE here instead of in
	cygnal/buffer. Define "byte_t" typedef for raw data, change all
	methods to use byte_t.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/array.cpp: tests for non-integer and
	  extreme integer indices.

2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/as_value.cpp: minor changes to to_int. It's a bit
	  complicated but seems to replicate how the pp converts to integers.
	  Don't need to use fmod().
	* server/vm/ASHandlers.cpp: use to_int() for ActionInt(). This fixes
	  handling of all negative non-integer numbers.
	* testsuite/actionscript.all/Global.as: add regression tests for
	  int().
	* server/asobj/string.cpp: minor cleanups; use safer string.at().
	* testsuite/swfdec/PASSING: tointeger passes after the changes above.

2008-03-18 Sandro Santilli <strk@keybit.net>

	* server/array.{cpp,h}: add concept of 'holes' in arrays, don't
	  enumerate holes.
	* testsuite/actionscript.all/array.as: update expected results.
	* server/character.cpp (width_getset, height_getset): don't abort
	  if the character being worked on has collapsed dimensions.

2008-03-18 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/array.as: test sorting an array with
	  holes.

2008-03-17  Dossy Shiobara <dossy@panoptic.com>

	* plugin/: Makefile.am (1.71), mozilla-sdk/Makefile.am (1.18): Add
	  mozilla-sdk/include/prcpucfg-glibc.h and
	  mozilla-sdk/include/prcpucfg-win32.h to noinst_HEADERS to make
	  distcheck pass again.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/array.as: more tests for deletion
	  of array members.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* server/array.cpp (index_requested): don't turn a negative number
	  >= -1 to a valid index !!
	* testsuite/actionscript.all/array.as: add test for negative indexed
	  members.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp, gui/gnash.cpp: make clear that media handler
	  version information is static.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: add media handler version information.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* server/as_environment.{cpp,h}: dump_stack: add additional
	  optional argument to limit number of stack items printed.
	* server/vm/ASHandlers.cpp (ActionSetRegister): use int rather
	  then uint8_t for sake of logging...
	* server/vm/ActionExec.cpp: limit stack dump to 32 items.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (fire_mouse_event): catch ActionLimit
	  exceptions.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* doc/C/refmanual/logging.xml: update logging docs.

2008-03-17  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/np_entry.cpp (1.11): Conditionally support
	  older NPAPI versions by using a more fine-grained approach to
	  copying the NPNetscapeFuncs structure.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/vm/ASHandlers.cpp: don't try to access an element of an
	  empty string; use string.at(), which would throw an exception if
	  we try to do so.
	* doc/C/usermanual/usage.xml: add new long options, correct some
	  descriptions.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: fix fromCharCode for SWF6+, sort
	  of fix it for SWF5. This would get more passes in the swfdec
	  testsuite if swfdec_gnash_tester could catch newlines in
	  trace output.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as: fixed bug in testcase
	  making the business more complex then it was.

2008-03-17 Sandro Santilli <strk@keybit.net>

	* libbase/log.{cpp,h}: decouple LogFile and RcInitFile.
	  Add a LogFile::setLogFilename to specify a custom name
	  for the log file.
	* gui/Player.cpp: set LogFile filename as specified in the
	  rc file.
	* utilities/processor.cpp: set LogFile filename as specified
	  in the rc file.

2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: String.substr(): an undefined second
	  argument is the same as having only one argument.
	* server/vm/ASHandlers.cpp: action substring: make variable names
	  consistent with mbsubstring; use C++ string methods and handle
	  utf-8 properly for different versions.
	* testsuite/actionscript.all/String.as: update / add tests for
	  substring and String.substr (now passing).

2008-03-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/Player.{h,cpp}: handle an empty url, fix misc-ming.all failures.
	  Take std::string& instead of const char* - there seems to be no case
	  in which distinguishing between NULL and empty is useful.
	* testsuite/actionscript.all/String.as: add test comparing substring
	  and String.substr, showing that both are broken.

2008-03-15  Dossy Shiobara <dossy@panoptic.com>

	* plugin/win32/: plugin.cpp (1.15), plugin.h (1.11): Track whether
	  the module was properly initialized (i.e., NS_PluginInitialize()
	  was called) as it seems at least Firefox 2.0.0.12 on WinXP will
	  continue to load and run npgnash.dll even if it hasn't been.

	  Eliminated the (unnecessary?) getPluginDescription().  Matter of
	  fact, NS_PluginGetValue() isn't used on XP_WIN builds at all.

	  Reflect change in function name from
	  gnash::register_fscommand_callback to
	  gnash::registerFSCommandCallback.

2008-03-15  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/np_entry.cpp (1.10): On Firefox
	  2.0.0.12/WinXP, aNPNFuncs->size is 172 while
	  sizeof(NPNetscapeFuncs) is 184.  However, npgnash.dll continues
	  to work fine even though NPNFuncs isn't populated (!), and as a
	  matter of fact, Firefox seems to ignore the
	  NPERR_INVALID_FUNCTABLE_ERROR return from NP_Initialize and
	  continues to load and execute npgnash.dll, anyway.  Therefore, we
	  should continue and execute NS_PluginInitialize anyway, too.

	  c.f. https://savannah.gnu.org/bugs/?20835

2008-03-15  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/include/: prcpucfg-glibc.h (1.1),
	  prcpucfg-win32.h (1.1), prcpucfg.h (1.13): NSPR's prcpucfg.h is
	  platform-specific.  Added Win32 version to CVS as
	  prcpucfg-win32.h, renamed old prcpucfg.h to prcpucfg-glibc.h, and
	  replaced prcpucfg.h with a stub that tries to include the correct
	  one.

2008-03-15  Dossy Shiobara <dossy@panoptic.com>

	* plugin/mozilla-sdk/include/: npapi.h (1.9), npupp.h (1.8): Update
	  NPAPI from 0.14 to 0.19, using header files from
	  mozilla/modules/plugin/base/public: npapi.h (3.48), npupp.h
	  (3.26).

2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gnash.cpp: mend url. Fixes bug #22609.

2008-03-15 Sandro Santilli <strk@keybit.net>

	* server/swf_function.cpp: don't put 'this' into a register if
	  the SUPPRESS_THIS flag is on.
	* testsuite/swfdec/PASSING: definefunction2-this.swf

2008-03-15 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (CommonGetUrl): cast uint8_t to int when
	  printing, fixing a failure in misc-mtasc testsuite (output log
	  considered binary).

2008-03-15 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionMbSubString): fix the opcode, and
	  avoid out-of-range accesses. Fixes panda.swf (bug #22437)
	* testsuite/actionscript.all/String.as: add tests for mbsubstring.
	  Gnash used to fail a lot there.

2008-03-15 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as: finally some more failing 
	  tests (equivalent to swfdec's super-missing-{7,8}.swf)

2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gnash.cpp: change / add some long options and update help output.
	  Add --fullscreen to allow starting in fullscreen mode.
	* gui/Player.{h,cpp}: implement starting in fullscreen mode.

2008-03-15 Sandro Santilli <strk@keybit.net>

	* gui/gnash.cpp: fix build with GNASH_FPS_DEBUGGING defined.
	* testsuite/actionscript.all/Inheritance.as: test double gap in
	  inheritance chain.

2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/arg_parser.{cpp,h}: add slightly modified version of
	  Antonio Diaz Diaz's C++ Arg_parser class.
	* libbase/Makefile: build arg_parser.
	* gui/gnash.cpp: use Arg_parser to add long options. Make --help
	  more concise (we have a manual), abolish printf where it's not
	  useful for translation (which is almost everywhere). 

2008-03-15 Sandro Santilli <strk@keybit.net>

	* server/debugger.cpp: fix compilation.
	* server/vm/ASHadlers.cpp (ActionCallMethod): for SWF7+ compute
	  super from the actual object containing the called function
	  (also when finding out from super).
	* testsuite/actionscript.all/Inheritance.as: successes.

2008-03-15 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Inheritance.as: more tests for 
	  gaps in inheritance chain (SWF7+ fails in gnash).
	* server/stream.cpp: use the float conversion function found
	  in action_buffer, hopefully working fine on big endian hosts
	  (to be tested).

2008-03-14  Rob Savoye  <rob@ripple.welcomehome.org>

	* doc/C/Makefile.am: Install the preformatted info pages too.

	* macros/kde.m4: Set plugin paths here instead of configure.ac.
	* configure.ac: Move Kparts config code to kde.m4. Default to
	$HOME/.kde instead of system wide, fixing all installation
	permissions problems.

2008-03-14 Sandro Santilli <strk@keybit.net>

	* server/as_environment.cpp: when dumping local registers and
	  variables only show the ones in current (top) call frame, not
	  all of them.
	* server/stream.{cpp,h}: substitute the ambiguos read_float
	  with read_short_float and read_long_float.
	* server/parser/filter_factory.cpp: use read_long_float for
	  bitmap filter parsing (fixes a parse error in sevenload.de
	  player.swf); more verbose parsing.

2008-03-14 Sandro Santilli <strk@keybit.net>

	* server/swf/PlaceObject2Tag.cpp: log more about PlaceObject3
	* server/fill_style.cpp: use an int for the temporary num_gradients.
	* server/textformat.cpp: warn once about unimplemented TextFormat.
	* server/asobj/LoadVars.cpp: don't trace onData and onLoad methods
	  enter.
	* server/asobj/MovieClipLoader.cpp: don't trace MovieClip destruction.

2008-03-14 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (sprite_startDrag): handle
	  NaN args (we should probably use ints for dragging in
	  general). Fixes bug #22592.

2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/fill_style.cpp: cast uint8_t to int before logging.

2008-03-14 Sandro Santilli <strk@keybit.net>

	* server/video_stream_instance.h: implement pointInShape (for the
	  sake of removing the error log in default implementation, but
	  it does the same thing as the former).

2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/tree.hh: update to version 2.51
	* server/movie_root.cpp: tinker with the tree a bit more.

2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/movie_root.{h,cpp}: add getMovieInfo() to fill the info tree
	  with data. Added more data about movie stage and from public methods
	  of gnash::character. This class will eventually get its own tree
	  filler method.
	* gui/gui.cpp: delegate some tree filling to movie_root.

2008-03-14 Sandro Santilli <strk@keybit.net>

	* server/font.cpp (read_font_info): initialize the device font
	  provider if a name was read. Fixes bug #22367.
	* testsuite/swfdec/REALTIME: run netstream-status.swf in realtime.
	* server/movie_root.cpp (cleanDisplayList): make sure NO unloaded
	  characters are in the live instances container after a call to
	  this method.
	* testsuite/actionscript.all/Inheritance.as: test gaps in the
	  inheritance chain. Gnash fails for SWF>6.

2008-03-13 Bastiaan Jacques <bastiaan@bjacques.org>

	* backend/render_handler_cairo.cpp: Partially implement invalidated
	bounds, improving performance by approximately 10%.

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Microphone.as: more comprehensive tests
	  for the Microphone class.

2008-03-13  Dossy Shiobara <dossy@panoptic.com>

	* plugin/win32/: plugin.cpp (1.14), plugin.h (1.10): Use the
	  Windows GDI DIB buffer directly with AGG, eliminating an
	  unnecessary buffer and memcpy.  Correctly prevent multiple
	  streams from launching a player thread.  Implement mouse movement
	  and clicking support.

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Stage.as: More tests for Stage.align.
	  It's obvious what it does now.
	* server/asobj/Stage.{h,cpp}: make Stage.align methods work properly.
	  It's still not really implemented. More swfdec passes.
	* testsuite/swfdec/PASSING: passing tests.

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Stage.as: Stage methods were
	  available in SWF5, but weren't native.
	* server/asobj/Stage.cpp: init Stage methods for SWF5, but
	  don't register them as Native (one more swfdec testsuite pass).

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gui.cpp: Reorganize movie properties, add a few more.

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Stage.as: some passing tests.

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Stage.as: tests with different cases,
	  whitespace and extra characters.
	* server/asobj/Stage.{h,cpp}: add _displayState member, implement
	  displayState getter-setter. Make checks case-insensitive, but
	  not yet tolerant of whitespace or extra characters.
	* gui/Player.cpp: listen for displayState. 

2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/MovieTester.{h,cpp}: add support for resizing.
	* gui/gui.cpp: minor cleanup.
	* server/asobj/Stage.cpp: minor cleanups.
	* testsuite/actionscript.all/Stage.as: tests for Stage.displayState.

2008-03-13 Sandro Santilli <strk@keybit.net>

	* server/as_object.cpp: implement get_text_value for as_super.
	* testsuite/swfdec/PASSING: object-valueof-{6,7,8} succeed.

2008-03-12 Bastiaan Jacques <bastiaan@bjacques.org>

	* backend/render_handler_cairo.cpp: Store some ints as ints.
	* gui/gtk_glue_cairo.{cpp,h}: Make the GTK window single-buffered,
	because we provide our own double-buffering mechanism. configure():
	Try to create a buffer that's similar to the GDK buffer. This
	significantly improves performance. render(): Implement invalidated
	bounds.

2008-03-12 Bastiaan Jacques <bastiaan@bjacques.org>

	* backend/render_handler_ogl.cpp: Compliation fix.

2008-03-12 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/PASSING: super-reference-{7,8} succeed.
	* testsuite/actionscript.all/Inheritance.as: last failing test pass
	  (we need a lot more now !!)
	* server/as_object.h: make findProperty public.
	* server/vm/ASHandlers.cpp (ActionCallMethod): use findProperty
	  to find the actual object containing the named method to call,
	  and compute super from that IFF swf > 7.

2008-03-12 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/PASSING: super-reference-6.swf succeeds.
	* server/as_function.cpp (function_call): set super.
	* testsuite/actionscript.all/Stage.as: successes..

2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/edit_text_character.cpp: don't use == when comparing
	  floats.
	* server/asobj/Stage.cpp: return actual stage size when scaleMode
	  is noScale. This allows the stage resize listeners to work
	  out what to do (which is the point of noScale).
	* server/movie_root.cpp: minor cast cleanup.

2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/Stage.cpp: don't call align 'width'; implement
	  getting and setting Stage.align, though it won't do anything.

2008-03-12 Sandro Santilli <strk@keybit.net>

	* backend/render_handler_agg.cpp,
	  libmedia/ffmpeg/VideoDecoderFfmpeg.{h,cpp}
	  boost::foreach.hpp is not available as of boost-1.33.1.

2008-03-12 Sandro Santilli <strk@keybit.net>

	* server/PropertyList.{cpp,h} (setValue): allow passing flags to use
	  when creating new properties.
	* server/as_object.cpp: avoid the double scan when initializing
	  members. Have super register a proper __proto__ member.

2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all: tests for Stage properties and 
	  Stage.align values.

2008-03-12 Sandro Santilli <strk@keybit.net>

	* testsuite/samples/Makefile.am: don't add LDFLAGS (AGG_LIBS)
	  to GNASH_LIBS, don't list GNASH_LIBS as dependency of test
	  runners (should be imported by libgnashtestsuite.la).

2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* po/de.po: Updated translation by Alwin Meschede.
	* po/sv.po, cs.po, es.po, fi.po, fr.po, it.po: updated po files.

2008-03-12  Dossy Shiobara <dossy@panoptic.com>

	* plugin/win32/: plugin.cpp (1.13), plugin.h (1.9): Overhaul of
	  Win32 npgnash.dll, implementing in-process Gnash in a player
	  thread, using AGG renderer and SDL/ffmpeg for sound.

	* plugin/win32/npgnash.rc (1.4): Cleaned up resource file and
	  modified it to masquerade as "Shockwave Flash" so JavaScript
	  checks on Win32 will detect Gnash as a Flash player.

	* plugin/win32/npgnash.def (1.1): Explicitly export
	  NP_GetEntryPoints, NP_Initialize and NP_Shutdown symbols in
	  npgnash.dll.

	* plugin/win32/: npgnash.c (1.1), npgnash.cpp (1.9): Renamed from
	  .cpp to .c to avoid having to wrap the whole file in an extern
	  "C".

	* plugin/win32/npgnash_resource.h (1.2): No longer needed.

2008-03-11 Bastiaan Jacques <bastiaan@bjacques.org>

	* configure.ac: If --enable-visibility is specified, and no GCC bug
	was detected, compile with -fvisibility=hidden.
	* server/shape.{cpp, h}: Since SWF provides shape edges as integers,
	there's no need to store them as floats. Some renderers can improve
	performance here, especially when used on certain embedded platforms.
	To this end, path and edge are now templated classes Path<> and
	Edge<>, and the precision (int or float) can be specified with the
	template argument.
	* backend/render_handler_agg.cpp: The AGG renderer relies on
	floating pointprecision in paths (after matrix conversion), so make
	sure that precision is preserved.
	* libgeometry/{Point2d.h, Range2d.h}: Allow easy conversion from float
	to int templates.
	* server/matrix.{cpp, h}: Allow transformations to take place on any
	kind of Point2d and Range2d.
	* server/types.h: Multiplication by 20 does not require a floating
	point annotation.
	* server/parser/BitmapMovieDefinition.cpp: Specify the "new subshape"
	argument to Path's constructor.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/*.as: re-add rcsids.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Date.as: fix test count.

2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp, gui/Player.cpp: minor code cleanups.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* server/vm/ASHandlers.cpp (ActionCallFunction): only
	  maintain the 'this' pointer if in a function context.
	* testsuite/actionscript.all/Inheritance.as: one xfail
	  less.

2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/Player.cpp: add stubs for all fscommand methods, implement
	  showmenu.
	* gui/gui.{h,cpp}: add showMenu().
	* gui/gtk{.cpp,sup.h}: implement showMenu for gtk (mainly for 
	  fscommand "showmenu").

2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Object.as: check that toLocaleString
	  calls toString. Add some tests for when toLocaleString is implemented
	  at all.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/: Date.as, Object.as:
	  Use hasOwnProperty for new 'toLocaleString' availability
	  testing.

2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Date.as: tests for toLocaleString.
	* testsuite/actionscript.all/Object.as: tests for toLocaleString.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* backend/Makefile.am: distribute ogl backend header.
	* ChangeLog, ChangeLog-0.8.2, Makefile.am: split ChangeLog.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-ming.all/registerClassTest.c: more tests
	  for __constructor__ and constructor of instances with
	  registered class.

2008-03-11 Sandro Santilli <strk@keybit.net>

	* server/sprite_instance.cpp (constructAsInstance): compute
	  a 'super' reference.
	* testsuite/misc-ming.all/registerClassTest.c: test super in
	  registered-class constructor.
	* server/as_object.cpp: mark reachable resources from 'super'
	  (may live longer then a function call, if that's the user
	  intention).
	* testsuite/actionscript.all/MovieClip.as: check 'constructor'
	  and '__constructor__' members of builtin class instances.

2008-03-10 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/StringPredicates.h: Make case insensitive compare work with
	old boost, take two.

2008-03-10 Sandro Santilli <strk@keybit.net>

	* server/vm/fn_call.h: add a 'super' member in the function call.
	* server/vm/action.{cpp,h}: allow passing a 'super' object to
	  call_method.
	* server/as_object.{cpp,h}: implement get_constructor,
	  reimplement get_super, add isSuper virtual function,
	  provide a special 'as_super' class.
	* server/as_function.cpp (constructInstance): provide proper 'super'
	  reference.
	* server/as_value.cpp (typeOf): advertise the super object as an
	  'object'
	* server/swf_function.cpp: use fn_call::super as the super reference.
	* server/vm/ASHandlers.cpp (ActionCallFunction, ActionCallMethod):
	  properly setup a 'super' in function calls.
	* testsuite/actionscript.all/Inheritance.as: new successes.
	* testsuite/misc-mtasc.all/Makefile.am: super_test1.swf succeeds.
	* testsuite/swfdec/PASSING: 8 super-related tests succeed.

2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* doc/C/usermanual/gnashrc.xml: add information about ignoreFSCommands
	  directive.
	* doc/C/refmanual/internals.xml: correct typo.
	* gui/gui{h.cpp}: allow exiting after a set number of advances.
	* gui/Player.{h.cpp}: same. Fscommand is case insensitive.
	* gui/gnash.cpp: add switch (-m) for setting max advances. This
	  will probably be changed soon to a long option. Drop unused
	  switches and code.

2008-03-10 Sandro Santilli <strk@keybit.net>

	* testsuite/generic-testrunner.sh: sleep less.
	* testsuite/misc-ming.all/Makefile.am: re-enabled
	  instanceNameTestRunner, erroneously dropped by
	  in revision 1.184 (when adding BOOST_CFLAGS).

2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* utilities/processor.cpp: make fscommand test case insensitive.

2008-03-10 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/MovieClip.as: don't rely on
	  playing slow..
	* testsuite/misc-mtasc.all/Dejagnu.as: quit when done.

2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gtk.cpp: change cursor only over the drawing area.
	  Prevents the mouse staying invisible over menus. Drop
	  a line I accidentally added some time ago.

2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/gnash.h: third time lucky: interfaceEventCallback
	  returns a std::string to allow a range of responses.
	* gui/Player.{h,cpp}: adapt interfaceEventCallback method
	  to return std::string. Clean up names of private member
	  variables.
	* gui/gui.{h,cpp}: add flag for whether mouse pointer
	  is shown or hidden.
	* gui/gtk{sup.h,.cpp}: implement mouse hide/show for GTK.
	* doc/C/refmanual/internals.xml: update some docs.

2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/gnash.h: make interfaceEventCallback return bool to
	  allow response from the gui. Rename register_fscommand_callback
	  to registerFSCommandCallback and make it take const std::string&
	  arguments.
	* server/as_object.{h,cpp}: remove callback from as_object and
	* server/movie_root.{h,cpp}: put it in movie_root for use with
	  other events (e.g. ActionLimits hit).
	* server/asobj/Mouse.cpp: update callback to movie_root.
	* server/vm/ActionExec.cpp: update registerFSCommandCallback.
	* gui/Player.{h,cpp}: adapt interfaceEventCallback methods,
	  implement some fscommands (quit, fullscreen).
	* gui/gui.{h,cpp}: add isPlugin() method for deciding whether to
	  handle fscommands.
	* libbase/rc.{cpp,h}: add ignoreFSCommands directive to allow, well,
	  ignoring fscommands. Set to true by default.
	* utilities/processor.cpp: update registerFSCommandCallback.

2008-03-09 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/StringPredicates.h: Use std::lexicographical_compare instead
	of boost::ilexicographical_compare, because the latter is not
	available in boost 1.33.

2008-03-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/gnash.h: add "interfaceEventCallback" callback for passing
	  AS events to the gui.
	* server/as_object.{cpp,h}: make callback a static method of as_object
	  class, as that's where it's used.
	* gui/Player.{h,cpp}: register Player as a listener for interface event
	  callbacks and pass on to gui.
	* gui/gui.{cpp,h}: make Mouse.hide and Mouse.show unimplemented in the
	  gui, not in mouse_as_object.
	* server/asobj/Mouse.cpp: send mouse events using callback.

2008-03-07 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/StringPredicates.h: Use boost string algorithms instead of
	the current home-grown ones.
	* server/vm/ASHandlers.cpp: getTime() returns int, so there's no point
	in rounding it to the nearest integer.

2008-03-07 Russ Nelson <nelson@crynwr.com>

	* Fix typos and unwieldy grammar in doc/C/*.xml and doc/C/userman/*.xml
	* Remove Klash, renaming to kde-gnash and kparts as needed.

2008-03-07 Sandro Santilli <strk@keybit.net>

	* server/swf_function.cpp: arguments.callee is not enumerable
	  by default.
	* testsuite/actionscript.all/Function.as: test for default
	  enumerable properties of 'arguments' succeeds.

2008-03-07 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/Function.as: expect a failure on
	  composition of the 'arguments' object. Was already broken,
	  used to succeed due to another bug (availability of a 'size'
	  property, which wasn't supposed to be there..).

2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: a negative number passed as second
	  argument to lastIndexOf always returns -1. More swfdec
	  testsuite passes.
	* testsuite/swfdec/PASSING: update passing tests.

2008-03-07 Sandro Santilli <strk@keybit.net>

	* testsuite/misc-mtasc.all/function_test.as: add a couple
	  more tests.

2008-03-07  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/libbase/memtest.cpp: Add tests for time stamps.
	* libbase/gmemory.h: Add nano resolutions timestamps.
	* libbase/memory.cpp: Add timestamps so we can test performance
	too.

2008-03-07 Sandro Santilli <strk@keybit.net>

	* server/as_value.cpp (to_debug_string): add class name
	  for functions too.

2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/asobj/string.cpp: substring end pos is also set to
	  0 if it's a negative number and, where relevant, swapped with
	  start pos. More swfdec testsuite passes.
	
2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* gui/gui.{h,cpp}: make data tree-shaped instead of flat.
	* gui/gtk.cpp: update properties dialogue to use tree view.

2008-03-06  Rob Savoye  <rob@ripple.welcomehome.org>

	* testsuite/libbase/memtest.cpp: Figures, malloc() on Ubuntu and
	Fedora differs in what it allocates. Ubuntu seems to like 16
	bytes pages,. Fedoras gives us what we ask for, and aligns the
	memory later. Both behaviours are correct.

	* libbase/gmemory.h: Renamed from memory.h to avoid name
	collisions. 
	* libbase/memory.h: Renamed to gmemory.h to avoid name
	collisions. 

2008-03-06  Rob Savoye  <rob@ute.welcomehome.org>

	* configure.ac: Add a test for mallinfo();
	* testsuite/libbase/memtest.cpp: New test case for the Memory
	debugger for use by maintainers.
	* testsuite/libbase/Makefile.am: Add new memory testv case.
	* libbase/memory.{h,cpp}: New Memory class for analysing memory
	allocation to find leaks and bloat.
	* libbase/makefile.am: Add memory.*.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/array.cpp: there's no such thing as an Array.size member, and
	  use a native getter/setter for 'length'.
	* testsuite/actionscript.all/array.as: test that Array instances
	  don't have any 'size' member.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/as_value.{cpp,h}: cleanup: remove the unused drop_refs
	  and destructor (both doing nothing).

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/swfdec/PASSING: add passing Chr tests.
	* testsuite/actionscript.all:String.as: passing tests.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/movie_root.cpp (markReachableResources): character mouse and
	  key listeners also don't need to be scanned again as all left would
	  be on stage.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/fill_style.cpp: cast log arg to int, or boost::format will
	  interpret as a character (string).
	* server/movie_root.cpp (markReachableResources): don't mark live
	  chars as reachable, as they should be marked by their parent
	  already (was a TODO item).

2008-03-06 Sandro Santilli <strk@keybit.net>

	* libbase/GC.{cpp,h}: ok not calling size() twice, but
	  don't properly update the last managed resources count..

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/vm/ASHandlers.cpp: implement MbOrd for SWF6+ and utf-8,
	  clean up the other chr and ord functions a bit.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* libbase/GC.cpp: minor thing, don't call std::list::size() twice each
	  frame iteration, as it's O(n) for GNU stdc++ lib...

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/button_character_instance.cpp, server/sprite_instance.cpp,
	  server/video_stream_instance.cpp, server/asobj/NetConnection.cpp,
	  server/asobj/NetStream.cpp, server/asobj/Sound.cpp,
	  server/asobj/Stage.cpp, server/asobj/string.cpp,
	  server/asobj/xmlnode.cpp:
	  Further reduce builtin_function for native getter/setters.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/: Property.{cpp,h}, PropertyList.{cpp,h},
	  as_object.{cpp,h}:
	  Add support for native getter-setters.
	* server/sprite_instance.cpp: use native getter-setters
	  for sprite properties.
	* server/vm/Machine.cpp: don't assume a getter setter is
	  always implemented using an as_function.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* server/asobj/Global.cpp: cast istringstream to bool as a way
	  to detect errors, tellg() == -1 was ambiguos.
	* testsuite/actionscript.all/String.as: fix expected results
	  (could not handle to find a working comparison for multibyte
	  chars in swf5).

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/String.as: add tests for mbchr (should
	  be correct) and mbord(not yet confirmed).

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: correct test count.
	* server/asobj/Global.cpp: forget lexical_cast, use stringstream
	  instead. That both fixes the locale problem and doesn't mess up
	  parsing of non-numeric characters.

2008-03-06 Sandro Santilli <strk@keybit.net>

	* testsuite/actionscript.all/MovieClip.as: add test for override
	  of native properties (or getter/setters).

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* testsuite/actionscript.all/Global.as: add some checks that would
	  have caught a mistake in parseFloat.

2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* server/vm/ASHandlers.cpp: fix mbchr to return a UTF-8 string;
	  make sure both mbchr and chr handle characters only up to
	  65535. Fixes behaviour for SWF6, 7, and 8.
	* configure.ac: update version (flash compatibility) to 9,0,999 so
	  that javascript flash detectors don't reject gnash (not helpful for
	  implementing SWF9).
	* server/asobj/Global.cpp: use boost_lexical cast in parseFloat;
	  sscanf looks only for the decimal separator of the locale,
	  which since a localization change is now always the local
	  locale; actionscript uses the 'C' locale.

2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>

	* libamf/{amf.h, element.h, lcshm.h, sol.h},
	libbase/{GC.h, WallClockTimer.h, libbase/shm.h, string_table.h}
	libmedia/gst/{VideoDecoderGst.h, GstUtil.h}, 
	server/{PropertyList.h, SystemClock.h, as_environment.h,
	as_function.h, character.h, shape.h, timers.h}: Add DSOEXPORT
	where a symbol is used outside of the DSO where it's implemented.
	Allows compilation with -fvisibility=hidden.
	* libbase/utility.{cpp h}, libmedia/{AudioDecoder.h,
	AudioDecoderSimple.cpp, Makefile.am}: Move convert_raw_data to
	libmedia.

2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.cpp: remove silly assertion.
	* testsuite/libamf.all/test_object.cpp: use std::string hexify.

2008-03-04 Sandro Santilli <strk@keybit.net>

	* testsuite/swfdec/PASSING: added tests that only failed due to 
	  traces being truncated.
	* cygnal/crc.cpp: update to build after changes in RcInitFile
	  interface.

2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/log.{h,cpp}: add templates to convert from vsnprintf format
	  logging calls to boost::format. These are generated with 
	  boost.preprocessor macros. The templates 'redirect' log_* calls
	  to logProcess_* functions. These can also be used directly.
	  Switching between the two is possible by changing the #define
	  USE_BOOST_FORMAT in log.h. It is enabled by default. Make static
	  members private, as they aren't needed elsewhere. Make hexify()
	  return a std::string and look much less scary.
	* libamf/element.cpp, libamf/sol.cpp: use std::string hexify.
	* server/parser/action_buffer.cpp: use std::string hexify.
	* server/vm/ASHandlers.cpp: use C++ standard header <locale>
	* utilities/dumpshm.cpp: use <locale>, change hexify.
	* utilities/processor.cpp: use <locale>.

2008-03-04 Sandro Santilli <strk@keybit.net>

	* libbase/GC.{cpp,h}: add a countCollectables() method for stats.
	* gui/gui.cpp: print collectables count in the movie properties
	  menu.

2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/array.h server/dlist.cpp server/URLAccessManager.cpp: More
	proper namespacing. Fixes build with GCC 4.3.

2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>

	* server/asobj/xmlnode.cpp: Add a direct include and proper
	namespacing for GCC 4.3.

2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>

	* libbase/rc.{h,cpp}: const correct; clean up parsing, avoiding
	  an extra iteration at the expense of constructing
	  a stringstream; add warning on unrecognized commands; general
	  cleanup of other functions; drop ':' separator for lists, which
	  has been deprecated for a while. Document functions.

2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>

	* all over the place: Remove $Id tags, because it has not been shown
	that they serve a real purpose; however, they do cause problems.

