reduce verbosity
[gnash.git] / ChangeLog-0.8.3
blobdc7e2b76a394e2ed7e56fc309cedf5757522ead7
1 2008-06-12 Russ Nelson <nelson@crynwr.com>
3         * configure.ac: 0.8.3 release.
4         * README: note the passing of bwy's laptop, Franz.
6 2008-06-11 Russ Nelson <nelson@crynwr.com>
8         * configure.ac: note that OpenSUSE's libffmpeg-api should not
9           be used.
11 2008-06-11 Sandro Santilli <strk@keybit.net>
13         * utilities/Makefile.am: add full AM_LDFLAGS to gprocessor, otherwise
14           only using the LDFLAGS explicitly put in overridden _LDFLAGS
15           automake variable (at least on some systems, reported on bug
16           #21536).
18 2008-06-09 Russ Nelson <nelson@crynwr.com>
20         * Tag and release -rc3
21         * libbase/gnashpluginrc.in: We need more infrastructure before
22           we can ship startstopped on.  In particular, we need to identify      
23           gnash as the source of the "Click to play", and we need to show
24           them how to turn startstopped off.  Ideally, we would also give
25           them a whitelist for hosts to start on, or a blacklist for hosts
26           to start off.
28 2008-06-09 Russ Nelson <nelson@crynwr.com>
30         * Committed both of Patrice's patches (missing .as && .po files)
32 2008-06-06 Russ Nelson <nelson@crynwr.com>
34         * configure.ac: Patrice Dumas noticed that the .as files were
35           missing from the ming tests directory.  For better or worse,
36           ''make dist'' takes your current configuration into account
37           when it decides what needs to go into the distribution.  I
38           was missing makeswf (libming-utils), but configure.ac didn't
39           warn me about that.  It does now.
41 2008-06-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
43          * libbase/utility.h: include gnashconfig.h.
45 2008-06-03 Russ Nelson <nelson@crynwr.com>
47         * Apply patch #6533, adds autoresample to the gstreamer pipeline.
48           https://savannah.gnu.org/patch/?6533
50 2008-06-03 Russ Nelson <nelson@crynwr.com>
52         * macros/ffmpeg.m4: Previous method for location of ffmpeg
53           libraries didn't work on Mandriva.  Current method should be
54           more supportable.
55         * ..: throw up our hands and give up if we can't autolocate
56           avcodec.h; suggest that they use --with-ffmpeg-incl.
58 2008-06-01 Russ Nelson <nelson@crynwr.com>
60         * README.opensuse: Document the problem with the OpenSUSE
61           libffmpeg-api package (installs in /usr/lib64 on a 32-bit
62           machine).
64 2008-05-30 Sandro Santilli <strk@keybit.net>
66         * gui/Player.{cpp,h}: keep the toplevel movie in an intrusive_ptr
67           just in case someone else will get it in and out of one while
68           we're still using it (would prematurely destroy it).
69         * server/parser/: movie_definition.h, sprite_definition.h,
70           movie_def_impl.{cpp,h}:
71           Add new importResources() method taking care of IMPORT
72           details; have movie_def_impl maintain a list of movies
73           from which it imports from: fixes bug #23364.
74         * server/swf/tag_loaders.cpp (import_loader): just parse
75           and load the source movie, let the rest be done
76           by the new importResources() method.
78 2008-05-29  Dossy Shiobara <dossy@panoptic.com>
80         * libbase/utility.h,
81           server/as_object.h: Fix up finite/isfinite for GCC
82           3.4, specifically Win32/MinGW.
84 2008-05-26 Benjamin Wolsey <bwy@benjaminwolsey.de>
86          * server/vm/ASHandlers.cpp: commit the proper fix for bug #23331
87            (segfault in enumerateProperties).
89 2008-05-25 Sandro Santilli <strk@keybit.net>
91         * gui/Player.cpp: don't forget to initialize hasOverriddenBaseUrl.
92           (thanks Bastiaan for finding out)
94 2008-05-24 Bastiaan Jacques <bastiaan@bjacques.org>
96         * server/matrix.cpp: Use std::max instead of fmax, to fix build on BSD
97         and friends.
99 2008-05-23 Russ Nelson <nelson@crynwr.com>
101         * configure.ac: make the user's life a little easier by telling them
102           explicitly what guis each renderer supports.
104 2008-05-23 Sandro Santilli <strk@keybit.net>
106         * server/asobj/NetStreamFfmpeg.cpp (seek): argument is in seconds,
107           not milliseconds. "Fixes" seeking.
109 2008-05-23 Bastiaan Jacques <bastiaan@bjacques.org>
111         * backend/render_handler_cairo.cpp: Snap all coordinates to half a
112         pixel. This fixes rendering of hair lines (and two testsuite
113         failures.)
115 2008-05-22 Bastiaan Jacques <bastiaan@bjacques.org>
117         * backend/render_handler_cairo.cpp: Unlike AGG, the Cairo renderer
118         takes measurements in TWIPS.
120 2008-05-22 Russ Nelson <nelson@crynwr.com>
122         * README.dump-gnash: I don't know where to put this information
123           where someone will be sure to find it, other than a README.
124           If someone has a better idea, Just Do It(tm).
126 2008-05-22 Russ Nelson <nelson@crynwr.com>
128         * All files were changed to support the new method for location
129           of ffmpeg include files.  They were moved from .../ffmpeg/* into
130           .../lib*/*.  Also, they changed the way they express the version
131           number in avcodec.h, which we are parsing to avoid compiling
132           because we support cross-compilation.  We now support that also.
134 2008-05-22 Bastiaan Jacques <bastiaan@bjacques.org>
136         * server/asobj/SoundFfmpeg.cpp: Ensure the destructor cannot finish
137           before setupDecoder() has finished. Fixes crashbug #23275. 
139 2008-05-21 Sandro Santilli <strk@keybit.net>
141         * server/asobj/NetStreamFfmpeg.{cpp,h}:
142           Don't lock input mutex while holding it on ::startPlayback.
143           Doesn't fix the .join() hung, but helgrind is kind of happier.
145 2008-05-20 Bastiaan Jacques <bastiaan@bjacques.org>
147         * server/asobj/NetStreamFfmpeg.cpp: Set playStop when playback stops
148         and not when decoding stops.
150 2008-05-21 Sandro Santilli <strk@keybit.net>
152         * libbase/FLVParser.cpp (parseNextFrame): don't log ERROR on end of
153           file, but mark parsing as complete; don't abort parsing on unknown
154           FLV tag type (we can just skip them); handle premature EOF during
155           metaTag parsing.
157 2008-05-21 Brad Smith <brad@comstyle.com>
159         * libnet/network.h: Ensure data types are defined before including
160         netinet.h (for OpenBSD).
161         * gui/Player.cpp: Make sure write() is defined (for OpenBSD).
163 2008-05-21 Sandro Santilli <strk@keybit.net>
165         * cygnal/Makefile.am, utilities/Makefile.am: add LIBINTL
166           to AM_LDFLAGS. Patch in bug #21536, modified to use LIBINT
167           consistently (also used in libbase/Makefile.am).
169 2008-05-20 Benjamin Wolsey <bwy@benjaminwolsey.de>
171          * po/ja.po: This isn't PHP...
173 2008-05-19 Bastiaan Jacques <bastiaan@bjacques.org>     
175         * server/asobj/NetStream.{h,cpp}: Remove the m_go and m_pause status
176         variables, because their semantics are ill-defined. Extend imagemutex
177         to the m_newFrameReady flagging boolean so that it doesn't need to be
178         volatile.
179         * server/asobj/NetStreamFfmpeg.{h,cpp}: No longer depend on
180         NetConnection to download URLs. This allows two NetStreams to share
181         one Netconnection object. It also fixes a segmentation fault. m_go and
182         m_pause are replaced by playbackStatus() and decodingStatus
183         mutex-protected methods, resolving ambiguity. updateVideoFrame no
184         longer relies on the presence of audio in order to show video frames
185         (fixing bug #22400 and #22439). These changes reduce the potential
186         race conditions that Helgrind detects from +/- 90 to three on a short
187         movie.
189 2008-05-19 Benjamin Wolsey <bwy@benjaminwolsey.de>
191          * po/Makefile.am, po/ja.po: add Japanese translation by
192            Makoto Kato.
194 2008-05-19 Sandro Santilli <strk@keybit.net>
196         * server/vm/ActionExec.cpp (setLocalVariable): use scope stack
197           when out of a function context (as comment suggested).
198         * testsuite/swfdec/PASSING: definelocal-scope.as in all versions.
200 2008-05-17 Russ Nelson <nelson@crynwr.com>
202         * doc/C/Makefile.am: list the files one by one, not the subdir.
203         * testsuite/Makefile.am: list the files one by one, not the subdir.
204         * testsuite/media/README: list and describe the files to include
206 2008-05-17 Sandro Santilli <strk@keybit.net>
208         * server/namedStrings.{cpp,h}: add PROP_TEXT_HEIGHT.
209         * server/edit_text_character.{cpp,h}: implement missing textHeight,
210           turn textWidth into a proper property.
211         * testsuite/actionscript.all/TextField.as: updated expected results.
213 2008-05-17 Sandro Santilli <strk@keybit.net>
215         * gui/Player.cpp (run): support relative urls in 'base' parameter,
216           always resolve against baseurl given with -U or derived from -u
217           or filename. Fixes bug #23260.
219 2008-05-16 Russ Nelson <nelson@crynwr.com>
221         * testsuite/media/Bitstream Vera Sans.COPYRIGHT rename to:
222         * testsuite/media/Bitstream-Vera-Sans.COPYRIGHT
223         * testsuite/media/Bitstream Vera Sans.fdb rename to:
224         * testsuite/media/Bitstream-Vera-Sans.fdb
225         * testsuite/media/README: Modify the file to include *everything*
226           which should go in the distro.
228 2008-05-16 Sandro Santilli <strk@keybit.net>
230         * libmedia/ffmpeg/sound_handler_sdl.{cpp,h}: fix memory leak in
231           stop_all_sounds too..
233 2008-05-16 Sandro Santilli <strk@keybit.net>
235         * libmedia/ffmpeg/sound_handler_sdl.h: add an
236           sound_data::clearActiveSounds() method to properly
237           drop active sounds w/out memory leaks.
238         * libmedia/ffmpeg/sound_handler_sdl.cpp (stop_sound):
239           use sound_data::clearActiveSounds() fixing leak of
240           actual active sounds..
242 2008-05-16 Sandro Santilli <strk@keybit.net>
244         * server/sprite_instance.{cpp,h}: remove unloaded TextField references
245           from TextField variables container on ::cleanupDisplayList.
246           Fixes bug #20076 (leak on curve_ball.swf).
248 2008-05-15 Sandro Santilli <strk@keybit.net>
250         * README: remove section about impelmented/unimplemented as classes
251           and opcode as the info is old and we'll log UNIMPLEMENTED messages
252           for any class or class interface we know to be unimplemented;
253           Removed reference to 'mad' media handler, no more supported.
255 2008-05-15 Russ Nelson <nelson@crynwr.com>
257         * NEWS: add notes about this release, make formatting consistent
258           across all the release notes.
259         * README: remove first person, update to 0.8.3
260         * doc/C/actionscript.xml: update version number
261         * doc/C/app_authors.xml: add myself as author
262         * doc/C/conformance.xml: add Implements 
263         * doc/C/gnashref.xml: update version number
264         * doc/C/gnashuser.xml: update version number
265         * doc/C/introduction.xml: change the tense
266         * doc/C/preformatted/gnash.1.in: regenerate
267         * doc/C/preformatted/gnash_ref.info.in: regenerate
268         * doc/C/preformatted/gnash_user.info.in: regenerate
269         * doc/C/preformatted/gnashref.html.in: regenerate
270         * doc/C/preformatted/gnashuser.html.in: regenerate
271         * doc/C/refmanual/documentation_dependencies.xml: spelling
272         * doc/C/refmanual/feature_configuration.xml: spelling/grammar and note
273           that AGG is the default.
274         * doc/C/refmanual/testing_dependencies.xml: spelling
275         * doc/C/usermanual/usage.xml: spelling and add options for dump-gnash.
276         * macros/boost.m4: remove dependency on filesystem
277         * macros/docbook.m4: improve FOP and jre location code
279 2008-05-15 Sandro Santilli <strk@keybit.net>
281         * configure.ac: set version to 0.8.3
283 2008-05-15 Sandro Santilli <strk@keybit.net>
285         * server/parser/movie_def_impl.cpp (readHeader): limit FPS to a max of
286           84 (limit found by trial and error). Can be turned into a
287           compile-time define. Use this upper bound when FPS 0 is requested.
289 2008-05-15 Sandro Santilli <strk@keybit.net>
291         * configure.ac: bail out if sdl gui is selected in conjuntion
292           with cairo renderer (unsupported).
294 2008-05-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
296         * server/tools.cpp, libbase/image_filters.cpp, win32: drop
297           unused or obsolete files.
299 2008-05-15 Sandro Santilli <strk@keybit.net>
301         * server/asobj/NetStream.{cpp,h}: drop unused as_environment member.
303 2008-05-14 Sandro Santilli <strk@keybit.net>
305         * server/dlist.cpp (mergeDisplayList): add assertion checking
306           when GNASH_PARANOIA_LEVEL > 1. The assertion fails running
307           movie attached to bug #23248.
309 2008-05-14 Sandro Santilli <strk@keybit.net>
311         * server/asobj/NetStreamGst.cpp (time,bytesLoaded,bytesTotal): check
312           existance of the elements before querying them. Fixes some
313           gst-CRITICAL errors.
315 2008-05-14 Benjamin Wolsey <bwy@benjaminwolsey.de>
317         * server/parser/movie_def_impl.h: log malformed SWF and return
318           when more than one JPEGTABLES tag present. Fixes bug #23201.
320 2008-05-13 Bastiaan Jacques <bastiaan@bjacques.org>
322         * server/asobj/NetStream.{h,cpp,Ffmpeg.cpp}: Mutex-protect 
323         _netCon and m_parser, because they access a curl tu_file 
324         across threads.
325         * libmedia/ffmpeg/VideoDecoderFfmpeg.cpp: Don't neglect to return the
326         decoded frame in pop().
328 2008-05-12 Robert Millan <rmh@aybabtu.com>
330         * libbase/: Makefile.am, gnashpluginrc.in, gnashrc.in,
331           sysgnashpluginrc.in, sysgnashrc.in:
332           Use 'gnashrc' and 'gnashpluginrc', w/out 'sys' prefix.
333           Patch #6509.
335 2008-05-10 Bastiaan Jacques <bastiaan@bjacques.org>
337         * server/asobj/NetStreamFfmpeg.cpp: Mutex-protect m_imageframe,
338         which is used across threads.
340 2008-05-10 Sandro Santilli <strk@keybit.net>
342         * libbase/utility.h: add smallestMultipleContaining
343           utility function.
344         * libbase/FLVParser.{cpp,h}: always allocate a multiple
345           of 64 (READ_CHUNK) greater or equal the actual frame
346           size augmented by 64 bytes (PADDING_BYTES): the multiple
347           thing was suggested by bjacques, the PADDING_BYTES I found
348           by myself (for h264 parser in ffmpeg...). Always check
349           return from tu_file::read_bytes to catch premature end
350           of input. Merge duplicated code into makeAudioFrame and
351           makeVideoFrame static functions.
353 2008-05-09 Sandro Santilli <strk@keybit.net>
355         * libmedia/: Makefile.cm, FLVParser.{cpp,h}: drop unused FLVParser
356           (we use the one from libbase).
358 2008-05-09 Sandro Santilli <strk@keybit.net>
360         * libbase/FLVParser.{cpp,h}: take a tu_file rather then a LoadThread.
361         * server/asobj/NetConnection.{cpp,h}: don't construct a LoadThread,
362           let users create a thread for download/parser/decode.
364 2008-05-09 Russ Nelson <nelson@crynwr.com>
366         * Fix dump-gnash's -D switch.
368 2008-05-09 Sandro Santilli <strk@keybit.net>
370         * testsuite/actionscript.all/setProperty.as: round _xscale so gnash
371           passes.
373 2008-05-09 Sandro Santilli <strk@keybit.net>
375         * testsuite/actionscript.all/setProperty.as: copy dejagnu
376           stuff to function scope so swf5 still works...
378 2008-05-09 Sandro Santilli <strk@keybit.net>
380         * testsuite/actionscript.all/Makefile.am: indent
381         * testsuite/actionscript.all/MovieClip.as: drop duplicated rcsid.
382         * testsuite/actionscript.all/setProperty.as: add rcsid, don't stop,
383           fix expected test run. NOTE: pp fails in swf5, not finding
384           the pass_check/pass_fail etc...
386 2008-05-09 Sandro Santilli <strk@keybit.net>
388         * libbase/FLVParser.cpp: use 64 (rather then 8) padding bytes.
389           I've no idea what that padding means and why is needed, anyway
390           it fixes an illegal read of 33 bytes past the allocated set
391           watching http://www.youtube.com/watch?v=P48VFXltFyM.
393 2008-05-09 Benjamin Wolsey <bwy@benjaminwolsey.de>
395         * fonts: drop unused fonts directory.
397 2008-05-09 Sandro Santilli <strk@keybit.net>
399         * server/asobj/NetStreamFfmpeg.cpp (decodeVideo): make somewhat more
400           readable.
402 2008-05-09 Sandro Santilli <strk@keybit.net>
404         * server/asobj/NetStreamFfmpeg.{cpp,h}: maintain a decoder
405           buffer so to reuse it in case resampling is needed;
406           allocate for it AVCODEC_MAX_AUDIO_FRAME_SIZE rather then 3/2
407           of it; allocate computed number of bytes for the resampled
408           buffer.
410 2008-05-09 Zou Lunkai <zoulunkai@gmail.com>
411         
412         * testsuite/actionscript.all/setProperty.as, Makefile.am: 
413           new tests for set/getProperty. Fixing this will fix some swf5 files.
414           
415 2008-05-09 Sandro Santilli <strk@keybit.net>
417         * libmedia/Makefile.am: remove other references to libltdl.
418         * server/asobj/NetStreamFfmpeg.{cpp,h}: move FLVParser.h
419           include from header to cpp file.
421 2008-05-08 Russ Nelson <nelson@crynwr.com>
423         * libmedia/Makefile.am: don't build libltdl here, as it's already
424           being built by libbase.
426 2008-05-08 Sandro Santilli <strk@keybit.net>
428         * libbase/curl_adapter.cpp (CurlStreamFile::seek): remove
429           a warning on seek(too_far). Return code cleanly handles
430           it (keep warnings for unexpected internal errors).
432 2008-05-08 Sandro Santilli <strk@keybit.net>
434         * server/asobj/NetStreamFfmpeg.cpp: use multithread_queue::clear
435           rather then looping and using .pop/.size (clear would lock
436           the mutex once).
438 2008-05-08 Sandro Santilli <strk@keybit.net>
440         * testsuite/misc-ming.all/Makefile.am: distribute empty.as
442 2008-05-08 Sandro Santilli <strk@keybit.net>
444         * server/swf/PlaceObject2Tag.cpp (readPlaceActions): handle malformed
445           swf during events parsing by keeping what was read so far.
446           Fixes misc-swfmill.all/zeroframe_definesprite.swf run.
448 2008-05-08 Sandro Santilli <strk@keybit.net>
450         * libmedia/ffmpeg/sound_handler_sdl.cpp: fix default constructor
451           to actually construct the object instead of corrupting memory;
452           don't heap-allocate WAV and CHK stuff.
453         * libmedia/ffmpeg/sound_handler_sdl.h: hide wave-specific code, not
454           needed in header.
456 2008-05-08 Bastiaan Jacques <bastiaan@bjacques.org>
458         * server/asobj/NetStreamFfmpeg.cpp: Sleep 1 millisecond instead of 1
459         microsecond to reduce CPU hogging.
461 2008-05-08 Sandro Santilli <strk@keybit.net>
463         * libmedia/sound_handler.h: expose create_sound_handler_sdl(), fixing
464           make check (and any use not willing to save a wave file... ).
466 2008-05-08 Benjamin Wolsey <bwy@benjaminwolsey.de>
468         * docs: update logging info in refmanual.
470 2008-05-08 Sandro Santilli <strk@keybit.net>
472         * doc/DESIGN: draf a design diagram
473         * gui/gnash.cpp: print gstreamer linked version in addition to
474           built-against version.
476 2008-05-08 Zou Lunkai <zoulunkai@gmail.com>
478         * server/sprite_instance.{h,cpp}: add a pointInHitableShape() for 
479           fixing MovieClip.hitTest().
480         * testsuite/media/empty_swf.swf: removed.
481           testsuite/misc-ming.all/empty.as: add a empty as file for making an empty frame.
482           testsuite/misc-ming.all/Makefile.am: use empty.as instead of empty_swf.swf
483           testsuite/misc-ming.all/RollOverOutTest.c: pass.      
484           should fix bug #22889.
486 2008-05-08 Benjamin Wolsey <bwy@benjaminwolsey.de>
488         * server/parser/action_buffer.cpp: it's a vector, use push_back.
489         * server/swf/PlaceObject2Tag.cpp: use ensureBytes, drop
490           assertion, with comment: rely on action_buffer's safety.
492 2008-05-07 Russ Nelson <nelson@crynwr.com>
494         * libamf/amf.cpp: eliminate "tmp used before initialization"
495         * libamf/amf.cpp: eliminate "variable not used" warning.
496         * libbase/extension.cpp: remove unused variable.
497         * libbase/memory.cpp: comment out unused variable.
498         * libbase/shm.cpp: nuke nuke.
499         * server/character.cpp: mark unused variables as such.
500         * server/asobj/ClassHierarchy.cpp: remove unused function.
501         * server/asobj/NetStreamGst.cpp: mark unused variables as such.
502         * server/vm/ActionExec.cpp: #if 0 out an unused variable.
503         * server/vm/Machine.cpp: mark unused variables as such.
504         
505 2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>
507         * testsuite/swfdec/PASSING: update for new tests.
509 2008-05-07 Udo Giacomozzi <udo.gnu@nova-sys.net>
511         * gui/fb.cpp: don't read from closed file descriptors
513 2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>
515         * po/*.po, po/gnash.pot: updated for distribution.
517 2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>
519         * backend/render_handler_agg.cpp: i18n.
520         * gui/gui.cpp: don't divide by zero; it annoys the matrices.
521           Fixes bug #23184.
522         * gui/gtk.cpp: nothing much, was just left over from debugging.
524 2008-05-07 Sandro Santilli <strk@keybit.net>
526         * server/timers.cpp (execute): be more verbose about as coding
527           errors.
529 2008-05-07 Sandro Santilli <strk@keybit.net>
531         * server/timers.cpp (execute): compute super.
532         * testsuite/misc-ming.all/intervalTest.as: successes.
534 2008-05-07 Sandro Santilli <strk@keybit.net>
536         * testsuite/misc-ming.all/: intervalTest.as, intervalTestRunner.cpp:
537           Add test for 'super' in setInterval-set method call (comment #3
538           in bug #23130).
540 2008-05-07 Sandro Santilli <strk@keybit.net>
542         * libbase/log.cpp: add pid in timestamp
543         * server/asobj/flash/: external/ExternalInterface_as.cpp,
544           filters/DisplacementMapFilter_as.cpp,
545           geom/ColorTransform_as.cpp, geom/Matrix_as.cpp,
546           geom/Transform_as.cpp, net/FileReferenceList_as.cpp,
547           net/FileReference_as.cpp, text/TextRenderer_as.cpp:
548           Fix unused parameter warning.
550 2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>
552         * server/parser/sprite_definition.cpp: drop loaded frame assertion.
553           It's fine for this to exceed total frames. Fixes bug #23186.
555 2008-05-07 Benjamin Wolsey <bwy@benjaminwolsey.de>
557         * libbase/GnashException.h: make ActionException ctor protected
558           so that it can't be used directly. Add ActionParserException
559           subclass for bad action_buffer accesses. Make ActionTypeError
560           a subclass of ActionException. GnashException should perhaps
561           get the same treatment, but is used directly in a number
562           of places.
563         * server/sprite_instance.cpp: catch ActionTypeError.
564         * server/as_object.h (ensureType): throw ActionTypeError.
565         * server/as_object.cpp: catch ActionTypeError.
566         * server/action.cpp: throw/catch ActionTypeError.
567         * server/parser/action_buffer.h: the actual point of these
568           changes: check for out-of-buffer access and throw an 
569           ActionParserException. Drop unused method get_length(). Add
570           assertions to other methods. Use direct vector access instead
571           of .at() now that boundaries are checked. Fixes bug #23185
572         * server/parser/action_buffer.cpp: Add a NULL terminator to buffer
573           if no END tag found, to prevent string reads going past the end of
574           the buffer.
575         * server/vm/AShandlers.cpp (SWFHandlers::execute()): catch
576           ActionParserException and stop parsing on error.
578 2008-05-07 Sandro Santilli <strk@keybit.net>
580         * server/swf/tag_loaders.cpp (sound_stream_head_loader): log no
581           samples as an swf error and only once [annoying otherwise],
582           other log-related small changes.
584 2008-05-07 Sandro Santilli <strk@keybit.net>
586         * testsuite/misc-ming.all/Makefile.am: fix DrawingApiTest.swf build
587           out of source tree (we should use the source btw, or older Ming
588           won't build it).
590 2008-05-07 Sandro Santilli <strk@keybit.net>
592         * server/asobj/flash/geom/Point_as.{cpp,h}: implement constructor,
593           toString and length; load on demand; expose constructor for internal
594           use.
595         * server/asobj/flash/geom/Rectangle_as.cpp: implement topLeft,
596           bottomRight, size and clone; load on demand.
597         * testsuite/actionscript.all/: Makefile.am, Point.as: new stub
598           for testing flash.geom.Point (only tests ctor, length and toString).
599         * testsuite/actionscript.all/Rectangle.as: more tests, all successes.
601 2008-05-07 Zou Lunkai <zoulunkai@gmail.com>
603         * testsuite/media/empty_swf.swf: add a new binary empty swf file for testing
604           convenience(produced by "makeswf empty_source_file.as")
605         * testsuite/misc-ming.all/makefile.am, testsuite/misc-ming.all/DrawingApiTest.as,
606           testsuite/misc-ming.all/DrawingApiTestRunner.cpp: put the tests to the second
607           frame. hitTest(*, *, true) is not reliable when in the first frame(don't know why).
608         
609 2008-05-06 Bastiaan Jacques <bastiaan@bjacques.org>
611         * server/asobj/NetStreamGst.cpp, libmedia/gst/VideoDecoderGst.cpp:
612         Force the Gstreamer output to RGB24, which is what the renderer
613         expects. Fixes bug #23081.
615 2008-05-06 Russ Nelson <nelson@crynwr.com>
617         * doc/C/Makefile.am: Remove dependence upon gpl-appendix.xml
618         * add required acknowledgement of jemalloc.
620 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
622         * server/vm/ASHandlers.cpp (unsupported_action_handler): fix
623           the silly debugging message.
625 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
627         * server/swf/tag_loaders.cpp: ensureBytes - doesn't fix any known
628           bug, but is good for robustness.
629         * server/stream.{h,cpp}: move ensureBytes implementation to
630           stream.cpp to make changing it less painful. Throw parser
631           exception when seeking fails. Stops reading off the end of
632           the stream, which was happening on certain malformed SWFs.
633           Clean up logging. Use ensureBytes for open_tag too.
634         * server/parser/action_buffer.cpp: typo.
636 2008-05-06 Sandro Santilli <strk@keybit.net>
638         * server/vm/ASHandlers.cpp (ActionFscommand2): fix ensureStack
639           calls. Fixes bug #23181.
641 2008-05-06 Sandro Santilli <strk@keybit.net>
643         * server/PropertyList.cpp (setValue): don't let prop flags
644           prevent setting values of destructive properties.
645           set_member doesn't use this function, so user-requested
646           override is still handled correctly. init_member instead
647           which is only used by internal code, will use it.
648           NOTE: in a cleaner design, we'd use native destructive
649           getter returning an as_value directly instead !
650           Fixes abort reported on bug #23139.
652 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
654         * libmedia/ffmpeg/sound_handler_sdl.{h,cpp}: drop unnecessary
655           file_output member. Don't initialize ofstream with NULL in the
656           constructor (or indeed with anything).
658 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
660         * gui/fb.cpp: internationalization.
661         * server/sprite_instance.cpp, server/URLAccessManager.cpp: i18n
663 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
665         * server/asobj/TextFormat.cpp: use LOG_ONCE more, fix return
666           values for bullet (not implemented). Use a switch for variable
667           nargs.
668         * server/edit_text_character.cpp: use LOG_ONCE.
669         * testsuite/actionscript.all/TextFormat.as: bullet returns
670           correct values.
672 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
674         * server/namedStrings{h,cpp}, server/asobj/ClassHierarchy.cpp:
675           support loading TextFormat on demand.
676         * server/asobj/Global.cpp: load TextFormat on demand, use LOG_ONCE,
677           indentation.
679 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
681         * server/render.h: fix build with visibility.
683 2008-05-06 Sandro Santilli <strk@keybit.net>
685         * server/PropertyList.cpp: add compile-time macro to enable
686           debugging of properties insertions and flags setting.
688 2008-05-06 Udo Giacomozzi <udo.gnu@nova-sys.net>
690         * backend/render_handler_agg.cpp: fix doPixelHinting handling
691           and improve pixel hinting generally
693 2008-05-06 Benjamin Wolsey <bwy@benjaminwolsey.de>
695         * server/asobj/TextFormat.{cpp,h}: register ASnative functions
696           (not yet used).
697         * server/asobj/Stage.cpp: minor cleanups.
699 2008-05-06 Sandro Santilli <strk@keybit.net>
701         * server/asobj/ClassHierarchy.{cpp,h}: add output operator
702           for nativeClass and extentionClass, handle declareClass
703           failures in massDeclare (log_error).
704         * server/as_prop_flags.h: add output operator (useful
705           for log_debug).
707 2008-05-05 Sandro Santilli <strk@keybit.net>
709         * server/as_value.{cpp,h}: add convert_to_primitive to
710           possibly reduce copies of as_value; add newAdd and subtract
711           methods doing the same as the corresponding opcodes to 
712           make C++ implementation of AS-like code easier.
713           (opcodes untoched, would likely be worth delegating).
714         * testsuite/actionscript.all/: Makefile.am, Rectangle.as:
715           Initial tests for flash.geom.Rectangle class
716         * server/asobj/flash/geom/Rectangle_as.cpp: implement constructor,
717           left/top/right/bottom getter-setters, isEmpty method.
719 2008-05-05 Sandro Santilli <strk@keybit.net>
721         * server/namedStrings.{cpp,h}: add PROP_WIDTH and PROP_HEIGHT.
723 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
725         * gui/Player.{cpp,h}, gui/gnash.cpp, libmedia/sound_handler.h,
726           libmedia/sound_handler_sdl.{h,cpp}: don't cast from string
727           to const char* to char*; pass std::string by const ref, store
728           as string in SDL_sound_handler. Don't heap-allocate ofstream.
730 2008-05-05 Sandro Santilli <strk@keybit.net>
732         * server/asobj/gen-asclass.pl: getClassInterface MUST return a static
733           or 'instanceof' will never work correctly!
734         * server/asobj/flash: regenerated classes...
736 2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
738         * generic_character.cpp, sprite_instance.cpp, character.h, dlist.h, 
739           dlist.cpp, sprite_instance.h: Implement omit_display(), real fix 
740           for bug #22904        
742 2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
744         * backend/render_handler_agg.cpp: Don't try to access line style
745           for paths that have none      
747 2008-05-05 Sandro Santilli <strk@keybit.net>
749         * server/as_function.cpp (constructInstance): catch exception
750           thrown by native functions. Most will trhow an exception when
751           'this' is undefined (example: a=new String.prototype.substring).
753 2008-05-05 Sandro Santilli <strk@keybit.net>
755         * server/asobj/gen-asclass.pl: add support for static methods and
756           properties.
757         * doc/C/NOTES: add note about static props and methods in the new
758           classes in flash package.
759         * server/asobj/flash/: regenerated classes.
761 2008-05-05 Sandro Santilli <strk@keybit.net>
763         * server/asobj/Global.cpp: call flash_package_init for SWF8 up.
764         * server/asobj/gen-asclass.pl: don't attach interface to class,
765           don't use statics for GcResources.
766         * server/asobj/: flash_pkg.cpp, flash/display_pkg.cpp,
767           flash/external_pkg.cpp, flash/filters_pkg.cpp,
768           flash/geom_pkg.cpp, flash/net_pkg.cpp,
769           flash/text_pkg.cpp, flash/display/BitmapData_as.cpp,
770           flash/external/ExternalInterface_as.cpp,
771           flash/filters/DisplacementMapFilter_as.cpp,
772           flash/geom/ColorTransform_as.cpp, flash/geom/Matrix_as.cpp,
773           flash/geom/Point_as.cpp, flash/geom/Rectangle_as.cpp,
774           flash/geom/Transform_as.cpp, flash/net/FileReferenceList_as.cpp,
775           flash/net/FileReference_as.cpp, flash/text/TextRenderer_as.cpp:
776           Load flash package and subpackages (objects) on demand.
778 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
780         * testsuite/actionscript.all/LocalConnection.as: add more tests,
781           mostly failing.
783 2008-05-05 Sandro Santilli <strk@keybit.net>
785         * server/Property.h, server/PropertyList.cpp,
786           server/PropertyList.h, server/as_object.cpp,
787           server/as_object.h: Allow for native functions
788           in destructive getter-setters, reduce scans
789           on initialization.
791 2008-05-05 Sandro Santilli <strk@keybit.net>
793         * server/asobj/gen-asclass.pl: add support for stubbing
794           properties as native getter-setters.
795         * server/asobj/flash/: display/BitmapData_as.cpp,
796           external/ExternalInterface_as.cpp,
797           filters/DisplacementMapFilter_as.cpp,
798           geom/ColorTransform_as.cpp, geom/Matrix_as.cpp
799           geom/Point_as.cpp, geom/Rectangle_as.cpp,
800           geom/Transform_as.cpp, net/FileReferenceList_as.cpp,
801           net/FileReference_as.cpp, text/TextRenderer_as.cpp:
802           Re-generated.
804 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
806         * server/asobj/Global.{h,cpp}: drop goto from initialization, use
807           a switch instead (possibly not necessary to distinguish here
808           based on version anyway). Load extensions in separate method. Use
809           forward declarations of functions for legibility.
810         * server/asobj/xmlsocket.cpp: fix warning.
812 2008-05-05 Sandro Santilli <strk@keybit.net>
814         * server/styles.cpp: use 'pixelHinting' flag parsed from SWF
815           tags.
817 2008-05-05 Sandro Santilli <strk@keybit.net>
819         * server/PropertyList.{cpp,h}: rename addDestructiveGetterSetter
820           to addDestructiveGetter, as we're not using the setter anyway,
821           add a flagIfMissing to avoid a duplicated scan.
822         * server/as_object.{cpp,h}: drop the 'setter' parameter to
823           init_destructive_property.
824         * server/asobj/ClassHierarchy.cpp: don't create a useless
825           setter for all declarative properties.
827 2008-05-05 Sandro Santilli <strk@keybit.net>
829         * server/asobj/: create a new subtree for the 'flash'
830           ActionScript package. Stub all known classes there, moving
831           also there the existing BitmapFilter classes which belongs
832           in the flash.filters package.
833           NOTE: the package initialization function is not called
834           currently, I think we should call them from destructive
835           native getter-setters.
837 2008-05-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
839         * server/shape.h: Add isClosed() to Path class
840         * backend/render_handler_agg.cpp: Respect doPixelHinting() for
841           outlines
842         * backend/render_handler_agg.cpp: Remove unused build_agg_strokes()
843         * backend/render_handler_agg.cpp: Remove unimplemented pixel hinting 
844           warning
845         * backend/render_handler_agg.cpp: implement closed polygons and
846           check for noClose==0
848 2008-05-05 Sandro Santilli <strk@keybit.net>
850         * server/asobj/gen-asclass.pl: log_unimpl if constructor
851           takes any argument; have prototype inherit from Object class
852           by default.
853         * doc/C/NOTES: add DisplacementMapFilter notes.
855 2008-05-05 Sandro Santilli <strk@keybit.net>
857         * server/asobj/gen-asclass.sh: drop this, better focus on the perl
858           version (needs improvement).
860 2008-05-05 Sandro Santilli <strk@keybit.net>
862         * server/asobj/gen-asclass.pl: retain class case, add an _as prefix,
863           include gnashconfig.h (not config.h), comment-out unused
864           parameters, fix signature of native methods (must return as_value),
865           fix ensureType call (to return intrusive_ptr).
867 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
869         * gui/Player.{cpp,h}: fix initialization warning, use camelCase for
870           new methods and members (and some old ones). Minor doc additions.
871           Would be nice if the audio-dump-related code could be moved out
872           of Player.
874 2008-05-05 Sandro Santilli <strk@keybit.net>
876         * doc/C/NOTES: add notes about classes in the 'flash'
877           package (SWF8)
879 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
881         * testsuite/swfdec/PASSING: update for new tests.
883 2008-05-05 Benjamin Wolsey <bwy@benjaminwolsey.de>
885         * libbase/URL.h: DSOexport operator<<, fix build with visibility.
887 2008-05-04 Zou Lunkai <zoulunkai@gmail.com>
889         * server/sprite_instance.h, server/dlist.h: docs.
891 2008-05-03 Sandro Santilli <strk@keybit.net>
893         * server/character.cpp: use namespace std, so isfinite works
894           when HAVE_ISFINITE is defined.
896 2008-05-03 Sandro Santilli <strk@keybit.net>
898         * server/URLAccessManager.cpp: include full URL in SECURITY lines
899           (for allow/deny) - could be done better (using a single line)
900           but at least we have the full information now.
902 2008-05-03  Rob Savoye  <rob@ripple.welcomehome.org>
904         * testsuite/libnet.all/test_rtmp.cpp: Unit tests for the RTMP
905         encoding and decoding.
906         * libamf/amf.cpp: Booleans are two bytes after all.
907         * libamf/sol.cpp: Booleans are two bytes after all.
908         * libamf/element.cpp: Copy the name, don't just grab the
909         pointer. Terminate Objects correctly.
910         * libnet/rtmp.cpp: Add methods to encode & decode the RTMP
911         header, and the Ping message.
912         * libnet/rtmp.h: Add methods to encode & decode the RTMP
913         header, and the messages. Add Ping message types and data
914         structure.
915         * libnet/rtmp_server.cpp: Actually handle the message type. Modify
916         how the initial 1536 bytes handshake works.
918 2008-05-03 Sandro Santilli <strk@keybit.net>
920         * server/as_value.cpp (to_number): more blocks to protect
921           NAN (std::numeric_limit<double>::quite_NaN()) from 
922           initialization-cross paranoia of gcc-4.2.3.
923         * server/asobj/Global.cpp (ctor): use a block-scope
924           as a woraround to what looks like a bug in gcc-4.2.3
925           (http://lists.gnu.org/archive/html/gnash/2008-05/msg00016.html)
927 2008-05-03 Sandro Santilli <strk@keybit.net>
929         * server/sprite_instance.cpp (sprite_beginGradientFill):
930           Don't complain about too many args when not too many
931           were given...
933 2008-05-02 Sandro Santilli <strk@keybit.net>
935         * server/asobj/Object.cpp (object_registerClass): use symbol table
936           from the current environment, not _level0. I'm sure failures
937           are hiding as our concept of "current environment" is pretty
938           vague. Anyway, makes youtube embedded player beta (bug #23130)
939           much closer to working.
941 2008-05-02 Russ Nelson <nelson@crynwr.com>
943         * incorporate the rest of Craig Kelley's "dump" gui code.
945 2008-05-02 Sandro Santilli <strk@keybit.net>
947         * server/movie_root.cpp (cleanupUnloadedListeners): scan again if
948           any unloaded character was found. Fixes an assertion failure
949           with GNASH_PARANOIA_LEVEL > 1 while running MovieClip.as tests.
951 2008-05-02 Sandro Santilli <strk@keybit.net>
953         * server/DynamicShape.{cpp,h}, server/sprite_instance.{cpp,h},
954           server/styles.{cpp,h}: Add support for all known parameters
955           in the lineStyle call for swf8 up.
956         * backend/render_handler_agg.cpp: log_unimpl about pixel
957           hinting in line styles.
959 2008-05-02 Udo Giacomozzi <udo.gnu@nova-sys.net>
961         * server/style.{cpp,h}: fixed default constructor
962         * backend/render_handler_agg.cpp: implement cap and join styles
964 2008-05-02 Sandro Santilli <strk@keybit.net>
966         * gui/Player.cpp, gui/gui.h: have dump-gnash really use the
967           the DUMP gui.
969 2008-05-02 Sandro Santilli <strk@keybit.net>
971         * testsuite/server/ClassSizes.cpp: print sizeof line_style
972           and fill_style.
974 2008-05-02 Udo Giacomozzi <udo.gnu@nova-sys.net>
976         * server/style.{cpp,h}: added cap style, join style, no-close and
977           miter limit factor properties to line_style class
979 2008-05-02 Sandro Santilli <strk@keybit.net>
981         * gui/Makefile.am: build the DUMP gui when requested.
982         * gui/dump.h: cleanup headers inclusion.
984 2008-05-01 Russ Nelson <nelson@crynwr.com>
986         * incorporate Craig Kelley's "dump" gui code.
988 2008-04-30 Russ Nelson <nelson@crynwr.com>
990         * configure.ac: check for dejagnu and throw a warning if not present.
992 2008-04-30 Sandro Santilli <strk@keybit.net>
994         * testsuite/misc-swfmill.all/Makefile.am: don't forget
995           to clean background.swf (distcheck fix).
997 2008-04-30 Sandro Santilli <strk@keybit.net>
999         * libamf/amf.{cpp,h}, libamf/lcshm.{cpp,h},
1000           libamf/sol.cpp, libnet/rtmp.cpp:
1001           Add boundary checking in AMF parser, will throw
1002           a ParserException on premature end of buffer,
1003           sol::readFile will interchept and log_error.
1005 2008-04-30  Rob Savoye  <rob@ripple.welcomehome.org>
1007         * configure.ac: Always look for mallinfo(), jemalloc now supports it.
1008         * libbase/jemalloc.c: Add support for mallinfo.
1009         * libbase/memory.cpp: Take a sample when starting.
1011 2008-04-30 Sandro Santilli <strk@keybit.net>
1013         * server/character.cpp (alpha_getset): undefined, null and nan
1014           values are not valid input to _alpha setter.
1015         * testsuite/actionscript.all/MovieClip.as: success for all newly
1016           added _alpha tests.
1018 2008-04-30 Russ Nelson <nelson@crynwr.com>
1020         * resolve http://savannah.gnu.org/bugs/?22973 by adding a test
1021           for a directory, and by removing .. and ../.. which we probably
1022           don't need.
1023         * add the OpenSUSE name of gstreamer 0.10.
1025 2008-04-30 Sandro Santilli <strk@keybit.net>
1027         * testsuite/actionscript.all/MovieClip.as: add test for setting
1028           _alpha, Gnash fails (potlatch scissors case).
1030 2008-04-30 Sandro Santilli <strk@keybit.net>
1032         * server/movie_root.{cpp,h}: allow setting background color
1033           only once (till the stage is reset by clear).
1034           TODO: check if background can change when loading something
1035           with different background into _level0.
1036         * testsuite/misc-swfmill.all/Makefile.am: fix abs_builddir
1037         * testsuite/misc-swfmill.all/backgroundTestRunner.cpp: use TGTDIR
1038           (not SRCDIR) to find the swf, use a tolerance of 15 to compare
1039           color (AGG_RGB555 gives 240,0,0 for a red!), success of the
1040           test (related to the change in movie_root).
1042 2008-04-30 Sandro Santilli <strk@keybit.net>
1044         * server/swf/SetBackgroundColorTag.h: update to match 
1045           change in ::execute signature
1046         * testsuite/misc-swfmill.all/: Makefile.am, background.xml,
1047           backgroundTestRunner.cpp: add test for multiple SetBackgroundColor
1048           tags in an SWF. Expected behaviour is we only use the first one,
1049           gnash fails.
1051 2008-04-30 Sandro Santilli <strk@keybit.net>
1053         * server/Makefile.am, server/impl.cpp,
1054           server/parser/sound_definition.{cpp,h},
1055           server/swf/StreamSoundBlockTag.{cpp,h},
1056           server/swf/tag_loaders.cpp:
1057           Move StreamSoundBlockTag handling in its
1058           own file and document it, fix the execute
1059           signature to match the one expected by ControlTag.
1061 2008-04-30 Sandro Santilli <strk@keybit.net>
1063         * macros/boost.m4: filesystem/exception.hpp might also
1064           be useful.
1066 2008-04-30 Sandro Santilli <strk@keybit.net>
1068         * macros/boost.m4: 1.33 didn't have boost/filesystem.hpp,
1069           and we'd need boost/filesystem/convenience.hpp for
1070           create_directories (if we're going to use it).
1072 2008-04-30 Sandro Santilli <strk@keybit.net>
1074         * macros/boost.m4: correct header is boost/filesystem.hpp
1076 2008-04-30 Zou Lunkai <zoulunkai@gmail.com>
1077         
1078         * server/sprite_instance.{h,cpp}: drop ugly m_tmp_display_list and
1079           m_is_jumping back. execute_frame_tags() now take a dislpayList parameter.
1080         * server/swf/ControlTag.h
1081           server/swf/DisplayListTag.h
1082           server/swf/DoActionTag.h
1083           server/swf/DoInitActionTag.h
1084           server/swf/PlaceObject2Tag.cpp
1085           server/swf/PlaceObject2Tag.h
1086           server/swf/RemoveObjectTag.cpp
1087           server/swf/RemoveObjectTag.h, 
1088           make all those control tags to take a dlist parameter.
1089           
1090 2008-04-30 Sandro Santilli <strk@keybit.net>
1092         * libbase/rc.cpp: initialize the _lcshmkey member to 0, add a note
1093           about how I think it should work instead..
1095 2008-04-30 Sandro Santilli <strk@keybit.net>
1097         * macros/boost.m4: make boost filesystem lib mandatory.
1098           This is still not used, but I tought I'll use this commit
1099           to find out how much discontent it would make :)
1100           About why we should use it (portability):
1101           http://www.boost.org/doc/libs/1_33_1/libs/filesystem/doc/index.htm
1102           http://www.boost.org/doc/libs/1_35_0/libs/filesystem/doc/index.htm
1104 2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>
1106         * server/asobj/SharedObject.cpp: Use AMF0_* instead of just
1107         AMF_*.
1108         
1109         * libamf/amf.cpp: Go back to a proper type cast now that the real
1110         problem is fixed.
1111         
1112         * libnet/rtmp.{h,cpp}: Use *Property instead of *Variable.
1113         
1114         * configure.ac: Don't look for mallinfo() when using jemalloc().
1115         
1116         * libamf/amf.h: Use _AMF0* on Element types.
1117         * libamf/amf.cpp: Use AMF0_* instead of just AMF_*. Remove junk
1118         that's been commented out for awhile. Rename *Variable to
1119         *Property, which is the correct name. Adjust to keep valgrind
1120         happy.
1121         * libamf/element.h: Rename amf_* to amf0_*. Add new
1122         amf3_types. Rename *Child methods to *Property.
1123         * libamf/element.cpp: Add NOTYPE back in. 
1124         * libamf/lcshm.cpp: Use non static methods for extracting AMF
1125         objects.
1126         * libamf/sol.cpp: Use _AMF0* on Element types. 
1127         * testsuite/libamf.all/test_amf.cpp: Don't use Memory profiling
1128         if mallinfo() isn't found. Use _AMF0* on Element types.  Delete
1129         pointers so there are no memory leaks.
1130         * testsuite/libamf.all/test_buffer.cpp: Don't use Memory profiling
1131         if mallinfo() isn't found. Use _AMF0* on Element types. Delete
1132         pointers so there are no memory leaks.
1133         * testsuite/libamf.all/test_el.cpp: Use properties instead of
1134         children. Use _AMF0* on Element types. 
1135         * testsuite/libamf.all/test_lc.cpp: Don't try to send(), it's
1136         unimplemented still. Use _AMF0* on Element types. 
1137         * testsuite/libamf.all/test_sol.cpp: Use Memory profiling if
1138         mallinfo() exists. Use proper argument processing. Use _AMF0* on
1139         Element types.
1141 2008-04-29 Zou Lunkai <zoulunkai@gmail.com>
1142         
1143         * server/dlist.{h,cpp}: move_display_object() renamed to move_character(),
1144           remove_display_object() renamed to remove_character(). maintain name
1145           consistance.
1146         * server/sprite_instance.{h,cpp}: adop the new names.     
1147           
1148 2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>
1149         
1150         * libbase/utility.h: Use C ctyle cast for pthread_self() to work
1151         around BSD compiler bug.
1152         
1153 2008-04-29 Sandro Santilli <strk@keybit.net>
1155         * server/edit_text_character.cpp: have wordWrap take precedence
1156           over autoSize, don't let wordWrap make the text box taller
1157           if autoSize is none.
1158         * testsuite/actionscript.all/TextField.as: a couple of success
1159           and a failure in effects of _width over textWidth.
1161 2008-04-29  Rob Savoye  <rob@ripple.welcomehome.org>
1163         * configure.ac: Add --enable-jemalloc option to use our own copy of
1164         jemalloc() instead of the system malloc. Test for local thread
1165         storage via __thread. Expand OS specific tests.
1166         * libbase/Makefile.am: Optionally build jemalloc.
1167         * libbase/jamalloc.c, jemtree.h: Add the jemalloc memory allocator
1168         from Mozilla/Firefox/FreeBSD, tweaked to configure and build the
1169         way the rest of Gnash does.
1170         * libnet/http.cpp: Include unistd.h to keep OpenBSD happy looking
1171         for ::read() and ::close().
1173 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1175         * server/namedStrings.{cpp,h}: add onFullScreen.
1176         * server/asobj/Stage.{h,cpp}: drop own onResize member, add
1177           notifyFullScreen.
1178         * server/movie_root.cpp: notify onFullScreen listener on
1179           state change.
1180         * testsuite/actionscript.all/Stage.as: make number of tests
1181           independent of correctness. Some passes, but I've lost track
1182           a bit of the onResize test - would be grateful if someone
1183           can test with pp (Linux version supposedly broken in this
1184           regard).
1186 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1188         * testsuite/actionscript.all/Stage.as: test onFullScreen().
1190 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1192         * server/parser/filter_factory.{h,cpp}: drop invalid const qualifier
1193           on static int read(), fix the gcc 4.3 bracket warnings that then
1194           appear.
1195         * server/dlist.cpp (get_character_by_name{_i}): was a thought at an
1196           optimization (cache _charsByDepth.end()) that I never tested but
1197           don't really want to revert.
1199 2008-04-29 Sandro Santilli <strk@keybit.net>
1201         * testsuite/misc-ming.all/Makefile.am: fix build of tests
1202           against Ming-0.3.0 (a lot of tests fail actually, but at
1203           least they build).
1205 2008-04-29 Sandro Santilli <strk@keybit.net>
1207         * backend/render_handler_agg.cpp, backend/render_handler_cairo.cpp,
1208           backend/render_handler_ogl.cpp: 
1209           Update calls to fetch line_style strokes, implement noScale="none"
1210           in AGG and log_unimpl in all renderers about unsupported values
1211           of it.
1212         * server/parser/character_def.h,
1213           server/parser/shape_character_def.{h,cpp},
1214           server/generic_character.cpp:
1215           Have point_test_local take an additional matrix argument
1216           to deal with non-scaled strokes.
1217         * server/DynamicShape.{cpp,h}: have lineTo and curveTo take
1218           an swf version argument, as influence of strokes on boundaries
1219           are version-dependent.
1220         * server/FreetypeGlyphProvider.cpp: use SWF6 semantic for the glyph
1221           shapes.
1222         * server/shape.{h,cpp} (expandBounds): take an swf version argument, as
1223           influence of strokes on boundaries are version-dependent.
1224         * server/styles.{cpp,h}: add vertical and horizontal stroke
1225           scaling flag support.
1226         * server/sprite_instance.{cpp,h}: Add support for noScale
1227           parameter of lineStyle in SWF8.
1228         * testsuite/actionscript.all/MovieClip.as: success in bounds
1229           checking of strokes in SWF8.
1231 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1233         * server/asobj/Global.cpp: tidy up, register ASnative functions,
1234           as ASnew (still unimplemented). Log once more often, drop 
1235           c_str() usage.
1236         * testsuite/ASnative.cpp: tests for ASnative(2, 0) (old ASnew).
1238 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1240         * testsuite/MovieTester.cpp: function name change.
1242 2008-04-29 Sandro Santilli <strk@keybit.net>
1244         * server/parser/morph2_character_def.h: drop inclusion of "shape.h".
1246 2008-04-29 Benjamin Wolsey <bwy@benjaminwolsey.de>
1248         * server/asobj/Stage.{cpp,h}: drop methods from Stage class,
1249           implement in movie_root instead. Fixes using ASnative before
1250           Stage has been initialised on demand.
1251         * server/movie_root.{cpp,h}: implement displayState, alignMode
1252           here.
1253         * testsuite/actionscript.all/ASnative.as: test Stage ASnative
1254           methods, new tests pass with this commit.
1255         * gui/gui.cpp: movie_root function name change (getScaleMode ->
1256           getStageScaleMode).
1258 2008-04-29 Sandro Santilli <strk@keybit.net>
1260         * testsuite/actionscript.all/MovieClip.as: test influence
1261           of strokes in bounds of shapes.
1263 2008-04-28 Russ Nelson <nelson@crynwr.com>
1265         * Put translations in alphabetic order
1266         * Some things rely on gettext, so warn people
1268 2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>
1270         * server/as_value.cpp: return undefined instead of throwing an 
1271           ActionType error in to_primitive(). I suspect it's not really
1272           correct, but it gets a lot of passes in swfdec, some in
1273           actionscript.all, and no fails, so it will do for now.
1274         * testsuite/swfdec/PASSING: 35 new passes (all for the same reason,
1275           probably).
1276         * testsuite/actionscript.all/Object.as,Function.as: some passes.
1278 2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>
1280         * testsuite/actionscript.all/Object.as: tests for undefined __proto__
1281           and valueOf (and toString).
1283 2008-04-28 Sandro Santilli <strk@keybit.net>
1285         * server/sprite_instance.cpp: for lineStyle, since we now know SWF8
1286           support more args, log_unimpl for unhandled ones.
1288 2008-04-28 Sandro Santilli <strk@keybit.net>
1290         * server/styles.{cpp,h}: add line_style.set_lerp, drop friendliness.
1291         * server/parser/morph2_character_def.cpp: use line_style.set_lerp
1292           rather then accessing its private members.
1294 2008-04-28 Sandro Santilli <strk@keybit.net>
1296         * server/sprite_instance.cpp: have methods of the DrawingApi 
1297           log an as_error if more args then supported are passed.
1298           This will help finding out when the player API adds support
1299           for additional args (lineStyle takes more args in SWF8 for
1300           instance) -- we should always do this, for every function.
1302 2008-04-28 Sandro Santilli <strk@keybit.net>
1304         * libbase/LoadThread.cpp: don't trust advertised streamSize
1305           for detecting the "completed" state. Fixes bug #23076.
1307 2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>
1309         * server/edit_text_character.{h,cpp}: make parseHTML a const
1310           member function.
1312 2008-04-28 Zou Lunkai <zoulunkai@gmail.com>
1313         
1314         * server/character.{h,cpp}, server/dlist.{h,cpp}
1315           server/parser/morph2_character_def.cpp,
1316           server/sprite_instance.cpp: drop character::noRatioValue. Now all
1317           character's ratio value are default to 0 if not set explicitly. 
1318         
1319 2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>
1321         * server/edit_text_character.{h,cpp}: check for end of string when
1322           formatting text. Split HTML parsing into a separate function. Use
1323           the magic of boost::format to log custom types directly, and drop
1324           c_str() in logging.
1326 2008-04-28 Benjamin Wolsey <bwy@benjaminwolsey.de>
1328         * libbase/utf8.{cpp,h}: decodeNextUnicodeCharacter should know
1329           where the end of the string is, so it doesn't deference 
1330           .end() (thanks zou).
1331         * server/vm/ASHanders.cpp: pass end of string iterator to 
1332           decodeNextUnicodeCharacter, cache value generally to save repeated
1333           calls to .end().
1335 2008-04-28 Zou Lunkai <zoulunkai@gmail.com>
1336         
1337         * server/swf/DisplayListTag.h: isRmove(), isPlace(), isReplace(), isMove(),
1338           drop this four virtual functions, no longer needed.
1339         * server/swf/RemoveObjectTag.h: drop isRemove().
1340         * server/PlaceObject2Tag.{h, cpp}: keep all swf defined flags, add interfaces
1341           to extract the information from those flags. Drop some unncessary members. The
1342           rational is not discarding any definitions.     
1343         
1344 2008-04-28 Sandro Santilli <strk@keybit.net>
1346         * server/sprite_instance.cpp (get_member): our own properties
1347           have precedence over our child names. Beside correctness
1348           (this fixes a bug in potlatch) I suspect this will
1349           speed up actionscript interpretation on the average.
1350           (did make check did run faster or is it just my impression?).
1351         * testsuite/misc-ming.all/VarAndCharClashTest.as: success in 
1352           just-added new test.
1354 2008-04-27 Sandro Santilli <strk@keybit.net>
1356         * testsuite/misc-ming.all/VarAndCharClashTest.as: test that
1357           only a sprite own properties hide child characters, but
1358           not inherited properties.
1360 2008-04-27 Sandro Santilli <strk@keybit.net>
1362         * server/as_object.{cpp,h}, array.{cpp,h},
1363           edit_text_character.{cpp,h}, sprite_instance.{cpp,h},
1364           asobj/xml.{cpp,h}:
1365           Change set_member signature to return bool (did the named
1366           member exist?) and take an additional arg (create a new member
1367           if not found?).
1368         * server/as_environment.cpp (set_variable_raw): use set_member for
1369           in-scope-chain seeks (rather then update_member, which was
1370           dropped by this commit).
1371         * testsuite/actionscript.all/TextField.as: successes.
1373 2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>
1375         * gui/gnash.cpp: use boost format for formatting, drop last use
1376           of printf among all the couts and cerrs.
1378 2008-04-27 Sandro Santilli <strk@keybit.net>
1380         * testsuite/actionscript.all/TextField.as: add test showing a scary
1381           bug with update_member and non-properties.
1383 2008-04-27 Sandro Santilli <strk@keybit.net>
1385         * server/namedStrings.{cpp,h}: add PROP_USEHANDCURSOR named string.
1386         * server/character.h: add virtual allowHandCursor() method.
1387         * gui/gui.cpp (notify_mouse_moved): check if active entity under
1388           pointer wants to use an hand cursor or not. (getMovieInfo):
1389           cleanup output, add useHandCursor info for active entity.
1390         * server/sprite_instance.{cpp,h}: implement allowHandCursor()
1391           by checking the useHandCursor ActionScript property.
1392         * testsuite/actionscript.all/MovieClip.as: test that useHandCursor
1393           can take any value, and that it is a property of
1394           MovieClip.prototype; new successes about it..
1396 2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>
1398         * libbase/rc.cpp: (updateFile) save to the last file specified
1399           in GNASHRC by default.
1401 2008-04-27 Sandro Santilli <strk@keybit.net>
1403         * libbase/Makefile.am: clean_hook seems unused, CLEANFILE
1404           is the one...
1406 2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>
1408         * gui/gui.cpp: leave fullscreen on stop, otherwise the stopped
1409           widget will display in the plugin window while we're in fullscreen.
1410           Seems like logical behaviour anyway.
1411         * gui/gtk.cpp: no need to call gtk_widget_show repeatedly. Move call
1412           to stopHook to init() to keep it out of the run() call. Also seems
1413           more appropriate there.
1415 2008-04-27 Sandro Santilli <strk@keybit.net>
1417         * testsuite/actionscript.all/check.as: Ming 0.4.0.beta6
1418           introduced support for 'implements' in asm, not beta5.
1420 2008-04-27 Sandro Santilli <strk@keybit.net>
1422         * configure.ac: don't generate sysgnash{plugin,}rc, let
1423           'make' take care of that.
1424         * libbase/Makefile.am: install sysgnash{plugin,}rc, generate
1425           on make, clean on make clean.
1427 2008-04-27 Robert Millan <rmh@aybabtu.com>
1429         * gui/gui.{cpp,h}, gui/gtk{sup.h,.cpp}: add stopHook and playHook for
1430           startStopped (not pause). Implement in gtk with a massive button to
1431           click when starting in stopped mode.
1433 2008-04-27 Benjamin Wolsey <bwy@benjaminwolsey.de>
1435         * libbase/rc.{h,cpp}: use boost tokenizer more, parseList doesn't
1436           need to damage the items string. Continue loop if >> variable
1437           fails, or we'll get a nonsense warning (variable kept from last
1438           loop). Boostify warnings (for internationalization).
1440 2008-04-26  Dossy Shiobara <dossy@panoptic.com>
1442         * plugin/Makefile.am: install-plugin rule should do
1443           nothing on Win32 in top-level plugin dir, but instead
1444           recurse down to the plugin/win32 dir.
1446 2008-04-26 Robert Millan <rmh@aybabtu.com>
1448         * gui/gtk.cpp: make the preferences menu buttons more
1449           intuitive.
1451 2008-04-26 Benjamin Wolsey <bwy@benjaminwolsey.de>
1453         * gui/fb.cpp: do it again, as getenv is not const.
1455 2008-04-26 Benjamin Wolsey <bwy@benjaminwolsey.de>
1457         * gui/fb.cpp: fix const char warnings.
1459 2008-04-26  Dossy Shiobara <dossy@panoptic.com>
1461         * configure.ac: Use AC_PATH_TOOL instead of
1462           AC_PATH_PROG, which should automatically look for
1463           cross-compiling tools.  Fixed the NSPR_CFLAGS check
1464           and guarded the WINDRES checks, too.
1466 2008-04-26 Sandro Santilli <strk@keybit.net>
1468         * configure.ac: AC_DEFINE_UNQUOTED saved the day
1469           (rush hacking)
1471 2008-04-26 Sandro Santilli <strk@keybit.net>
1473         * configure.ac: Oops, AC_DEFINE can't use variables,
1474           will need to generate sysgnash{plugin}rc on 'make'
1475           (as suggested by automake dox)
1477 2008-04-26 Sandro Santilli <strk@keybit.net>
1479         * libbase/rc.cpp: explicitly initialize the default
1480           value for _solsafedir to "/tmp/" (will be done
1481           so by SharedObject.cpp for an empty string anyway);
1482           drop the hard-coded DEFAULT_STREAMS_TIMEOUT as it's
1483           now set at configure time.
1484         * configure.ac: provide DEFAULT_STREAMS_TIMEOUT, and
1485           all the FLASH_VERSION macros as substitutable symbols;
1486           generate libbase/sysgnashpluginrc and libbase/sysgnashrc
1487         * libbase/: Makefile.am, sysgnashpluginrc.in, sysgnashrc.in:
1488           Provide systemwide default configuration files.
1489           They are created and distributed, but still not installed.
1491 2008-04-26 Sandro Santilli <strk@keybit.net>
1493         * libbase/rc.cpp: add support for 'include' directive,
1494           cleanup parser to recognize empty lines and comments
1495           not starting on first column and to be more verbose
1496           about syntax errors (include line number).
1497         * gui/gtk.cpp: initialize members in constructor.
1499 2008-04-26 Sandro Santilli <strk@keybit.net>
1501         * libbase/Makefile.am: provide a SYSCONFDIR define
1502         * libbase/rc.cpp: use SYSCONFDIR to find gnashrc, don't guess.
1503         * plugin/Makefile.am: provide a SYSCONFDIR define
1504         * plugin/plugin.cpp: use SYSCONFIDIR to add a system-wide
1505           gnashpluginrc to GNASHRC.
1507 2008-04-25  Dossy Shiobara <dossy@panoptic.com>
1509         * configure.ac: Correctly locate windres executable when
1510           cross-compiling for Win32 target.  Fix c/o Robert
1511           Millan <robertmh>.  c.f. bug #20042 comment #7.
1513 2008-04-25 Sandro Santilli <strk@keybit.net>
1515         * plugin/plugin.cpp: append ~/.gnashpluginrc to GNASHRC env (creating
1516           that var if non-existing); use a static variable to tell if the
1517           plugin was initialized already or not: this is as epiphany keeps
1518           calling NS_PluginInitialize even if not supposed to (in a single
1519           session). Tests highly welcome.
1520         * libbase/rc.cpp (loadFiles): allow GNASHRC env variable to be
1521           a comma-separate list of rcfiles to parse.
1523 2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>
1525         * server/asobj/Stage.{cpp,h}: register ASnative methods separately,
1526           drop methods from Stage class, reduce reliance on Stage class
1527           generally (needs to go completely for ASnative functions, as it's not
1528           necessarily initialized in time). Case insensitive setters (fixes
1529           part of swfdec scalemode test).
1530         * server/asobj/Global.cpp: register Stage ASnative functions from SWF5
1531           (fixes another part of swfdec test).
1532         * server/StringPredicates.h: drop separate length test
1533           (StringNoCaseEqual).
1534         * testsuite/swfdec/PASSING: scalemode tests pass.
1536 2008-04-25 Sandro Santilli <strk@keybit.net>
1538         * gui/gui.cpp (updateStageMatrix): don't try to tell a NULL renderer
1539           about an updated stage matrix... [ thanks bwy for finding this ].
1541 2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>
1543         * testsuite/swfdec/PASSING: update for 13 new tests 
1544           (all pass; nothing to do there).
1546 2008-04-25 Benjamin Wolsey <bwy@benjaminwolsey.de>
1548         * testsuite/actionscript.all/String.as: tests for String.split.
1550 2008-04-25 Sandro Santilli <strk@keybit.net>
1552         * testsuite/swfdec/swfdec_gnash_tester: don't make use
1553           of .trace.org files, their format is unreliable, and
1554           they are only available when swfdec developers think
1555           complying with the proprietary player would be silly.
1556         * testsuite/swfdec/PASSING: 'constantpool-broken' and
1557           'double' succeed (swfdec-expected behaviour).
1559 2008-04-25 Sandro Santilli <strk@keybit.net>
1561         * server/vm/ASHandlers.cpp (ActionPushData): push undefined
1562           (not 0) when accessing an out-of-bound constant index.
1564 2008-04-25 Sandro Santilli <strk@keybit.net>
1566         * testsuite/actionscript.all/Makefile.am,
1567           testsuite/misc-ming.all/Makefile.am,
1568           testsuite/misc-mtasc.all/Makefile.am,
1569           testsuite/misc-swfc.all/Makefile.am,
1570           testsuite/misc-swfmill.all/Makefile.am,
1571           testsuite/movies.all/Makefile.am,
1572           testsuite/samples/Makefile.am,
1573           testsuite/swfdec/Makefile.am:
1574           Always use the testsuite-specific gnashrc, instruct
1575           the GC to run w/out rest.
1577 2008-04-24 Sandro Santilli <strk@keybit.net>
1579         * server/as_object.{cpp,h} (instanceOf): don't consider
1580           ourself as a prototype, use our __proto__ to check
1581           for inheritance and interfaces instead. Accept generic
1582           as_object, not just functions.
1583         * server/vm/ASHandlers.cpp (ActionImplementsOp):
1584           Interfaces must be registered to 'prototype', not '__proto__'
1585           of the target. (ActionInstanceOf): don't insist for the constructor
1586           argument to be a function, logaserror for aserrors...
1587         * testsuite/misc-mtasc.all/implementsOpTest.as: no more failures here.
1588         * testsuite/actionscript.all/Inheritance.as: no more failures about
1589           IMPLEMENTSOP / instanceof.
1590         * testsuite/swfdec/PASSING: implements.as succeeds in all versions,
1591           instance-of-propflags succeeds in versions 5,8,9 (fails in 6,7)
1593 2008-04-24 Sandro Santilli <strk@keybit.net>
1595         * testsuite/actionscript.all/Inheritance.as:
1596           Don't run 'implementsop' tests if Ming doesn't
1597           support it. Add a test to ensure we don't
1598           choke on circular inheritance.
1599         * testsuite/actionscript.all/check.as: Ming support
1600           for asm "implements" opcode was introduced in 
1601           0.4.0.beta6
1603 2008-04-24 Sandro Santilli <strk@keybit.net>
1605         * testsuite/actionscript.all/Inheritance.as:
1606           Tests for implementsop (probably need a specific
1607           Ming version, overlooked it for now).
1608         * testsuite/misc-mtasc.all/implementsOpTest.as:
1609           More failing tests.
1611 2008-04-24 Sandro Santilli <strk@keybit.net>
1613         * testsuite/actionscript.all/Inheritance.as:
1614           Add a failing test for 'instanceof'.
1616 2008-04-24 Sandro Santilli <strk@keybit.net>
1618         * testsuite/misc-mtasc.all/implementsOpTest.as: 
1619           Test instanceof when interfaces are involved
1620           (gnash fails!)
1622 2008-04-24 Sandro Santilli <strk@keybit.net>
1624         * server/swf/PlaceObject2Tag.h (hasCxform): fix typo
1625           (did return hasMatrix). Fixes bug #23037.
1627 2008-04-24 Benjamin Wolsey <bwy@benjaminwolsey.de>
1629         * server/asobj/Global.cpp: include tu_math.h for isfinite on
1630           windows.
1631         * server/asobj/Stage.cpp: try to fix what looks like a compiler
1632           bug on MinGW.
1634 2008-04-24 Zou Lunkai <zoulunkai@gmail.com>
1635         
1636         * server/dlist.{h,cpp}: replace_character(), simplify the interface, 
1637           drop some unnecessary args.
1638         * server/sprite_instance.{h,cpp}: adopt the new interface.
1639         
1640 2008-04-24 Sandro Santilli <strk@keybit.net>
1642         * testsuite/misc-ming.all/Makefile.am: add rule to build
1643           StageConfigTest.swf
1644         * gui/gui.cpp (resize_view): don't display if not started.
1646 2008-04-24 Sandro Santilli <strk@keybit.net>
1648         * testsuite/server/ClassSizes.cpp: print sizeof Property* and
1649           smartptr<PropertyList>
1651 2008-04-24 Benjamin Wolsey <bwy@benjaminwolsey.de>
1653         * server/movie_root.{cpp,h}: rename get{Width,Height} to
1654           getStage{Width,Height}. Move implementation of Stage.width and
1655           Stage.height to movie_root. Add docs.
1656         * server/asobj/Stage.{h,cpp}: drop class members moved to movie_root.
1657           Handle setScaleMode in the getter/setter (no need for a duplicated
1658           method in the Stage class). Update docs.
1660 2008-04-24 Zou Lunkai <zoulunkai@gmail.com>
1662         * server/sprite_instance.cpp, server/BitmapMovieInstance.cpp:
1663           set ratio value of dynamic characters to zero. All dynamic
1664           characters' ratio should be default to zero in theory.
1665         
1666 2008-04-24 Zou Lunkai <zoulunkai@gmail.com>
1668         * server/dlist.{h,cpp}: place_character(), simplify the interface, 
1669           drop some unnecessary args.
1670         * server/sprite_instance.{h,cpp}, server/BitmapMovieInstance.cpp, 
1671           testsuite/server/DisplayList.cpp: adopt the new interface of place_character().
1673 2008-04-23 Sandro Santilli <strk@keybit.net>
1675         * server/asobj/Stage.h: make notifyResize a public method.
1676         * server/movie_root.cpp: only send onResize event when stage size
1677           actually changes.
1678         * testsuite/actionscript.all/Stage.as: don't expect a call to onResize
1679           when just assigning to scaleMode, it is reported to be a bug in
1680           the proprietary player for linux.
1682 2008-04-23 Sandro Santilli <strk@keybit.net>
1684         * testsuite/misc-ming.all/: Makefile.am, StageConfigTest.as:
1685           Committed the test grew and used the whole day for stage testing.
1686           It shows we still get Stage size wrong, but is not automated yet.
1688 2008-04-23 Sandro Santilli <strk@keybit.net>
1690         * testsuite/MovieTester.cpp (resizeStage): don't try
1691           to use what I just dropped (isRescalignAllowed).
1693 2008-04-23 Sandro Santilli <strk@keybit.net>
1695         * server/movie_root.{cpp,h}: Drop _allowRescale (does more
1696           harm then a rebuild); broadcast a Stage.onResize event when
1697           scaleMode is set to noScale (from something else).
1698         * testsuite/actionscript.all/Stage.as: XPASS the totals.
1700 2008-04-23 Sandro Santilli <strk@keybit.net>
1702         * server/movie_root.cpp (set_display_viewport): use _scaleMode,
1703           not the deprecated (and unmaintained) _allowRescale.
1704           The latter should be dropped, just didn't feel like changing
1705           the header again in this one :) We'll need to add more
1706           methods for obtaining a string representatino of the new
1707           enum values anyway.
1708         * gui/gui.cpp (updateStageMatrix): missing break in switch..
1710 2008-04-23 Sandro Santilli <strk@keybit.net>
1712         * gui/gui.cpp (updateStageMatrix): add support for
1713           all scale modes. Query all from movie_root.
1715 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1717         * testsuite/actionscript.all/Stage.as: update passes.
1719 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1721         * server/movie_root.h, server/asobj/Stage.cpp: it's exactFit,
1722           not exactFill.
1724 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1726         * server/movie_root.{cpp,h}: store scaleMode in movie_root,
1727           add methods to set and query scale and align mode. Notify
1728           Player when scaleMode changes. The method isRescalingAllowed
1729           still works, probably not necessary.
1730         * server/asobj/Stage.cpp: leave scaleMode entirely to movie_root
1731           as there's no point duplicating it.
1733 2008-04-23 Sandro Santilli <strk@keybit.net>
1735         * testsuite/actionscript.all/Stage.as: test other valid values
1736           for Stage.scaleMode, and add consistency checking (gnash fails
1737           in NOT sending onResize event on scaleMode=noScale set).
1739 2008-04-23 Sandro Santilli <strk@keybit.net>
1741         * gui/gui.cpp (updateStageMatrix): add support for all vertical
1742           and horizontal alignments.
1744 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1746         * server/movie_root.cpp: notify Player of Stage.align event.
1747         * server/asobj/Stage.cpp: drop unimplemented message for Stage.align.
1749 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1751         * server/movie_root.{h,cpp}: add private members and enums
1752           to track stage alignment.
1753         * server/asobj/Stage.{h,cpp}: set alignment in movie_root
1754           when Stage.align changes. Stage is responsible for working
1755           out the actual alignment when two competing alignments (L/R,
1756           T/B) are set.
1758 2008-04-23 Sandro Santilli <strk@keybit.net>
1760         * gui/gui.{cpp,h}: Put stage matrix computation in its own
1761           method (updateStageMatrix). Call on resize.
1762         * gui/Player.cpp: call Gui's updateStageMatrix when 
1763           the Stage.align and Stage.scaleMode events are received.
1765 2008-04-23 Sandro Santilli <strk@keybit.net>
1767         * server/render.{cpp,h}: drop get_scale interface (unused).
1768         * backend/render_handler.h: add set_translation method, to
1769           go togheter with set_scale for setting a "stage matrix".
1770         * backend/render_handler_agg.cpp, backend/render_handler_ogl.cpp:
1771           Implement set_translation.
1772         * gui/gui.{cpp,h}: add x/y offset private member, compute offsets
1773           and scales on resize_view configuring renderer accordingly
1774           (align stage to center).
1775           Use scale/offset in notify_mouse_moved for proper Window-to-Stage
1776           coordinate conversion. 
1778 2008-04-23 Sandro Santilli <strk@keybit.net>
1780         * server/movie_root.cpp (clear): remove key/mouse listeners. Fixes
1781           an assertion failure running levels.swf with PARANOIA_LEVEL > 1.
1783 2008-04-23 Sandro Santilli <strk@keybit.net>
1785         * server/movie_root.{cpp,h}: add a cleanupAndCollect() private method
1786           so we don't forget to clean key/mouse listeners before invoking
1787           the garbage collector. Fixes a few assertion failures with
1788           GNASH_PARANOIA_LEVEL > 1 (others still fail).
1790 2008-04-23 Sandro Santilli <strk@keybit.net>
1792         * gui/: fb.cpp, fltk.cpp, gtk.cpp, gui.{cpp,h}, kde.cpp, sdl.cpp:
1793           Make pixel scale a Gui private, and drop accessors, Handle
1794           it in Gui::notify_mouse_moved, now taking coordinates in 
1795           user coordinate space.
1797 2008-04-23 Sandro Santilli <strk@keybit.net>
1799         * server/movie_root.{cpp,h}: drop unused pixel scale
1800           and interfaces to it, update documentation for notify_mouse_moved.
1802 2008-04-23 Benjamin Wolsey <bwy@benjaminwolsey.de>
1804         * testsuite/swfdec/PASSING: remove the 4 fails from yesterday's
1805           commit, keep buildbot happy.
1807 2008-04-23 Zou Lunkai <zoulunkai@gmail.com>
1809         * server/swf/PlaceObject2Tag.cpp: execute(), use the DLIST tag directly
1810           instead of passing every single field.
1811         * server/sprite_instance.{h,cpp}: add_display_object(), move_display_object(),
1812           replace_display_object(), pass the DLIST tag directly instead of the verbose
1813           interface. still a halfway work.
1814           
1815 2008-04-23 Zou Lunkai <zoulunkai@gmail.com>
1817         * server/swf/PlaceObject2Tag.h: add some member functions
1818           to access the private data.
1819           
1820 2008-04-23 Sandro Santilli <strk@keybit.net>
1822         * server/character.{cpp,h}, server/movie_root.h,
1823           server/sprite_instance.{cpp,h}: drop get_mouse_state proxy.
1825 2008-04-22 Sandro Santilli <strk@keybit.net>
1827         * gui/gui.cpp (resize_view): immediate display on resize, fixes
1828           that annoying flickering during resizes.
1829         * server/sprite_instance.{cpp,h}: drop get_pixel_scale proxy.
1831 2008-04-22 Sandro Santilli <strk@keybit.net>
1833         * server/swf/StartSoundTag.cpp (read): log unimpl once about
1834           syncNoMultiple flag.
1836 2008-04-22 Sandro Santilli <strk@keybit.net>
1838         * libbase/GC.{cpp,h}: use GNASH_GC_TRIGGER_THRESHOLD environment
1839           variable, if any, to set number of newly registered collectables
1840           since last run before a new collection starts.
1842 2008-04-22 Sandro Santilli <strk@keybit.net>
1844         * server/button_character_instance.cpp (on_event,
1845           on_button_event): ignore events if unloaded.
1846           Fixes bug #22982.
1848 2008-04-22 Sandro Santilli <strk@keybit.net>
1850         * server/dlist.h, server/movie_root.{cpp,h}: set
1851           GNASH_PARANOIA_LEVEL if not already set, use it
1852           to engage expensive assertions when > 1.
1854 2008-04-22 Benjamin Wolsey <bwy@benjaminwolsey.de>
1856         * server/as_prop_flags.h: add onlySWF9Up to cleared visible flags
1857           (copied blindly from swfdec, like much of this file). Drop
1858           static const member for flags mask, as it's used exclusively
1859           in Global.cpp.
1860         * server/asobj/Global.cpp: move flag mask here, make onlySWF9Up
1861           overridable, which gives new 27 swfdec testsuite passes and
1862           four failures. The only effective change is the addition
1863           of onlySWF9Up to the mask; to revert, remove it.
1864         * testsuite/swfdec/PASSING: new passes.
1865         * server/vm/CodeStream.h: add brackets to shut gcc 4.3 up.
1867 2008-04-22 Sandro Santilli <strk@keybit.net>
1869         * testsuite/misc-swfc.all/: Makefile.am, button_test2.sc:
1870           Add zou test for bug #22982 (still not automated - read
1871           comments in it for how to reproduce).
1873 2008-04-22 Sandro Santilli <strk@keybit.net>
1875         * server/button_character_instance.{cpp,h}: override
1876           ::destroy (every character overriding ::unload should
1877           do this).
1879 2008-04-21 Benjamin Wolsey <bwy@benjaminwolsey.de>
1881         * server/asobj/LocalConnection.cpp: log unimplemented message only
1882           once, drop c_str() where appropriate and other minor cleanups.
1884 2008-04-21 Sandro Santilli <strk@keybit.net>
1886         * server/parser/button_character_def.cpp (readDefineButton2):
1887           Check 'next_action_offset' field in DEFINEBUTTON2 action records.
1889 2008-04-21 Sandro Santilli <strk@keybit.net>
1891         * testsuite/server/: ClassSizes.cpp, Makefile.am:
1892           Add a simple prog to report common class sizes.
1893           It's not a real test so won't be run, but will
1894           be built on 'make check' or you can build
1895           manually (make ClassSizes) to see.
1897 2008-04-21 Benjamin Wolsey <bwy@benjaminwolsey.de>
1899         * server/: (many files) GNASH_USE_GC is defined in smart_ptr.h,
1900           not gnashconfig.h. Make sure it's explicitly included wherever
1901           GNASH_USE_GC is needed. Drop more gnashconfig.h includes. Replace
1902           SIZET_FMT with %d now that we use boost::format (removes need to
1903           include gnashconfig.h).
1904         * libbase/log.h: define LOG_ONCE to replace the ONCE implementations
1905           in various server/ files.
1906         * server/vm/ActionExec.cpp, server/vm/ASHandlers.cpp: replace
1907           SIZET_FMT.
1909 2008-04-20 Benjamin Wolsey <bwy@benjaminwolsey.de>
1911         * server/asobj/Date.{h,cpp}: make date_as_object into Date class,
1912           remove direct access to value member. Drop remaining casts; use
1913           to_int() instead.
1914         * testsuite/actionscript.all/ASnative.as: more tests for ASnative
1915           date function. All full AS classes with ASnative 'constructors'
1916           need some redoing (Date, for instance).       
1918 2008-04-19 Sandro Santilli <strk@keybit.net>
1920         * server/edit_text_character.cpp (textfield_setTextFormat): use
1921           the fontlib to reuse existing fonts.
1922         * server/fontlib.{cpp,h}: have fontlib::get_font(name, bold, italic)
1923           create a new font if none was found.
1925 2008-04-19 Sandro Santilli <strk@keybit.net>
1927         * server/button_character_instance.cpp (on_button_event):
1928           Push all events to the global queue. Tested this locally, no
1929           automated test.
1931 2008-04-19 Benjamin Wolsey <bwy@benjaminwolsey.de>
1933         * server/asobj/LocalConnection.cpp: log unimplemented for LC send.
1935 2008-04-19 Sandro Santilli <strk@keybit.net>
1937         * server/parser/movie_def_impl.cpp (isSelfThread): 
1938           boost 1.35 changed semantic of default constructor
1939           for boost::thread class.
1941 2008-04-19 Sandro Santilli <strk@keybit.net>
1943         * testsuite/swfdec/Makefile.am: remove files
1944           in chunks on make clean (too many args to rm!).
1946 2008-04-19 Sandro Santilli <strk@keybit.net>
1948         * server/button_character_instance.cpp (set_current_state):
1949           Don't forget set_invalidated when characters are *added*
1950           and not *removed* from the set of active ones.
1952 2008-04-18 Sandro Santilli <strk@keybit.net>
1954         * server/button_character_instance.{cpp,h}: 
1955           Redesign buttons' "DisplayList" doing proper
1956           load/unload and depth-shift. Execute statically-defined
1957           button actions by pushing them on stack (movie_root
1958           will take care of processing after event).
1959         * testsuite/misc-ming.all/ButtonEventsTest.c:
1960           No more failures in the test. Looking forward for
1961           more tests :)
1963 2008-04-18 Sandro Santilli <strk@keybit.net>
1965         * testsuite/misc-ming.all/: ButtonEventsTest.c,
1966           ButtonEventsTest-Runner.cpp: Add test for shape-sensible
1967           hitTest agains containing mouse-grabbing sprite, add
1968           test code (not automated) for key events.
1969         * server/button_character_instance.cpp:
1970           Reduce direct access to the m_record_character member,
1971           which will need to be changed for proper design.
1972           As a side-effect, fix pointInShape so to consider
1973           all characters for current state, not just the first one.
1975 2008-04-18 Sandro Santilli <strk@keybit.net>
1977         * server/button_character_instance.cpp,
1978           server/parser/button_character_def.{cpp,h}:
1979           Abstract access to button actions, now parser-private.
1981 2008-04-18 Sandro Santilli <strk@keybit.net>
1983         * testsuite/misc-ming.all/ButtonEventsTest.c: enable a test snippet
1984           that was failing to execute. Add constency checking for the
1985           self-contained tests. Add test showing that unloaded (depth-shifted)
1986           characters are still referenceable.
1988 2008-04-18 Russ Nelson <nelson@crynwr.com>
1990         * consolidate all WARNING messages for display at the end of
1991           configure's output, along with a notice saying that gnash
1992           should compile anyway.
1993         * configure.ac: move cerr and cwarn to /tmp; they're truly temporary.
1995 2008-04-18 Sandro Santilli <strk@keybit.net>
1997         * server/button_character_instance.cpp: use staticDepthOffset
1998           for depth-shifting.
1999         * testsuite/misc-ming.all/: ButtonEventsTest-Runner.cpp,
2000           ButtonEventsTest.c: Add test for child load/unload.
2001           Gnash is being very wrong here..
2003 2008-04-18 Sandro Santilli <strk@keybit.net>
2005         * server/sprite_instance.cpp (stop_drag): there's no reason why
2006           stop_drag shouldn't be called on the root movie, that code
2007           will simply ask movie_root to stop dragging whatever is being
2008           dragged currently (independently from on which sprite/movie
2009           it is called). Should fix bug #22970.
2011 2008-04-17 Sandro Santilli <strk@keybit.net>
2013         * server/character.{cpp,h}: make get_root return m_root no matter
2014           lockroot and provide a new getAsRoot() for lockroot-aware
2015           operations.
2016         * server/as_environment.cpp, server/button_character_instance.cpp,
2017           server/sprite_instance.{cpp,h}, server/swf_function.cpp:
2018           Use getAsRoot() when the _root member is needed, implement it
2019           to check _lockroot on every component of the path, and to
2020           check for movie (not VM only) version.
2021           Fixes bug #22930.
2022         * testsuite/swfdec/PASSING: movieclip-lockroot-{7,8}.swf and
2023           movieclip-lockroot-loadmovie-6.swf complete the lockroot
2024           test series.
2026 2008-04-17 Sandro Santilli <strk@keybit.net>
2028         * configure.ac: drop the trap, messes up with autoconf internals.
2030 2008-04-17 Sandro Santilli <strk@keybit.net>
2032         * configure.ac: don't leave a stale 'cerr' file around, open
2033           it only once for writing.
2035 2008-04-17 Sandro Santilli <strk@keybit.net>
2037         * server/FreetypeGlyphsProvider.{cpp,h}: add a unitsPerEM() method
2038           to retrive the nominal EM square size. Currently always 1024
2039           but could theoretically match the underlying freetype EM square.
2040         * server/font.{cpp,h}: add a unitsPerEM() method workign both
2041           for device and embedde fonts, both DEFINEFONT kinds (small
2042           and largs).
2043         * server/edit_text_character.cpp, server/text.cpp:
2044           don't assume EM square is 1024x1024, fetch from font instead.
2045           Fixes bug #22965.
2047 2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>
2049         * testsuite/actionscript.all/case.as: test for case collision
2050           in _global properties.
2051         * testsuite/actionscript.all/String.as: test SWF5 properties
2052           too.
2054 2008-04-17 Sandro Santilli <strk@keybit.net>
2056         * server/parser/movie_def_impl.{cpp,h}:
2057           Add a boost::barrier based mechanism to make
2058           sure the loader thread execution waits for 
2059           the _thread member to be assigned-to.
2060           Hopefully fixes bug #22915 and represents
2061           a model for other thread starterts to follow
2062           to avoid time-sensible joins aka segfaults
2063           on exit.
2065 2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>
2067         * server/asobj/Color.{h,cpp}: register ASnative separately.
2068         * server/asobj/Global.cpp: only load Color on demand. I think
2069           this won't reintroduce the old string_table lookup bug, but
2070           this is where to revert if it does happen (until a better
2071           solution is found).
2072         * testsuite/actionscript.all/Color.as: test variables with same
2073           name as class (case insensitive). Doesn't really get the problem,
2074           but this should be tested as well.
2076 2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>
2078         * libbase/utf8.h: visibility...
2079         * server/character.cpp: use std::floor instead of cast to int.
2081 2008-04-17 Benjamin Wolsey <bwy@benjaminwolsey.de>
2083         * server/asobj/System.{h,cpp}: allow registering ASnative functions,
2084           add notes for unimplemented ASnatives.
2085         * server/asobj/Global.cpp: register System ASnative functions at
2086           startup.
2088 2008-04-17 Sandro Santilli <strk@keybit.net>
2090         * server/asobj/xml.cpp: handle BOM in XML input.
2091         * testsuite/media/gnash.xml: add utf8 BOM.
2093 2008-04-17 Sandro Santilli <strk@keybit.net>
2095         * libbase/utf8.{cpp,h}: add a stripBOM interface and a TextEncoding
2096           enum to deal with BOMs.
2097         * server/LoadVariablesThread.cpp: handle BOMs, fixing failure in
2098           actionscript.all/MovieClip.as
2099         * server/asobj/LoadVars.cpp: delegate BOM handling to the new
2100           specialized utf8:: interface.
2102 2008-04-16 Sandro Santilli <strk@keybit.net>
2104         * testsuite/actionscript.all/LoadVars.as: check that getBytesLoaded()
2105           is bigger then 0 when onLoad is received>
2106         * server/asobj/LoadVars.cpp: handle BOM mark in input file.
2107           Fixes bug #19915.
2108         * testsuite/media/vars.txt: add UTF8 BOM mark.
2110 2008-04-16 Sandro Santilli <strk@keybit.net>
2112         * testsuite/actionscript.all/LoadVars.as: test that LoadVars::decode()
2113           would not skip BOM.
2115 2008-04-16 Sandro Santilli <strk@keybit.net>
2117         * server/button_character_instance.{cpp,h}: implement movie info
2118           tree filler so to print state and childs.
2120 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2122         * server/types.h: drop some dead code. (PIXELS_TO_TWIPS) don't
2123           divide by a float; it introduces unnecessary inaccuracy.
2124         * server/character.cpp: drop debugging calls I forgot to remove.
2125           They weren't that helpful anyway.
2126         * testsuite/actionscript.all/MovieClip.as: tests passing.
2128 2008-04-16 Sandro Santilli <strk@keybit.net>
2130         * configure.ac, testsuite/misc-ming.all/Makefile.am:
2131           It takes Ming 0.4.0.beta6 for SWFButton_setDepth.
2133 2008-04-16 Sandro Santilli <strk@keybit.net>
2135         * server/sprite_instance.cpp (can_handle_mouse_event):
2136           A MovieClip can't handle mouse event if it's not enabled.
2137           If no 'enabled' member is found, sprite is considered
2138           enabled.
2139         * testsuite/misc-ming.all/SpriteButtonEventsTest-Runner.cpp:
2140           success in "active" entity state based on .enabled member.
2142 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2144         * server/character.cpp: x and y translation should be
2145           rounded down to next twip.
2146         * testsuite/actionscript.all/MovieClip.as: tests for _x and
2147           _y.
2149 2008-04-16 Sandro Santilli <strk@keybit.net>
2151         * server/movie_root.cpp (generate_mouse_button_events): don't let
2152           handling of mouse DOWN-to-UP transition handling change the
2153           status and thus trigger further processing of UP-MOVING pointer.
2154         * testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: fix expected
2155           results + successes (we won't send RollOut after ReleaseOutside
2156           now).
2157         * testsuite/misc-ming.all/SpriteButtonEventsTest-Runner.cpp:
2158           successes (we won't send RollOut after ReleaseOutside now).
2160 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2162         * testsuite/swfdec/PASSING: some newly added swfdec tests
2163           pass (_lockroot).
2165 2008-04-16 Sandro Santilli <strk@keybit.net>
2167         * server/vm/action.cpp: onRelease_Outside -> onReleaseOutside
2168         * testsuite/swfdec/PASSING: asnative-create-{5,6,7,8} success.
2170 2008-04-16 Sandro Santilli <strk@keybit.net>
2172         * testsuite/misc-ming.all/: SpriteButtonEventsTest-Runner.cpp,
2173           SpriteButtonEventsTest.c:
2174           Runner was running the wrong test, too the chance to
2175           cleanup both test and runner. Exposes a few interesting bugs.
2177 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2179         * server/asobj/Global.cpp: trace is ASnative(100, 4).
2180         * server/FreetypeGlyphsProvider.cpp: Disable device font debugging
2181           by default again.
2183 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2184         
2185         * server/asobj/Date.{h,cpp}, server/asobj/Mouse.{cpp,h}: register
2186           Native functions separately.
2187         * server/asobj/Global.cpp: register Mouse and Date ASnative
2188           functions for SWF5+ at startup so that they are always available.
2189         * testsuite/actionscript.all/Mouse.as: couple of new tests.
2190         * testsuite/actionscript.all/Date.as: tests for ASnative(103, 256):
2191           _global.Date. (Will fail, unsurprisingly).
2192         * server/FreetypeGlyphsProvider.cpp: log filename of selected font
2193           when verbosely debugging.
2195 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2196         
2197         * server/asobj/{GMath.h,Math.cpp}: split registering native
2198           functions into a separate method (registerMathNative), which
2199           must be called at startup (logical enough...), or at least
2200           before the Math class is initialized.
2201         * server/asobj/Global.cpp: register Math ASnative functions
2202           at startup for SWF4+. Return to loading Math class on demand.
2203           Notify ClassHierarchy about Date initialization (though this
2204           can be reverted if Date ASnatives are initialized separately).
2206 2008-04-16 Sandro Santilli <strk@keybit.net>
2208         * testsuite/misc-ming.all/ButtonEventsTest.c: self-contain
2209           tests for NOT receiving unexpected events, gnash failure
2210           is more explicitly visible now (gets an additional
2211           unexpected MOUSEOUT event when MOUSEUPOUTSIDE is expected).
2213 2008-04-16 Sandro Santilli <strk@keybit.net>
2215         * testsuite/misc-ming.all/: ButtonEventsTest-Runner.cpp,
2216           ButtonEventsTest.c: cleanup the test so to guide
2217           humans trough non-automated testing. Interestingly
2218           enough gnash seems to support onMouseUpOutside, but
2219           probably just sends an onMouseUp immediately afterwards,
2220           which would explain the failure in test runner.
2221           Another pass at this test might make the failure even
2222           more visible (self-contained).
2224 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2225         
2226         * server/asobj/Global.cpp: register parseInt, parseFloat,
2227           escape, unescape, isNaN and isFinite as ASnative.
2228         * testsuite/actionscript.all/ASnative.cpp: test global
2229           ASnative functions
2231 2008-04-16 Benjamin Wolsey <bwy@benjaminwolsey.de>
2232         
2233         * server/asobj/Global.cpp: init Date class at startup
2234           so that its ASnative functions are registered.
2235         * testsuite/actionscript.all/ASnative.cpp: test Date
2236           ASnative getter functions (all fine now).
2238 2008-04-15 Russ Nelson <nelson@crynwr.com>
2240         * consolidate all ERROR messages for display at the end of
2241           configure's output
2242         * testsuite/libgeometry/Makefile.am: can't run an executable
2243           using "sh executable" -- it interprets it as a script.
2245 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2246         
2247         * server/vm/VM.{h,cpp}: move implementation of registerNative
2248           (makes debugging friendlier).
2249         * server/asobj/Global.cpp: don't only load Math class on demand
2250           or its ASnative functions may not be registered when needed!
2251         * testsuite/actionscript.all/ASnative.as: Math tests now pass.
2253 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2254         
2255         * testsuite/actionscript.all/ASnative.as: 36 tests for ASnative.
2256           All of them fail :-(
2257         * testsuite/actionscript.all/Makefile.am: new test.
2259 2008-04-15 Sandro Santilli <strk@keybit.net>
2261         * server/LoadVariablesThread.cpp, server/sprite_instance.cpp,
2262           server/asobj/LoadVars.cpp: use compile-time defines to enable
2263           debugging of variables load.
2265 2008-04-15 Udo Giacomozzi <udo.gnu@nova-sys.net>
2267         * server/button_character_instance.cpp: call set_invalidated() *before*
2268           changing anything (does not really change anything, but who knows...)
2269           
2270 2008-04-15 Sandro Santilli <strk@keybit.net>
2272         * configure.ac, testsuite/misc-ming.all/Makefile.am:
2273           New code in ButtonEventsTest.c require Ming 0.4.0.beta5.
2275 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2276         
2277         * server/asobj/Math.cpp: internal functions can have internal
2278           linkage.
2280 2008-04-15 Sandro Santilli <strk@keybit.net>
2282         * server/button_character_instance.cpp (set_current_state):
2283           Cleanup, indent and comment code looking for invalidation.
2285 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2286         
2287         * testsuite/actionscript.all/Mouse.as: tests for mouse prototype
2288           (one fail before this commit).
2289         * server/asobj/Mouse.cpp: Mouse is not an instantiatable class.
2290           Drop unused mouse_ctor, drop class constructor. Attach interface
2291           to singleton Mouse object. The new test passes.
2293 2008-04-15 Udo Giacomozzi <udo.gnu@nova-sys.net>
2295         * gui/gtk.cpp: refresh view when leaving "show updated regions" mode
2296           
2297 2008-04-15 Sandro Santilli <strk@keybit.net>
2299         * testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: 
2300           Check rendering of the additional state character.
2301         * testsuite/misc-ming.all/ButtonEventsTest.c: add a second
2302           smaller character for each state making sure it's listed 
2303           before the wider but is at higher depth. This is very focused
2304           on testing the just-fixed bug in button's getBOunds.
2305         * server/button_character_instance.cpp (getBounds): consider
2306           bounds of all active child characters, not just the first
2307           found, and appropriately transform them with their matrix.
2309 2008-04-15 Sandro Santilli <strk@keybit.net>
2311         * server/button_character_instance.cpp: revert use of
2312           m_child_invalidated in add_invalidated_bounds as per
2313           Udo's request.
2315 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2316         
2317         * server/asobj/System.{h,cpp}: System is not a proper class,
2318           so doesn't need a constructor.
2319         * server/asobj/{Math.cpp,GMath.h}: Math is not a proper class, so
2320           doesn't need a constructor. Drop unused 'Math' class in
2321           header. Register ASnative functions, make all Math members
2322           read-only.
2324 2008-04-15 Benjamin Wolsey <bwy@benjaminwolsey.de>
2325         
2326         * testsuite/actionscript.all/Math.as: tests for Math class
2327           instantiation (not a proper class).
2328         * testsuite/actionscript.all/System.as: tests for System
2329           object. 
2331 2008-04-14 Benjamin Wolsey <bwy@benjaminwolsey.de>
2332         
2333         * server/asobj/Date.cpp: register date members as native.
2334         * server/asobj/Math.cpp: document ASnative functions.
2336 2008-04-14  Rob Savoye  <rob@ripple.welcomehome.org>
2338         * libamf/amf.{h,cpp}: Use size_t instead of int.
2339         * libamf/buffer.cpp: Drop bogus size test when copying buffers.
2340         * testsuite/libamf.all/test_amf.cpp: Create test object that
2341         matches packet captured one.
2343 2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2344         
2345         * testsuite/actionscript.all/System.as: test hasOwnProperty for
2346           SWF6+, be more selective about testing different versions.
2347         * server/asobj/System.cpp: exactSettings only available in SWF6
2348           or above.
2350 2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2352         * gui/gtk.cpp: gdk_screen_get_resolution only available from
2353           version 2.10 onwards (thanks buildbot!).
2355 2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2357         * server/asobj/System.cpp: correct formatting of serverString.
2358         * gui/Player.cpp, gui/gui.h, gui/gtk{sup.h,.cpp}: get screen
2359           resolution in DPI (doesn't agree with the pp, but no idea
2360           which is correct).
2362 2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2364         * utilities/processor.cpp: return some fake values for
2365           System.capabilities requests.
2367 2008-04-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2369         * server/asobj/System.cpp: add useCodepage and exactSettings
2370           getter-setters. The getters return the notionally correct
2371           values; setters are unimplemented. Pass screenDPI and
2372           screenColor requests on to frontend.
2373         * testsuite/actionscript.all/System.as: test new System properties.
2375 2008-04-13  Rob Savoye  <rob@ripple.welcomehome.org>
2377         * libamf/amf.cpp: Bools are two bytes for AMF, so use a uint16_t,
2378         not a bool when copying data. If the name is set, then it's a
2379         variable for encoding.
2380 `       * libamf/amf.h: Use Network::byte_t instead of char for constants.
2381         * libamf/element.cpp: Elements, encode thyself instead of leaving
2382         it for an AMF object to do it.
2383         * testsuite/libamf.all/test_el.cpp: Test the children too.
2384         * testsuite/libamf.all/test_amf.cpp: Test the AMF class.
2385         * testsuite/libamf.all/Makefile.am: Add test_amf.
2387 2008-04-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2389         * server/asobj/System.cpp: add windowlessDisable, reorder.
2390         * testsuite/actionscript.all: test windowlessDisable.
2392 2008-04-12  Rob Savoye  <rob@ripple.welcomehome.org>
2394         * libamf/element.cpp: Use new check_buffer() to reduce code
2395         bloat. Add a few more make* methods, now all object types are
2396         covered.
2397         * libamf/element.h: Add private method to check the data buffer to
2398         replace often duplicated code.
2399         * testsuite/libamf.all/test_el.cpp: Add more make* tests, add
2400         tests for == and = operators.
2402 2008-04-11  Rob Savoye  <rob@ripple.welcomehome.org>
2404         * libamf/buffer.cpp: Redesign the ::resize() method. Add more
2405         ::copy() methods for bool and doubles.
2406         * libamf/element.cpp: When invoking one of the make* methods for
2407         initializing an object, all allocate memory if none has been done so
2408         yet. Implement a few more object creation types.
2409         * libamf/element.h: Add a few more object creation methods.
2410         * testsuite/libamf.all/test_buffer.cpp: Test new ::copy()
2411         methods. Default to a nop if DejaGnu isn't installed. 
2412         * testsuite/libamf.all/test_el.cpp: Use arg_parser instead of
2413         getopt. Default to a nop if DejaGnu isn't installed. Add more
2414         tests for construction, and the making of Elements.
2415         * testsuite/libamf.all/test_amf.cpp: New test case for AMF class.
2416         * testsuite/libamf.all/Makefile.am: Add test_amf.
2417         
2418 2008-04-11  Rob Savoye  <rob@ripple.welcomehome.org>
2420         * libamf/buffer.h: Check _seekptr, not nbytes to determine if a
2421         buffer is ::empty().
2422         * libamf/buffer.cpp: Fix bugs in ::remove() method.
2423         * testsuite/libamf.all/buffer.cpp: Add tests for ::remove().
2425         * libamf/buffer.{h,cpp}: Cleanup minor bugs found by newly
2426         expanded test case. Rename empty() to clear().
2427         * libamf/amf.cpp: Don't take 1 off the end of the string. Comment
2428         out some stuff that will be deleted later, it's been moved to the
2429         Element class.
2430         * libamf/element.cpp: Add makeNumber that takes a variable name.
2431         * testsuite/libamf.all/test_buffer.cpp: Add many new tests for all
2432         methods. This makes it much easier to more thoroughly test for
2433         memory problems.
2434         * testsuite/libamf.all/test_lc.cpp: Clean up error handling.
2435         * libbase/shm.cpp: Handle permission errors better.
2436         * libbase/gmemory.h, memory.cpp: Use size_t instead of int.
2438 2008-04-11 Sandro Santilli <strk@keybit.net>
2440         * server/button_character_instance.cpp (add_invalidated_bounds):
2441           check m_child_invalidated. Partially fixes bug #22904.
2443 2008-04-11 Sandro Santilli <strk@keybit.net>
2445         * server/text.{cpp,h}: make has{x,y}offset flags and {x,y}offset
2446           values private.
2447         * server/parser/text_character_def.cpp: updated to avoid direct
2448           access to text_style now-private members.
2450 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2452         * configure.ac: allow disabling movie properties separately from
2453           menus. It can't presently be viewed without the menus, but may
2454           be useful for debugging (dumping movie information).
2455         * server/character.{h,cpp}, server/movie_root.{cpp,h},
2456           server/sprite_instance.{cpp,h}, gui/gtk{.cpp,sup.h},
2457           gui/gui.{cpp,h}: update ifdefs, make sure all tree-related
2458           code is ifdeffed out.
2460 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2462         * server/character.h: tree is not defined if tree.hh is not
2463           included.
2465 2008-04-11 Sandro Santilli <strk@keybit.net>
2467         * testsuite/actionscript.all/TextFormat.as: success in indent
2468           and blockIndent tests.
2470 2008-04-11 Sandro Santilli <strk@keybit.net>
2472         * server/text.h: don't forget to initialize
2473           the _underline member.
2474         * server/text.cpp (display_glyph_records): don't reset
2475           the x/y offsets on every new glyph record (useful for
2476           static text) - was a regression I introduced with last 
2477           commit.
2478         * testsuite/misc-ming.all/: DefineTextTest-Runner.cpp,
2479           DefineTextTest.c, Makefile.am: new test for static text
2480           (would fail with the regression introduced in
2481           last commit).
2483 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2485         * gui/gtk.cpp: explicit cast to int to silence warnings on some
2486           machines.
2488 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2490         * gui/gui.{cpp,h}, gui/gtk.cpp: cleanup and rename region debugging
2491           ifdef.
2493 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2495         * gui/gui.{cpp,h}: add flag for showing invalidated ranges for
2496           runtime option. Enable show invalidated ranges by default, 
2497           check runtime flag.
2498         * gui/gtk{sup.h,.cpp}: menu option to turn on showing invalidated
2499           ranges.
2501 2008-04-11 Sandro Santilli <strk@keybit.net>
2503         * server/asobj/TextFormat.cpp: implement getter-setter for
2504           'underline'
2505         * testsuite/misc-ming.all/DefineEditTextTest.c: test 
2506           getTextFormat().underline.
2507         * server/edit_text_character.{cpp,h}, server/text.{cpp,h}:
2508           Implement text underlining.
2510 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2512         * testsuite/actionscript.all/System.as: correct expected results.
2514 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2516         * server/asobj/System.cpp: add hasTLS property, reorder server string
2517           to match pp and document.
2519 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2521         * testsuite/actionscript.all/System.as: tests for undocumented
2522           functions.
2524 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2526         * testsuite/actionscript.all/System.as: test for hasIME and hasTLS. 
2527           The former doesn't exist on at least one pp version but is
2528           documented.
2530 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2532         * gui/gtk.cpp: a way of getting pixel aspect ratio.
2534 2008-04-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2536         * gui/gtk.cpp: cleaner way to get screen size.
2538 2008-04-10 Sandro Santilli <strk@keybit.net>
2540         * server/edit_text_character.{cpp,h}: add support for
2541           block indentation (that is, indentation of every line
2542           in a block of text, including those generated by word-wrap).
2543         * server/asobj/TextFormat.cpp: implement getter-setter for
2544           blockIndent.
2545         * testsuite/misc-ming.all/DefineEditTextTest.c: test blockIndent.
2547 2008-04-10 Udo Giacomozzi <udo.gnu@nova-sys.net>
2549         * server/edit_text_character.cpp: get_topmost_mouse_entity() should
2550           return NULL if *not* selectable, not when selectable  
2552 2008-04-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2554         * testsuite/actionscript.all: Date constructor tests.
2555         * server/asobj/Date.cpp: correct constructor to return
2556           current time when not called with new.
2558 2008-04-10 Sandro Santilli <strk@keybit.net>
2560         * server/edit_text_character.cpp (setTextFormat): don't
2561           use uninitialized members of a TextFormat.
2562         * server/asobj/TextFormat.{cpp,h}: support concept
2563           of "undefined" members; fix constructor.
2564         * testsuite/actionscript.all/TextFormat.as: test that
2565           most properties of a TextFormat are null when not
2566           initialized; and test initialization.
2568 2008-04-10 Sandro Santilli <strk@keybit.net>
2570         * testsuite/misc-ming.all/Video-EmbedSquareTestRunner.cpp: don't
2571           check colors on the corners, and sample some more pixels around
2572           the point.
2574 2008-04-10 Sandro Santilli <strk@keybit.net>
2576         * server/asobj/TextFormat.{cpp,h}: implement color getter-setter
2577         * server/edit_text_character.cpp: fix handling of TextField.color.
2578         * testsuite/misc-ming.all/DefineEditTextTest.c: test TextFormat.color.
2580 2008-04-10 Sandro Santilli <strk@keybit.net>
2582         * server/asobj/TextFormat.cpp: implement leading getter-setter.
2583         * testsuite/misc-ming.all/DefineEditTextTest.c: test leading.
2585 2008-04-10 Sandro Santilli <strk@keybit.net>
2587         * server/asobj/TextFormat.{cpp,h}: implement align getter-setter
2588         * testsuite/misc-ming.all/DefineEditTextTest.c: test align.
2590 2008-04-10 Sandro Santilli <strk@keybit.net>
2592         * server/asobj/TextFormat.cpp: implement leftMargin and rightMargin
2593           getter-setters.
2594         * testsuite/misc-ming.all/DefineEditTextTest.c: test leftMargin and
2595           rightMargin, improve test indent.
2597 2008-04-10 Sandro Santilli <strk@keybit.net>
2599         * server/edit_text_character.cpp: add bold,italic and indent support
2600           in getTextFormat and setTextFormat; proxy setNewTextFormat to 
2601           setTextFormat (still unimplemneted but at least would do something)
2602         * server/font.{cpp,h}: allow specifying bold and italic modifiers
2603           in the device-font constructor; add getters for them.
2604         * server/asobj/TextFormat.{cpp,h}: implement getter-setter for
2605           bold, italic and indent; make properties enumerable.
2606         * testsuite/misc-ming.all/DefineEditTextTest.c: test bold, italic
2607           and indent values from TextField.getTextFormat.
2609 2008-04-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2611         * libbase/log.{cpp,h}: allow registering callback to receive
2612           log messages.
2614 2008-04-10 Zou Lunkai <zoulunkai@gmail.com>
2616         * server/parser/movie_def_impl.{h, cpp}, server/parser/movie_definition.h,
2617           server/parser/sprite_definition.{h,cpp},
2618           server/swf/PlaceObject2Tag.cpp, RemoveObjectTag.cpp,
2619           server/sprite_instance.cpp: drop obsolete timeline
2620           handling.       
2622 2008-04-09 Sandro Santilli <strk@keybit.net>
2624         * libbase/ref_counted.h, libbase/smart_ptr.h: const-correctness.
2625         * server/edit_text_character.{cpp,h}: partially implement setTextFormat
2626           and getTextFormat; keep font by intrusive_ptr to avoid leak of
2627           AS-created fonts [should be optimized to leave ownership to fontlib]
2628         * server/asobj/Makefile.am: add FREETYPE_CFLAGS
2629         * server/asobj/TextFormat.{cpp,h}: implement getter-setters for font
2630           size and name.
2631         * testsuite/misc-ming.all/DefineEditTextTest.c: test
2632           getTextFormat()'s font and name.
2634 2008-04-09 Sandro Santilli <strk@keybit.net>
2636         * server/Makefile.am, server/textformat.{cpp,h},
2637           server/asobj/Global.cpp, server/asobj/Makefile.am,
2638           server/asobj/TextFormat.{cpp,h}:
2639           Move TextFormat stuff under asobj/
2640         * server/parser/edit_text_character_def.h,
2641           server/parser/text_character_def.h: remove unused (and now
2642           obsoleted) textformat.h include.
2644 2008-04-09 Sandro Santilli <strk@keybit.net>
2646         * server/textformat.{cpp,h}: stub TextFormat in the up-to-date way
2647         * server/asobj/ClassHierarchy.cpp: don't include textformat.h
2648         * server/asobj/Global.cpp: initialize TextFormat object in the 
2649           proper way (and from swf5 up).
2650         * server/parser/edit_text_character_def.h: drop unused functions
2651           referencing textformat.
2652         * testsuite/actionscript.all/: Makefile.am, TextFormat.as: initial
2653           simple test for TextFormat object
2654         * testsuite/misc-ming.all/DefineEditTextTest.c: test that a TextFormat
2655           is constructed on demand (TextField.getTextFormat).
2657 2008-04-09 Sandro Santilli <strk@keybit.net>
2659         * server/text.{cpp,h}: don't include textformat.h
2660         * server/vm/action.cpp: reduce header inclusion, drop obsoleted
2661           comments and code.
2662         * server/movie_root.cpp (fire_mouse_event): catch ActionLimit
2663           exceptions triggered by immediate event execution
2664           (see bug #22756).
2666 2008-04-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2668         * server/asobj/System.cpp: fetch some information from gui. Put in
2669           default values for other System.capabilities members.
2670         * gui/gui.h: virtual methods to fetch screen dimensions
2671           and pixel aspect ratio.
2672         * gui/gtk{sup.h,.cpp}: implement getting screen height and width.
2673         * gui/Player.h: add System.capabilities to callback function.
2674         * testsuite/actionscript.all/System.as: update expected results.
2676 2008-04-09 Sandro Santilli <strk@keybit.net>
2678         * libbase/GC.cpp: don't need to include builtin_function.h.
2680 2008-04-09 Sandro Santilli <strk@keybit.net>
2682         * server/parser/sprite_definition.h: overrides from public virtuals
2683           in base class can as well be public here; comment out the
2684           assertion insisting in getPlaylist requiring a frame number <
2685           the advertised number of frames (we must support advertising
2686           less frames then available, in particular: 0).
2687         * server/parser/sprite_definition.cpp (read): always warn about
2688           malformed swf, not just the first time. It will stop at end of
2689           parsing anyway.
2690         * server/sprite_instance.cpp:
2691           (stagePlacementCallback): still try to execute tags in first frame,
2692           even if there were no SHOWFRAME tags (fixes bug #22872).
2693           (sprite_currentframe_get): return min between loaded frame
2694           and current frame (well, yes, it seems real current frame may be
2695           > then loaded, in gnash model).
2696         * server/swf/tag_loaders.cpp (sprite_loader): warn' here about
2697           no frames advertised (so we have the character id).
2698         * testsuite/misc-swfmill.all/zeroframe_definesprite.xml: test
2699           that tags in first frame of a 0-advertised 0-showframe 
2700           sprite are still executed.
2702 2008-04-08 Sandro Santilli <strk@keybit.net>
2704         * server/as_object.{cpp,h}: add init_readonly_property taking
2705           string_table::key directly.
2706         * server/sprite_instance.cpp (attachMovieClipProperties): use named
2707           strings to avoid 22 string_table lookups for each created sprite.
2708         * server/edit_text_character.cpp: parseAutoSizeValue must be
2709           case-insensitive; implement TextField.length.
2710         * testsuite/actionscript.all/TextField.as: successes
2712 2008-04-08 Sandro Santilli <strk@keybit.net>
2714         * testsuite/misc-ming.all/DefineEditTextTest.c: more tests
2715           for _parent, _xscale, _yscale, _xmouse and _ymouse.
2717 2008-04-08 Russ Nelson <nelson@crynwr.com>
2719         * configure.ac: suggest "apt-get install swftools"
2720         * macros/boost.m4: don't -I/usr/include
2722 2008-04-08 Sandro Santilli <strk@keybit.net>
2724         * server/edit_text_character.cpp (attachTextFieldInterface):
2725           add support for _parent, _{x,y}mouse and _{x,y}scale using
2726           native getter-setter in the prototype.
2727         * testsuite/actionscript.all/TextField.as: sane tests pass,
2728           insane fail.
2730 2008-04-08 Sandro Santilli <strk@keybit.net>
2732         * testsuite/actionscript.all/TextField.as: test _parent. 
2733           textfields need some love...
2734         * testsuite/swfdec/REALTIME: run netstream-dimensions.swf in
2735           real-time.
2736         * utilities/processor.cpp: don't parse rcfiles twice.
2738 2008-04-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2740         * server/asobj/string.cpp: charAt returns a string.
2741         * testsuite/swfdec/PASSING: charat-6 to 8 pass.
2743 2008-04-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2745         * testsuite/swfdec/PASSING: update new passing tests.
2747 2008-04-08 Sandro Santilli <strk@keybit.net>
2749         * server/asobj/xml.{cpp,h}: rework parsing so it doesn't
2750           try to recover at first, but does in a more compatible way
2751           on second try. Fixes parsing of STUDENT.xml in bug #22819.
2752         * testsuite/actionscript.all/XML.as: parsing of gnashrc.xml work
2753           more compatibly now.
2754         * testsuite/swfdec/PASSING: string-object-tostring-{5,6,7,8}.
2756 2008-04-07 Russ Nelson <nelson@crynwr.com>
2758         * GAH!  Checked in too much.
2760 2008-04-07 Russ Nelson <nelson@crynwr.com>
2762         * Make sure that an existing libming is properly detected, so that
2763           we don't tell people to install a libming-dev which is already
2764          there.
2766 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2768         * testsuite/swfdec/PASSING: update for some new tests
2769           (constant-pool-when-lookup.as)
2771 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2773         * server/asobj/Mouse.cpp: expect a return value from Mouse.show and
2774           Mouse.hide callbacks, and return it (as an integer 1 or 0, not a
2775           boolean).
2776         * gui/gtk{.cpp,sup.h}, gui/fb{.cpp,sup.h}, gui/gui.{cpp,h}: return
2777           true if Mouse was visible before the call; otherwise false.
2778         * gui/Player.cpp: pass Mouse return as "true" or "false".
2779         * utilities/processor.cpp: replicate event callback for Mouse.show
2780           and .hide. Return whether hypothetical mouse was visible or not.
2781         * testsuite/swfdec/PASSING: mouse-show-hide test passes (relies on
2782           processor and gui acting the same).
2784 2008-04-07 Sandro Santilli <strk@keybit.net>
2786         * libnet/cque.cpp: implement safe ::merge method. 
2788 2008-04-07  Rob Savoye  <rob@ripple.welcomehome.org>
2790         * libnet/cque.cpp: Only delete the pointer if we actually have
2791         data. Handle merging differently to eliminate problem with
2792         singular interators. Not this fixes the abort, but leaks memory as
2793         the original buffers aren't removed from the que like they need to
2794         be. This at least get make check working for libnet.all.
2795         * testsuite/libamf.all/test_sol.cpp: Don't check the bogus data for
2796         default camera.
2798 2008-04-07 Sandro Santilli <strk@keybit.net>
2800         * server/as_object.cpp (add_property): invoke the watch trigger
2801           if replacing an existing property.
2802         * testsuite/actionscript.all/Object.as: 6 more successes.
2804 2008-04-07  Dossy Shiobara <dossy@panoptic.com>
2806         * libbase/ClockTime.h: Win32 needs to include <sys/time.h> too.
2808 2008-04-07 Sandro Santilli <strk@keybit.net>
2810         * testsuite/actionscript.all/Object.as: another test to show
2811           difference in watch triggers calls between adding a getter
2812           setter for an existend or unexistend property.
2814 2008-04-07 Sandro Santilli <strk@keybit.net>
2816         * server/Property.{cpp,h}: expose interface to set/get "cache" value
2817           (only meaningful for getter-setters)
2818         * server/PropertyList.{cpp,h}: (addGetterSetter) takes an additional
2819           value to set the cache value
2820         * server/as_object.cpp: don't unwatch existing getter-setters, use
2821           cache setter-getters for passing and using return of triggers on
2822           values.
2823         * testsuite/actionscript.all/Object.as: average of 9 successes.
2824         * testsuite/swfdec/PASSING: object-watch-6.swf succeeds (7 and 8
2825           still fail).
2827 2008-04-07 Sandro Santilli <strk@keybit.net>
2829         * testsuite/actionscript.all/Object.as: test that a watch trigger is
2830           sticky once a getter-setter is being watched.
2832 2008-04-07  Rob Savoye  <rob@ripple.welcomehome.org>
2834         * libnet/cque.cpp: Enable ifdef'd out deletion of buffers from the
2835         cque at destuction time.
2836         * libnet/http.cpp: Don't forget to pass in the filetype.
2837         * libamf/element.cpp: Enable deletion of the buffer when an an
2838         Element is destructed.
2839         * plugin/Makefile.am: Get all shared libraries, not just the ones
2840         that end in .so.
2841         
2842 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2844         * testsuite/actionscript.all: drop more tests that are dependent on
2845           timezone, with comments.
2847 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2849         * libbase/ClockTime.{cpp,h}: drop left-over w32 function; should
2850           help compiling...
2852 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2854         * libbase/ClockTime.{cpp,h}: fix build for systems with no
2855           localtime_r; add safety checks.
2857 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2859         * libbase/Time.{cpp,h}: renamed.
2860         * libbase/ClockTime.{cpp,h}: renamed from Time.{cpp,h}.
2861         * libbase/Makefile.am: reflect name change.
2862         * libbase/WallClockTimer.cpp, server/SystemClock.cpp,
2863           utilities/processor.cpp, gui/gui.cpp,
2864           server/asobj/NetStreamFfmpeg.cpp, server/asobj/Date.cpp: update
2865           includes.
2867 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2869         * server/asobj/Date.cpp: add getUTCYear(), fix setMilliseconds,
2870           fix setFullYear.
2871         * testsuite/actionscript.all/Date.as: drop tests that vary according
2872           to local timezone. Add tests for getUTCYear, more passes for
2873           milliseconds and full year.
2875 2008-04-07 Sandro Santilli <strk@keybit.net>
2877         * testsuite/actionscript.all/Object.as: test that native
2878           getter-setters (assuming MovieClip._target is one of them)
2879           will not provide an underlying value for overriding user
2880           defined property.
2882 2008-04-07 Sandro Santilli <strk@keybit.net>
2884         * libmedia/gst/gstflvparse.c, server/asobj/NetStream.cpp,
2885           server/asobj/NetStream.h, server/asobj/NetStreamGst.cpp:
2886           Applied bastiaan patch for proper INVOKE tag processing,
2887           will hopefully fix distcheck on gnashdev.
2889 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2891         * gui/gui.cpp: get_ticks -> getTicks.
2893 2008-04-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2895         * libbase/Time.{cpp,h}: clean up headers again.
2897 2008-04-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2899         * libbase/Time.{cpp,h}: sys/time.h should be included; let's see if
2900           this fixes the win32 build.
2902 2008-04-06  Rob Savoye  <rob@ripple.welcomehome.org>
2904         * testsuite/libamf.all/test_el.cpp: Use new make* methods for
2905         constructing elements.
2906         * libamf/element.cpp: Apply strk's patch for initializing private
2907         data.
2908         * libnet/cque.{h,cpp}: Apply part of strk's patch for merging
2909         buffers.
2910         * libamf/sol.cpp: Copy a buffer by it's reference(), not it's base
2911         address.
2913 2008-04-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2915         * libbase/tu_timer.{cpp,h}: drop, functions moved to Time.{cpp,h}.
2916         * libbase/Time.{cpp,h}: new file to collect all platform- and
2917           implementation-dependent clock time code in namespace clocktime.
2918           Includes the used functions of tu_timer, timezone detection
2919           from Date.cpp and a partial boost date-time implementation of a
2920           timer (not enabled by default).
2921         * libbase/Makefile.am: add Time, remove tu_timer.
2922         * libbase/WallClockTimer.cpp: change from tu_timer to clocktime.
2923         * server/SystemClock.cpp: tu_timer -> clocktime.
2924         * utilities/processor.cpp: tu_timer -> clocktime.
2925         * gui/gui.cpp: tu_timer -> clocktime.
2926         * server/asobj/NetStreamFfmpeg.cpp: tu_timer -> clocktime.
2927         * server/asobj/Date.cpp: update methods to take account of local
2928           timezone. The calculation of timezone, now in Time.cpp, is
2929           a bit dubious, but the Date class methods *should* be
2930           internally consistent - the timezone may be wrong in some
2931           cases, but the relationship between UTC and local time methods
2932           is always correctly described in Date.getTimezoneOffset().
2934 2008-04-05  Rob Savoye  <rob@ripple.welcomehome.org>
2936         * libamf/amf.{h,cpp}: Keep track of the total size of data read
2937         from each packet to make it easier to calculate the byte
2938         offset. Don't have extractVariable as a static so it can calculate
2939         the pointer offset.
2940         * libamf/buffer.cpp: Set private data at constructor time.
2941         * libamf/element.cpp: Set private data. Don't calculate the total
2942         data size here. Add makeNull() for zero length strings.
2943         * libamf/sol.cpp: Remove smart pointer for file reading.
2945 2008-04-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2947         * gui/Player.cpp: minor cleanups.
2948         * testsuite/asobj/Date.as: don't use == to compare double - it 
2949           failed on one of the amd64-ubuntu machines.
2951 2008-04-04 Sandro Santilli <strk@keybit.net>
2953         * server/as_object.{cpp,h}: add initial support for
2954           property modify/create triggers (watches).
2955         * server/asobj/Object.cpp: implement Object.watch/unwatch.
2956         * testsuite/actionscript.all/Object.as: watch/unwatch successes
2957           (not complete yet).
2958         * testsuite/swfdec/PASSING: object-watch-segv-*.swf all pass now.
2960 2008-04-04 Sandro Santilli <strk@keybit.net>
2962         * testsuite/actionscript.all/Object.as: add test for "underlying
2963           value" for getter-setter, add tests for watch/unwatch.
2965 2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2967         * gui/Player.cpp: document fscommand, edit logging calls, drop
2968           some dead code.
2970 2008-04-04 Sandro Santilli <strk@keybit.net>
2972         * extensions/gnashrc: force useless options off.
2973         * testsuite/misc-mtasc.all/Makefile.am,
2974           testsuite/misc-swfc.all/Makefile.am,
2975           testsuite/misc-swfmill.all/Makefile.am,
2976           testsuite/samples/Makefile.am:
2977           Use the testsuite/gnashrc config file.
2979 2008-04-04 Sandro Santilli <strk@keybit.net>
2981         * testsuite/gnashrc.in: use fakesink as GstAudioSink, so you don't
2982           hear sound from tests coming out of speakers on make check.
2983         * testsuite/misc-ming.all/Makefile.am: use testsuite/gnashrc
2984           while automatically running tests.
2986 2008-04-04 Sandro Santilli <strk@keybit.net>
2988         * gui/Player.cpp (fs_callback): don't forget the newline ending
2989           (the gnash-to-host protocol needs some real definition).
2990         * server/vm/ASHandlers.cpp (CommonGetUrl): consitent logging
2991           for gnash-to-host comunication.
2993 2008-04-04 Sandro Santilli <strk@keybit.net>
2995         * gui/Player.cpp (fs_callback): if an host-fd is given, always
2996           send an INVOKE request for fscommands, no matter how we've
2997           been called (standalone or plugin).
2998         * plugin/plugin.{cpp,h}: remember instance 'name' (as set by
2999           <object> attribute); support INVOKE command in the gnash-to-host
3000           interface.
3002 2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3004         * server/asobj/Date.cpp: add timeZoneOffset functions. Now to
3005           decide how best to implement them.
3007 2008-04-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3009         * libbase/tu_timer.{h,cpp}: drop unnecessary functions.
3011 2008-04-04 Sandro Santilli <strk@keybit.net>
3013         * server/character.{cpp,h}: have getMovieInfo return an iterator
3014           to the added subtree.
3015         * server/sprite_instance.{cpp,h}: implement getMovieInfo descending
3016           in displaylist.
3017         * gui/gtk.cpp (makeTreeModel): fix model constructor when
3018           jumping back to ancestor nodes at depth !+ current-1.
3020 2008-04-04 Udo Giacomozzi <udo.gnu@nova-sys.net>
3022         * gui/Player.cpp: avoid bogus "Unhandled FSCommand quit"
3023         * gui/fb.cpp, gui/fbsup.h: stubs for setFullscreen, unsetFullscreen,
3024           showMenu and showMouse
3026 2008-04-03 Sandro Santilli <strk@keybit.net>
3028         * testsuite/misc-ming.all/ButtonEventsTest.c: test that button
3029           instances should have a _name property.
3030         * server/button_character_instance.cpp: provide a _name property
3031           for button characters. Fixes the never-loading "free software
3032           movement" animation from Ubuntu movie.
3034 2008-04-03 Sandro Santilli <strk@keybit.net>
3036         * server/: Property.cpp, PropertyList.{cpp,h},
3037           as_object.{cpp,h}: add support for setter-less
3038           gette-rsetters.
3039         * server/asobj/Object.cpp: addProperty call is valid
3040           if setter argument is null.
3041         * testsuite/swfdec/PASSING: 11 new successes.
3042         * testsuite/actionscript.all/Object.as: addProperty
3043           tests pass.
3045 2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3047         * server/asobj/Date.cpp: get current time from tu_timer, avoids
3048           duplicating ifdefs. Clean ups of code and indentation.
3050 2008-04-03 Udo Giacomozzi <udo.gnu@nova-sys.net>
3052         * server/dlist.cpp: clear invalidated flag when skipping display() call;
3053           fixes the invalidation bug for the Ubuntu animation
3054         * gui/gui.cpp: added debugging code (not compiled in by default)
3055         * server/character.{cpp,h}, server/dlist.{cpp,h}, server/movie_root.{cpp,h},
3056           server/sprite_instance.{cpp,h}: added debugging function to dump the  
3057           chracter instances tree (simplifies inv. bounds debugging)
3059 2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3061         * testsuite/actionscript.all/Date.as: these are the results on 
3062           my machine. Don't expect the overflow result at the moment - 
3063           it might be possible to do, but is worth sacrificing for
3064           32-bit compatibility at the moment. 
3066 2008-04-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3068         * server/asobj/Date.cpp: add several algorithms for working out the
3069           year from the epoch day; the most accurate but slowest is enabled.
3070           Comments explaining the advantages and disadvantages of the
3071           implementations. Fixes most date tests.
3073 2008-04-03 Sandro Santilli <strk@keybit.net>
3075         * testsuite/actionscript.all/Object.as: test that null is a valid
3076           setter argument for setProperty (gnash fails).
3078 2008-04-03 Sandro Santilli <strk@keybit.net>
3080         * server/parser/sprite_definition.cpp (read): warn only once about
3081           less SHOWFRAME then advertised in header.
3082         * testsuite/misc-ming.all/DefineEditTextVariableNameText.c:
3083           check that even if you delete the associated variable
3084           and then set it back, the textfield still uses that value.
3086 2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3088         * server/asobj/Date.cpp: disable timezone offset for all systems
3089           to fix build.
3091 2008-04-02 Sandro Santilli <strk@keybit.net>
3093         * server/as_prop_flags.h: add SWF9 visibility flag.
3094         * server/asobj/Sound.cpp: get closer to swfdec reported properties
3095           set, stubbing missing methods, correctly setting flags.
3096         * testsuite/swfdec/PASSING: sound-properties-9.swf passes, 5 to 8
3097           still not (due to a weird value of a weird member).
3099 2008-04-02 Udo Giacomozzi <udo.gnu@nova-sys.net>
3101         * backend/render_handler_agg.cpp: Only swap pixel format bits on big
3102           endian hosts for 24 and 32 bpp modes (see bug #22799)
3103           
3104 2008-04-02 Sandro Santilli <strk@keybit.net>
3106         * testsuite/misc-ming.all/DefineEditTextVariableNameTest-Runner.cpp: 
3107           the testcase has 11 tests now.
3108         * server/asobj/Number.cpp: add valueOf_method, as Number.valueOf like
3109           Number.toString must only work for number instances.
3110         * testsuite/actionscript.all/Number.as: those weird tests for
3111           Number.prototype in swf5 are fixed now.
3112         * testsuite/swfdec/PASSING: number.swf succeeds.
3114 2008-04-02 Sandro Santilli <strk@keybit.net>
3116         * testsuite/actionscript.all/Number.as: more tests on Number.prototype
3117           (weird results)
3118         * server/asobj/Number.as (toString_method): Number.prototype.toString
3119           is supposed to work _only_ for the number object.
3120         * testsuite/actionscript.all/Boolean.as: !"true" succeeds.
3122 2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3124         * server/as_value.cpp: use stringstream instead of strtod to avoid
3125           different locales changing the result (SWF4 only).
3126         * testsuite/misc-swfc.all: tests passing.
3128 2008-04-02 Sandro Santilli <strk@keybit.net>
3130         * testsuite/misc-swfc.all/swf4opcode.sc: make swf4 dejagnu interface
3131           behave as the usual one (more info).
3133 2008-04-02 Sandro Santilli <strk@keybit.net>
3135         * server/as_value.cpp (to_bool_v5, to_bool_v6): "true" and "false"
3136           have no special meaning !
3137         * testsuite/actionscript.all/ops.as: pass !"true" is false in swf<7.
3138         * testsuite/misc-swfc.all/swf4opcode.sc: pass !"true".
3140 2008-04-02 Sandro Santilli <strk@keybit.net>
3142         * testsuite/misc-swfc.all/swf4opcode.sc: test ACTION_LOGICALNOT, gnash
3143           fails a "true" and a "_root" in swf4.
3144         * testsuite/actionscript.all/ops.as: test ACTION_LOGICALNOT, gnash
3145           fails a "true" in swf5.
3147 2008-04-02 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3149         * testsuite/misc-swfc.all/swf4opcode.sc: was just about to add exponent
3150           tests. Here are some more. Also test for decimal separator.
3152 2008-04-02 Sandro Santilli <strk@keybit.net>
3154         * testsuite/misc-swfc.all/swf4opcode.sc: check that scientific
3155           notation still works in swf4.
3156         * testsuite/libamf.all/Makefile.am: test_buffer is here now...
3158 2008-04-01  Rob Savoye  <rob@ripple.welcomehome.org>
3160         * testsuite/libnet.all/test_http.cpp: Adjust patterns because all
3161         header fields now have a "\r\n" instead of just a "\n".
3162         
3163 2008-04-01 Sandro Santilli <strk@keybit.net>
3165         * server/parser/movie_def_impl.cpp (read_all_swf): on end of stream
3166           update loaded frames count to match advertised number. This is
3167           now the same handling for definesprite. While we have automated
3168           test for the sprite case (swfmill testsuite) we don't have one
3169           for the root movie case, but swfdec's crash-0.5.5-cvs-truncated
3170           series of tests seem to be less race-condition prone with this
3171           patch.
3172         * libamf/sol.cpp (writeFile): fix write of BOOLEAN elements.
3174 2008-04-01 Sandro Santilli <strk@keybit.net>
3176         * testsuite/libnet.all/Makefile.am: test_buffer was killed by rob...
3177         * testsuite/libnet.all/: test_cque.cpp, test_handler.cpp: Buffer is
3178           now in amf namespace (tests still fail, but build now).
3180 2008-04-01 Sandro Santilli <strk@keybit.net>
3182         * server/as_value.cpp (to_number): in swf<5 a astring can
3183           convert to a number as long as it starts with digits; leading
3184           non-digits won't yeld a NaN. Fixes bug #20911.
3185         * testsuite/misc-swfc.all/swf4opcode.sc: test convertion of 
3186           strings containing leading non-digits to number.
3188 2008-04-01 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3190         * server/asobj/Date.cpp: drop ctime methods as time_t is not up to
3191           the job on 32-bit platforms. Use homegrown algorithms instead.
3192           Drop half the functions, as they only call other functions. Use a
3193           custom struct to hold time (struct tm doesn't hold milliseconds).
3194           Return NaN when the date value is NaN or infinity. Make sure 
3195           fillGnashTime doesn't return negative month or milliseconds.
3196           Drop (temporarily) timezone functions.
3197         * testsuite/actionscript.all/Date.as: passing tests.  
3199 2008-04-01  Rob Savoye  <rob@ripple.welcomehome.org>
3201         * libamf/Makefile.am: Build buffer class here instead of libnet. 
3202         * libamf/amf.cpp: All encode* methods return a Buffer now with the
3203         encoded data.
3204         * libamf/amf.h: Add more comments about the constants. All encode*
3205         methods return a Buffer now.
3206         * libamf/element.{h,cpp}: Use a Buffer to store data instead of
3207         duplicating the functionality here. Add additional methods for
3208         appending data. Use a char * for the name instead of a string to
3209         reduce copying of data.
3210         * libamf/lcshm.cpp: AMF:encode* methods return an Element now.
3211         * libamf/protocol.h: Add a suffix to the enum names for protocol
3212         types.
3213         * libamf/sol.cpp: Work with modified Element class. All encoding
3214         classs use a Buffer now, extract classes return an Element.
3215         * libnet/Makefile.am: Don't build buffer class here.
3216         * libnet/cque.{h,cpp}: Buffer class now in amf namespace.
3217         * libnet/handler.{h,cpp}: Buffer class now in amf namespace.
3218         * libnet/http.{h,cpp}: Buffer class now in amf namespace.
3219         * libnet/network.{h,cpp}: Buffer class now in amf namespace. Add
3220         suffix to port names in enum.
3221         * libnet/rtmp.{h,cpp}: Buffer class now in amf namespace. Rename
3222         RTMPproto to just RTMP.
3223         * libnet/rtmp_server.{h,cpp}: Buffer class now in amf namespace.
3224         * testsuite/libnet.all/Makefile.am: Move test_buffer to libamf.all.
3225         * testsuite/libamf.all/Makefile.am: Test_buffer moved to here as
3226         it's on libamf now.
3227         * testsuite/libamf.all/test_el.cpp: Use MakeString instead of
3228         init().
3229         * testsuite/libamf.all/test_sol.cpp: Element name is now a char*,
3230         so use strcmp() for string compares.
3231         
3232 2008-04-01 Sandro Santilli <strk@keybit.net>
3234         * server/vm/ASHandlers.cpp (ActionLogicalNot): swf < 5 return 0 
3235           or 1 from this tag.
3236         * testsuite/actionscript.all/MovieClip.as: fix handling of load
3237           callback for SWF5.
3239 2008-04-01 Sandro Santilli <strk@keybit.net>
3241         * server/edit_text_character.{cpp,h}: always register
3242           the variable name, just don't set a value for it
3243           unless we have one defined.
3244         * server/sprite_instance.cpp (get_member): don't use
3245           a registered textfield variable if there's no text
3246           defined for the corresponding textfield.
3248 2008-04-01 Sandro Santilli <strk@keybit.net>
3250         * server/sprite_instance.{cpp,h}: streamline headers inclusion.
3251         * server/edit_text_character.{cpp,h}: keep note about whether
3252           text is defined, and don't register the text variable until
3253           it is. Fixes bug #22472.
3254         * server/parser/edit_text_character_def.{cpp,h}: keep note about
3255           whether text is defined at definition time.
3257 2008-04-01 Sandro Santilli <strk@keybit.net>
3259         * libmedia/gst/SoundHandlerGst.{cpp,h}: streamline headers
3260           inclusion.
3262 2008-04-01 Russ Nelson <nelson@crynwr.com>
3264         * Made boost-serialization optional again.
3266 2008-04-01 Sandro Santilli <strk@keybit.net>
3268         * server/sprite_instance.cpp: register natives.
3270 2008-04-01 Sandro Santilli <strk@keybit.net>
3272         * server/array.cpp: sorting constants are not protected (swfdec test
3273           shows).
3274         * testsuite/actionscript.all/toString_valueOf.as: xpass leftovers
3275           from implementation of Button class.
3277 2008-04-01 Sandro Santilli <strk@keybit.net>
3279         * server/asobj/xmlsocket.cpp: onData is a prototype (not instance)
3280           member, and has weird inheritance as shown by swfdec testsuite.
3281         * testsuite/actionscript.all/XMLSocket.as: onData is a prototype (not
3282           instance) member. The test was wrong.
3283         * testsuite/swfdec/PASSING: xml-socket-properties-{5,6,7,8} pass.
3285 2008-04-01 Sandro Santilli <strk@keybit.net>
3287         * testsuite/actionscript.all/Number.as: rounding tests.
3288         * doc/C/gnashrc.xml: removed, the good one is
3289           doc/C/usermanual/gnashrc.xml
3291 2008-03-31 Sandro Santilli <strk@keybit.net>
3293         * server/button_character_instance.{cpp,h}: have buttons
3294           share prototype.
3295         * server/namedStrings.{cpp,h}: add CLASS_BUTTON
3296         * server/asobj/ClassHierarchy.cpp: register Button as a global class.
3297         * testsuite/actionscript.all/Global.as: test that Button exists and
3298           is a function.
3300 2008-03-31 Sandro Santilli <strk@keybit.net>
3302         * server/as_object.{cpp,h}: const-correct setPropFlags (sorry
3303           for big rebuild).
3304         * server/asobj/Number.cpp: add missing properties, make all Number
3305           properties constant (shown to be required by swfdec
3306           number-properties-*.swf, all of which only fail due to rounding
3307           issues now).
3308         * testsuite/actionscript.all/Number.as: add test for missing
3309           properties.
3311 2008-03-31 Sandro Santilli <strk@keybit.net>
3313         * server/asobj/ClassHierarchy.cpp: use hasOwnProperty to find out
3314           if a native class initialized its own __proto__ as get_member
3315           won't return a non-visible one; add debugging and error
3316           logging while loading on-demand classes.
3317         * testsuite/swfdec/PASSING: boolean-properties-5.swf passes.
3319 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3321         * server/asobj/Date.cpp: drop dead code. Be more careful
3322           with casts to time_t to avoid segfaults. Use std::strings,
3323           not snprintf. Use boost::format, probably only temporarily.      
3325 2008-03-31 Sandro Santilli <strk@keybit.net>
3327         * server/asobj/Boolean.cpp: don't replicate interface to class
3328         * testsuite/swfdec/PASSING: boolean-properties-6,7,8 pass,
3329           5 still fails.
3331 2008-03-31  Dossy Shiobara <dossy@panoptic.com>
3333         * plugin/win32/Makefile.am: Install npgnash.dll into
3334           $(bindir) for Win32.  A future installer will need to
3335           copy it into the correct directory as per the user's
3336           Windows registry indicates where the appropriate
3337           Mozilla-based application is installed.
3339 2008-03-31 Sandro Santilli <strk@keybit.net>
3341         * server/asobj/Global.cpp (as_global_assetpropflags): clear flags
3342           default to 0, always, not to 1 in swf5 (no idea where that idea came
3343           from).
3344         * testsuite/swfdec/PASSING: {string,function}-properties-5.swf pass.
3346 2008-03-31 Sandro Santilli <strk@keybit.net>
3348         * server/builtin_function.h: Oops, swapped __constructor__
3349           and constructor..
3350         * server/asobj/Object.cpp: still register all property members,
3351           just visible or not based on version.
3352         * testsuite/actionscript.all/String.as: cleanup tests to set
3353           strictly needed prop flags; test that hasOwnProperty is there
3354           for SWF5 too, just not-visible.
3356 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3358         * testsuite/actionscript.all/Date.as: correct case.
3360 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3362         * testsuite/actionscript.all/Date.as: results tested against
3363           LNX 9,0,115,0.
3365 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3367         * testsuite/actionscript.all/Date.as: more tests.
3369 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3371         * testsuite/actionscript.all/Date.as: fix expected results.
3372           Some aren't the same as the pp - there was already a note about
3373           that, and maybe it is worth emulating the player here.
3375 2008-03-31 Sandro Santilli <strk@keybit.net>
3377         * server/: as_object.cpp, builtin_function.h: don't lookup string_table
3378           for __proto__, constructor and __constructor__.
3380 2008-03-31 Sandro Santilli <strk@keybit.net>
3382         * server/as_function.cpp: constructor and __constructor__ still exist
3383           in swf5, just not-visible. Reduce string_table lookups.
3385 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3387         * testsuite/actionscript.all/Date.as: lots of failing tests, some
3388           a bit wierd, and one segfault.
3390 2008-03-31 Sandro Santilli <strk@keybit.net>
3392         * server/asobj/Global.cpp (as_global_assetpropflags): it is perfectly
3393           fine for ASSetPropFlags() to take 4 args in SWF5..
3394         * testsuite/swfdec/PASSING: object-hasownproperty-5.swf passes.
3395         * testsuite/actionscript.all/Date.as, Number.as: tests for __proto__
3396           succeed.
3398 2008-03-31 Sandro Santilli <strk@keybit.net>
3400         * server/as_object.cpp (findProperty): respect visibility flag also
3401           for __proto__.
3402         * testsuite/actionscript.all/String.as: test that __proto__ of String
3403           still exists, but it's not-visible (assetpropflags can be used to
3404           unhide).
3405         * server/as_function.cpp: __proto__ is still attached to functions in
3406           SWF5, only not-visible (a flag).
3407         * server/asobj/Object.cpp: register natives despite swf version.
3408         * server/asobj/Global.cpp: register ASSetPropFlags native.
3410 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3412         * server/asobj/Date.cpp: check for success of localtime - some
3413           more-than-32-bit numbers fail - and set to NaN. This (probably)
3414           isn't expected behaviour, but fixes a segfault.
3415         * testsuite/libnet.all/test_http.cpp: extractCharset returns an int, and
3416           we don't want to try turning it into a string like that.
3417         * testsuite/swfdec/Makefile.am: remove .out and .err files on make clean.
3419 2008-03-31 Zou Lunkai <zoulunkai@gmail.com>
3421         * libnet/cque.{h, cpp}: add the USE_STATS_QUEUE macro guard, fix
3422           building without USE_STATS_QUEUE defined.
3423         * server/as_value.{h, cpp}: don't inline as_value::as_value(asNamespace &),
3424           fix a 'link once' problem here with -O2 option.
3426 2008-03-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3428         * libamf/sol.cpp: outsize isn't expected to be more than 0 at
3429           this point.
3431 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3433         * libnet/rtmp_server.cpp: Use portable get_thread_id()
3434           instead of pthread_self() directly.
3436 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3438         * plugin/mozilla-sdk/Makefile.am,
3439           plugin/mozilla-sdk/np_entry.cpp,
3440           plugin/mozilla-sdk/include/npupp.h: Reverting my own
3441           change to np_entry.cpp and Rob Savoye's change to
3442           npupp.h.  The correct fix is to Makefile.am and define
3443           _WINDOWS on Win32.
3445 2008-03-31  Markus Gothe  <nietzsche@lysator.liu.se>
3447         * libamf/amf.cpp: reinterpret return value.
3448         * libamf/sol.cpp: include cassert.
3450 2008-03-30  Rob Savoye  <rob@ripple.welcomehome.org>
3452         * libamf/sol.{h,cpp}, lcshm.{h,cpp}: Use Network::byte_t instead
3453         of boost::uint8_t top stay consistant. Move all RTMP methods to
3454         libnet/rtmp.h.
3455         * libamf/amf.cpp: Move all RTMP methods to libnet/rtmp.h.
3456         * libamf/element.{h,cpp}: Add more overloaded make* methods, get
3457         ready to depreciated the init methods to use this instead.
3459         * plugin/mozilla-sdk/include/npupp.h: Don't use NPPluginFuncs.
3460         * gui/klash.moc.in: Drop the extraneous gnash-head path from the
3461         include for kdesup.h.
3463 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3465         * plugin/win32/.cvsignore, plugin/win32/Makefile.am: Include
3466           Win32 npgnash.dll in Gnash build process.
3468 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3470         * plugin/mozilla-sdk/np_entry.cpp: Fix symbols so they're
3471           exported correctly on Win32.
3473 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3475         * plugin/mozilla-sdk/Makefile.am: Build libmozsdk separately,
3476           as its used by both the Win32 npgnash.dll and the
3477           libgnashplugin.so on *nix.
3479 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3481         * plugin/Makefile.am: Conditionally add directories to the
3482           SUBDIRS list.  Build plugin/mozilla-sdk separately, with its
3483           own Makefile.
3485 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3487         * libbase/getclocktime.hpp: Win32 has no "struct timespec" so we
3488           provide one.
3490 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3492         * configure.ac: Add detection for NSPR and windres for Win32
3493           builds of npgnash.dll NPAPI plugin.
3495 2008-03-30  Dossy Shiobara <dossy@panoptic.com>
3497         * macros/gnashpkgtool.m4: Add support for pkgname-config scripts
3498           that don't understand --cxxflags, such as nspr-config.
3500 2008-03-30 Sandro Santilli <strk@keybit.net>
3502         * server/asobj/string.cpp: 'length' is an instance, not class, member,
3503           and it can be overridden.
3504         * testsuite/actionscript.all/String.as: test 'length' member of string
3505           instances.
3506         * testsuite/swfdec/PASSING: string-properties-{6,7,8}.swf pass
3508 2008-03-30 Sandro Santilli <strk@keybit.net>
3510         * server/asobj/Global.cpp: error to aserror, provide a null
3511           _global.o (don't ask me why, but that's expected...)
3512         * testsuite/swfdec/PASSING: global-variable-properties succeeds.
3514 2008-03-30 Sandro Santilli <strk@keybit.net>
3516         * server/as_function.cpp: __constructor__ and constructor
3517           members given to new instances are not protected from
3518           deletion.
3519         * testsuite/swfdec/PASSING: video-properties-{6,7,8}.swf pass.
3521 2008-03-30 Sandro Santilli <strk@keybit.net>
3523         * server/as_function.{cpp,h}: don't provide a prototype
3524           member to builtin function if not requested so.
3525         * testsuite/swfdec/PASSING: function-properties-{6,7,8} succeed.
3527 2008-03-30 Sandro Santilli <strk@keybit.net>
3529         * server/as_function.cpp, server/builtin_function.h
3530           server/asobj/ClassHierarchy.cpp: have function's
3531           constructor property set to Function.
3532         * testsuite/actionscript.all/: MovieClip.as, Object.as,
3533           String.as: more constructors tests.
3535 2008-03-29 Sandro Santilli <strk@keybit.net>
3537         * server/vm/ASHandlers.cpp (ActionSubString): don't choke on empty
3538           strings. Fixes last crash in swfdec testsuite.
3539         * testsuite/actionscript.all/String.as: test ACTION_SUBSTRING with
3540           empty input.
3542 2008-03-29 Sandro Santilli <strk@keybit.net>
3544         * server/video_stream_instance.{cpp,h}: don't attach character
3545           properties if it's not a character (a user-created Video instance).
3546           Fixes more crashes in swfdec testsuite.
3547         * testsuite/actionscript.all/Video.as: test that a user-defined Video
3548           instance doesn't have character properties.
3550 2008-03-29 Sandro Santilli <strk@keybit.net>
3552         * testsuite/libamf.all/Makefile.am: add libnet include
3553         * server/as_function.cpp (constructInstance): don't assume a class
3554           will always have a prototype defined. Fixes leftover crashes
3555           in swfdec testsuite.
3556         * testsuite/libnet.all/test_http.cpp: its' amf::AMF::FILETYPE_SWF 
3557           today (when do you want to go tomorrow?)
3559 2008-03-29 Sandro Santilli <strk@keybit.net>
3561         * server/array.cpp: don't assume multiprop comparator container is
3562           nonempty, add assertion checking in get_basic_cmp to ensure caller
3563           took care of stripping the fUniqueSort and fReturnIndexArray flags.
3565 2008-03-29 Sandro Santilli <strk@keybit.net>
3567         * testsuite/swfdec/: gen_run_swfdec_testsuite.sh, swfdec_gnash_tester:
3568           always take gnash crashes as real failures, expect it or not
3569           (yes, we have some crashes there..).
3571 2008-03-29 Sandro Santilli <strk@keybit.net>
3573         * testsuite/swfdec/gen_run_swfdec_testsuite.sh: hint about tests
3574           that used to pass and are not passing anymore.
3575         * libbase/log.{cpp,h}: drop unused timestamp variation code.
3576         * testsuite/actionscript.all/Function.as: add test for user-defined
3577           function's constructor.
3579 2008-03-29  Rob Savoye  <rob@ripple.welcomehome.org>
3581         * libamf/Makefile.am: Add libnet to include paths.
3582         * libamf/amf.cpp: Include network.h. Use Network::byte_t instead
3583         of boost::uint8_t. Move headerSize() and parseHeader to rtmp.h, as
3584         they're really an RTMP thing, not an AMF one.
3585         * libamf/amf.h: Move amfsource_e, amf_headersize_e,
3586         content_types_e to rtmp.h, as they're an RTMP thing, not an AMF
3587         one. Define the filetypes here. Use Network::byte_t instead
3588         of boost::uint8_t. Move headerSize() and parseHeader to rtmp.h.
3589         * libmedia/Makefile.am: Include libnet in include paths.
3590         * libnet/Makefile.am: Build rtmp_server too.
3591         * libnet/buffer.{h,cpp}: Find a byte in a buffer. Remove a byte(s)
3592         from a buffer for filtering.
3593         * libnet/handler.cpp: Compare incoming message size to NETBUFSIZE
3594         instead of the buffer size itself.
3595         * libnet/handler.h: Add support for merging buffers in the queues.
3596         * libnet/http.cpp: Change to new prefixed enums.
3597         * libnet/rtmp.{h,cpp}: Use Elements and byte_t for all
3598         paramaters. Move all server sid efunctionality to rtmp_server.cpp.
3599         * libnet/rtmp_server.{h,cpp}: New RTMPServer class for server side
3600         only code.
3601         
3602 2008-03-29 Sandro Santilli <strk@keybit.net>
3604         * testsuite/actionscript.all/: Function.as,
3605           MovieClip.as, Object.as: some tests for builtin
3606           constructor's "constructor" props.
3608 2008-03-29 Sandro Santilli <strk@keybit.net>
3610         * testsuite/libnet.all/test_http.cpp: fix qualification
3611           of enum.
3612         * Makefile.am: don't enable build of cygnal on 'distcheck'
3613           (it's broken currently).
3614         * libbase/Makefile.am: distribute getclocktime.hpp
3615         * testsuite/Makefile.am: descend into libnet.all
3617 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3619         * libamf/rtmp.h: one that got away (tu_config.h).
3621 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3623         * plugin/mozilla-sdk/pluginbase.h: replace tu_config with
3624           dsodefs.
3625         * gui/NullGui.h
3626         * gui/gtksup.h
3627         * gui/gui.h
3628         * gui/kdesup.h
3629         * gui/riscossup.h
3630         * gui/sdlsup.h: drop tu_config.h, remove visibility qualifiers.
3631         * libbase/tu_config.h: drop.
3633 2008-03-28  Dossy Shiobara <dossy@panoptic.com>
3635         * gui/gtk.cpp: Only include X11-specific headers if HAVE_X11 is
3636           defined.     
3638 2008-03-28  Dossy Shiobara <dossy@panoptic.com>
3640         * libbase/utility.h: Provide get_thread_id() that returns the
3641           current thread ID or gracefully degrades to returning the
3642           current process ID if thread ID is not available.
3644         * libbase/log.cpp, libnet/handler.cpp, libnet/http.cpp,
3645           libnet/rtmp.cpp: Don't call pthread_self() directly, use
3646           get_thread_id() instead.
3648 2008-03-28  Dossy Shiobara <dossy@panoptic.com>
3650         * libnet/http.cpp, libnet/http.h, libnet/statistics.h:
3651           Disambiguate symbols with prefixes as GCC 3.x doesn't have
3652           strongly typed enums.
3654 2008-03-29 Markus Gothe <nietzsche@lysator.liu.se>
3656         * libbase/getclocktime.hpp: Workaround for systems lacking
3657           clock_gettime().
3659 2008-03-28 Russ Nelson <nelson@crynwr.com>
3661         * Fix this problem report:
3662           http://www.mail-archive.com/gnash-dev@gnu.org/msg03319.html
3663           Both debian and ubuntu use a dash instead of underscore.
3665 2008-03-28 Russ Nelson <nelson@crynwr.com>
3667         * Remove test which disables GTK gui if dependencies are missing.
3668           If the gtk is disabled, you don't get the right errors at the
3669           end of the output.
3671 2008-03-27  Rob Savoye  <rob@ripple.welcomehome.org>
3673         * testsuite/Makefile.am: Add libnet.all to SUIBDIRS.
3674         * configure.ac: Add libnet and testsuite/libnet.all.
3675         * Makefile.am: Build libnet after libamf.
3676         * libbase/lirc.{h,cpp}: Move to libnet.
3677         * server/asobj/xmlsocket.cpp: Include network.h.
3679         * libbase/Makefile.am: Add libnet to cflags and libs.
3680         * server/Makefile.am, server/asobj/Makefile.am:
3681         server/vm/Makefile.am: Add libnet to cflags and libs.
3682         * utilities/Makefile.am:  Add libnet to cflags and libs.
3683         * gui/Makefile.am:  Add libnet to cflags and libs.
3684         * cygnal/Makefile.am: Move libcygnal.la files to new libnet. Use
3685         libnet now instead of libcygnal.la.
3686         
3687         * libnet: New directory for networking and protocols.
3688         * libbase/network.{h,cpp}: Move to libnet.
3689         * libbase/Makefile.am: Remove network.*.
3690         * cygnal/buffer.{h,cpp},cque.{h,cpp},handler.{h,cpp},http.{h,cpp},
3691         network.{h,cpp},rtmp.{h,cpp},netstats.{h,cpp},statistics.{h,cpp},
3692         cque.{h,cpp}: Move to libnet so they can be shared with Gnash.
3693         * libnet/buffer.{h,cpp},cque.{h,cpp},handler.{h,cpp},http.{h,cpp},
3694         network.{h,cpp},rtmp.{h,cpp},netstats.{h,cpp},statistics.{h,cpp},
3695         cque.{h,cpp}: Moved from cygnal so they can be shared.
3696         * testsuite/libnet.all: New directory for networking and protocol
3697         test cases.
3698         * testsuite/libnet.all/{test_buffer.cpp,test_cque.cpp,test_crc.cpp,
3699         test_handler.cpp,test_http.cpp: Moved from cygnal/testsuite/cygnal.all.
3700         * libamf/rtmp.{h,cpp}: Move to libnet.
3702 2008-03-28 Sandro Santilli <strk@keybit.net>
3704         * server/swf_function.cpp (call operator): esplicit args override
3705           implicit ones.
3706         * testsuite/swfdec/PASSING: definefunction2-overwrite.swf succeeds.
3708 2008-03-28 Sandro Santilli <strk@keybit.net>
3710         * server/asobj/Object.cpp: add Object.toLocaleString.
3711         * testsuite/actionscript.all/: Date.as, Object.as:
3712           toLocaleString tests pass.
3714 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3716         * server/as_environment.h
3717         * server/as_object.h
3718         * server/as_value.h
3719         * server/asobj/Key.h
3720         * server/asobj/MovieClipLoader.cpp
3721         * server/asobj/Number.cpp
3722         * server/asobj/Object.cpp
3723         * server/asobj/string.cpp
3724         * server/asobj/xml.cpp
3725         * server/asobj/xml.h
3726         * server/asobj/xmlnode.cpp
3727         * server/asobj/xmlnode.h
3728         * server/vm/ExecutableCode.h
3729         * libbase/utility.cpp
3730         * libmedia/sound_handler.h
3731         * libmedia/ffmpeg/ffmpegNetStreamUtil.h
3732         * libmedia/gst/GstUtil.h
3733         * libmedia/gst/VideoDecoderGst.h
3734         * libamf/element.h
3735         * libamf/sol.h
3736         * backend/render_handler_cairo.h: drop tu_config.h include;
3737           replace with dsodefs.h where appropriate.
3738         * server/asobj/xmlattrs.cpp: ditto, plus nothing in this file.
3739         * server/asobj/xmlattrs.h
3740         * libbase/Makefile.am: tu_config should be unused.
3741         * gui/Player.h: nothing in gui/ needs to be visible.
3743 2008-03-28 Sandro Santilli <strk@keybit.net>
3745         * libbase/log.{cpp,h}: simplify logging path.
3747 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3749         * libbase/utf8.h: minor comment update.
3751 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3753         * libbase/utf8.{cpp,h}: add a utf8::invalid constant.
3754         * server/vm/ASHandlers.cpp: use utf8 code for guessEncoding.
3756 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3758         * server/asobj/string.cpp: (charAt) prevent another potential
3759           out-of-bounds string access.
3761 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3763         * libbase/gmemory.h: add DSOEXPORT to allow the testsuite to
3764           build with visibility support enabled.
3765         * libamf/lcshm.h: make Listener class visible (testsuite).
3766         * libamf/amf.h: export swapbytes (testsuite).
3768 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3770         * server/asobj/string.cpp: (charCodeAt) don't try to
3771           access string out of bounds. (Fixes abort in the movie
3772           http://newsimg.bbc.co.uk/player/emp/2_0_1275/player.swf).
3774 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3776         * libbase/log.cpp: comment headers, minor alterations.
3777         * libbase/container.h: drop tu_config.h include.
3779 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3781         * po/cs.po: add Petr Pisar's updated Czech translation.
3783 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3785         * libbase/arg_parser.{cpp,h}: add FSF copyright.
3787 2008-03-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3789         * libbase/tu_file.{cpp,h}: remove everything that isn't currently
3790           used, including all membuf code.
3791         * libbase/membuf.{cpp,h}: unused. Dropped.
3792         * libbase/config.cpp: (lua bindings) dropped.
3793         * libbase/Makefile.am: don't try to build unused files.
3795 2008-03-27 Sandro Santilli <strk@keybit.net>
3797         * testsuite/actionscript.all/Inheritance.as: use 'delete x.y'
3798           as 'delete(x.y)' didn't work until Ming 0.4.0.beta6.
3800 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3802         * libgeometry/Point2d.h
3803         * libgeometry/Range2d.h
3804         * libgeometry/snappingrange.h: gnashconfig.h gone.
3806 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3808         * libbase/BitsReader.cpp
3809         * libbase/BitsReader.h
3810         * libbase/FLVParser.h
3811         * libbase/GC.h
3812         * libbase/URL.h
3813         * libbase/WallClockTimer.h
3814         * libbase/arg_parser.h
3815         * libbase/curl_adapter.h
3816         * libbase/dsodefs.h
3817         * libbase/extension.h
3818         * libbase/grid_index.h
3819         * libbase/image.h
3820         * libbase/jpeg.h
3821         * libbase/lirc.h
3822         * libbase/membuf.h
3823         * libbase/noseek_fd_adapter.h
3824         * libbase/ogl.h
3825         * libbase/ref_counted.h
3826         * libbase/smart_ptr.h
3827         * libbase/string_table.h
3828         * libbase/tu_file.h
3829         * libbase/tu_math.h
3830         * libbase/tu_opengl_includes.h
3831         * libbase/tu_timer.h
3832         * libbase/utf8.h
3833         * libbase/utility.h
3834         * libbase/zlib_adapter.h: drop gnashconfig.h where it's not needed,
3835           replace tu_config.h with dsodefs.h.
3837 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3839         * server/vm/ASHandlers.{cpp,h}: const correct guessEncoding,
3840           don't try to access vector out of bounds in ActionMbSubString.
3841           Use at() for run time checking.
3842         
3843 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3845         * server/parser/action_buffer.{cpp,h}: fix very annoying
3846           g++4.3 compiler warnings about parentheses, use at() to
3847           access vectors, don't cast away constness in hexify call.
3849 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3851         * backend/render_handler_agg.h,render_handler.h: include
3852           dsodefs.h
3853         * libbase/dsodefs.h: include gnashconfig.h so DSOEXPORT
3854           etc are correctly defined all the time.
3855         * libbase/utf8.h: drop tu_config.h include.
3857 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3859         * libbase/Makefile.am: add dsodefs.h, which should fix 'make
3860           distcheck'.
3862 2008-03-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3864         * server/BevelFilter.h
3865         * server/BitmapFilter.h
3866         * server/BitmapMovieInstance.h
3867         * server/BlurFilter.h
3868         * server/ColorMatrixFilter.h
3869         * server/ConvolutionFilter.h
3870         * server/DropShadowFilter.h
3871         * server/DynamicShape.h
3872         * server/FreetypeGlyphsProvider.h
3873         * server/GlowFilter.h
3874         * server/GradientBevelFilter.h
3875         * server/GradientGlowFilter.h
3876         * server/LoadVariablesThread.h
3877         * server/Property.h
3878         * server/PropertyList.h
3879         * server/StreamProvider.h
3880         * server/StringPredicates.h
3881         * server/SystemClock.h
3882         * server/as_prop_flags.h
3883         * server/bitmap_info.h
3884         * server/builtin_function.h
3885         * server/button_character_instance.h
3886         * server/cxform.h
3887         * server/drag_state.h
3888         * server/edit_text_character.h
3889         * server/event_id.h
3890         * server/fill_style.h
3891         * server/font.h
3892         * server/fontlib.h
3893         * server/generic_character.h
3894         * server/gnash.h
3895         * server/impl.h
3896         * server/matrix.h
3897         * server/mouse_button_state.h
3898         * server/movie_instance.h
3899         * server/movie_root.h
3900         * server/rect.h
3901         * server/shape.h
3902         * server/sprite_instance.h
3903         * server/stream.h
3904         * server/swf_event.h
3905         * server/swf_function.h
3906         * server/textformat.h
3907         * server/timers.h
3908         * server/types.h
3909         * server/parser/edit_text_character_def.h: Drop gnashconfig.h
3910           where it's not needed, replace tu_config.h with dsodefs.h
3911           when it's there for DSOEXPORT, add headers where they are
3912           needed but were relying on includes before.
3914 2008-03-27 Sandro Santilli <strk@keybit.net>
3916         * doc/C/refmanual/testing_dependencies.xml: 
3917           swfc is not a decompiler.
3919 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3921         * libbase/log.h: templates apparently don't need explicitly
3922           marking as visible.
3924 2008-03-26  Dossy Shiobara <dossy@panoptic.com>
3926         * macros/gnashpkgtool.m4: Add support for package-config scripts
3927           (i.e., fltk2-config, xml2-config, etc.)
3929 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3931         * server/vm/ActionExec.h
3932         * server/vm/action.h
3933         * server/vm/with_stack_entry.h
3934         * server/asobj/AsBroadcaster.h
3935         * server/asobj/BevelFilter_as.h
3936         * server/asobj/BlurFilter_as.h
3937         * server/asobj/Boolean.h
3938         * server/asobj/Camera.h
3939         * server/asobj/Color.h
3940         * server/asobj/ColorMatrixFilter_as.h
3941         * server/asobj/ContextMenu.h
3942         * server/asobj/ConvolutionFilter_as.h
3943         * server/asobj/CustomActions.h
3944         * server/asobj/Date.h
3945         * server/asobj/DropShadowFilter_as.h
3946         * server/asobj/Error.h
3947         * server/asobj/GlowFilter_as.h
3948         * server/asobj/GradientBevelFilter_as.h
3949         * server/asobj/GradientGlowFilter_as.h
3950         * server/asobj/Key.h
3951         * server/asobj/LoadVars.h
3952         * server/asobj/LocalConnection.h
3953         * server/asobj/Microphone.h
3954         * server/asobj/Mouse.h
3955         * server/asobj/NetConnection.h
3956         * server/asobj/Number.h
3957         * server/asobj/Selection.h
3958         * server/asobj/SharedObject.h
3959         * server/asobj/SoundFfmpeg.h
3960         * server/asobj/SoundGst.h
3961         * server/asobj/SoundMad.h
3962         * server/asobj/Stage.h
3963         * server/asobj/System.h
3964         * server/asobj/TextSnapshot.h
3965         * server/asobj/gstring.h
3966         * server/asobj/xml.h
3967         * server/asobj/xmlsocket.h: drop gnashconfig includes. Also replace tu_config.h
3968           with dsodefs.h when only DSOEXPORT is required.
3970 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3972         * libbase/log.{h,cpp}: drop (unused) vsnprintf logging calls, tidy up
3973           a bit.
3974         * server/sprite_instance.cpp: don't use SIZET_FMT or c_str() in logging
3975           calls.
3977 2008-03-26  Dossy Shiobara <dossy@panoptic.com>
3979         * gui/Makefile.am, gui/am-frag/fltk.am: Add missing
3980           line-continuation backslash. Move extra Win32 libs to
3981           am-frag/fltk.am from main Makefile.am.
3983 2008-03-26 Sandro Santilli <strk@keybit.net>
3985         * server/asobj/NetStream.cpp: make elements of the info object
3986           enumerable and deletable.
3987         * testsuite/misc-ming.all/NetStream-SquareTest.c: test that elements
3988           of the info object passed to onStatus are enumerable and deletable.
3990 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3992         * testsuite/actionscript.all/Global.as: more tests for int().
3994 2008-03-26 Sandro Santilli <strk@keybit.net>
3996         * configure.ac: provide a MING_SUPPORTS_STREAMING_SOUND
3997           conditional.
3998         * testsuite/misc-ming.all/Makefile.am: only build and
3999           run the streamingSoundTest if ming supports it.
4001 2008-03-26 Sandro Santilli <strk@keybit.net>
4003         * server/swf/tag_loaders.cpp: warn about unimplemented MP3 seeks.
4004         * server/sprite_instance.cpp (stagePlacementCallback): place also
4005           sprites for which NO frame was loaded (tot frames 0).
4006         * testsuite/misc-swfmill.all/zeroframe_definesprite.xml: don't
4007           expect a failure.
4009 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4011         * testsuite/actionscript.all/Global.as: tests for int(). 
4013 2008-03-26 Sandro Santilli <strk@keybit.net>
4015         * testsuite/misc-swfmill.all/: Makefile.am,
4016           zeroframe_definesprite.xml:
4017           Test that zero-framed sprites should still be
4018           placed on stage. Gnash fails in one over 3 tests,
4019           0.8.2 would fail all cases. 
4021 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4023         * server/asobj/Global.cpp: parseFloat should work with double
4024           precision; improves swfdec testsuite results in parse-float.as
4025           and string-to-number.as (though neither passes yet). 
4027 2008-03-26 Sandro Santilli <strk@keybit.net>
4029         * gui/sdl.cpp: fix sdl to gnash key modifiers conversion.
4031 2008-03-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4033         * testsuite/actionscript.all/Object.as: check type of undefined 
4034           __proto__ (Gnash passes).
4036 2008-03-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4038         * testsuite/actionscript.all/Object.as: test for
4039           Object.__proto__ = undefined; (Gnash fails). 
4041 2008-03-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4043         * testsuite/actionscript.all/Global.as: more passes, some new
4044           (now passing) tests for parseint.
4045         * server/asobj/global.cpp: fix parseint, pass all actionscript.all
4046           parseint tests; the now single discrepancy in swfdec parse-int*
4047           seems not directly related to parseint at all.    
4049 2008-03-24 Markus Gothe <nietzsche@lysator.liu.se>
4051         * server/as_envoronment.cpp: Fixed signedness of int.
4052         * libbase/rc.cpp: Fixed comparsion.
4053         * libbase/rc.h: Replaced tu_config.h.
4055 2008-03-23 Markus Gothe <nietzsche@lysator.liu.se>
4057         * libamf/lcshm.cpp: Fixed warning on uninitialized integer.
4058         * server/asobj/NetStreamFfmpeg.cpp: 'copied' is unsigned int.
4059         * server/debugger.h, libbase/log.h: Added DSOEXPORT to definations.
4060         * testsuite/samples/Make.am: Added FFMPEG_CFLAGS.
4061         * libbase/memory.cpp: return true when function returns.
4062         * libbase/sharedlib.cpp, plugins/plugin.cpp: declared char* as 
4063           const char*.
4064         * plugins/plugin.cpp: compare result of getenv() with NULL.
4065         * server/font.cpp: compare with same type.
4067 2008-03-22  Dossy Shiobara <dossy@panoptic.com>
4069         * utilities/Makefile.am (1.66): Win32 needs libintl, libz and
4070           ws2_32.
4072 2008-03-22 Markus Gothe <nietzsche@lysator.liu.se>
4074         * libbase/sharedlib.cpp: Got rid off a couples of compiler warnings.
4075                                  Compare getenv with NULL not 0!
4076         * libbase/postscript{cpp, h}: Unused garbage as well as PD-
4077           licensed. On demand we'll write our own implementation.
4078         
4079         * libbase/dsodefs.h, libbase/tu_config.h: Moved our defines
4080           for DSO{EXPORT, LOCAL} to it's own file.
4081         
4082         * libbase/utf8.h, libmedia/ffmpeg/ffmpegNetStreamUtil.h,
4083           libmedia/ffmpeg/VideoDecoderFfmpeg.h, libbase/network.h,
4084           libbase/arg_parser.h, server/sprite_instance.h: 
4085           Added DSOEXPORT to definations.
4087 2008-03-22  Dossy Shiobara <dossy@panoptic.com>
4089         * gui/Makefile.am (1.121): Win32 requires extra LDFLAGS to build,
4090           for some reason.
4092 2008-03-22  Rob Savoye  <rob@ripple.welcomehome.org>
4094         * configure.ac: Change --enable-statistics to --with-statistics
4095         with settings for queues, buffers, and memory allocation as
4096         separate values for more fined grained control. Currently these
4097         are only used by Cygnal.
4099 2008-03-22  Dossy Shiobara <dossy@panoptic.com>
4101         * libbase/tu_file.cpp (1.25): gettext 0.17 redefines printf in
4102           libintl.h, which confuses cpp 3.x and causes a build failure
4103           looking for tu_file::__printf__.
4105 2008-03-21  Rob Savoye  <rob@ripple.welcomehome.org>
4107         * gui/kde.cpp: The names have changed in the enum, prefix GNASH_
4108         to MOD_SHIFT, etc...
4110 2008-03-21 Russ Nelson <nelson@crynwr.com>
4112         * packaging/snapshot.am: dist-hook not needed anymore.
4114 2008-03-21  Dossy Shiobara <dossy@panoptic.com>
4116         * libbase/sharedlib.h (1.9): Tweak things so that libltdl works
4117           correctly on Win32.
4119         * utilities/processor.cpp (1.92): Win32 lacks a usleep(), so we
4120           fake it with Sleep().
4122         * server/asobj/SharedObject.cpp (1.37): mkdir() on Win32 only takes
4123           one arg, apparently.
4125         * libmedia/ffmpeg/: ffmpegNetStreamUtil.h (1.3),
4126           sound_handler_sdl.h (1.4): SDL_audio.h appears to need iconv.h on
4127           Win32.
4129         * libmedia/AudioDecoderNellymoser.cpp (1.12): Win32 doesn't have
4130           random() and srandom() but does have rand() and srand().
4132         * libbase/: rc.h (1.49), shm.cpp (1.7): Win32 lacks sys/shm.h, so
4133           define key_t on Win32 as boost::uint32_t.
4135         * libbase/network.cpp (1.39): Win32 doesn't have the sa_family_t
4136           type, nor the UNIX_PATH_MAX defined, or the sockaddr_un struct.
4138         * macros/pango.m4 (1.30): Use pangox on X11, pangowin32 on Win32.
4140         * gui/: gtk_glue_agg.cpp (1.34), gtk_glue_agg.h (1.17): Fix build
4141           for when ENABLE_MIT_SHM is false, such as on Win32.
4143         * gui/: gtk_cairo_create.h (1.2), gtk_glue.h (1.15),
4144           gtk_glue_cairo.h (1.16), gtk_glue_gtkglext.h (1.13), gtksup.h
4145           (1.68): gdk/gdkx.h is for X11.  Win32 only has gdk/gdk.h.
4147         * gui/fltk.cpp (1.18), gui/gtk.cpp (1.159), gui/gui.cpp (1.143),
4148           server/gnash.h (1.119): Fix some macro redefinition issues when
4149           compiling with GCC 3.x, which does not have strongly typed enums.
4151         * server/vm/Makefile.am (1.20): If building with ffmpeg, we need
4152           FFMPEG_CFLAGS.
4154 2008-03-21  Rob Savoye  <rob@ripple.welcomehome.org>
4156         * configure.ac: Add conditional for win32 builds.
4158 2008-03-21 Sandro Santilli <strk@keybit.net>
4160         * server/array.cpp, testsuite/server/AsValueTest.cpp:
4161           Revert Markus patch (error: 'finite' is not a member of 'std').
4163 2008-03-21 Markus Gothe <nietzsche@lysator.liu.se>
4165         * configure.ac: added tags for HP-UX and IRIX.
4166         * macros/opengl.m4: Fixed OGL-linking on OS X Leopard.
4167         * server/array.cpp: Fix compilation of isfinite.
4168         * testsuite/server/AsValueTest.cpp: Fix compilation of isfinite.
4170 2008-03-20  Rob Savoye  <rob@ripple.welcomehome.org>
4172         * libbase/network.cpp: Return a 0 if the socket is never available
4173         for writing.
4175 2008-03-20 Sandro Santilli <strk@keybit.net>
4177         * server/parser/sprite_definition.cpp (read):
4178           If DefineSprite contains less SHOWFRAME then advertised
4179           in header, still pretend all of the advertised frames
4180           were loaded. This should be safe, and makes FlowPlayer
4181           progress further (it exports an asset that advertise
4182           1 frame and contains NO showframe tag).
4184 2008-03-20 Sandro Santilli <strk@keybit.net>
4186         * server/character.{cpp,h}: add a virtual getMovieInfo.
4187         * server/movie_root.{cpp,h}: delegate character info gathering
4188           to the characters themselves. 
4190 2008-03-19  Rob Savoye  <rob@ripple.welcomehome.org>
4192         * libbase/network.cpp: Close the listener file descriptor too before
4193         restarting a connection.
4195 2008-03-19 Sandro Santilli <strk@keybit.net>
4197         * server/sprite_instance.cpp (restart): only stop streaming
4198           sound associated with the sprite, not *all* sounds !
4200 2008-03-19 Sandro Santilli <strk@keybit.net>
4202         * server/swf/tag_loaders.cpp: log malformed swf if SOUNDSTREAMBLOCK
4203           is found w/out preceeding SOUNDSTREAMHEAD.
4204         * testsuite/misc-ming.all/: Makefile.am,
4205           streamingSoundTest1-Runner.cpp, streamingSoundTest1.c:
4206           Stub test for streaming sound. Doesn't work yet, producing
4207           a malformed SWF which inspired the tag_loaders.cpp change.
4209 2008-03-19 Sandro Santilli <strk@keybit.net>
4211         * server/sprite_instance.{cpp,h}: always stop any streaming
4212           sound when the sprite is stopped or unloaded.
4213         * server/parser/sound_definition.cpp, server/vm/ASHandlers.cpp:
4214           update calls to cleaned up streaming sound interface of
4215           sprite_instance.
4217 2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4219         * testsuite/swfdec/swfdec_gnash_tester: use more complicated 
4220           sed matching to handle newlines in trace output (one, anyway).
4221         * utilities/gprocessor: put all debugging output in log_debug
4222           calls (or it gets caught in the sed rules).
4223         * testsuite/swfdec/PASSING: eight passing tests with newlines.
4225 2008-03-19  Rob Savoye  <rob@ripple.welcomehome.org>
4227         * configure.ac: Add --enable-statistics, to turn on performance
4228         statistics gathering.
4230         * libbase/network.cpp: Actually use the timeout parameter to set
4231         the timeout. Turn off overly verbose debugging.
4233 2008-03-19 Sandro Santilli <strk@keybit.net>
4235         * testsuite/actionscript.all/array.as: test addProperty(<valid_index>) 
4236           against arrays. One more reason to use at least Property rather then
4237           simple as_values.
4239 2008-03-19 Sandro Santilli <strk@keybit.net>
4241         * server/as_object.{cpp,h}: enumerateNonProperProperty made protected,
4242           add a virtual hasOwnProperty, made delProperty virtual.
4243         * server/array.{cpp,h}: implement hasOwnProperty and delProperty.
4244         * server/asobj/Object.cpp: use as_object::hasOwnProperty to implement
4245           Object.hasOwnProperty().
4246         * testsuite/actionscript.all/array.as: more successes.
4248 2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4250         * gui/gnash.cpp: minor changes to 'usage' display.
4251         * cygnal/cygnal.cpp: remove unnecessary call to RcFile::loadfiles()
4252           (this is called on construction); use Arg_parser to add long
4253           options. Make output of usage consistent with gnash, update
4254           copyright date; use cout for output, split into smaller
4255           units for translation. Set locale for LC_ALL to avoid mangling
4256           non-ASCII characters in some log messages.
4258 2008-03-18 Sandro Santilli <strk@keybit.net>
4260         * server/array.{cpp,h}: use boost's mapped_vector for a sparse
4261           array implementation. Saves space at some cpu cycles till all
4262           gaps are filled (which happens by most modifiers, as an expected
4263           behaviour :/).
4264         * testsuite/actionscript.all/array.as: successes in gaps filling.
4266 2008-03-19 Sandro Santilli <strk@keybit.net>
4268         * testsuite/actionscript.all/array.as:
4269           test splice() and members access on a sparse array.
4271 2008-03-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4273         * gui/gnash.cpp: remove duplicated --verbose in usage, add --version.
4274         * po/gnash.pot: updated after changes to gnash.cpp (shorter phrases
4275           should also make translating less annoying).
4276         * po/de.po: fix messages broken by changes to gnash.cpp.
4278 2008-03-18 Sandro Santilli <strk@keybit.net>
4280         * testsuite/actionscript.all/array.as:
4281           test reverse(), join() and concat() on a sparse array.
4283 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4285         * testsuite/actionscript.all/Global.as: add more parseInt tests showing
4286           some errors with hexadecimal parsing.
4287         * server/asobj/Global.cpp: rewrite parseInt to deal with most of the
4288           main cases correctly.
4290 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4292         * testsuite/swfdec/swfdec_gnash_tester: don't use fromdos. It's
4293           not always available and seems to be unnecessary.
4295 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4297         * server/as_value.cpp: revert most of to_int() changes until
4298           it's tested on i586.
4300 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4302         * server/as_value.cpp: (to_int() again): work with unsigned values
4303           until the return. Will hopefully fix for 32-bit platforms.
4305 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4307         * server/as_value.cpp: last commit of this file was wrong.
4309 2008-03-18  Rob Savoye  <rob@ripple.welcomehome.org>
4311         * libbase/lirc.{h,cpp}: Use byte_t instead of uint8_t.
4313         * libbase/network.{h,cpp}: Define NETBUFSIZE here instead of in
4314         cygnal/buffer. Define "byte_t" typedef for raw data, change all
4315         methods to use byte_t.
4317 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4319         * testsuite/actionscript.all/array.cpp: tests for non-integer and
4320           extreme integer indices.
4322 2008-03-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4324         * server/as_value.cpp: minor changes to to_int. It's a bit
4325           complicated but seems to replicate how the pp converts to integers.
4326           Don't need to use fmod().
4327         * server/vm/ASHandlers.cpp: use to_int() for ActionInt(). This fixes
4328           handling of all negative non-integer numbers.
4329         * testsuite/actionscript.all/Global.as: add regression tests for
4330           int().
4331         * server/asobj/string.cpp: minor cleanups; use safer string.at().
4332         * testsuite/swfdec/PASSING: tointeger passes after the changes above.
4334 2008-03-18 Sandro Santilli <strk@keybit.net>
4336         * server/array.{cpp,h}: add concept of 'holes' in arrays, don't
4337           enumerate holes.
4338         * testsuite/actionscript.all/array.as: update expected results.
4339         * server/character.cpp (width_getset, height_getset): don't abort
4340           if the character being worked on has collapsed dimensions.
4342 2008-03-18 Sandro Santilli <strk@keybit.net>
4344         * testsuite/actionscript.all/array.as: test sorting an array with
4345           holes.
4347 2008-03-17  Dossy Shiobara <dossy@panoptic.com>
4349         * plugin/: Makefile.am (1.71), mozilla-sdk/Makefile.am (1.18): Add
4350           mozilla-sdk/include/prcpucfg-glibc.h and
4351           mozilla-sdk/include/prcpucfg-win32.h to noinst_HEADERS to make
4352           distcheck pass again.
4354 2008-03-17 Sandro Santilli <strk@keybit.net>
4356         * testsuite/actionscript.all/array.as: more tests for deletion
4357           of array members.
4359 2008-03-17 Sandro Santilli <strk@keybit.net>
4361         * server/array.cpp (index_requested): don't turn a negative number
4362           >= -1 to a valid index !!
4363         * testsuite/actionscript.all/array.as: add test for negative indexed
4364           members.
4366 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4368         * gui/gtk.cpp, gui/gnash.cpp: make clear that media handler
4369           version information is static.
4371 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4373         * gui/gtk.cpp: add media handler version information.
4375 2008-03-17 Sandro Santilli <strk@keybit.net>
4377         * server/as_environment.{cpp,h}: dump_stack: add additional
4378           optional argument to limit number of stack items printed.
4379         * server/vm/ASHandlers.cpp (ActionSetRegister): use int rather
4380           then uint8_t for sake of logging...
4381         * server/vm/ActionExec.cpp: limit stack dump to 32 items.
4383 2008-03-17 Sandro Santilli <strk@keybit.net>
4385         * server/movie_root.cpp (fire_mouse_event): catch ActionLimit
4386           exceptions.
4388 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4390         * doc/C/refmanual/logging.xml: update logging docs.
4392 2008-03-17  Dossy Shiobara <dossy@panoptic.com>
4394         * plugin/mozilla-sdk/np_entry.cpp (1.11): Conditionally support
4395           older NPAPI versions by using a more fine-grained approach to
4396           copying the NPNetscapeFuncs structure.
4398 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4400         * server/vm/ASHandlers.cpp: don't try to access an element of an
4401           empty string; use string.at(), which would throw an exception if
4402           we try to do so.
4403         * doc/C/usermanual/usage.xml: add new long options, correct some
4404           descriptions.
4406 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4408         * server/asobj/string.cpp: fix fromCharCode for SWF6+, sort
4409           of fix it for SWF5. This would get more passes in the swfdec
4410           testsuite if swfdec_gnash_tester could catch newlines in
4411           trace output.
4413 2008-03-17 Sandro Santilli <strk@keybit.net>
4415         * testsuite/actionscript.all/Inheritance.as: fixed bug in testcase
4416           making the business more complex then it was.
4418 2008-03-17 Sandro Santilli <strk@keybit.net>
4420         * libbase/log.{cpp,h}: decouple LogFile and RcInitFile.
4421           Add a LogFile::setLogFilename to specify a custom name
4422           for the log file.
4423         * gui/Player.cpp: set LogFile filename as specified in the
4424           rc file.
4425         * utilities/processor.cpp: set LogFile filename as specified
4426           in the rc file.
4428 2008-03-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4430         * server/asobj/string.cpp: String.substr(): an undefined second
4431           argument is the same as having only one argument.
4432         * server/vm/ASHandlers.cpp: action substring: make variable names
4433           consistent with mbsubstring; use C++ string methods and handle
4434           utf-8 properly for different versions.
4435         * testsuite/actionscript.all/String.as: update / add tests for
4436           substring and String.substr (now passing).
4438 2008-03-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4440         * gui/Player.{h,cpp}: handle an empty url, fix misc-ming.all failures.
4441           Take std::string& instead of const char* - there seems to be no case
4442           in which distinguishing between NULL and empty is useful.
4443         * testsuite/actionscript.all/String.as: add test comparing substring
4444           and String.substr, showing that both are broken.
4446 2008-03-15  Dossy Shiobara <dossy@panoptic.com>
4448         * plugin/win32/: plugin.cpp (1.15), plugin.h (1.11): Track whether
4449           the module was properly initialized (i.e., NS_PluginInitialize()
4450           was called) as it seems at least Firefox 2.0.0.12 on WinXP will
4451           continue to load and run npgnash.dll even if it hasn't been.
4453           Eliminated the (unnecessary?) getPluginDescription().  Matter of
4454           fact, NS_PluginGetValue() isn't used on XP_WIN builds at all.
4456           Reflect change in function name from
4457           gnash::register_fscommand_callback to
4458           gnash::registerFSCommandCallback.
4460 2008-03-15  Dossy Shiobara <dossy@panoptic.com>
4462         * plugin/mozilla-sdk/np_entry.cpp (1.10): On Firefox
4463           2.0.0.12/WinXP, aNPNFuncs->size is 172 while
4464           sizeof(NPNetscapeFuncs) is 184.  However, npgnash.dll continues
4465           to work fine even though NPNFuncs isn't populated (!), and as a
4466           matter of fact, Firefox seems to ignore the
4467           NPERR_INVALID_FUNCTABLE_ERROR return from NP_Initialize and
4468           continues to load and execute npgnash.dll, anyway.  Therefore, we
4469           should continue and execute NS_PluginInitialize anyway, too.
4471           c.f. https://savannah.gnu.org/bugs/?20835
4473 2008-03-15  Dossy Shiobara <dossy@panoptic.com>
4475         * plugin/mozilla-sdk/include/: prcpucfg-glibc.h (1.1),
4476           prcpucfg-win32.h (1.1), prcpucfg.h (1.13): NSPR's prcpucfg.h is
4477           platform-specific.  Added Win32 version to CVS as
4478           prcpucfg-win32.h, renamed old prcpucfg.h to prcpucfg-glibc.h, and
4479           replaced prcpucfg.h with a stub that tries to include the correct
4480           one.
4482 2008-03-15  Dossy Shiobara <dossy@panoptic.com>
4484         * plugin/mozilla-sdk/include/: npapi.h (1.9), npupp.h (1.8): Update
4485           NPAPI from 0.14 to 0.19, using header files from
4486           mozilla/modules/plugin/base/public: npapi.h (3.48), npupp.h
4487           (3.26).
4489 2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4491         * gui/gnash.cpp: mend url. Fixes bug #22609.
4493 2008-03-15 Sandro Santilli <strk@keybit.net>
4495         * server/swf_function.cpp: don't put 'this' into a register if
4496           the SUPPRESS_THIS flag is on.
4497         * testsuite/swfdec/PASSING: definefunction2-this.swf
4499 2008-03-15 Sandro Santilli <strk@keybit.net>
4501         * server/vm/ASHandlers.cpp (CommonGetUrl): cast uint8_t to int when
4502           printing, fixing a failure in misc-mtasc testsuite (output log
4503           considered binary).
4505 2008-03-15 Sandro Santilli <strk@keybit.net>
4507         * server/vm/ASHandlers.cpp (ActionMbSubString): fix the opcode, and
4508           avoid out-of-range accesses. Fixes panda.swf (bug #22437)
4509         * testsuite/actionscript.all/String.as: add tests for mbsubstring.
4510           Gnash used to fail a lot there.
4512 2008-03-15 Sandro Santilli <strk@keybit.net>
4514         * testsuite/actionscript.all/Inheritance.as: finally some more failing 
4515           tests (equivalent to swfdec's super-missing-{7,8}.swf)
4517 2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4519         * gui/gnash.cpp: change / add some long options and update help output.
4520           Add --fullscreen to allow starting in fullscreen mode.
4521         * gui/Player.{h,cpp}: implement starting in fullscreen mode.
4523 2008-03-15 Sandro Santilli <strk@keybit.net>
4525         * gui/gnash.cpp: fix build with GNASH_FPS_DEBUGGING defined.
4526         * testsuite/actionscript.all/Inheritance.as: test double gap in
4527           inheritance chain.
4529 2008-03-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4531         * libbase/arg_parser.{cpp,h}: add slightly modified version of
4532           Antonio Diaz Diaz's C++ Arg_parser class.
4533         * libbase/Makefile: build arg_parser.
4534         * gui/gnash.cpp: use Arg_parser to add long options. Make --help
4535           more concise (we have a manual), abolish printf where it's not
4536           useful for translation (which is almost everywhere). 
4538 2008-03-15 Sandro Santilli <strk@keybit.net>
4540         * server/debugger.cpp: fix compilation.
4541         * server/vm/ASHadlers.cpp (ActionCallMethod): for SWF7+ compute
4542           super from the actual object containing the called function
4543           (also when finding out from super).
4544         * testsuite/actionscript.all/Inheritance.as: successes.
4546 2008-03-15 Sandro Santilli <strk@keybit.net>
4548         * testsuite/actionscript.all/Inheritance.as: more tests for 
4549           gaps in inheritance chain (SWF7+ fails in gnash).
4550         * server/stream.cpp: use the float conversion function found
4551           in action_buffer, hopefully working fine on big endian hosts
4552           (to be tested).
4554 2008-03-14  Rob Savoye  <rob@ripple.welcomehome.org>
4556         * doc/C/Makefile.am: Install the preformatted info pages too.
4558         * macros/kde.m4: Set plugin paths here instead of configure.ac.
4559         * configure.ac: Move Kparts config code to kde.m4. Default to
4560         $HOME/.kde instead of system wide, fixing all installation
4561         permissions problems.
4563 2008-03-14 Sandro Santilli <strk@keybit.net>
4565         * server/as_environment.cpp: when dumping local registers and
4566           variables only show the ones in current (top) call frame, not
4567           all of them.
4568         * server/stream.{cpp,h}: substitute the ambiguos read_float
4569           with read_short_float and read_long_float.
4570         * server/parser/filter_factory.cpp: use read_long_float for
4571           bitmap filter parsing (fixes a parse error in sevenload.de
4572           player.swf); more verbose parsing.
4574 2008-03-14 Sandro Santilli <strk@keybit.net>
4576         * server/swf/PlaceObject2Tag.cpp: log more about PlaceObject3
4577         * server/fill_style.cpp: use an int for the temporary num_gradients.
4578         * server/textformat.cpp: warn once about unimplemented TextFormat.
4579         * server/asobj/LoadVars.cpp: don't trace onData and onLoad methods
4580           enter.
4581         * server/asobj/MovieClipLoader.cpp: don't trace MovieClip destruction.
4583 2008-03-14 Sandro Santilli <strk@keybit.net>
4585         * server/sprite_instance.cpp (sprite_startDrag): handle
4586           NaN args (we should probably use ints for dragging in
4587           general). Fixes bug #22592.
4589 2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4591         * server/fill_style.cpp: cast uint8_t to int before logging.
4593 2008-03-14 Sandro Santilli <strk@keybit.net>
4595         * server/video_stream_instance.h: implement pointInShape (for the
4596           sake of removing the error log in default implementation, but
4597           it does the same thing as the former).
4599 2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4601         * libbase/tree.hh: update to version 2.51
4602         * server/movie_root.cpp: tinker with the tree a bit more.
4604 2008-03-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4606         * server/movie_root.{h,cpp}: add getMovieInfo() to fill the info tree
4607           with data. Added more data about movie stage and from public methods
4608           of gnash::character. This class will eventually get its own tree
4609           filler method.
4610         * gui/gui.cpp: delegate some tree filling to movie_root.
4612 2008-03-14 Sandro Santilli <strk@keybit.net>
4614         * server/font.cpp (read_font_info): initialize the device font
4615           provider if a name was read. Fixes bug #22367.
4616         * testsuite/swfdec/REALTIME: run netstream-status.swf in realtime.
4617         * server/movie_root.cpp (cleanDisplayList): make sure NO unloaded
4618           characters are in the live instances container after a call to
4619           this method.
4620         * testsuite/actionscript.all/Inheritance.as: test gaps in the
4621           inheritance chain. Gnash fails for SWF>6.
4623 2008-03-13 Bastiaan Jacques <bastiaan@bjacques.org>
4625         * backend/render_handler_cairo.cpp: Partially implement invalidated
4626         bounds, improving performance by approximately 10%.
4628 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4630         * testsuite/actionscript.all/Microphone.as: more comprehensive tests
4631           for the Microphone class.
4633 2008-03-13  Dossy Shiobara <dossy@panoptic.com>
4635         * plugin/win32/: plugin.cpp (1.14), plugin.h (1.10): Use the
4636           Windows GDI DIB buffer directly with AGG, eliminating an
4637           unnecessary buffer and memcpy.  Correctly prevent multiple
4638           streams from launching a player thread.  Implement mouse movement
4639           and clicking support.
4641 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4643         * testsuite/actionscript.all/Stage.as: More tests for Stage.align.
4644           It's obvious what it does now.
4645         * server/asobj/Stage.{h,cpp}: make Stage.align methods work properly.
4646           It's still not really implemented. More swfdec passes.
4647         * testsuite/swfdec/PASSING: passing tests.
4649 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4651         * testsuite/actionscript.all/Stage.as: Stage methods were
4652           available in SWF5, but weren't native.
4653         * server/asobj/Stage.cpp: init Stage methods for SWF5, but
4654           don't register them as Native (one more swfdec testsuite pass).
4656 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4658         * gui/gui.cpp: Reorganize movie properties, add a few more.
4660 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4662         * testsuite/actionscript.all/Stage.as: some passing tests.
4664 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4666         * testsuite/actionscript.all/Stage.as: tests with different cases,
4667           whitespace and extra characters.
4668         * server/asobj/Stage.{h,cpp}: add _displayState member, implement
4669           displayState getter-setter. Make checks case-insensitive, but
4670           not yet tolerant of whitespace or extra characters.
4671         * gui/Player.cpp: listen for displayState. 
4673 2008-03-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4675         * testsuite/MovieTester.{h,cpp}: add support for resizing.
4676         * gui/gui.cpp: minor cleanup.
4677         * server/asobj/Stage.cpp: minor cleanups.
4678         * testsuite/actionscript.all/Stage.as: tests for Stage.displayState.
4680 2008-03-13 Sandro Santilli <strk@keybit.net>
4682         * server/as_object.cpp: implement get_text_value for as_super.
4683         * testsuite/swfdec/PASSING: object-valueof-{6,7,8} succeed.
4685 2008-03-12 Bastiaan Jacques <bastiaan@bjacques.org>
4687         * backend/render_handler_cairo.cpp: Store some ints as ints.
4688         * gui/gtk_glue_cairo.{cpp,h}: Make the GTK window single-buffered,
4689         because we provide our own double-buffering mechanism. configure():
4690         Try to create a buffer that's similar to the GDK buffer. This
4691         significantly improves performance. render(): Implement invalidated
4692         bounds.
4694 2008-03-12 Bastiaan Jacques <bastiaan@bjacques.org>
4696         * backend/render_handler_ogl.cpp: Compliation fix.
4698 2008-03-12 Sandro Santilli <strk@keybit.net>
4700         * testsuite/swfdec/PASSING: super-reference-{7,8} succeed.
4701         * testsuite/actionscript.all/Inheritance.as: last failing test pass
4702           (we need a lot more now !!)
4703         * server/as_object.h: make findProperty public.
4704         * server/vm/ASHandlers.cpp (ActionCallMethod): use findProperty
4705           to find the actual object containing the named method to call,
4706           and compute super from that IFF swf > 7.
4708 2008-03-12 Sandro Santilli <strk@keybit.net>
4710         * testsuite/swfdec/PASSING: super-reference-6.swf succeeds.
4711         * server/as_function.cpp (function_call): set super.
4712         * testsuite/actionscript.all/Stage.as: successes..
4714 2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4716         * server/edit_text_character.cpp: don't use == when comparing
4717           floats.
4718         * server/asobj/Stage.cpp: return actual stage size when scaleMode
4719           is noScale. This allows the stage resize listeners to work
4720           out what to do (which is the point of noScale).
4721         * server/movie_root.cpp: minor cast cleanup.
4723 2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4725         * server/asobj/Stage.cpp: don't call align 'width'; implement
4726           getting and setting Stage.align, though it won't do anything.
4728 2008-03-12 Sandro Santilli <strk@keybit.net>
4730         * backend/render_handler_agg.cpp,
4731           libmedia/ffmpeg/VideoDecoderFfmpeg.{h,cpp}
4732           boost::foreach.hpp is not available as of boost-1.33.1.
4734 2008-03-12 Sandro Santilli <strk@keybit.net>
4736         * server/PropertyList.{cpp,h} (setValue): allow passing flags to use
4737           when creating new properties.
4738         * server/as_object.cpp: avoid the double scan when initializing
4739           members. Have super register a proper __proto__ member.
4741 2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4743         * testsuite/actionscript.all: tests for Stage properties and 
4744           Stage.align values.
4746 2008-03-12 Sandro Santilli <strk@keybit.net>
4748         * testsuite/samples/Makefile.am: don't add LDFLAGS (AGG_LIBS)
4749           to GNASH_LIBS, don't list GNASH_LIBS as dependency of test
4750           runners (should be imported by libgnashtestsuite.la).
4752 2008-03-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4754         * po/de.po: Updated translation by Alwin Meschede.
4755         * po/sv.po, cs.po, es.po, fi.po, fr.po, it.po: updated po files.
4757 2008-03-12  Dossy Shiobara <dossy@panoptic.com>
4759         * plugin/win32/: plugin.cpp (1.13), plugin.h (1.9): Overhaul of
4760           Win32 npgnash.dll, implementing in-process Gnash in a player
4761           thread, using AGG renderer and SDL/ffmpeg for sound.
4763         * plugin/win32/npgnash.rc (1.4): Cleaned up resource file and
4764           modified it to masquerade as "Shockwave Flash" so JavaScript
4765           checks on Win32 will detect Gnash as a Flash player.
4767         * plugin/win32/npgnash.def (1.1): Explicitly export
4768           NP_GetEntryPoints, NP_Initialize and NP_Shutdown symbols in
4769           npgnash.dll.
4771         * plugin/win32/: npgnash.c (1.1), npgnash.cpp (1.9): Renamed from
4772           .cpp to .c to avoid having to wrap the whole file in an extern
4773           "C".
4775         * plugin/win32/npgnash_resource.h (1.2): No longer needed.
4777 2008-03-11 Bastiaan Jacques <bastiaan@bjacques.org>
4779         * configure.ac: If --enable-visibility is specified, and no GCC bug
4780         was detected, compile with -fvisibility=hidden.
4781         * server/shape.{cpp, h}: Since SWF provides shape edges as integers,
4782         there's no need to store them as floats. Some renderers can improve
4783         performance here, especially when used on certain embedded platforms.
4784         To this end, path and edge are now templated classes Path<> and
4785         Edge<>, and the precision (int or float) can be specified with the
4786         template argument.
4787         * backend/render_handler_agg.cpp: The AGG renderer relies on
4788         floating pointprecision in paths (after matrix conversion), so make
4789         sure that precision is preserved.
4790         * libgeometry/{Point2d.h, Range2d.h}: Allow easy conversion from float
4791         to int templates.
4792         * server/matrix.{cpp, h}: Allow transformations to take place on any
4793         kind of Point2d and Range2d.
4794         * server/types.h: Multiplication by 20 does not require a floating
4795         point annotation.
4796         * server/parser/BitmapMovieDefinition.cpp: Specify the "new subshape"
4797         argument to Path's constructor.
4799 2008-03-11 Sandro Santilli <strk@keybit.net>
4801         * testsuite/actionscript.all/*.as: re-add rcsids.
4803 2008-03-11 Sandro Santilli <strk@keybit.net>
4805         * testsuite/actionscript.all/Date.as: fix test count.
4807 2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4809         * gui/gtk.cpp, gui/Player.cpp: minor code cleanups.
4811 2008-03-11 Sandro Santilli <strk@keybit.net>
4813         * server/vm/ASHandlers.cpp (ActionCallFunction): only
4814           maintain the 'this' pointer if in a function context.
4815         * testsuite/actionscript.all/Inheritance.as: one xfail
4816           less.
4818 2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4820         * gui/Player.cpp: add stubs for all fscommand methods, implement
4821           showmenu.
4822         * gui/gui.{h,cpp}: add showMenu().
4823         * gui/gtk{.cpp,sup.h}: implement showMenu for gtk (mainly for 
4824           fscommand "showmenu").
4826 2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4828         * testsuite/actionscript.all/Object.as: check that toLocaleString
4829           calls toString. Add some tests for when toLocaleString is implemented
4830           at all.
4832 2008-03-11 Sandro Santilli <strk@keybit.net>
4834         * testsuite/actionscript.all/: Date.as, Object.as:
4835           Use hasOwnProperty for new 'toLocaleString' availability
4836           testing.
4838 2008-03-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4840         * testsuite/actionscript.all/Date.as: tests for toLocaleString.
4841         * testsuite/actionscript.all/Object.as: tests for toLocaleString.
4843 2008-03-11 Sandro Santilli <strk@keybit.net>
4845         * backend/Makefile.am: distribute ogl backend header.
4846         * ChangeLog, ChangeLog-0.8.2, Makefile.am: split ChangeLog.
4848 2008-03-11 Sandro Santilli <strk@keybit.net>
4850         * testsuite/misc-ming.all/registerClassTest.c: more tests
4851           for __constructor__ and constructor of instances with
4852           registered class.
4854 2008-03-11 Sandro Santilli <strk@keybit.net>
4856         * server/sprite_instance.cpp (constructAsInstance): compute
4857           a 'super' reference.
4858         * testsuite/misc-ming.all/registerClassTest.c: test super in
4859           registered-class constructor.
4860         * server/as_object.cpp: mark reachable resources from 'super'
4861           (may live longer then a function call, if that's the user
4862           intention).
4863         * testsuite/actionscript.all/MovieClip.as: check 'constructor'
4864           and '__constructor__' members of builtin class instances.
4866 2008-03-10 Bastiaan Jacques <bastiaan@bjacques.org>
4868         * server/StringPredicates.h: Make case insensitive compare work with
4869         old boost, take two.
4871 2008-03-10 Sandro Santilli <strk@keybit.net>
4873         * server/vm/fn_call.h: add a 'super' member in the function call.
4874         * server/vm/action.{cpp,h}: allow passing a 'super' object to
4875           call_method.
4876         * server/as_object.{cpp,h}: implement get_constructor,
4877           reimplement get_super, add isSuper virtual function,
4878           provide a special 'as_super' class.
4879         * server/as_function.cpp (constructInstance): provide proper 'super'
4880           reference.
4881         * server/as_value.cpp (typeOf): advertise the super object as an
4882           'object'
4883         * server/swf_function.cpp: use fn_call::super as the super reference.
4884         * server/vm/ASHandlers.cpp (ActionCallFunction, ActionCallMethod):
4885           properly setup a 'super' in function calls.
4886         * testsuite/actionscript.all/Inheritance.as: new successes.
4887         * testsuite/misc-mtasc.all/Makefile.am: super_test1.swf succeeds.
4888         * testsuite/swfdec/PASSING: 8 super-related tests succeed.
4890 2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4892         * doc/C/usermanual/gnashrc.xml: add information about ignoreFSCommands
4893           directive.
4894         * doc/C/refmanual/internals.xml: correct typo.
4895         * gui/gui{h.cpp}: allow exiting after a set number of advances.
4896         * gui/Player.{h.cpp}: same. Fscommand is case insensitive.
4897         * gui/gnash.cpp: add switch (-m) for setting max advances. This
4898           will probably be changed soon to a long option. Drop unused
4899           switches and code.
4901 2008-03-10 Sandro Santilli <strk@keybit.net>
4903         * testsuite/generic-testrunner.sh: sleep less.
4904         * testsuite/misc-ming.all/Makefile.am: re-enabled
4905           instanceNameTestRunner, erroneously dropped by
4906           in revision 1.184 (when adding BOOST_CFLAGS).
4908 2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4910         * utilities/processor.cpp: make fscommand test case insensitive.
4912 2008-03-10 Sandro Santilli <strk@keybit.net>
4914         * testsuite/actionscript.all/MovieClip.as: don't rely on
4915           playing slow..
4916         * testsuite/misc-mtasc.all/Dejagnu.as: quit when done.
4918 2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4920         * gui/gtk.cpp: change cursor only over the drawing area.
4921           Prevents the mouse staying invisible over menus. Drop
4922           a line I accidentally added some time ago.
4924 2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4926         * server/gnash.h: third time lucky: interfaceEventCallback
4927           returns a std::string to allow a range of responses.
4928         * gui/Player.{h,cpp}: adapt interfaceEventCallback method
4929           to return std::string. Clean up names of private member
4930           variables.
4931         * gui/gui.{h,cpp}: add flag for whether mouse pointer
4932           is shown or hidden.
4933         * gui/gtk{sup.h,.cpp}: implement mouse hide/show for GTK.
4934         * doc/C/refmanual/internals.xml: update some docs.
4936 2008-03-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4938         * server/gnash.h: make interfaceEventCallback return bool to
4939           allow response from the gui. Rename register_fscommand_callback
4940           to registerFSCommandCallback and make it take const std::string&
4941           arguments.
4942         * server/as_object.{h,cpp}: remove callback from as_object and
4943         * server/movie_root.{h,cpp}: put it in movie_root for use with
4944           other events (e.g. ActionLimits hit).
4945         * server/asobj/Mouse.cpp: update callback to movie_root.
4946         * server/vm/ActionExec.cpp: update registerFSCommandCallback.
4947         * gui/Player.{h,cpp}: adapt interfaceEventCallback methods,
4948           implement some fscommands (quit, fullscreen).
4949         * gui/gui.{h,cpp}: add isPlugin() method for deciding whether to
4950           handle fscommands.
4951         * libbase/rc.{cpp,h}: add ignoreFSCommands directive to allow, well,
4952           ignoring fscommands. Set to true by default.
4953         * utilities/processor.cpp: update registerFSCommandCallback.
4955 2008-03-09 Bastiaan Jacques <bastiaan@bjacques.org>
4957         * server/StringPredicates.h: Use std::lexicographical_compare instead
4958         of boost::ilexicographical_compare, because the latter is not
4959         available in boost 1.33.
4961 2008-03-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4963         * server/gnash.h: add "interfaceEventCallback" callback for passing
4964           AS events to the gui.
4965         * server/as_object.{cpp,h}: make callback a static method of as_object
4966           class, as that's where it's used.
4967         * gui/Player.{h,cpp}: register Player as a listener for interface event
4968           callbacks and pass on to gui.
4969         * gui/gui.{cpp,h}: make Mouse.hide and Mouse.show unimplemented in the
4970           gui, not in mouse_as_object.
4971         * server/asobj/Mouse.cpp: send mouse events using callback.
4973 2008-03-07 Bastiaan Jacques <bastiaan@bjacques.org>
4975         * server/StringPredicates.h: Use boost string algorithms instead of
4976         the current home-grown ones.
4977         * server/vm/ASHandlers.cpp: getTime() returns int, so there's no point
4978         in rounding it to the nearest integer.
4980 2008-03-07 Russ Nelson <nelson@crynwr.com>
4982         * Fix typos and unwieldy grammar in doc/C/*.xml and doc/C/userman/*.xml
4983         * Remove Klash, renaming to kde-gnash and kparts as needed.
4985 2008-03-07 Sandro Santilli <strk@keybit.net>
4987         * server/swf_function.cpp: arguments.callee is not enumerable
4988           by default.
4989         * testsuite/actionscript.all/Function.as: test for default
4990           enumerable properties of 'arguments' succeeds.
4992 2008-03-07 Sandro Santilli <strk@keybit.net>
4994         * testsuite/actionscript.all/Function.as: expect a failure on
4995           composition of the 'arguments' object. Was already broken,
4996           used to succeed due to another bug (availability of a 'size'
4997           property, which wasn't supposed to be there..).
4999 2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5001         * server/asobj/string.cpp: a negative number passed as second
5002           argument to lastIndexOf always returns -1. More swfdec
5003           testsuite passes.
5004         * testsuite/swfdec/PASSING: update passing tests.
5006 2008-03-07 Sandro Santilli <strk@keybit.net>
5008         * testsuite/misc-mtasc.all/function_test.as: add a couple
5009           more tests.
5011 2008-03-07  Rob Savoye  <rob@ripple.welcomehome.org>
5013         * testsuite/libbase/memtest.cpp: Add tests for time stamps.
5014         * libbase/gmemory.h: Add nano resolutions timestamps.
5015         * libbase/memory.cpp: Add timestamps so we can test performance
5016         too.
5018 2008-03-07 Sandro Santilli <strk@keybit.net>
5020         * server/as_value.cpp (to_debug_string): add class name
5021           for functions too.
5023 2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5025         * server/asobj/string.cpp: substring end pos is also set to
5026           0 if it's a negative number and, where relevant, swapped with
5027           start pos. More swfdec testsuite passes.
5028         
5029 2008-03-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5031         * gui/gui.{h,cpp}: make data tree-shaped instead of flat.
5032         * gui/gtk.cpp: update properties dialogue to use tree view.
5034 2008-03-06  Rob Savoye  <rob@ripple.welcomehome.org>
5036         * testsuite/libbase/memtest.cpp: Figures, malloc() on Ubuntu and
5037         Fedora differs in what it allocates. Ubuntu seems to like 16
5038         bytes pages,. Fedoras gives us what we ask for, and aligns the
5039         memory later. Both behaviours are correct.
5041         * libbase/gmemory.h: Renamed from memory.h to avoid name
5042         collisions. 
5043         * libbase/memory.h: Renamed to gmemory.h to avoid name
5044         collisions. 
5046 2008-03-06  Rob Savoye  <rob@ute.welcomehome.org>
5048         * configure.ac: Add a test for mallinfo();
5049         * testsuite/libbase/memtest.cpp: New test case for the Memory
5050         debugger for use by maintainers.
5051         * testsuite/libbase/Makefile.am: Add new memory testv case.
5052         * libbase/memory.{h,cpp}: New Memory class for analysing memory
5053         allocation to find leaks and bloat.
5054         * libbase/makefile.am: Add memory.*.
5056 2008-03-06 Sandro Santilli <strk@keybit.net>
5058         * server/array.cpp: there's no such thing as an Array.size member, and
5059           use a native getter/setter for 'length'.
5060         * testsuite/actionscript.all/array.as: test that Array instances
5061           don't have any 'size' member.
5063 2008-03-06 Sandro Santilli <strk@keybit.net>
5065         * server/as_value.{cpp,h}: cleanup: remove the unused drop_refs
5066           and destructor (both doing nothing).
5068 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5070         * testsuite/swfdec/PASSING: add passing Chr tests.
5071         * testsuite/actionscript.all:String.as: passing tests.
5073 2008-03-06 Sandro Santilli <strk@keybit.net>
5075         * server/movie_root.cpp (markReachableResources): character mouse and
5076           key listeners also don't need to be scanned again as all left would
5077           be on stage.
5079 2008-03-06 Sandro Santilli <strk@keybit.net>
5081         * server/fill_style.cpp: cast log arg to int, or boost::format will
5082           interpret as a character (string).
5083         * server/movie_root.cpp (markReachableResources): don't mark live
5084           chars as reachable, as they should be marked by their parent
5085           already (was a TODO item).
5087 2008-03-06 Sandro Santilli <strk@keybit.net>
5089         * libbase/GC.{cpp,h}: ok not calling size() twice, but
5090           don't properly update the last managed resources count..
5092 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5094         * server/vm/ASHandlers.cpp: implement MbOrd for SWF6+ and utf-8,
5095           clean up the other chr and ord functions a bit.
5097 2008-03-06 Sandro Santilli <strk@keybit.net>
5099         * libbase/GC.cpp: minor thing, don't call std::list::size() twice each
5100           frame iteration, as it's O(n) for GNU stdc++ lib...
5102 2008-03-06 Sandro Santilli <strk@keybit.net>
5104         * server/button_character_instance.cpp, server/sprite_instance.cpp,
5105           server/video_stream_instance.cpp, server/asobj/NetConnection.cpp,
5106           server/asobj/NetStream.cpp, server/asobj/Sound.cpp,
5107           server/asobj/Stage.cpp, server/asobj/string.cpp,
5108           server/asobj/xmlnode.cpp:
5109           Further reduce builtin_function for native getter/setters.
5111 2008-03-06 Sandro Santilli <strk@keybit.net>
5113         * server/: Property.{cpp,h}, PropertyList.{cpp,h},
5114           as_object.{cpp,h}:
5115           Add support for native getter-setters.
5116         * server/sprite_instance.cpp: use native getter-setters
5117           for sprite properties.
5118         * server/vm/Machine.cpp: don't assume a getter setter is
5119           always implemented using an as_function.
5121 2008-03-06 Sandro Santilli <strk@keybit.net>
5123         * server/asobj/Global.cpp: cast istringstream to bool as a way
5124           to detect errors, tellg() == -1 was ambiguos.
5125         * testsuite/actionscript.all/String.as: fix expected results
5126           (could not handle to find a working comparison for multibyte
5127           chars in swf5).
5129 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5131         * testsuite/actionscript.all/String.as: add tests for mbchr (should
5132           be correct) and mbord(not yet confirmed).
5134 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5136         * testsuite/actionscript.all/Global.as: correct test count.
5137         * server/asobj/Global.cpp: forget lexical_cast, use stringstream
5138           instead. That both fixes the locale problem and doesn't mess up
5139           parsing of non-numeric characters.
5141 2008-03-06 Sandro Santilli <strk@keybit.net>
5143         * testsuite/actionscript.all/MovieClip.as: add test for override
5144           of native properties (or getter/setters).
5146 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5148         * testsuite/actionscript.all/Global.as: add some checks that would
5149           have caught a mistake in parseFloat.
5151 2008-03-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5153         * server/vm/ASHandlers.cpp: fix mbchr to return a UTF-8 string;
5154           make sure both mbchr and chr handle characters only up to
5155           65535. Fixes behaviour for SWF6, 7, and 8.
5156         * configure.ac: update version (flash compatibility) to 9,0,999 so
5157           that javascript flash detectors don't reject gnash (not helpful for
5158           implementing SWF9).
5159         * server/asobj/Global.cpp: use boost_lexical cast in parseFloat;
5160           sscanf looks only for the decimal separator of the locale,
5161           which since a localization change is now always the local
5162           locale; actionscript uses the 'C' locale.
5164 2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>
5166         * libamf/{amf.h, element.h, lcshm.h, sol.h},
5167         libbase/{GC.h, WallClockTimer.h, libbase/shm.h, string_table.h}
5168         libmedia/gst/{VideoDecoderGst.h, GstUtil.h}, 
5169         server/{PropertyList.h, SystemClock.h, as_environment.h,
5170         as_function.h, character.h, shape.h, timers.h}: Add DSOEXPORT
5171         where a symbol is used outside of the DSO where it's implemented.
5172         Allows compilation with -fvisibility=hidden.
5173         * libbase/utility.{cpp h}, libmedia/{AudioDecoder.h,
5174         AudioDecoderSimple.cpp, Makefile.am}: Move convert_raw_data to
5175         libmedia.
5177 2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5179         * libbase/log.cpp: remove silly assertion.
5180         * testsuite/libamf.all/test_object.cpp: use std::string hexify.
5182 2008-03-04 Sandro Santilli <strk@keybit.net>
5184         * testsuite/swfdec/PASSING: added tests that only failed due to 
5185           traces being truncated.
5186         * cygnal/crc.cpp: update to build after changes in RcInitFile
5187           interface.
5189 2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5191         * libbase/log.{h,cpp}: add templates to convert from vsnprintf format
5192           logging calls to boost::format. These are generated with 
5193           boost.preprocessor macros. The templates 'redirect' log_* calls
5194           to logProcess_* functions. These can also be used directly.
5195           Switching between the two is possible by changing the #define
5196           USE_BOOST_FORMAT in log.h. It is enabled by default. Make static
5197           members private, as they aren't needed elsewhere. Make hexify()
5198           return a std::string and look much less scary.
5199         * libamf/element.cpp, libamf/sol.cpp: use std::string hexify.
5200         * server/parser/action_buffer.cpp: use std::string hexify.
5201         * server/vm/ASHandlers.cpp: use C++ standard header <locale>
5202         * utilities/dumpshm.cpp: use <locale>, change hexify.
5203         * utilities/processor.cpp: use <locale>.
5205 2008-03-04 Sandro Santilli <strk@keybit.net>
5207         * libbase/GC.{cpp,h}: add a countCollectables() method for stats.
5208         * gui/gui.cpp: print collectables count in the movie properties
5209           menu.
5211 2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>
5213         * server/array.h server/dlist.cpp server/URLAccessManager.cpp: More
5214         proper namespacing. Fixes build with GCC 4.3.
5216 2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>
5218         * server/asobj/xmlnode.cpp: Add a direct include and proper
5219         namespacing for GCC 4.3.
5221 2008-03-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5223         * libbase/rc.{h,cpp}: const correct; clean up parsing, avoiding
5224           an extra iteration at the expense of constructing
5225           a stringstream; add warning on unrecognized commands; general
5226           cleanup of other functions; drop ':' separator for lists, which
5227           has been deprecated for a while. Document functions.
5229 2008-03-04 Bastiaan Jacques <bastiaan@bjacques.org>
5231         * all over the place: Remove $Id tags, because it has not been shown
5232         that they serve a real purpose; however, they do cause problems.