update copyright date
[gnash.git] / ChangeLog-0.8.2
blobc79a17f73f8b64ab03cbfffb01d6ac55db2a1abb
1 2008-03-04 Sandro Santilli <strk@keybit.net>
3         * doc/C/Makefile.am: remove generated dox on 'make clean'
4           (not maintainer-clean). drop references to gnashuser.info
5           and gnashref.info (the official ones are gnash_user.info
6           and gnash_ref.info).
8 2008-03-04 Sandro Santilli <strk@keybit.net>
10         * doc/C/Makefile.am: don't distribute a second copy of
11           preformatted .info, .html and man files, all preformatted
12           copies are already in the preformatted/ subdir.
14 2008-03-04 Sandro Santilli <strk@keybit.net>
16         * doc/C/Makefile.am: Preformatted html files don't have
17           the embedded underscore..
19 2008-03-04 Sandro Santilli <strk@keybit.net>
21         * Makefile.am: --with-plugindir was deprecated in favor
22           of --with-npapi-plugindir. Update distcheck flags.
23         * doc/C/Makefile.am: explicitly list file to distribute.
24           Adding a dir to EXTRA_DIST wasn't working, and is discouraged:
25           http://www.delorie.com/gnu/docs/automake/automake_91.html
27 2008-03-04 Sandro Santilli <strk@keybit.net>
29         * doc/C/Makefile.am: add a trailing slash on dirs added to
30           EXTDA_DIST. Fixes 'make dist' with automake 1.96.
31         * configure.ac: this branch is 0.8.2 ...
33 2008-03-04 Sandro Santilli <strk@keybit.net>
35         * server/sprite_instance.cpp: check arguments of drawing api
36           functions for being finite.
37         * testsuite/misc-ming.all/DrawingApiTest.as: test passing
38           non-finite parameters to the drawing api.
39         * backend/: render_handler_agg.cpp, render_handler_ogl.cpp:
40           Revert Bastiaan patch casting to int, the problem is in 
41           the drawing api.
43 2008-03-04 Sandro Santilli <strk@keybit.net>
45         * doc/C/bugreport.xml, doc/C/doc_authors.xml, doc/C/gnashref.xml,
46           doc/C/gnashuser.xml, doc/C/introduction.xml, doc/C/security.xml,
47           doc/C/usermanual/gnashrc.xml: Add missing files. distcheck
48           works again.
50 2008-03-03 Bastiaan Jacques <bastiaan@bjacques.org>
52         * backend/render_handler_{agg,ogl}.cpp: Wallpaper over bug #22462:
53         - (NaN coordinates fed to renderer).
55 2008-03-03  Rob Savoye  <rob@ripple.welcomehome.org>
57         * Makefile.am: Add packaging files to EXTRA_DIST. Drop the
58         dist-hook.
59         * packaging/debian: Minor changes to start working with HEAD.
60         * packaging/deb.am: Copy the debian packaging files from the
61         source tree to the snapshot directory do dpkg-buildpackage can
62         find them.
63         * packaging/redhat/gnash.spec: Update for current layout.
64         * configure.ac: Add a --disable-testsuite option for package
65         builders. This spends builds up, and we already tested Gnash
66         before packaging, right ?
67         * Makefile.am: Always include testsuite directory, but don't add it
68         to SUBDIRS. Install the packaging files.
69         * doc/C/Makefile.am: Add some extra dependencies to keep distcheck
70         happy.
71         * testsuite/samples/Makefile.am: Add AGG_LIBS.
72         * doc/C/Makefile.am: Tweak how images get installed so distcheck
73         is happy.
74         * po/fi.po: Finish translation by Timo Jyrinki.
75         * po/Makefile.am: Build finish translation.
76         * doc/C/preformatted: Update.
77         * doc/C/Makefile.am: Furthur tweaking of the .xml.texi rule so it
78         works with versions to correctly produce both info files. On
79         Fedora, it kept only creating gnash_user.info. Fix install rule to
80         deal with multiple versions of install-info. Add --dir-file= when
81         removing entries.
82         * doc/C/refmanual/internals.xml: Use <emphasis> instead of <code>,
83         as <code> doesn't appear to be supported on Fedora.
84         * doc/C/refmanual/extensions/extensions.xml: Use <emphasis>
85         instead of <code>, as <code> doesn't appear to be supported on
86         Fedora.
87         * doc/C/Makefile.am: For the perl based version of the docbook
88         tools, pipe directly through makeinfo to avoid file name
89         transformation problems.
90         * doc/C/Makefile.am: Print warning when linking to preformatted
91         versions that they may be out of date. Change path to preformatted
92         versions.
93         * packaging/doc: Moved to doc/C/preformatted.
94         * doc/C/preformatted: Moved from packaging/doc, this location
95         makes more sense, and is simpler.
96         * doc/C/usermanual.bugreport.xml: Move file up one directory so it
97         can be shared.
98         * doc/C/usermanual/glossary.xml, gnashrc.xml, installation.xml,
99         usage.xml: Cleanup bad internal links. Drop "colspec" from tables
100         as it causes too many warnings, hiding other problems.
101         * doc/C/refmanual/building.xml, code_dependencies.xml,
102         configuration.xml, custompath_configuration.xml,
103         documentation_dependencies.xml, feature_configuration.xml,
104         install.xml, internals.xml, testing_dependencies.xml: Cleanup bad
105         internal links. Drop "colspec" from tables as it causes too many
106         warnings, hiding other problems.
107         * doc/C/gnashuser.xml: Change path to bugreport.
108         * doc/C/gnashref.xml: Include bugreport.
109         * doc/C/Makefile.am: Tweak dependencies more to deal with all the
110         weird variations of docbook utils and docbook2X between platforms.
111         * packaging/deb.am: Add snapshot-deb target.
112         * testsuite/misc-ming.all/Makefile.am: Add BOOST_CFLAGS for older
113         compilers.
114         * doc/C/refmanual/logging.xml: Add new log_*() functions. Mark C++
115         streaming API as discouraged.
116         * doc/C/Makefile.am: Add extra dependencies for the gnash
117         reference manual, now that it's back to life.
118         * doc/C/appendix.xml: Don't include RTMP chapter here.
119         * doc/C/refmanual/codestyle.xml: Don't include RTMP chapter
120         here. Drop useless opcode section.
121         * doc/C/gnashref.xml: Rearrange top level chapters.
122         * doc/C/refmanual/configuration.xml: Don't include featureoptions
123         or custompath here anymore.
124         * doc/C/refmanual/internals.xml: Update to match reality. Add new
125         utilities.
126         * doc/C/refmanual/new_as_class.xml: Include asvaluie section here
127         too.
128         * doc/C/refmanual/building.xml, code_dependencies.xml,
129         configuration.xml, cross_compiling.xml,
130         custompath_configuration.xml, documentation_dependencies.xml,
131         feature_configuration.xml, testing_dependencies.xml: Updated to
132         match reality.
133         * doc/C/refmanual/new_as_class.xml: changes to a chapter. Merge
134         main.xml into body. Include as_value.xml from here.
135         * doc/C/refmanual/as_value.xml: Make a sect1 for new_as_class.
136         * doc/C/Makefile.am: Tweak dependencies for the info files, as
137         they go through a name transformation, which is unfortunately
138         different between Ubuntu and Fedora. Additional tweaks for Ubuntu
139         Hardy, the .texi names don't get transformed during this step for
140         this version of the docbook tools.
141         * doc/C/Makefile.am: Link to the preformatted info file, which is
142         messy because of the name transformation.
143         * configure.ac: Always Define Docbook Conditionals or make fails.
144         * packaging/gnash_ref.info.in, gnash_user.info.in,
145         gnashuser.html.in gnashuser.ref.in: Preformatted versions of the docs.
146         * doc/C/usermanual/usage, installation, actionscript: Move to
147         reference manual. 
148         * macros/docbook.m4: Look for install-info program too, which we
149         need to add entries to the system wide info 'dirs' file.
150         * doc/C/gnashref.xml: New reference manual top level page.  This
151         contains much of what was in the old manual.
152         * asspec/*: Move to BackLash directory.
153         * doc/C/Makefile.am: don't list asspec files. Add directory for
154         installing html file. Add separate variables for the user manual
155         and the reference manual. Get rid of the useless
156         entities. variable. Drop include xmlmake and omfmake, fix tghe
157         rules and move them to the main Makefile. Fix info target so they
158         actually build correctly, and install in the dirs file. Install
159         and uninstall all the docs produced. Comment out GNOME help
160         support for now. 
161         * doc/omf.make, xmldocs.make: Don't use anymore.
162         * doc/C/usermanual: Rewritten. 
163         * usermanual/introduction.xml, /doc_authors.xml: Moved up one
164         directory so it can be shared with the reference manual.
165         * doc/C/usermanual/gtkext.xml, internals.xml, logging.xml, 
166         mysqlext.xml, object.xml, opcodes.xml, plugin.xml, rtmp.xml,
167         sources.xml: Move to reference manual.
168         * doc/C/refmanual/amf.xml, internals.xml, memory.xml, plugin.xml,
169         sources.xml, as_value.xml, logging.xml, new_as_class.xml,
170         revisions.xml, codestyle.xml, main.xml, object.xml, rtmp.xml:
171         Moved from the user manual and top level.
172         * doc/C/asspec/*: All files moved to BackLash directory.
173         * doc/backLash/accessibility.xml, array.xml, asspec.xml,
174         boolean.xml, button.xml, camera.xml, color.xml, contextmenu.xml,
175         customactions.xml, date.xml, error.xml, fdl-appendix.xml,
176         function.xml, key.xml, legal.xml, loadvars.xml,
177         localconnection.xml, math.xml, microphone.xml, mouse.xml,
178         movieclip.xml, moviecliploader.xml, netconnection.xml,
179         netstream.xml, number.xml, selection.xml,
180         sharedobject.xml,sound.xml, stage.xml, string.xml, system.xml,
181         textfield.xml, textformat.xml, textsnapshot.xml, video.xml,
182         xml.xml, xmlnode.xml, xmlsocket.xml: Move from asspec directory.
184 2008-03-03 Sandro Santilli <strk@keybit.net>
186         * server/parser/sprite_definition.{cpp,h}: delegate
187           exports and dictionary chars to containing movie
188           definition. Fixes bug #22468.
189         * server/swf/tag_loaders.cpp: log malformed SWF for
190           export tags inside define sprite.
192 2008-03-03 Timo Jyrinki <timo.jyrinki@iki.fi>
194         * gui/gnash.cpp, utilities/: dumpshm.cpp,
195           processor.cpp, soldumper.cpp:
196           Use LC_ALL, not just LC_MESSAGES for localization.
197           Fixes bug #22465.
199 2008-03-03 Sandro Santilli <strk@keybit.net>
201         * po/: Makefile.am, fi.po: back-port finnish translation addition.
203 2008-03-03 Sandro Santilli <strk@keybit.net>
205         * server/movie_root.cpp (doMouseDrag): drag bounds are in local
206           coordinate space, and non lock-centered drags must always
207           honour it. Fixes bug #22460.
208         * server/vm/ASHandlers.cpp (CommonGetURL): implement GET/POST
209           methods for targetted movie loads. Still missing POST using
210           host-provided uri handler (to improve/define communication
211           protocol for it) and POST for loadVariables.
213 2008-02-29 Sandro Santilli <strk@keybit.net>
215         * gui/Makefile.am: distribute klash.moc.in.
217 2008-02-28 Sandro Santilli <strk@keybit.net>
219         * server/parser/video_stream_def.{cpp,h}: fix build and runtime
220           with --disable-media.
222 2008-02-28 Sandro Santilli <strk@keybit.net>
224         * doc/C/usermanual/installation/feature_configuration.xml: update the
225           default media configuration.
226         * configure.ac: pretend --enable-media=gst was given by default, so we
227           don't fallback on ffmpeg, being still unstable.
229 2008-02-28 Sandro Santilli <strk@keybit.net>
231         * server/sprite_instance.cpp (stagePlacementCallback): don't queue
232           a LOAD event for the root movie for SWF versions up to 5.
233         * testsuite/swfdec/PASSING: root-onload-5.swf succeeds.
235 2008-02-28 Sandro Santilli <strk@keybit.net>
237         * testsuite/swfdec/PASSING: sync to swfdec master git.
239 2008-02-28 Sandro Santilli <strk@keybit.net>
241         * configure.ac: never attempt to use libmad, fallback to ffmpeg if
242           gstreamer is not supported and not explicitly requested.
243         * doc/C/usermanual/: glossary.xml, installation/configuration.xml,
244           installation/feature_configuration.xml: update dox about
245           --enable-media and mad.
247 2008-02-28 Sandro Santilli <strk@keybit.net>
249         * server/Property.{cpp,h}: drop left over debugging calls.
251 2008-02-27 Bastiaan Jacques <bastiaan@bjacques.org>
253         * libmedia/gst/gstflvdemux.h: Make extra sure our own FLV demuxer is
254         loaded in favor of a potentially system-installed one.
256 2008-02-27 Bastiaan Jacques <bastiaan@bjacques.org>
258         * libmedia/Makefile.am: Remove MediaDecoder* from the build, since
259         they are unused and unmaintained.
260         * libmedia/VideoDecoder.h: Revise the VideoDecoder interface, closely
261         modeled after that of VideoDecoderGst.
262         * libmedia/ffmpeg/VideoDecoderFfmpeg.{cpp,h}: Implement the new
263         VideoDecoder interface. This fixes embedded video.
264         * libmedia/gst/VideoDecoderGst.{cpp,h}: Update VideoDecoderGst to
265         match the new VideoDecoder interface.
266         * libmedia/ffmpeg/VideoDecoderFfmpeg.{cpp,h}: Cleanup; remove unused
267         methods and code. Avoid unnecessary memcpy calls. Tabs to spaces.
268         Fix up convertRGB24 so that it no longer touches the source frame
269         and enforce that with constness.
270         * server/parser/video_stream_def.{cpp,h}: Mutex-protect the video
271         frames vector, because video_stream_def's methods are called from
272         both the "loading thread" (parser) and the main execution thread
273         (rendering). Remove Gstreamer-specific calls and get rid of #ifdefs.
274         * server/asobj/NetStreamFfmpeg.cpp: Update to match the changes to
275         convertRGB24.
277 2008-02-27 Sandro Santilli <strk@keybit.net>
279         * testsuite/swfdec/PASSING: prototype-addProperty-6.swf
280           succeeds now.
281         * server/Property.{cpp,h}: don't go into an infinite loop
282           if a getter or setter gets or sets the member it targets.
283           Fixes bug #22420.
284         * testsuite/actionscript.all/Object.as: add test for recursive
285           getter/setter. Gnash fails at NOT protecting from infinite
286           recursion non-trival call graphs in SWF7+ (but is compatible
287           with SWF6 in that reguard).
289 2008-02-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
291         * libbase/config.cpp: drop unused file.
292         * libbase/Makefile.am: drop config.cpp.
294 2008-02-27 Sandro Santilli <strk@keybit.net>
296         * plugin/plugin.cpp: don't force verbosity, the config file can
297           be used for that.
299 2008-02-27 Marcin CieÅ›lak <saper@saper.info>
301         * plugin/plugin.cpp: GIOCondition is a bitfield. Patch #6436.
303 2008-02-25 Sandro Santilli <strk@keybit.net>
305         * server/swf/tag_loaders.cpp (sound_stream_head_loader): turn that
306           annoying "No samples advertised" error to a debugging message.
307           Whoever will take care of that will do it in head.
308         * configure.ac: don't complain if high-level scripts for doc
309           generations aren't available as long as lower-level ones are.
310           Fixes bug reported in comment #12 of bug #22343.
311         * testsuite/libamf.all/test_lc.cpp: don't assume (void*) is 32-bit,
312           remove unneeded casts, fix missing return warnings. Should fix bug
313           #22378.
314         * libmedia/sdl: removed unused code.
316 2008-02-24 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
318         * server/character.cpp: make sure all static const data members
319           are defined outside the class declaration.
321 2008-02-23 Sean McNamara <smcnam@gmail.com>
323         * server/asob/SoundGst.cpp: Use the new GstUtil for obtaining an
324         audio sink.
326 2008-02-22 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
328         * po/Makefile.am: add Swedish translation.
329         
330 2008-02-22 Bastiaan Jacques <bastiaan@bjacques.org>
332         * libmedia/gst/VideoDecoderGst.cpp: Be more verbose about a missing
333         gstreamer-ffmpeg.
335 2008-02-22 Sandro Santilli <strk@keybit.net>
337         * testsuite/MovieTester.cpp: don't use log_debug for test
338           results, or they might never come out.
340 2008-02-22 Markus Gothe <nietzsche@lysator.liu.se>
342         * gui/gnash.cpp: Changed 2007 -> 2008.
344 2008-02-22 Sandro Santilli <strk@keybit.net>
346         * extensions/fileio/Makefile.am: don't try to build the
347           test if deps are not met (Ming).
348         * libmedia/Makefile.am: we don't support libmad anymore.
350 2008-02-22 Hong Yu <hongyu@emsoftltd.com>
352         * configure.ac, gui/Makefile.am, libmedia/Makefile.am,
353           libmedia/sound_handler.h, libmedia/ffmpeg/AudioDecoderFfmpeg.cpp,
354           libmedia/ffmpeg/AudioDecoderFfmpeg.h,
355           libmedia/ffmpeg/VideoDecoderFfmpeg.cpp,
356           libmedia/ffmpeg/VideoDecoderFfmpeg.h,
357           libmedia/ffmpeg/ffmpegNetStreamUtil.cpp,
358           libmedia/ffmpeg/ffmpegNetStreamUtil.h,
359           libmedia/ffmpeg/sound_handler_sdl.cpp,
360           libmedia/ffmpeg/sound_handler_sdl.h,
361           po/Makefile.am, pythonmodule/Makefile.am,
362           server/Makefile.am, server/asobj/Makefile.am,
363           server/asobj/NetConnection.cpp, server/asobj/NetConnection.h,
364           server/asobj/NetStreamFfmpeg.cpp, server/asobj/NetStreamFfmpeg.h,
365           server/parser/Makefile.am, server/parser/video_stream_def.cpp,
366           server/parser/video_stream_def.h, server/vm/Makefile.am,
367           utilities/Makefile.am:
368           Re-enable ffmpeg backend option.
370 2008-02-22 Sandro Santilli <strk@keybit.net>
372         * cygnal/cygnal.cpp: don't call LogFile::openLog explicitly,
373           it should be done automatically now.
374         * libbase/log.{cpp,h}: don't open a log file if not needed
375           (open on demand).
377 2008-02-22  Rob Savoye  <rob@ute.welcomehome.org>
379         * libamf/amf.cpp: Eliminate warnings.
380         * libamf/lcshm.cpp: Delete[] tmp, not ptr. Return ptr.
382 2008-02-21  Rob Savoye  <rob@ute.welcomehome.org>
384         * macros/docbook.m4: Don't use the POSIX shell wrappers for the
385         Docbook2X utilities, only use the perl versions. If we can't find
386         usable wrappers, then drop back to using the lower level tools
387         like we used to.
389 2008-02-22 Sandro Santilli <strk@keybit.net>
391         * testsuite/libamf.all/test_sol.cpp: use getSOLSafeDir for writing
392           SOL files.
393         * Makefile.am: don't list 'doc' subdir twice in DIST_SUBDIRS.
395 2008-02-21 Sandro Santilli <strk@keybit.net>
397         * testsuite/misc-swfmill.all/Makefile.am: drop unneeded references
398           to the Dejagnu.swf file.
399         * Makefile.am, configure.ac, packaging/Makefile.am,
400           packaging/debian/Makefile.am, packaging/doc/Makefile.am,
401           packaging/ipkg/Makefile.am, packaging/redhat/Makefile.am:
402           fine-tune Makefile.ams, gets distcheck a further.
404 2008-02-21 Bastiaan Jacques <bastiaan@bjacques.org>
406         * libmedia/gst/gstflvparse.c: Always send a GstMessage when a function
407         is encountered (not just for onMetaData). Store the function name in a
408         special tag.
409         * server/asobj/NetStream.{cpp,h}: Change onMetaData to be generic for
410         any function called from an FLV.
411         * server/asobj/NetStreamGst.cpp: Parse out the function name and call
412         processNotify with the remainder of the tag.
414 2008-02-21 Sandro Santilli <strk@keybit.net>
416         * testsuite/misc-ming.all/Makefile.am: don't try to build
417           PrototypeEventListenersTest.swf if Ming version doesn't support it.
418         * configure.ac: set version to 0.8.2
419         * po/{cs,de,es,fr,it}.po: update-po
421 2008-02-20 Bastiaan Jacques <bastiaan@bjacques.org>
423         * gui/gtk.cpp: Reinstate a call to prepDrawingArea that was removed by
424         accident.
426 2008-02-20 Bastiaan Jacques <bastiaan@bjacques.org>
428         * libbase/rc.{cpp,h}: Add a configuration item for the gstreamer
429         audiosink. It is possible to use a pipeline in the configuration
430         option similar to gst-launch. Implementation by Sean McNamara
431         <smcnam@gmail.com> (committed with some small modifications).
432         * libmedia/gst/GstUtil.{cpp,h}: Static Gstreamer utility class.
433         * libmedia/gst/SoundGst.cpp: Use the configuration audio output
434         pipeline.
435         * server/asobj/NetStreamGst.cpp: Likewise, and don't attempt to load
436         the flvdemux element, since it's loaded statically.
437         * libmedia/gst/gstflvdemux.c: Make sure that the element name doesn't
438         conflict with an existing flvdemux.
439         * libmedia/gst/gnash_gst_version.h: Utility macros for dealing with
440         Gstreamer versions. Unused for now.
442 2008-02-20 Sandro Santilli <strk@keybit.net>
444         * server/vm/ASHandlers.cpp (CommonGetUrl): revert the
445           loadVariables/targetLoad flags handling, as it broke
446           uptoten.com. Will do better research after release..
448 2008-02-20 Sandro Santilli <strk@keybit.net>
450         * server/vm/ASHandlers.cpp (ActionImplementsOp): better logging,
451           catch bogus opcodes.
452         * server/vm/ASHandlers.cpp (CommonGetUrl): only loadVariables if
453           targetLoad flag is set (tested). Log an SWF error if loadVariables
454           is set but targtLoad is clear.
456 2008-02-20 Bastiaan Jacques <bastiaan@bjacques.org>
458         * server/parser/video_stream_def.cpp: Don't make a fuss about embedded
459         video definitions without a real codec or video data, because they are
460         frequently (or perhaps always) used as to place NetStream videos on 
461         the stage.
463 2008-02-20 Sandro Santilli <strk@keybit.net>
465         * server/: gnash.h, impl.cpp: add an additional optional
466           argument to create_movie and create_library_movie to
467           post data.
468         * server/movie_root.{cpp,h}: change loadMovie interface to
469           take an optional POST data string.
470         * server/sprite_instance.{cpp,h}: extend ::loadMovie to 
471           take an aptional POST data string, fix MovieClip.loadMovie
472           to honour second argument [GET/POST].
474 2008-02-20  Rob Savoye  <rob@ripple.welcomehome.org>
476         * testsuite/libamf.all/test_lc.cpp: Don't try a bogus test for
477         findListeners() for now. The code works, but the test case is
478         broken.
480         * configure.ac: Don't build C/asspec/Makefile, it's never been
481         used anyway. Use new variables for testing if paths were found.
483 2008-02-20 Sandro Santilli <strk@keybit.net>
485         * doc/C/gnash.xml, doc/C/usermanual/installation/configuration.xml:
486           docbook2texi complained about an underscore in an entity name,
487           so renamed 'cross_compiling' to 'crosscompiling'.
489 2008-02-20 Sandro Santilli <strk@keybit.net>
491         * doc/C/fdl-appendix.xml: in DocBook 4.0, docinfo tag was
492           replaced with appendixinfo (in an appendix context).
493           See
494           http://www.museum.state.il.us/ismdepts/library/linuxguides/docbook/docinfo.html.
495         * doc/C/app_authors.xml: copy 'Ignacio Casta�o' name from
496           gameswf sources (seems to be better accepted by docbook2pdf). 
497         * doc/C/amf.xml, doc/C/rtmp.xml: use appropriate sect levels
498           matching with inclusion of entities.
499         * doc/C/usermanual/usage.xml: fix mismatch in <row> tag nesting.
501 2008-02-20 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
503         * libbase/log.{cpp,h}: General cleanup: pass strings by const
504           reference. Drop overloaded operators for LogFile class in favour
505           of the template that was already there. Remove unused Verbose class.
506           Comment out apparently unused but possible useful methods 
507           getEntry() and getState(). Drop unused variables. Write the same
508           to stdout as to logfile; move filtering of debug messages to the
509           logging functions. Add but comment out new boost::format logging
510           functions.
512 2008-02-19  Rob Savoye  <rob@ute.welcomehome.org>
514         * doc/C/gnash.xml: Beat back into a semblance of shape. Still
515         needs massive work, but at least the chapters are in order.
517 2008-02-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
519         * libbase/log.{h,cpp}: drop log_msg.
520         * everywhere: replace unspecific log_msg with appropriate log call;
521           mainly log_debug but occasionally error, parse or security.
523 2008-02-19  Rob Savoye  <rob@ripple.welcomehome.org>
525         * doc/C/Makefile.am: Use newer wrappers for docbook2x tools
526         instead of the old two step process.
527         * macros/docbook.m4: Look for alternate names for docbook
528         utlities. Find docbook2pdf. Fix automake conditionals.
530 2008-02-19  Rob Savoye  <rob@ripple.welcomehome.org>
532         * macros/docbook.m4: Look for the scripts with a .pl extension if
533         they aren't found, as Gentoo renamed these programs.
535         * doc/C/Makefile.am: Build Cygnal man page too.
537 2008-02-19 Sandro Santilli <strk@keybit.net>
539         * testsuite/swfdec/gen_run_swfdec_testsuite.sh: fix sending of
540           custom flags to swfdec_gnash_tester.
541         * testsuite/swfdec/swfdec_gnash_tester: print actual command
542           invocation to stderr.
543         * testsuite/simple.exp: reset the timeout on parsing NOTE or
544           swfdec testsuite will run longer then 600 seconds..
545         * testsuite/swfdec/REALTIME: add netstream-onmetadata.swf
547 2008-02-19 Sandro Santilli <strk@keybit.net>
549         * server/as_value.{cpp,h}: add optional second argument
550           to doubleToString static method, to specify a base
551           (defaults to 10).
552         * server/asobj/Number.cpp: implement Number.toString(<radix>).
553         * testsuite/actionscript.all/Number.as: successes.
554         * testsuite/swfdec/PASSING: successes.
556 2008-02-19 Sandro Santilli <strk@keybit.net>
558         * testsuite/actionscript.all/Number.as: add test for toString(<radix>)
560 2008-02-19 Sandro Santilli <strk@keybit.net>
562         * server/asobj/Number.cpp: log UNIMPLEMENTED for
563           Number.toString(<radix>)
564         * server/asobj/xml.{cpp,h}: fix getBytesLoaded/Total to return
565           undefined when nothing was loaded (reguardless of the .loaded
566           property setting).
567         * libbase/rc.{cpp,h}: return as soon as directive matches
568           pattern while parsing 'set' lines.
569         * testsuite/libamf.all/Makefile.am: set GNASHRC to use
570           testsuite-specific configuration.
572 2008-02-18  Rob Savoye  <rob@ute.welcomehome.org>
574         * doc/glossary.xml: Add id tags to all glossdivs.
575         
576         * doc/C/cygnal-man.xml: New manpage for Cygnal.
577         * doc/C/Makefile.am: Build Cygnal manpage too.
579 2008-02-19 Sandro Santilli <strk@keybit.net>
581         * gui/Player.cpp: don't remove the logfile if not enabled.
582         * gui/gnash.cpp: set write log to rcfile, not directly on the
583           LogFile (handling of -w). This is to cope with Player class
584           way of initializing log file.
585         * libbase/rc.cpp: don't use log_XXX during construction, as
586           those will need a constructed RcInitFile to work properly.
587         * libbase/log.cpp: get "write log" option from RcFile.
588           Fixes forced logfile writing from gprocessor, and should
589           make Player handling of the flag obsoleted.
591 2008-02-18 Sandro Santilli <strk@keybit.net>
593         * testsuite/gnashrc.in: disable writing to the logfile..
594         * server/asobj/xml.{cpp,h}: better compatibility:
595           return undefined from XML.getBytesTotal() when not
596           loading, return last-load info when load ends.
598 2008-02-18 Sandro Santilli <strk@keybit.net>
600         * libbase/LoadThread.cpp: update _streamSize on eof, as the
601           http-advertised stream size can't be relied upon.
603 2008-02-18 Russ Nelson <nelson@crynwr.com>
605         * libmedia/gst/VideoDecoderGst.cpp
606         * When a movie is going to stream video, it creates DEFINEVIDEOSTREAM
607           with a codec id of zero.  That currently generates an ERROR when it
608           only means that the real video will be streamed later.  Instead, 
609           we'll just log it.
610         * Change the wording to make it clear that it's codec #0, send it
611           to log_debug(), and nuke the pipeline.
613 2008-02-18 Sandro Santilli <strk@keybit.net>
615         * server/parser/video_stream_def.cpp (readDefineVideoStream): fix
616           ensureBytes call [was 1 byte short].
617         * server/asobj/xml.{cpp,h}: second attempt at XML.sendAndLoad.
618           This time is a bit more tested.
620 2008-02-17 Sandro Santilli <strk@keybit.net>
622         * server/asobj/xml.{cpp,h}: implement XML.sendAndLoad (untested).
623           See bug #22334.
625 2008-02-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
627         * gui/gtk.cpp: add mnemonics to menu bar for accessibility.
628         * po/gnash.pot: updated pot file.
629         * po/de.po: updated translation.
631 2008-02-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
633         * server/stream.cpp: throw parser exception if asked to read more than
634           32 bits, assert only to prevent buffer overflow. Fixes bug #22319.
636 2008-02-16  Rob Savoye  <rob@ripple.welcomehome.org>
638         * gui/Makefile.am: Add GLIB_CFLAGS. Install shell with
639         INSTALL_DATA.
640         * gui/am-frag/gtk.am: Include X11_CFLAGS to keep NetBSD happy.
641         * pugin/Makefile.am: Include X11_CFLAGS to keep NetBSD happy.
642         * plugin/klash/Makefile.am: Include X11_CFLAGS to keep NetBSD
643         happy.
644         * gui/gnash.in: Update copyright.
645         
646         * macros/boost.m4: The serialization is optional, not required. 
647         * macros/pthread.m4: Match all BSD hosts when setting flags.
649         * Makefile.am: Always recurse into doc.
651         * doc/C/Makefile.am: Fix typo, one $ not two for make
652         variables. Link to directories if we're in a build tree so
653         including images and other xml pages actually works. Link to
654         default output files if the Docbook tools aren't installed.
655         * doc/C/dumpshm-man.xml, gnash-man.xml, gprocessor-man.xml,
656         soldumper-man.xml: Remove old names, their suffix has changed to
657         .man-xml.
659         * server/edit_text_character.h, character.h: Put virtual before
660         the return type to eliminate a warning,
661         * packaging/install-gnash.sh: Drop GPL part, make uninstall work
662         correctly. Fix install path to use /usr/lib so we don't have to
663         hack ld.so.conf.
665         * packaging/snapshot.am: Set the name higher up so we don't have
666         to add "cvs" everywhere for the snapshot version. Build the
667         tarball with the correct path. Don't bail om some errors, they're
668         normal on some platforms. Add host_os to the tarball name.
670         * doc/C/dumpshm-man.xml, gprocessor-man.xml, soldumper-man.xml,
671         gnash-man.xml: Rename all man page source to *.man-xml so we can
672         use a SUFFIX rule for transformations.
673         * doc/C/Makefile.am: Build manpages using a SUFFIX rule. Cleanup
674         how manpages get installed so it works when building packages.
675         * packaging/doc: New directory to hold prebuilt docs for packaging
676         on braindead systems without a working Docbook2X.
677         actionscript.html.in
678         * packaging/doc/actionscript.info.in, dumpshm.1.in, gnash.1.in,
679         gnash.html.in, gnash.info.in, gprocessor.1.in, soldumper.1.in:
680         Prebuilt docs, only used for building binary packages on systems
681         without Docbook2X support.
683 2008-02-16 Sandro Santilli <strk@keybit.net>
685         * server/vm/ASHandlers.cpp (ActionInitArray): use as_value::to_int
686           to get array size. Fixes bug #22318.
688 2008-02-16 Sandro Santilli <strk@keybit.net>
690         * testsuite/swfdec/: README, REALTIME,
691           gen_run_swfdec_testsuite.sh, swfdec_gnash_tester:
692           Add support for running certain testcases at
693           nominal FPS speed, to make test results more stable.
695 2008-02-15 Sandro Santilli <strk@keybit.net>
697         * libbase/URL.cpp: rewrite parse_querystring using
698           boost::tokenizer, fixing the new test.
699         * testsuite/libbase/URLTest.cpp: new tests fixed.
701 2008-02-15  Rob Savoye  <rob@ripple.welcomehome.org>
703         * doc/C/Makefile.am: If the docbook tools don't exist.use a stored
704         copy of the final output file. While this is a bit tacky, it helps
705         when building binary packages on systems where the DocBook tools
706         don't work correctly. Potentially old docs are better than none.
707         * doc/C/{dumpshm.1,gnash.info, soldumper.1, actionscript.html,
708         gnash.1, gnash.texi, actionscript.texi, gnash.html.in
709         gprocessor.1: Copies of prebuilt documentation. This gives one
710         working documentaion regalrdless of whether they have the Docbook
711         tools installs. Useful for building binary packages.
713         * macros/glib.m4: Add extra glib for include path, and drop the
714         extra glib for the glibconfig.h include path. This let's Gnash
715         build on NetBSD 4.0.
716         * server/as_value.cpp: Use finite if isfinite doesn't exist. Fixes
717         FreeBSD build problem.
718         * libbase/FLVParser.cpp:  Include string and iofwd, and add std
719         namespace to fix generic BSD build problem.
721 2008-02-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
723         * server/parser/button_character_def.cpp: use ensureBytes, fix more
724           assertion failures.
726 2008-02-15 Sandro Santilli <strk@keybit.net>
728         * testsuite/libbase/URLTest.cpp: failing test for url-decoding.
729         * server/as_object.{cpp,h}: add getURLEncodedVariables method.
730         * server/sprite_instance.cpp (loadVariables): delegate vars
731           url-encoding to the new specialized method.
733 2008-02-15 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
735         * server/swf/tag_loaders.cpp: (define_bits_lossless_2_loader) log
736           malformed SWF error and return if height or width is 0 (prevents
737           assertion failure in image.cpp (rgba).
738         * server/swf/PlaceObject2Tag.cpp: use ensureBytes, fix more assertion
739           failures on malformed SWFs.
740         * server/parser/text_character_def.cpp: add a missing ensureBytes.
742 2008-02-15 Sandro Santilli <strk@keybit.net>
744         * server/parser/sprite_definition.cpp: handle END tags before
745           advertised end offset of a DEFINESPRITE tag.
747 2008-02-15 Sandro Santilli <strk@keybit.net>
749         * testsuite/swfdec/swfdec_gnash_tester: accept a second argument
750           to specify additional flags. Currently unused by might get
751           handy to augment sleep time for some load to be more likely
752           to complete in time.
753         * utilities/processor.cpp: don't forget to sleep between stage
754           placement and first advance. Fixes instable results with
755           swfdec's loadvariable* testcases.
757 2008-02-14 Sandro Santilli <strk@keybit.net>
759         * server/asobj/MovieClipLoader.cpp (loadClip): fetch bytes
760           loaded/total from the loaded clip, not the replaced one.
761         * server/as_value.cpp (to_string): movieclips oughta evaluate
762           to the empty string only if dangling and not rebound.
763         * testsuite/actionscript.all/MovieClipLoader.as: test that rebound
764           soft refs convert to non-empty string.
766 2008-02-14 Sandro Santilli <strk@keybit.net>
768         * server/parser/BitmapMovieDefinition.h: advertise one frame loaded,
769           fixes last failure in loadMovieTest.swf.
770         * server/sprite_instance.cpp (loadMovie): copy clip-events to loaded
771           movie. Fixes loadMovieTest.swf.
772         * testsuite/misc-ming.all/: loadMovieTest.c, loadMovieTestRunner.cpp:
773           Test that clip event handlers defined for a clip are copied to
774           movies loaded into them. Improve the test runner to follow
775           instructions of the self-contained one and add consistency checking
776           (failing with Gnash, I'm working to fix it).
779 2008-02-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
781         * server/stream.cpp: also check for overflow of a signed int to keep
782           tu_file happy.
784 2008-02-14 Sandro Santilli <strk@keybit.net>
786         * server/parser/BitmapMovieDefinition.{cpp,h}:
787           Implement getBytesLoaded/getBytesTotal for loaded bitmaps
788           (not 100% correct but fixing real-world movies).
789           Fixes:
790           http://www.veritaserum.com/flashgames/jp/puzzledharry/puzzled-harry.swf
792 2008-02-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
794         * server/stream.cpp: throw parser exception in stream::open_tag() if
795           reported tag length is negative. Fixes assertion failures in
796           zlib adapter.
798 2008-02-14  Rob Savoye  <rob@ripple.welcomehome.org>
800         * utilities/dumpshm.cpp: Use struct shmid_ds instead of the
801         depreciated shminfo, so this works on *BSD.
803 2008-02-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
805         * gui/gtk{sup.h,.cpp}: set up key event callbacks on the toplevel
806           window after drawing area has been reparented. The new
807           setupWindowEvents() function splits off those functions to save
808           resetting other callbacks unnecessarily. Makes key events
809           work in the fullscreen plugin.
810         * server/asobj/xml.{cpp,h}: fix small leak of xmlChar when the node
811           is empty. Replace reinterpret_cast<>s with nice, safe, null-terminated
812           stringstreams. Comment out some questionable headers.
814 2008-02-14 Sandro Santilli <strk@keybit.net>
816         * server/sprite_instance.cpp (on_event): reword the onLoad handling so
817           that sprites with a registered class won't skip the user-defined
818           handler. Fixes the new tests in registerClassTest2.c and one of the
819           bugs exposed by FlowPlayer.
820         * testsuite/misc-ming.all/registerClassTest2.c: expect failures in
821           order of execution of the onLoad handlers (this might be the reason
822           for the overly complex handling of onLoad handler in current gnash).
824 2008-02-14 Sandro Santilli <strk@keybit.net>
826         * testsuite/misc-ming.all/registerClassTest2.c: test that user-defined
827           onLoad handler is still invoked if no clip events are defined and
828           the object is not dynamic (placed by onClipEvent).
830 2008-02-14 Sandro Santilli <strk@keybit.net>
832         * server/sprite_instance.cpp (on_event): still look for a user-defined
833           onLoad handler if the sprite is dynamic. Fixes latest testcase, but
834           not FlowPlayer yet (which was the inspiration for the previous
835           test).
836         * testsuite/misc-ming.all/registerClassTest.c: test that used-defined
837           onLoad should be called when available for dynamic clips placed
838           by attachMovie (even when 'clip' event flags are all zero..).
840 2008-02-13 Sandro Santilli <strk@keybit.net>
842         * server/sprite_instance.{cpp,h}: always register as a key and mouse
843           listener, not relying on equipment of a known handler (as that would
844           miss prototype assignments).
845         * testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp: fix
846           bogus check.
848 2008-02-13 Sandro Santilli <strk@keybit.net>
850         * testsuite/misc-ming.all/Makefile.am: enable test
851           PrototypeEventListenersTestRunner
853 2008-02-13 Sandro Santilli <strk@keybit.net>
855         * testsuite/actionscript.all/with.as: use ASM for setTarget in
856           with() blocks, or Ming 0.4.0.beta6 would consider it a function
857           call (as done by the official ide, so "correctly").
858         * testsuite/actionscript.all/targetPath.as: AS targetPath doesn't
859           change in Ming 0.4.0.beta6, just the ASM label.
861 2008-02-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
863         * testsuite/misc-ming.all/PrototypeEventListeners.as: more tests.
864         * testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp:
865           add tests.
867 2008-02-13 Sandro Santilli <strk@keybit.net>
869         * doc/C/usermanual/usage.xml: document the new -F switch of gnash.
871 2008-02-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
873         * testsuite/misc-ming.all/PrototypeEventListeners.as: a few more
874           tests.
875         * testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp:
876           automatic test runner.
877         * testsuite/misc-ming.all/Makefile.am: enable tests.
879 2008-02-13 Sandro Santilli <strk@keybit.net>
881         * server/asobj/SharedObject.cpp: fix intermediate directories
882           creation, while still failing if the SOLSafeDir doesn't exist.
883           Fixes one of the bugs in #22013.
885 2008-02-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
887         * testsuite/misc-ming.all/PrototypeEventListeners.as: test mouse
888           events on MovieClip prototypes.
890 2008-02-13 Sandro Santilli <strk@keybit.net>
892         * server/asobj/SharedObject.cpp (flush): check return code from
893           sol::writeFile.
894         * libamf/sol.cpp (writeFile): check ostream operations.
895         * testsuite/actionscript.all/SharedObject.as: add a few more tests
896           and expect the current failures.
898 2008-02-13 Sandro Santilli <strk@keybit.net>
900         * testsuite/misc-ming.all/Makefile.am: instanceNameTestRunner
901           is a _SCRIPT, not a _PROGRAM.
903 2008-02-12  Rob Savoye  <rob@ute.welcomehome.org>
905         * plugin/klash/Makefile.am: Test permissions before trying to
906         install. Install services from srcdir.
908         *  packaging/debian/gnash-dev.dirs, gnash-dev.install: Don't build
909         dev packages, Gnash's internal APIs change to fast.
910         * packaging/debian/gnash-klash.install: Install kde-gnash, not
911         klash.
912         * packaging/debian/changelog: Update.
913         * packaging/debian/control: Drop gnash-dev. 
914         
915         * utilities/Makefile.am: Add INTLLIB, and actually use
916         AM_LDFLAGS.
917         * utilities/dumpshm.cpp: Drop unused support for accessing POSIX
918         memory as raw files. Normalize output so some things work without
919         -v. Add --version option. Re move unused options left from prior
920         project.
921         * utilities/processor.cpp: Use printf instead of log_msg for
922         --version so we can always see it.
923         * utilities/soldumper.cpp: Add support for --help and --version
924         per GNU standards. Use printf instead of log_msg for --version so
925         we can always see it. Use cout instead of log_msg for all outout
926         so we don't contaminate the main log file.
927         
928         * doc/C/dumpshm-man.xml, gprocessor-man.xml, soldumper-man.xml:
929         New man pages for utilities.
930         * doc/C/asspec/asspec.xml:  Update contact info and version.
931         * doc/C/asspec/asspec-C.omf: Update contact info and version.
932         * doc/C/asspec/Makefile.am: Add new manpages.
933         * doc/C/gnash.xml: Update contact info and version.
935 2008-02-12 Sandro Santilli <strk@keybit.net>
937         * testsuite/misc-ming.all/Makefile.am: enable the new 
938           instanceNameTestRunner test.
939         * server/sprite_instance.{cpp,h}: take a pointer to string in
940           add_display_object and replace_display_object, so that NULL gets
941           back to having a meaning.
942         * server/swf/PlaceObject2Tag.{cpp,h}: pass NULL to add_display_object
943           and replace_display_object if a name wasn't specified by user.
945 2008-02-12 Sandro Santilli <strk@keybit.net>
947         * testsuite/gnashrc.in: force sound enabled.
949 2008-02-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
951         * server/character.h: take const std::string& for set_name. 
952         * server/sprite_instance.{cpp,h}: use const std::string& instead of
953           const char* for display_object functions.
954         * server/swf/tag_loaders.cpp: already no need to pass c strings to
955           export.
956         * server/swf/PlaceObject2Tag.cpp: don't use c_str().
958 2008-02-12 Sandro Santilli <strk@keybit.net>
960         * testsuite/misc-ming.all/: Makefile.am, instanceNameTest.c:
961           Add a test showing that NO name is different then EMPTY name
962           in a PlaceObject tag (previous Ben's patch broke this).
964 2008-02-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
966         * server/character.h: take const std::string& for set_name. 
967         * server/sprite_instance.{cpp,h}: use const std::string& instead of
968           const char* for display_object functions.
969         * server/swf/tag_loaders.cpp: already no need to pass c strings to
970           export.
971         * server/swf/PlaceObject2Tag.cpp: don't use c_str().
973 2008-02-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
975         * server/stream.{cpp,h}: drop buggy char* read_string()
976           and (unused) char* read_string_with_length(...), which sometimes
977           returned NULL causing a parser exception. Fixes parsing of 
978           http://www.e4.com/reaper/games/soulslapper/flas/main.swf (SWF9)
979           (to an extent).         
980         * server/swf/tag_loaders.cpp: use read_string (std::string& to)
981           everywhere.
982         * server/swf/PlaceObject2Tag.{cpp,h}: use std::string, not char* for
983           m_name.
984         * server/parser/shape_character_def.cpp: bring indentation into
985           some sort of shape.
987 2008-02-12 Sandro Santilli <strk@keybit.net>
989         * server/asobj/MovieClipLoader.cpp: send the onLoadInit event
990           at the correct time (after actions in first frame of loaded resource
991           were executed).
993 2008-02-12 Sandro Santilli <strk@keybit.net>
995         * server/parser/button_character_def.{cpp,h}: properly parse button
996           records with filters and blend mode. Fixes bug #22094.
998 2008-02-12 Sandro Santilli <strk@keybit.net>
1000         * server/parser/button_character_def.cpp: print state info for
1001           button records (debuggin).
1003 2008-02-12 Bastiaan Jacques <bastiaan@bjacques.org>
1005         * libmedia/gst/SoundGst.cpp: Use the right scale for volume (0-1, not
1006         0-10).
1008 2008-02-12 Sandro Santilli <strk@keybit.net>
1010         * server/sprite_instance.cpp: drop "invisible mask in MouseEntityFinder"
1011           FIXME message (nothing to fix).
1013 2008-02-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1015         * server/parser/shape_character_def.cpp: add some checks I missed last
1016           time.
1018 2008-02-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1020         * server/parser/shape_character_def.cpp: add ensureBytes/Bits checking
1021           to fix assertion failures with malformed SWFs. Fixes bug #22288.
1023 2008-02-12 Sandro Santilli <strk@keybit.net>
1025         * server/edit_text_character.{cpp,h}: use instance setting for
1026           "readonly", not definition one. Allows dynamically-created
1027           TextFields to be used as input ones.
1029 2008-02-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1031         * server/parser/edit_text_character_def.cpp: use ensureBytes checking,
1032           fixes some zzuf assertion failures.
1033         * server/parser/text_character_def.cpp: use ensureBytes checking.
1035 2008-02-11 Udo Giacomozzi <udo.gnu@nova-sys.net>
1037         * server/button_character_instance.cpp, server/edit_text_character.cpp,
1038           server/sprite_instance.cpp, server/video_stream_instance.cpp,
1039           server/character.h: drop XXX_display_callback methods
1040         * server/dlist.cpp: generally check characters bounds before calling it's
1041           display() method
1042         * server/generic_character.cpp, server/edit_text_character.cpp, 
1043           server/sprite_instance.cpp: don't check boundsInClippingArea() as it is
1044           done in DisplayList now 
1046 2008-02-11 Sandro Santilli <strk@keybit.net>
1048         * server/asobj/Stage.cpp: warn only once about unimplemented calls.
1050 2008-02-11 Udo Giacomozzi <udo.gnu@nova-sys.net>
1052         * server/character.{cpp,h}: new boundsInClippingArea() function
1053         * server/generic_character.{cpp,h}: move display() implementation to .cpp
1054           file and add call to boundsInClippingArea()
1055         * server/edit_text_character.cpp: add call to boundsInClippingArea()
1056         * server/sprite_instance.cpp: remove clipping check using 
1057           add_invalidated_bounds and do simple (single) bounds check instead   
1059 2008-02-11 Sandro Santilli <strk@keybit.net>
1061         * testsuite/actionscript.all/MovieClipLoader.as: test 'this' in
1062           onLoadInit callback.
1064 2008-02-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1066         * libbase/rc.{h,cpp}: use boost/cstdint for uint32_t. Cast SHM key 
1067           to key_t only at return. Use 'splashScreen', not splash_screen in
1068           the rcfile for naming consistency. It's as yet unused, so shouldn't
1069           cause any problems.
1070         * testsuite/libbase/gnashrc.in: change test to use splashScreen.          
1072 2008-02-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1074         * gui/gtk.cpp: Don't use is_muted() to set the 'Sound' menu toggle,
1075           as the function seems to have changed.
1076         * libbase/rc.cpp: Fix a nice buffer overrun arising from long
1077           comments in the rcfile.
1079 2008-02-10 Bastiaan Jacques <bastiaan@bjacques.org>
1081         * libamf/sol.cpp: in writeFile, allocate enough space to account
1082         for two padding bytes, which are written depending on the AMF element
1083         type. Fixes bug #22188.
1085 2008-02-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1087         * server/sprite_instance.cpp, server/movie_root.cpp: const correct
1088           some iterators.
1089         * server/asobj/LoadVars.cpp: ditto.
1090         * libbase/utf8.h: make comments more Doxygen-friendly.
1092 2008-02-09  Rob Savoye  <rob@ripple.welcomehome.org>
1094         * configure.ac: Add a --enable-allstatic option to produced a
1095         dynamically linked Gnash, but with dependant librairies statically
1096         linked in. This reduces dependancy problems for binary tarballs,
1097         plus the plugins still build as shared libs still.
1098         * utilities/Makefile.am: Wrap our dependant libraries with
1099         --static and -shared to force static linking if --enable-allstatic
1100         is specified.
1101         * gui/Makefile.am: Wrap our dependant libraries with --static and
1102         -shared to force static linking if --enable-allstatic is
1103         specified.
1105         * packaging/install-gnash.sh: Install everything correctly.
1106         * packaging/snapshot.am: Fix rules to build binary tarballs
1107         correctly. Add snapshot-rpm target that builds an rpm which is
1108         properly cvs date stamped.
1109         * packaging/redhat/gnash.spec: Update to work with cvs HEAD.
1111 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1113         * libmedia/sound_handler.h: Add a few notes.
1114         * libmedia/gst/SoundHandlerGst.{h,cpp}: Make SoundHandlerGst thread
1115         safe, because the "loading thread" will call at least create_sound.
1116         Since most methods in the class merely call a SoundGst method,
1117         introduce a set of member template functions that will a) make these
1118         operations thread safe, b) replace the RV_IF_BAD_HANDLE-style macros
1119         and c) save typing. Fixes bug #22264.
1121 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1123         * libmedia/gst/SoundGst.cpp: Use mp3parse only if it's available,
1124         for instance in the absence of plugins-ugly.
1126 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1128         * libmedia/gst/SoundGst.cpp: Make sure source and sink pad
1129         actually reflect their names on the bin used for mp3parse.
1131 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1133         * libmedia/gst/SoundGst.cpp: Shuffle linking order so that
1134         volume will happen after conversion.
1136 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1138         * libmedia/gst/SoundGst.cpp: Disable the seeking assistant
1139         mp3parse module for now. Add a small amount of error output.
1141 2008-02-09 Sandro Santilli <strk@keybit.net>
1143         * testsuite/misc-ming.all/loadMovieTest.c: check that
1144           getBytesLoaded/Total for static sprites should not proxy
1145           to the root movie def.
1146         * libmedia/gst/SoundHandlerGst.cpp (dtor): don't abort
1147           if destructed before the VM is initialized (gnash nonexistent
1148           will trigger that behaviour).
1150 2008-02-08 Sandro Santilli <strk@keybit.net>
1152         * server/movie_root.cpp (setRootMovie): cleanup display list
1153           after actions processing. Fixes bug #22258.
1154         * server/swf/tag_loaders.cpp (import_loader): read strings into
1155           a std::string rather then a temp newly allocated char[].
1156           (fixes attempts to construct a string from a null).
1158 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1160         * libmedia/gst/SoundGst.cpp: Fix typo.
1162 2008-02-08 Bastiaan Jacques <bastiaan@bjacques.org>
1164         * libmedia/gst/SoundHandlerGst.{h,cpp}: New Gstreamer sound_handler
1165         implementation. Manages SoundGst objects.
1166         * libmedia/gst/SoundGst{h,cpp}: Sound class representing a single
1167         sound.
1168         * libmedia/gst/gstbuffersrc.{c,h}: Home-grown element derived from
1169         gstappsrc; it is a random-access element. Used for SoundGsts.
1170         * libmedia/AudioDecoderNellymoser.{cpp,h}: Add another decode()
1171         that returns floats, since Gstreamer can handle them.
1172         * libmedia/Makefile.am: Compile new files; stop compiling removed
1173         files.
1174         * libmedia/sound_handler.h: Drop unused (and evil)
1175         {att,de}tach_aux_streamer methods.
1176         * server/Makefile.am: Link in Gstreamer libs if requested.
1177         * server/asobj/NetStreamGst.cpp: Remove unused include.
1179 2008-02-08 Sandro Santilli <strk@keybit.net>
1181         * testsuite/misc-mtasc.all/level87.as, testsuite/swfdec/PASSING:
1182           Successes after the MovieClip.loadMovie fixes.
1184 2008-02-08 Sandro Santilli <strk@keybit.net>
1186         * server/movie_root.h: add TODO item in loadMovie method.
1187         * server/sprite_instance.cpp (sprite_load_movie): queue the
1188           load request using movie_root::loadMovie. Fixes a bug
1189           loading in removed or aliased sprites (expected behaviour
1190           is we load to a string target, with late evaluation of it).
1191         * server/asobj/: LoadVars.cpp, xml.cpp: don't forget to clear
1192           the internal timer on destruction.
1194 2008-02-08 Sandro Santilli <strk@keybit.net>
1196         * server/sprite_instance.cpp (on_event): skip seeking for user-defined
1197           onLoad handler only if all all clip events (not just the onLoad one)
1198           are undefined.
1200 2008-02-07  Rob Savoye  <rob@ripple.welcomehome.org>
1202         * packaging/install-gnash.sh: Add file finding function, so we
1203         work correctly with the bug in Ubuntu's bash shell.
1205 2008-02-07 Sandro Santilli <strk@keybit.net>
1207         * server/edit_text_character.cpp: get default type (input/dynamic)
1208           from definition (readonly flag).
1209         * server/parser/edit_text_character_def.h: be readonly by default,
1210           statically defined textfield will always set this flag explicitly.
1211         * testsuite/misc-ming.all/DefineEditTextTest.c: test the 'type'
1212           parameter of statically defined textfields.
1214 2008-02-07 Sandro Santilli <strk@keybit.net>
1216         * server/edit_text_character.{cpp,h}: add support for
1217           TextField.type
1218         * testsuite/actionscript.all/TextField.as: additional test
1219           for TextField.type, fix a test for textWidth.
1221 2008-02-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1223         * libbase/utf8.h: document utf8 code.
1224         * server/edit_text_character.cpp: add comments, drop pointless
1225           cast.  
1227 2008-02-07 Sandro Santilli <strk@keybit.net>
1229         * server/asobj/LoadVars.cpp: fix confusing message (loading XML..)
1230         * server/array.h: sort a list, not a deque. this makes
1231           invalid custom comparators less likely to invalidate
1232           iterators, fixing bug #22239.
1233         * testsuite/actionscript.all/array.as: update expected
1234           results.
1236 2008-02-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1238         * server/asobj/Key.{cpp,h}: clean up code. Take gnash::key::code when
1239           that's what's meant; drop unnecessary assertions; use std::bitset
1240           instead of custom bit array (this is C++, after all).   
1242 2008-02-07 Sandro Santilli <strk@keybit.net>
1244         * testsuite/actionscript.all/array.as: make the test nicer with
1245           differnent sort() implementation (ie: don't change number of
1246           run tests based on number of calls to the custom comparator
1247           function)
1248         * testsuite/actionscript.all/String.as: fix a bogus test line,
1249           xcheck->check now succeeding tests, add the rcsid string.
1251 2008-02-06  Rob Savoye  <rob@ripple.welcomehome.org>
1253         * packaging/install-gnash.sh: Add OpenBSD support, and hopefully
1254         other BSDs too.
1256         * configure.ac: Don't look for mkinstalldirs on our own, it's
1257         found by autoconf.
1259         * packaging/snapshot.am, alp.am, bsd.am, deb.am, ipkg.am, rpm.am:
1260         Makefile fragments moved out of the top level where it was getting
1261         too clutters with install abd packaging targets.
1262         * Makefile.am: Move all the packaging support to the .am files
1263         packaging. Include packaging in EXTRA_DIST.
1265         * packaging/install-gnash.sh: Install script for installting
1266         binary tarballs.
1267         * extensions/launcher: New extension for launching application
1268         from a swf file. Very handy for a swf basd UI for mobile devices
1269         that use graphical menus.
1270         * extensions/launcher/launcher.cpp: Launcher support, which uses
1271         an MD5 checksum to make sure it only launches the application
1272         that's compiled in.
1273         * extensions/launcher/launcher_ext.{cpp,h}: Wrappers for the
1274         Launcher AS class.
1275         * extensions/launcher/md5.{cpp,h}: md5 calculations.
1277 2008-02-06 Sandro Santilli <strk@keybit.net>
1279         * testsuite/actionscript.all/array.as: another insane test..
1281 2008-02-06 Sandro Santilli <strk@keybit.net>
1283         * server/array.h (sort): sort a copy of elements when using a custom
1284           function, to avoid the custom function invocations to mess with
1285           the container being scanned. Fixes a memory corruption that was
1286           triggered by just-added tests in array.as, but still doesn't fix
1287           bug #22239 (must be another such case).
1289 2008-02-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1291         * libbase/utf8.{cpp,h}: take SWF version argument, use ISO-8859
1292           encoding for SWF5 and below.
1293         * server/asobj/string.cpp: pass version information to utf encoding
1294           functions.
1295         * server/edit_text_character.cpp: pass version information to encoding
1296           functions.
1297         * server/vm/ASHandlers.cpp: pass version information, use ISO-8859
1298           encoding for SWF5 and below. Restores SWF5's inability to cope with
1299           UTF-8, passes swfdec testsuite again.
1301 2008-02-06 Sandro Santilli <strk@keybit.net>
1303         * testsuite/actionscript.all/array.as: add more crazy calls, in
1304           particular one matching the problem reported on bug #22239
1305           (blocker - working to fix this).
1307 2008-02-06 Sandro Santilli <strk@keybit.net>
1309         * testsuite/actionscript.all/array.as: add a couple of additional 
1310           tests for sorting an array using a bogus custom function.
1311         * gui/kde.cpp, gui/kdesup.h: disable no-op movie control menu items
1312           (jump,step forward,back); add Refresh menu item.
1313         * gui/sdl_agg_glue.cpp: fix compiler warnings
1314         * testsuite/swfdec/PASSING: string-indexof and stringlength
1315           tests now succeed for swf > 5
1317 2008-02-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1319         * testsuite/actionscript.all/String.as: new failing tests for 
1320           SWF5 string methods. Some chr() and ord() tests now pass.
1321         * server/vm/ASHandlers.cpp: SWF4 and 5 handle multi-byte characters
1322           differently.
1323         * server/edit_text_character.cpp: use const reference.
1325 2008-02-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1327         * testsuite/actionscript.all/String.as: tests for chr() and
1328           ord().
1330 2008-02-06 Sandro Santilli <strk@keybit.net>
1332         * libbase/string_table.cpp (insert_group): only lowercase
1333           the comparison key if case-insensitive.
1334         * server/namedStrings.{cpp,h}: drop PROP_COLOR named string
1335           as it would clash with the CLASS_COLOR one in case-insensitive
1336           runs. Fixes unstable evaluation of "color" labels.
1337         * server/textformat.cpp: don't use PROP_COLOR anymore (was dropped).
1339 2008-02-06 Sandro Santilli <strk@keybit.net>
1341         * testsuite/actionscript.all/case.as: add tests showing that
1342           the current case-insensitive string_table comparison is
1343           conceptually bogus (and probably the whole global string_table
1344           is).
1346 2008-02-06 Sandro Santilli <strk@keybit.net>
1348         * testsuite/actionscript.all/case.as: use case-sensitive sorting
1349           for predictable results (case-insensitive depends on unspecified
1350           order of properties).
1352 2008-02-05 Sandro Santilli <strk@keybit.net>
1354         * testsuite/server/PropertyListTest.cpp: re-enable the tests,
1355           testing case-insensitive operations.
1356         * testsuite/generic-testrunner.sh: don't write a logfile in the
1357           same dir of the testcase, use the builddir instead.
1359 2008-02-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1361         * server/asobj/string.cpp, server/vm/ASHandlers.cpp: convert strings
1362           to wstring for string operations (length, slice, split, substr,
1363           indexOf, fromCharCode, charCodeAt, charAt, ord, chr). Fixes
1364           bug #21400.
1365         * testsuite/actionscript.all/String.as: tests should now pass.
1367 2008-02-05 Sandro Santilli <strk@keybit.net>
1369         * testsuite/misc-swfc.all/Makefile.am: distribute test sources.
1370         * testsuite/swfdec/PASSING: sync'd with master git
1372 2008-02-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1374         * testsuite/actionscript.all/String.as: add failing tests for
1375           string methods on multi-byte characters.
1377 2008-02-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1379         * server/movie_root.cpp: send unique gnash::key::code not SWFCode
1380           to event_id; edit_text_character relies on this code to work out
1381           which character was passed and SWFcode is bogus.
1382         * server/event_id.h: store gnash::key::code not SWFCode; setKeyCode
1383           converts SWFCode to a corresponding gnash::key::code.
1384         * server/gnash.h: add enum for different key code types.
1385         * server/button_character_instance.cpp: lookup SWFCode from
1386           gnash::key::code.
1387         * libbase/utf8.{cpp,h}: add {decode,encode}CanonicalString methods
1388           for converting between UTF-8 encoded std::string and std::wstring.
1389           Fix some bugs in character decoding.
1390         * server/edit_text_character.{cpp.h}: use std::wstring internally,
1391           as once we receive multi-byte characters the cursor position and
1392           std::string position are different. Wide characters mean string
1393           manipulation can stay as before. Interfaces still use std::string
1394           with conversions when necessary. Make wstring methods private. 
1395           set_text_value(const char*) -> setTextValue(const wstring&).
1396           Handles characters like Ã¶ or Â¶.
1398 2008-02-05 Bastiaan Jacques <bastiaan@bjacques.org>
1400         * libmedia/gst/VideoDecoderGst.cpp: Use a different ffdec
1401         element specific for screenvideo so that older gst-ffmpeg
1402         installations can play it.
1404 2008-02-05 Sandro Santilli <strk@keybit.net>
1406         * cygnal/testsuite/.cvsignore,
1407           cygnal/testsuite/cygnal.all/.cvsignore:
1408           standard ignores..
1410 2008-02-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1412         * libbase/utf8.{h,cpp}: make decodeNextUnicodeCharacter take a 
1413           std::string::const_iterator by ref, encodeUnicodeCharacter
1414           (presently unused) return a std::string.
1415         * server/edit_text_character.cpp: use decodeNextUnicodeCharacter.
1417 2008-02-04 Sandro Santilli <strk@keybit.net>
1419         * server/as_object.cpp (getOwnProperty): remove useless round
1420           trip (key->name->key).
1421         * server/as_object.cpp (setPropFlags): fix handling of second
1422           argument (null, array or invalid).
1423         * testsuite/actionscript.all/Global.as: add more tests for
1424           AsSetPropFlags.
1426 2008-02-03 Bastiaan Jacques <bastiaan@bjacques.org>
1428         * server/asobj/NetStreamGst.cpp: Add some more error handling and
1429         verbosity.
1431 2008-02-02 Sandro Santilli <strk@keybit.net>
1433         * testsuite/actionscript.all/TextField.as: success for the just-added
1434           test.
1435         * server/edit_text_character.cpp (format_text): expand bounding box
1436           at every line, not just at the end (when autoSize is true).
1437           Fixes bug #22216.
1439 2008-02-02 Sandro Santilli <strk@keybit.net>
1441         * testsuite/actionscript.all/TextField.as: add test for bug #22216.
1443 2008-02-01 Sandro Santilli <strk@keybit.net>.
1445         * server/swf_function.cpp (call operator): still declare named
1446           arguments as locals no matter if they were passed or not.
1447         * testsuite/actionscript.all/Function.as: add test for bug #22203.
1448         * server/parser/button_character_def.cpp (read): robustness
1449           improvement, fixes bug #22200.
1450         * server/asobj/xmlsocket.cpp (send): fix assertion. Fixes bug #22199.
1452 2008-01-31  Rob Savoye  <rob@ripple.welcomehome.org>
1454         * macros/qt.m4: Set the topdir if pkg-config exists, so it can be
1455         used later.
1456         * macros/pthreads.m4: Don't use host_cpu to match a platform. Look
1457         for pthreads, it turns out the check has been disabled by accident
1458         for quite a while... but BSD needs the -pthread flag.
1459         * utilities/Makefile.am: Add PTHREAD_CFLAGS.
1461         * libamf/amf.cpp: Oops, return original pointer as returned by
1462         new, not the incremented pointer. Use :encodeElement() for
1463         strings. Encode an array of AMF objects.
1464         * libamf/amf.h: Make all the encoding methods static.
1465         * libamf/element.{cpp,h}: Add function and variable data types,
1466         internal to Gnash. Initialize with an array of AMF objects. Create
1467         a new function block object in memory. Don't return nan, BSD
1468         doesn't support it.
1469         * libamf/lcshm.cpp: Correctly remove Listeners. Format a memory
1470         segment header. Send now works, and puts AMF objects into the
1471         memory segment.
1472         
1473         * configure.ac: Add test for IPC_INFO, which isn't portable to
1474         BSD.
1475         * server/asobj/LocalConnection.cpp: Don;t define any LC constants
1476         here, they're in libamf.lcshm.cpp now instead. Add flag for
1477         whether we are connected or not.
1478         * server/asobj/LocalConnection.h: Use LcShm class instead of Shm
1479         as a base class for shared memory.
1480         * server/vm/ASHandlers.cpp: Include unistd.h so write() is defined
1481         on BSD.
1482         * libbase/shm.cpp: BSD wants 0 cast to key_t.
1483         * utilities/dumpshm.cpp: Only look for the key if IPC_INFO exists,
1484         as we can't find the key without if for now. Optionally write the
1485         output to stdout.
1486         * macros/qt.m4: Also look in ${QTDIR}/bin.
1487         * macros/incllist: Look inm /usr/pkg on BSD, not /pkg/.
1489 2008-01-31 Sandro Santilli <strk@keybit.net>
1491         * libbase/URL.cpp: don't threat ".swf" strings as any special.
1492           Fixes parsing of urls with ".swf" in the query string.
1493         * testsuite/libbase/URLTest.cpp: add test for query strings
1494           containing an ".swf" component, like many from
1495           http://foo.keybit.net/~strk/mapview/.
1497 2008-01-31 Sandro Santilli <strk@keybit.net>
1499         * gui/Player.cpp (load_movie): still add the acutual filename, if
1500           given, in the list of local sandboxes, or "gnash -u http://remote
1501           ./local.swf" won't work (the konqueror plugin uses that format,
1502           btw).
1504 2008-01-31 Sandro Santilli <strk@keybit.net>
1506         * testsuite/actionscript.all/targetPath.as: make the test
1507           buildable with Ming head.
1509 2008-01-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1511         * libbase/rc.cpp: fix write of LCShmKey.
1512         * server/asobj/Global.cpp: drop unused header.
1513         * testsuite/actionscript.all/Math.as: restore some tests.
1515 2008-01-31 Sandro Santilli <strk@keybit.net>
1517         * server/font.cpp: don't assign 0 to std::strings... actually simplify
1518           the code avoiding stream::read_string() and using
1519           stream::read_string(std::string&) instead.
1520         * server/movie_root.cpp (display): do nothing if the movie frame
1521           is null. Fixes bug #22189.
1523 2008-01-31 Sandro Santilli <strk@keybit.net>
1525         * libamf/amf.{cpp,h}: have encodeVariable take an output parameter
1526           to return size of the serialized buffer; perform boundary checking
1527           before any memcpy.
1528         * libamf/sol.{cpp,h}: drop unneeded write interfaces, const-correct
1529           the others; perform boundary checking before memcopies.
1530           Turns the memory corruption in bug #22188 to an assertion failure.
1532 2008-01-31 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1534         * gui/gtk{sup.h,.cpp}: add another rcfile option (insecureSSL).
1536 2008-01-31 Sandro Santilli <strk@keybit.net>
1538         * libamf/element.cpp, libamf/sol.{cpp,h}: 
1539           Some memory management, leaks plugged, mismatched
1540           new[]/delete[] fixed.
1542 2008-01-30 Sandro Santilli <strk@keybit.net>
1544         * plugin/plugin.cpp, server/vm/ASHandlers.cpp:
1545           Encode target string in the GETURL request line.
1546           Is acceptable as long as neither target string nor url
1547           contain newline.
1549 2008-01-30 Sandro Santilli <strk@keybit.net>
1551         * plugin/plugin.{cpp,h}: make player request handling line-based
1552           (each line is one request).
1553         * server/vm/ASHandlers.cpp (CommonGetUrl): pass the original url to
1554           the host, not the gnash::URL mangled one (this fixes javascript
1555           calls); don't pass the target as it'll just confuse the url for
1556           now (we still need to define a good format for the target).
1558 2008-01-30 Sandro Santilli <strk@keybit.net>
1560         * plugin/plugin.{cpp,h}: create a pipe for standalone to plugin
1561           communication and handle "GET" requests by loading the url
1562           in the _top window.
1563         * server/vm/ASHandlers.cpp (CommonGetUrl): more error handling
1564           and debugging info on host geturl request.
1566 2008-01-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1568         * gui/gtk.cpp: gettext macros.
1570 2008-01-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1572         * testsuite/actionscript.all/Global.as: add tests showing fussy
1573           behaviour with parseInt and octal numbers.
1574         * server/asobj/Global.cpp: use string::iterator instead of copying
1575           strings, remove dead or inactive code, parse octal numbers
1576           properly (compatibly, anyway). 
1578 2008-01-30 Sandro Santilli <strk@keybit.net>
1580         * gui/Player.cpp (load_movie): use the pseudo root url
1581           for appending to the locale sendboxes. Fixes running
1582           multi-file applications from the filesystem in the 
1583           plugin (or generally, loading first movie from stdin).
1585 2008-01-30 Sandro Santilli <strk@keybit.net>
1587         * gui/Player.{cpp,h}: add a setHostFD method.
1588         * server/movie_root.{cpp,h}: add hostFD getter and setter.
1589         * server/vm/ASHandlers.cpp (CommonGetUrl): use host fd
1590           to request load of an url, if given.
1591         * gui/gnash.cpp: add -F switch to specify a filedescriptor
1592           to use for communicating with the hosting application.
1594 2008-01-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1596         * server/asobj/System.cpp: consts
1597         * server/asobj: (various) drop 'using namespace std;' where it's not      
1598           even used.
1599         
1600 2008-01-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1602         * server/vm/VM.cpp: let System.cpp decide what to do with the system
1603           language string.
1604         * server/asobj/System.cpp: restrict System.capabilites.language codes
1605           to the 20 officially specified. This is compatible with scripts
1606           that rely on there only being twenty. 
1608 2008-01-29 Bastiaan Jacques <bastiaan@bjacques.org>
1610         * server/asobj/NetStreamGst.{cpp,h}: Warn if decodebin can't find a
1611         decoder for the requested stream.
1613 2008-01-29 Sandro Santilli <strk@keybit.net>
1615         * testsuite/misc-swfmill.all/Makefile.am: distribute swfmill
1616           sources, even if swfmill isn't available.
1617         * testsuite/misc-swfc.all/Makefile.am: don't attempt to
1618           build the button test runner if you can't build the
1619           actual swf (missing SWFC).
1620         * server/vm/ActionExec.cpp (call operator): interrupt
1621           execution if an opcode is advertised to cross the code
1622           segment boundaries. Fixes bug #22150.
1623         * libbase/jpeg.cpp: don't long jump in the constructor.
1624           Fixes bug #22147.
1625         * server/fill_style.cpp (create_gradient_bitmap): fix a probably
1626           unmeant float to int conversion.
1627         * server/asobj/LocalConnection.cpp: remove duplicated
1628           implementation of gnash::Listener class methods.
1630 2008-01-29 Sandro Santilli <strk@keybit.net>
1632         * server/as_value.h: make PROPNAME a noop
1633         * server/movie_root.{cpp,h}: provide a isLevelTarget
1634           method to take care of case-insensitively matching
1635           a path element with "_level" in SWF<7.
1636         * server/button_character_instance.cpp,
1637           server/character.cpp, server/sprite_instance.cpp,
1638           server/vm/ASHandlers.cpp: update "_level" handling.
1639         * testsuite/actionscript.all/case.as: success in property
1640           names.
1642 2008-01-29 Chad Musick <chadmusick@msbx.net>
1644         * libbase/string_table.h,cpp: Change string_table to be case
1645           insensitive for strings in SWF versions less than 7.
1646         * testsuite/server/PropertyListTest.cpp: Amend Test to not
1647           test case-sensitivity when it shouldn't be case sensitive.
1649 2008-01-28 Bastiaan Jacques <bastiaan@bjacques.org>
1651         * libmedia/gst/VideoDecoderGst.{cpp,h}: Tell the decoder about the
1652         expected video width and height. Check for error conditions more
1653         frequently.
1654         * libmedia/gst/gstappsink.{c,h}: Add
1655         gst_app_sink_pull_buffer_timed(), which waits up to one second
1656         before returning if the expected buffer does not make its way
1657         to the output queue.
1658         * server/parser/video_stream_def.cpp: Make sure the decoder parses
1659         intermedia frames if certain frames are skipped. Don't assume that
1660         frame 0 is a "spin-up" frame. Fixes Video-EmbedSquareTest.
1662 2008-01-28 Sandro Santilli <strk@keybit.net>
1664         * server/swf/tag_loaders.cpp (button_sound_loader): robustness
1665           improvements. Fix bug #22152.
1666         * server/parser/action_buffer.cpp (read): just log an swf error
1667           and return if the action buffer is 0 bytes long.
1668           Fixes bug #22148.
1669         * server/text.cpp (text_glyph_record::read): robustness improvements.
1670           Fixes bug #22149.
1672 2008-01-28 Bastiaan Jacques <bastiaan@bjacques.org>
1674         * server/parser/video_stream_def.cpp: Make sure ffmpeg doesn't read
1675         past the end of the buffer by appending 8 zero bytes.
1677 2008-01-28 Sandro Santilli <strk@keybit.net>
1679         * server/stream.{cpp,h}: fix comments about get_position and
1680           ensureBytes, add an ensureBits, make string reading functions
1681           fail safe.
1682         * server/: cxform.cpp, font.cpp, matrix.cpp, rect.cpp,
1683           styles.cpp, parser/filter_factory.cpp, swf/StartSoundTag.cpp:
1684           Robustness fixes.
1686 2008-01-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1688         * pythonmodule/gnashpython.h: config.h -> gnashconfig.h.
1690 2008-01-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1692         * server/vm/ASHandlers.cpp (CommonGetUrl): Escape newline, tab etc.
1693           Escape pipe and backtick.
1695 2008-01-28 Sandro Santilli <strk@keybit.net>
1697         * server/vm/ASHandlers.cpp (CommonGetUrl): escape url before passing
1698           the the user-defined url opener. This hopefully fixes a critical
1699           bug allowing arbitrary command execution.
1701 2008-01-26 Bastiaan Jacques <bastiaan@bjacques.org>
1703         * configure.ac: Add some required gstreamer modules to detect.
1704         * libbase/image.cpp: Call the data() member function of the "source"
1705         image when update() is called.
1706         * libbase/image.h: Make data() virtual. Add an explicit constructor
1707         for rgb similar to the one in image_base.
1708         * libmedia/gst/MediaDecoderGst.cpp: Exclude some code relying on old
1709         VideoDecoderGst behaviour.
1710         * libmedia/gst/VideoDecoderGst.{cpp,h}: Reimplement VideoDecoderGst
1711         with a simple push/pop interface. Add a class gnashGstBuffer which
1712         wraps the reference counted GstBuffer as a subclass of image::rgb.
1713         This fixes bug #22067.
1714         * libmedia/gst/gstappsink.{c,h}: Statically load this gstreamer
1715         module. Add a non-blocking method for peeking the queue.
1716         * libmedia/gst/gstappsrc.c: Statically load the appsrc module.
1717         * server/asobj/NetStream.{cpp,h}: Change the argument to seek() from
1718         milliseconds to seconds, because that's what is received from
1719         ActionScript.
1720         * server/asobj/NetStreamGst.cpp: Add a missing break in the message
1721         parsing switch.
1722         * server/parser/video_stream_def.{cpp,h}: Use the new VideoStreamGst
1723         implementation.
1725 2008-01-26 Sandro Santilli <strk@keybit.net>
1727         * testsuite/misc-ming.all/: FlashVarsTest.as, FlashVarsTest.html,
1728           Makefile.am: test that any variable passed trough FlashVars
1729           is a string, never an object.
1731 2008-01-25 Sandro Santilli <strk@keybit.net>
1733         * server/sprite_instance.cpp: send the DATA event, don't just
1734           call the user-defined onData handler, when variables are
1735           loaded. Fixes bug #22116.
1737 2008-01-25  Rob Savoye  <rob@ripple.welcomehome.org>
1739         * macros/qt.m4: Ubuntu hardy puts QT headers in different
1740         location, breaking using QTDIR to find them.
1742         * configure.ac: Add test to use gst-inspect to look for installed
1743         codecs for Gstreamer.
1745 2008-01-25 Bastiaan Jacques <bastiaan@bjacques.org>
1747         * server/asobj/NetStreamGst.cpp: print the element name when reporting
1748         about an error message coming from the pipeline.
1750 2008-01-25 Sandro Santilli <strk@keybit.net>
1752         * testsuite/actionscript.all/String.as: add better test
1753           for split(''), as the available ones weren't catching
1754           the bug just fixed.
1755         * server/asobj/string.cpp: fix String.split('') to return
1756           an array in which *each* element is a character from the
1757           input. This fixes http://www.gazbming.com/sokoban2.swf.
1759 2008-01-25 Sandro Santilli <strk@keybit.net>
1761         * gui/Makefile.am: generate klash.moc onlhy if KDE gui is enabled.
1762           Fixes bug #21019.
1763         * libamf/lcshm.{cpp,h}, server/asobj/LocalConnection.cpp,
1764           testsuite/libamf.all/test_lc.cpp, utilities/dumpshm.cpp:
1765           Use std::auto_ptr for returning newly allocated stuff
1766           while transferring ownerhips to caller.
1767         * testsuite/misc-ming.all/NetStream-SquareTest.c: add some newlines
1768           to workaround some bug in Ming head.
1770 2008-01-25  Rob Savoye  <rob@ripple.welcomehome.org>
1772         * libamf/amf.cpp: Make extractElement() only process a single
1773         element instead of looping.
1774         * libamf/element.{h,cpp}: Convert the element in common data
1775         types. Add methods for creating special AMF objects.
1776         * libamf/lcshm.{cpp,h}: Add better support for SYSV style memory
1777         segments. Tweak parseHeader() to only grab the header, and not
1778         any of the AMF elements in the body. Also parse the header and the
1779         body of the memory segment when connecting. Add dump() method.
1780         * libbase/shm.{cpp,h}: Move SYSV style memory support to it's own
1781         method to reduce ifdef spagetti.
1782         * utilities/dumpshm.cpp: Use rewritten LcShm class instead of
1783         handling the segment directly.
1784         * testsuite/libamf.all/test_lc.cpp: 
1786 2008-01-25 Sandro Santilli <strk@keybit.net>
1788         * testsuite/misc-ming.all/place_object_test.c: add more tests (and 
1789           more to be added - gnash fails not allowing characters in a
1790           DisplayList to share a depth).
1791         * server/DynamicShape.cpp (clear): reset _currfill and _currline
1792           or they might point to released memory (line/fill styles were
1793           cleared). Fixes illegal vector access in
1794           http://www.gazbming.com/embed.php?id=sketchpad
1795         * server/swf/DefineFontAlignZonesTag.cpp: warn only
1796           once about not being implemented.
1797         * server/parser/shape_character_def.cpp (read): 
1798           add warning about unimplemented DEFINESHAPE4 edge
1799           boundaries and scales.
1800         * gui/gui.cpp (getMovieInfo): add dragging character
1801           and character under the pointer.
1802         * server/movie_root.{cpp,h}: expose a method to query 
1803           entity under the mouse and dragging char.
1805 2008-01-24 Sandro Santilli <strk@keybit.net>
1807         * testsuite/Makefile.am: distribute simple.exp
1808         * server/as_object.cpp: use PROPNAME where appropriate.
1809         * server/as_environment.cpp (find_object): use PROPNAME where
1810           appropriate.
1811         * server/debugger.cpp: use PROPNAME when appropriate
1812         * server/movie_root.cpp (getKeyObject): use PROPNAME
1813         * server/asobj/xmlsocket.cpp (getEventHandler): use PROPNAME.
1814         * extensions/fileio/fileio.cpp, extensions/gtk2/gtkext.cpp:
1815           Don't convert strings passed to init_member, isn't needed.
1816         * server/vm/ActionExec.cpp: use PROPNAME rather then manually 
1817           convert to lowercase (propedeutic to fix props case).
1819 2008-01-24 Chad Musick <chadmusick@msbx.net>
1821         * libbase/string_table.cpp,.h: Add a case insensitive option to
1822           find and value
1823         * server/asClass.h,.cpp: Change code to compile with new string
1824           table key type (keys cannot be converted in one step to as_value)
1826 2008-01-23 Sandro Santilli <strk@keybit.net>
1828         * gui/kde_glue_agg.cpp: keep rendering no matter what HAVE_QTOPIA says
1829           (or rendering would be disabled for normal kde-gnash)
1830           [ this is a dejavu.. see ChangeLog entry of 2007-11-30 ]
1831           Fixes bug #22093.
1833 2008-01-23 Bastiaan Jacques <bastiaan@bjacques.org>
1835         * server/asobj/SoundGst.cpp: loadSound: if this is a streaming sound,
1836         start it ASAP.
1838 2008-01-23 Sandro Santilli <strk@keybit.net>
1840         * testsuite/misc-ming.all/: Video-EmbedSquareTest.c,
1841           Video-EmbedSquareTestRunner.cpp: have mouse clicks change
1842           play state, check that play state of the root drives
1843           play state of the video.
1845 2008-01-23 Sandro Santilli <strk@keybit.net>
1847         * libbase/log.{cpp,h}: append to the log instead of truncating.
1848           This is so a web page containing multiple SWF movies doesn't
1849           trigger writes to truncated logs.
1851 2008-01-23 Sandro Santilli <strk@keybit.net>
1853         * server/parser/shape_character_def.cpp (read): only 
1854           skip parsing shapes with 0 line/fill bits if the tag
1855           is a DEFINEFONT*. Fixes bug #22000 and a secondary
1856           bug #21923.
1858 2008-01-23 Sandro Santilli <strk@keybit.net>
1860         * testsuite/misc-ming.all/masks_test2runner.cpp: successes.
1861         * server/character.h (isMaskLayer): dynamic masks are not mask
1862           layers.
1863         * server/dlist.cpp (add_invalidated_bounds): use isMaskLayer rather
1864           then comparing about the noClipDepthValue.
1865         * server/sprite_instance.cpp (get_topmost_mouse_entity,
1866           findDropTarget): rewrite mouse entity and drop target finders
1867           to take layer (static) masks into account.
1868           This fixes bug #21923 and movie in comment #7 of bug #20911.
1870 2008-01-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1872         * libbase/rc.cpp: Don't increment verbosity automatically when some
1873           debugging output is enabled.
1874         * gui/gtk.cpp: Use 'program-name' in about dialogue.
1876 2008-01-23 Sandro Santilli <strk@keybit.net>
1878         * server/sprite_instance.cpp (pointInVisibleShape): static masks
1879           don't depend on having mouse handlers in checking hitTest.
1880         * testsuite/misc-ming.all/masks_test2.c: add some self-contained
1881           tests, make a statically-masked instance mouse-sensitive.
1882         * testsuite/misc-ming.all/masks_test2runner.cpp: check that
1883           the mouse-sensitive character shouldn't grab mouse pointer
1884           if hit out of it's static mask.
1886 2008-01-23 Sandro Santilli <strk@keybit.net>
1888         * server/asobj/LoadVars.cpp: use named strings when available.
1890 2008-01-22 Sandro Santilli <strk@keybit.net>
1892         * extensions/dejagnu/dejagnu.cpp, extensions/gtk2/gtkext.cpp:
1893           naively fix warnings..
1895 2008-01-22 Sandro Santilli <strk@keybit.net>
1897         * server/impl.cpp (clear):
1898           unregister the render handler, and do so *after* the GC collect
1899           runs, clear the movie root before that.
1900           This seems to fix both bug #21311 and bug #21310 (segfaults
1901           on exit).
1903 2008-01-22 Sandro Santilli <strk@keybit.net>
1905         * server/movie_root.cpp (markReachableResources): don't assume
1906           the root movie was registered. Fixes bug #22079.
1908 2008-01-22 Bastiaan Jacques <bastiaan@bjacques.org>
1910         * server/asobj/NetStreamGst.cpp: Better error handling for play().
1912 2008-01-22 Sandro Santilli <strk@keybit.net>
1914         * testsuite/samples/Makefile.am: drop extraneous block of code, most
1915           likely ended in there due to a copy&paste error.
1917 2008-01-22 Bastiaan Jacques <bastiaan@bjacques.org>
1919         * server/asobj/NetStreamGst.cpp: pause(): set a default state to hush
1920         Sandro's compiler.
1922 2008-01-22 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
1924         * libbase/rc.h: Add method to set url opener format.
1925         * gui/gtk{sup.h,.cpp}: option to set url opener format, tidy up,
1926           don't leak prefsData struct when the dialogue is closed.
1928 2008-01-22 Sandro Santilli <strk@keybit.net>
1930         * server/asobj/NetStream.{h,cpp}: add an isConnected
1931           method and use it from AS methods.
1932         * testsuite/actionscript.all/NetStream.as: bytesLoaded/bytesTotal
1933           are undefined if the NetStream doesn't have an associated
1934           NetConnection (fixed).
1935         * testsuite/misc-ming.all/NetStream-SquareTest.c: currentFPS is
1936           undefined if the NetStream doesn't have an associated NetConnection,
1937           a number otherwise (fixed).
1939 2008-01-22 Sandro Santilli <strk@keybit.net>
1941         * testsuite/misc-ming.all/NetStream-SquareTest.c: add a test
1942           segfaulting Gnash. See bug #22039.
1944 2008-01-22 Sandro Santilli <strk@keybit.net>
1946         * server/sprite_instance.cpp (sprite_swap_depth): ignore the call when
1947           target and source characters have the same depth.
1948         * server/asobj/SharedObject.cpp (sharedobject_getlocal): register the
1949           static GcResource with the VM. Fixes bug #22039, but not the
1950           correctness bugs as tested in the SharedObject.as case.
1951         * testsuite/actionscript.all/SharedObject.as: test that multiple calls
1952           to SharedObject.getLocal using same key return the same in-memory
1953           object, while changing the key returns a different object.
1955 2008-01-22 Sandro Santilli <strk@keybit.net>
1957         * testsuite/misc-ming.all/NetStream-SquareTest.c: expect the failures
1958           in currentFps, till bjacques fixes it. Add test for metadata object
1959           being an Object instance.
1961 2008-01-22 Sandro Santilli <strk@keybit.net>
1963         * server/asobj/NetStreamGst.cpp: make metadata object properties
1964           enumerable, deletable and overridable, fix bool properties
1965           and the 'duration' unit.
1966         * testsuite/misc-ming.all/NetStream-SquareTest.c: test metadata
1967           object composition.
1969 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
1971         * server/asobj/NetConnection.cpp: Remove duplicate URL announcement
1972         message.
1973         * server/asobj/NetStreamGst.{cpp,h}: Separate the video and audio
1974         decoding modules into bins and dynamically plug them when
1975         corresponding streams are encountered. This allows NetStream to play
1976         video-only or audio-only streams. Also, only play audio if a sound
1977         handler exists (in other words, if sound was enabled). Emit the
1978         playStop onStatus signal when an error is encountered.
1980 2008-01-22 Sandro Santilli <strk@keybit.net>
1982         * server/asobj/NetStream.cpp: use as_object::callMethod to dispatch
1983           onStatus and onMetData events.
1985 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
1987         * libmedia/gst/gstflvdemux.c: statically load the FLV demuxer.
1988         Dynamically loading it resulted in consisted crashing on Fedora 7. The
1989         static load method is deprecated by gstreamer, but we don't have a
1990         better solution right now.
1992 2008-01-21  Rob Savoye  <rob@ripple.welcomehome.org>
1994         * gui/gtk.cpp: Only initialize LIRC if lirc is enabled.
1996         * libamf/sol.cpp: Swap from host to network for the magic number,
1997         not network to host. Fixes #22013.
1999 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
2001         * server/asobj/NetStreamGst.cpp: don't neglect to link the video
2002         pad if the *audio* pad is already linked.
2004 2008-01-21  Rob Savoye  <rob@ripple.welcomehome.org>
2006         * libbase/network.cpp: Use _debug instead of an ifdef. Comment out
2007         trace messages in each method. Add hexdumps for network traffic.
2008         * gui/gnash.cpp: Add ALP includes.
2009         * gui/kde_glue_agg.cpp: Include qicon.h and agg headers.
2010         * gui/am-frag/gtk.am: Add ALP, which is a GTK derived GUI.
2011         * gui/am-frag/kde.am: Also build under Qtopia.
2012         * libamf/sol.cpp: always use boost:: with numeric data typedefs.
2013         * macros/ffmpeg.m4: Add better OpenBSD support, but maybe a moot
2014         point now since Gnash doesn't link directly against ffmpeg now.
2015         * macros/gettext.m4: OpenBSD defines INTLLIBS differently.
2016         * macros/glib.m4: We don't want -L/usr in the link path either.
2017         * configure.ac: Use gnashconfig.h instead of just config.h.
2018         * All GPL'd files: Update copyright years.
2019         * Most files: Include gnashconfig.h instead of config.h to avoid
2020         any name collisions.
2021         * autogen.sh: Fix the files generated form templates to include
2022         gnashconfig.h, not config.h, which isn't a unique name.
2024 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
2026         * libmedia/gst/gstflvdemux.c: Add a new #define so that this file will
2027         compile against older Gstreamer.
2029 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
2031         * server/asobj/NetStream.cpp: return undefined for currentFPS if a
2032         nonsensical number results.
2033         * server/asobj/NetStreamGst.cpp: whitespace fixes.
2034         * testsuite/actionscript.all/NetStream.as: revert my previous change,
2035         because the test accurately reflected PP behaviour, so we should mimic
2036         it.
2038 2008-01-21 Sandro Santilli <strk@keybit.net>
2040         * testsuite/misc-ming.all/masks_testrunner.cpp: add tests for effect
2041           of dynamic masks on mouse events.
2043 2008-01-21 Bastiaan Jacques <bastiaan@bjacques.org>
2045         * server/asobj/NetStreamGst.cpp: Disable parsing code for
2046         buffering messages, as the same is achived through signal 
2047         handlers and older gstreamer doesn't have this function. Emit
2048         the playStop message when the end of the stream has been
2049         reached (allows NetStream-SquareTest to run).
2050         * testsuite/actionscript.all/NetConnection.as: We currently don't
2051         implement the isConnected property, so xcheck it for now.
2052         * testsuite/actionscript.all/NetStream.as: We now implement
2053         currentFPS.
2055 2008-01-21 Sandro Santilli <strk@keybit.net>
2057         * server/swf/tag_loaders.cpp: warn only once about different
2058           stream/playback info (yes, was annoying).
2059         * testsuite/misc-ming.all/NetStream-SquareTest.c: altought the test
2060           shows gst is unable to load the FLV, we seem to support the
2061           'currentFps' property now..
2063 2008-01-21 Sandro Santilli <strk@keybit.net>
2065         * server/as_object.cpp, server/button_character_instance.cpp,
2066           server/sprite_instance.cpp, server/asobj/xml.cpp: use new
2067           named strings. This should be particularely effective for
2068           sprite_instance::can_handle_mouse_event, which is called
2069           on every mouse movement.
2070         * server/character.{cpp,h}: add a getUserDefinedMethod() interface
2071           taking a string_table::key.
2072         * server/event_id.h, vm/action.cpp: add event_id::get_funtion_key
2073           method.
2074         * server/namedStrings.{cpp,h}: add more named strings
2075           for core properties.
2077 2008-01-21 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2079         * server/asobj/System.cpp: correct typo in server string, clean up.
2080         * server/as_value.cpp: Drop check for infinity after boost::lexical_cast
2081           from string to double (it can't happen), clean up.
2083 2008-01-21 Sandro Santilli <strk@keybit.net>
2085         * server/sprite_instance.cpp (pointInVisibleShape): even if we're a
2086           mask still run the hitTest if we can handle mouse events.
2087         * testsuite/misc-ming.all/masks_test.c: success in masks with mouse
2088           events and hitTest results.
2090 2008-01-21 Udo Giacomozzi <udo.gnu@nova-sys.net>
2092         * server/asobj/SoundGst.cpp: don't start playing sound in loadSound(),
2093           always seek (allows replay of the same sound) 
2095 2008-01-21 Sandro Santilli <strk@keybit.net>
2097         * testsuite/misc-ming.all/: masks_test.c, masks_testrunner.cpp:
2098           Improved self-containment: print instructions on how
2099           to manually run and verify.
2101 2008-01-21 Sandro Santilli <strk@keybit.net>
2103         * testsuite/misc-ming.all/masks_testrunner.cpp: pixel checking and
2104           invalidated bounds testing after mask/maskee swapping.
2106 2008-01-20 Bastiaan Jacques <bastiaan@bjacques.org>
2108         * configure.ac: Disable the use of mad and ffmpeg, because they
2109         are no longer maintained media backends.
2110         * libmedia/Makefile.am: Compile the newly added gstflvdemux.{h,cpp}
2111         and gstflvparse.{h,cpp}. These files are Gstreamer's new FLV demuxer,
2112         which will be loaded on-the-fly if it not available on the system.
2113         * server/namedStrings.{h,cpp}: Add a symbol for onMetaData.
2114         * server/asobj/NetConnection.cpp: Replace openConnection with
2115         validateURL, since that name more accurately reflects its current
2116         purpose. Media handlers will now be in charge of starting their own
2117         network connections. Remove (now) unused methods.
2118         * server/asobj/NetStream.{cpp,h}: Use symbolic names for pause modes.
2119         Implement onMetaData through processMetaData.
2120         * server/asobj/NetStreamGst.{h,cpp}: Reimplement the Gstreamer
2121         NetStream handler. Gstreamer now takes care of URL resolving,
2122         downloading, buffering, FLV decoding and all grocery shopping and
2123         house cleaning. Because Gstreamer abstracts much of the threading
2124         code, we rarely need to lock the main execution thread. The new
2125         handler has been tested to work with YouTube, Lulu.tv, streaming
2126         ogg-theora-vorbis etc. However, seeking HTTP streams does not
2127         currently work.
2128         * server/asobj/Sound.cpp: Don't try to start a NetConnection, as it
2129         makes no sense in the base class.
2130         * server/asobj/SoundGst.cpp: Like NetStreamGst, SoundGst now lets
2131         Gstreamer handle downloading URLs and buffering data. SoundGst has
2132         received a general cleanup.
2134 2008-01-20 Sandro Santilli <strk@keybit.net>
2136         * server/character.{cpp,h}: keep a pointer from the mask to
2137           the maskee, as every character can dynamically mask at most
2138           a single maskee, so need to get an handle of old maskees
2139           when new are registered; have pointInVisibleShape return
2140           false for dynamic masks.
2141         * server/sprite_instance.cpp: (pointInVisibleShape): if a character
2142           is a mask return false, if it's dynamically masked check hit test
2143           against the mask too; (setMask): return a boolean value.
2144         * testsuite/misc-ming.all/masks_test.c: update expected results, most
2145           tests pass now, except a couple in which I'd thing Gnash is correct
2146           despite the official results...
2148 2008-01-20  Rob Savoye  <rob@ute.welcomehome.org>
2150         * cygnal/Makefile.am: Build a library of dependant files, instead
2151         of linking them directly into the executable.
2152         * cygnal/testsuite/cygnal.all/Makefile.am: Link the library, not
2153         the objects. This fixes the distcheck problem of object files
2154         being left over after make check.
2156 2008-01-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2158         * gui/gtksup.h: get rid of C crap.
2160 2008-01-19 Sandro Santilli <strk@keybit.net>
2162         * testsuite/misc-ming.all/masks_test.c: move the dejagnu
2163           window to the right, so that pixel checking isn't confused
2164           by color of text...
2166 2008-01-19 Sandro Santilli <strk@keybit.net>
2168         * testsuite/misc-ming.all/masks_test.c: test hitTest effects
2169           on dynamic masks and maskees. See bug #21923.
2171 2008-01-18 Sandro Santilli <strk@keybit.net>
2173         * cygnal/testsuite/cygnal.all/Makefile.am: don't build http.o
2174           and crc.o in source dir; clean all generated files.
2175         * testsuite/misc-mtasc.all/Makefile.am: clean generated files.
2177 2008-01-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2179         * server/asobj/xml.h, libgeometry/{Range,Point}2d.h,
2180           server/edit_text_character.h: drop 'using namespace std;' from
2181           headers.
2182         * Lots of .cpp files: add std namespace where necessary.
2184 2008-01-18 Sandro Santilli <strk@keybit.net>
2186         * cygnal/http.cpp: fix extra semicolon error.
2188 2008-01-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2190         * libbase/rc.{h,cpp}: add methods to set whitelist, blacklist, 
2191           flashVersionString, flashSystemOS, flashSystemManufacturer,
2192           startStopped, insecureSSL. Add updateFile() that decides where
2193           to write a gnashrc file (either to GNASHRC or to ~/.gnashrc, fail
2194           if neither can be found). Document more functions.
2195         * gui/gtk{sup.h,.cpp}: clean up movie properties dialogue, add more
2196           options to preferences dialogue. Allow saving to disk by clicking
2197           'save'.
2199 2008-01-17 Sandro Santilli <strk@keybit.net>
2201         * server/as_environment.cpp (find_object): don't allow dots
2202           after a slash was seen. Completes fixing the getvariable-delimiter
2203           swfdec tests (see bug #21883).
2204         * testsuite/swfdec/PASSING: getvariable-delimiter-{6,7,8}.swf
2205           succeed now, completing the serie.
2207 2008-01-17 Sandro Santilli <strk@keybit.net>
2209         * server/as_environment.cpp: add more corner case handlign 
2210           for get_variable and find_object. The code keeps getting
2211           uglier, but this change gets no unexpected failure while
2212           gets unexpected successes in a few places:
2213         * testsuite/actionscript.all/getvariable.as: successes.
2214         * testsuite/misc-ming.all/callFunction_test.c: successes
2215         * testsuite/swfdec/PASSING: successes.
2217 2008-01-17 Sandro Santilli <strk@keybit.net>
2219         * libbase/tu_file.cpp: fix memory buffer adapter, applying
2220           an unchecked but blindly trusting patch sent on the gameswf
2221           list by Eli Curtz.
2223 2008-01-17 Sandro Santilli <strk@keybit.net>
2225         * testsuite/actionscript.all/getvariable.as: add absurd tests
2226           about getvariable/setvariable paths... See bug #21883.
2228 2008-01-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2230         * libbase/rc.{h,cpp}: enable writing of rcfiles (updateFile). Add function
2231           to set malformedSWF verbosity (already declared in rc.h). Add convenience
2232           function for writing path lists to a stream. Make sure strings consisting
2233           entirely of spaces are emptied when reading from the rcfile.
2235 2008-01-17 Sandro Santilli <strk@keybit.net>
2237         * server/button_character_instance.cpp (get_topmost_mouse_entity):
2238           topmost entity is a child, if it's a mouse entity, not necessarely
2239           us.
2240         * testsuite/misc-swfc.all/: Makefile.am, button_test1.sc,
2241           button_test1runner.cpp: turn button_test1.swf into a self-contained
2242           interactive test.
2244 2008-01-17 Sandro Santilli <strk@keybit.net>
2246         * server/button_character_instance.{cpp,h}: drop the :advance()
2247           method, no more needed; reduce ::display() to a few lines.
2249 2008-01-17 Sandro Santilli <strk@keybit.net>
2251         * server/button_character_instance.{cpp,h}: drop dead enum,
2252           add HIT state to e_mouse_state enum, rework
2253           get_topmost_mouse_entity to use pointInVisibleShape and
2254           the get_active_characters method.
2255         * macros/firefox.m4: make --with-npapi-plugindir switch work.
2257 2008-01-16  Rob Savoye  <rob@ripple.welcomehome.org>
2259         * configure.ac: Don't use AX_GCC_ARCHFLAG anymore.
2260         * Makefile.am: Make a seperate install-plugins target. Build all
2261         extensions, guis, and cygnal for distcheck. Fix ipkg
2262         packaging. Add OpenBSD packaging.
2263         * plugin/Makefile.am: Make seperate install-plugin and
2264         install-plugins targets.
2265         * plugin/klash/Makefile.am: Make install-plugin target with
2266         install-plugins alias.
2268 2008-01-16 Sandro Santilli <strk@keybit.net>
2270         * testsuite/actionscript.all/check.as: add a MING_LOGICAL_ANDOR_BROKEN
2271           macro.
2272         * testsuite/actionscript.all/ops.as: don't run logical and/or tests
2273           if the installed Ming version is broken there... Fix expected
2274           results with a sane Ming version.
2276 2008-01-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2278         * server/parser/video_stream_def.cpp: fix size_t format warning.
2279         * libbase/rc.cpp: fix variable name for OS2.
2280         * gui/gtk{sup.h,.cpp}: redesign preferences dialogue; send changes
2281           to rcfile (nothing gets saved yet, but some changes work without a
2282           restart).
2284 2008-01-16 Sandro Santilli <strk@keybit.net>
2286         * gui/gui.cpp (getMovieInfo): add class info of hit character.
2287         * server/movie_root.cpp (fire_mouse_event): for _droptarget, register
2288           closest AS-referenceable ancestor, not topmost character.
2289           Makes some progress in the movie 1.swf from comment 6 of bug #20911.
2290         * testsuite/misc-ming.all/shape_test.c: test that clip events
2291           are not invoked for shape placements.
2293 2008-01-16 Sandro Santilli <strk@keybit.net>
2295         * testsuite/misc-swfc.all/: Makefile.am, button_test1.sc:
2296           initial test for button interaction
2297         * server/button_character_instance.{cpp,h}: allow
2298           accessing button childs (state characters) by name.
2299         * server/swf/tag_loaders.cpp (button_character_loader):
2300           properly construct button characters
2301         * server/parser/button_character_def.{cpp,h}:
2302           Keep a pointer to the movie_definition containing
2303           Button definitions, expose a getSWFVersion.
2305 2008-01-16 Sandro Santilli <strk@keybit.net>
2307         * server/: character.h, button_character_instance.h,
2308           edit_text_character.h, sprite_instance.h, video_stream_instance.h:
2309           const-correct wantsInstanceName() and isActionScriptReferenceable()
2310           virtual methods. Added a getClosestASReferenceableAncestor() method.
2312 2008-01-16 Sandro Santilli <strk@keybit.net>
2314         * gui/Player.cpp: fix confusing SECURITY message about sandbox
2315           appending.
2316         * server/impl.cpp: remove dead code.
2317         * server/sprite_instance.cpp (processCompletedLoadVariableRequest):
2318           Appropriately case variable names.
2320 2008-01-16 Sandro Santilli <strk@keybit.net>
2322         * server/sprite_instance.cpp (loadVariables): oops, skil variables
2323           with *name* starting with dollar sign, not value...
2325 2008-01-15  Rob Savoye  <rob@ripple.welcomehome.org>
2327         * plugin/Makefile.am: Add install-plugin target. Don't do
2328         anything for just the install target.
2329         * packaging/debian/rules: Add install-plugin.
2330         * packaging/redhat/gnash.spec: Add install-plugin.
2331         * macros/boost.m4: Change the sed pattern to always remove the
2332         suffix correctly. Fixes #21977.
2333         * macros/lib-link.m4, nls.m4: Remove usages of AC_CONFIG_AUX_DIR
2334         macro, as we don't use an aux dir.
2336 2008-01-15 Sandro Santilli <strk@keybit.net>
2338         * libamf/: element.{cpp,h}, lcshm.{cpp,h}, sol.{cpp,h},
2339           utilities/soldumper.cpp: fix a bunch of compiler warnings.
2340           The code isn't any better, but error stream is less
2341           polluted...
2343 2008-01-15 Sandro Santilli <strk@keybit.net>
2345         * server/edit_text_character.cpp: initialize TextField as an
2346           AsBroadcaster, broadcast onChanged events (it seems onKillFocus
2347           and onSetFocus should not... no idea why).
2348         * testsuite/actionscript.all/TextField.as: test existance of
2349           AsBroadcaster interface in TextField instance, updated expected
2350           results.
2352 2008-01-15 Sandro Santilli <strk@keybit.net>
2354         * server/as_object.cpp (tostring_method): don't check size of string
2355           returned by get_string_value, just return it as is.
2356           Fixes bug #22024.
2357         * testsuite/actionscript.all/String.as: test string concatenation
2358           between a primitive string and a string object.
2360 2008-01-15 Sandro Santilli <strk@keybit.net>
2362         * server/parser/movie_definition.h: comment out unused parameter.
2363         * server/sprite_instance.cpp (loadVariables): skip sending variables
2364           starting with a dollar sign. See bug #22006.
2365         * server/LoadVariablesThread.{cpp,h}: implement download canceling
2366           and proper destructor (cancels&joins). Fixes segfault reported
2367           in bug #21675 (comment #6).
2369 2008-01-15 Sandro Santilli <strk@keybit.net>
2371         * testsuite/swfdec/PASSING: shift-{5,6,7}.swf succeed
2372         * server/vm/ASHandlers.cpp: fix ActionShift* opcodes.
2373         * testsuite/actionscript.all/ops.as: add tests for ActionShiftRight2
2374           and formerly failing tests for ActionShiftLeft.
2376 2008-01-14 Sandro Santilli <strk@keybit.net>
2378         * testsuite/gnashrc.in: avoid printing malformed swf and actionscript
2379           error messages while executing automated testcases.
2381 2008-01-14 Sandro Santilli <strk@keybit.net>
2383         * server/asobj/Global.cpp: stub ASSetNative, ASSetNativeAccessor,
2384           ASconstructor.
2385         * testsuite/actionscript.all/Global.as: test existance of ASnative,
2386           ASSetNative, ASSetNativeAccessor and ASconstructor.
2388 2008-01-14 Sandro Santilli <strk@keybit.net>
2390         * server/sprite_instance.cpp (loadVariables): don't skip the $version
2391           property, if it's there, and only add enumeratable properties.
2393 2008-01-14 Sandro Santilli <strk@keybit.net>
2395         * server/parser/: movie_definition.h, BitmapMovieDefinition.h,
2396           movie_def_impl.{cpp,h}:
2397           Drop unused create_instance,
2398           add a 'parent' argument to create_movie_instance.
2399         * server/BitmapMovieInstance.{cpp,h}: add 'parent' argument to
2400           constructor.
2401         * testsuite/DummyMovieDefinition.h: Drop unused create_instance. 
2402         * server/impl.{cpp,h}: drop unused create_library_movie_inst function.
2403         * server/movie_instance.cpp (ctor): pass the character id in
2404           accordance with the assertion checking in character ctor
2405           (TODO: drop the id from character instances!)
2406         * server/sprite_instance.cpp:
2407           (loadMovie): update call to create_movie_instance;
2408           (attachMovieClipProperties) don't register a $version variable
2409           if the sprite has a parent: fixes bug #22006.
2410         * server/asobj/MovieClipLoader.cpp: comment update
2411         * testsuite/actionscript.all/MovieClip.as: add test for availability
2412           of the $version property.
2413         * testsuite/swfdec/PASSING: movieclip-version-{6,7,8}.swf and
2414           movie-enumerate-8.swf (completes the series) succeed.
2416 2008-01-14 Sandro Santilli <strk@keybit.net>
2418         * plugin/plugin.cpp: fix perror() usage, check that the pipe is
2419           initialized before attempting to write to it.
2421 2008-01-13 Sandro Santilli <strk@keybit.net>
2423         * libbase/URL.h: reduce string copies (not only in set_querystring).
2425 2008-01-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2427         * gui/gtk.cpp: i18n, add checkbox to sound toggle.
2428         * po/de.po: updated translation.
2429         * po/POTFILES.in: remove left-over file (as far as I can tell).
2430         * po/Makefile.am: add libmedia, extensions, plugin directories
2431           for internationalization (you can see how long it hasn't been
2432           updated...).
2433         * po/gnash.pot: updated gnash.pot.
2435 2008-01-12 Sandro Santilli <strk@keybit.net>
2437         * server/sprite_instance.cpp (loadVariables): don't force
2438           POST method always. Fixes orisinal games again.
2440 2008-01-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2442         * server/asobj/{SharedObject.cpp,string.cpp}, server/vm/ActionExec.cpp:
2443           fix size_t format warnings.
2444         * pythonmodule/gnashpython.{cpp,h}: extend gnash::character wrapper.
2445         * pythonmodule/pyGnash.cpp: add character bindings.
2447 2008-01-12 Udo Giacomozzi <udo.gnu@nova-sys.net>
2449         * libbase/URL.h: add set method for querystring
2450         * server/sprite_instance.cpp: case-insensitive check for GET/POST;
2451           fix double "?"        
2453 2008-01-12 Udo Giacomozzi <udo.gnu@nova-sys.net>
2455         * libbase/URL.h: add set method for querystring
2456         * server/sprite_instance.{cpp,h}: implement GET and POST for 
2457           loadVariables()       
2459 2008-01-11 Sandro Santilli <strk@keybit.net>
2461         * testsuite/generic-testrunner.sh: sleep a tenth (1/10)
2462           of a second between advances. Makes loading data in
2463           the testsuite more stabily succeed.
2465 2008-01-11 Sandro Santilli <strk@keybit.net>
2467         * configure.ac: add a --disable-plugins option to disable
2468           both kparts and npapi plugins.
2469         * macros/firefox.m4: obsolete --with-plugindir, use
2470           --with-npapi-plugindir instead (the old one still work
2471           for backward compatibility).
2472         * doc/C/usermanual/installation/: custompath_configuration.xml,
2473           feature_configuration.xml: update info about plugin build and
2474           install dir options.
2476 2008-01-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2478         * server/sprite_instance.cpp, server/loadVariablesThread.cpp: Use
2479           SIZET_FMT for size_t format string.
2480         * pythonmodule/gnashpython.cpp: more methods in Player class.
2481         * pythonmodule/pyGnash.cpp: update bindings.
2482         * pythonmodule/gnashPythonExample.py: update examples.
2483         
2484 2008-01-11 Sandro Santilli <strk@keybit.net>
2486         * testsuite/swfdec/PASSING: chartoascii-4.swf succeed
2487           now. The versions 5 to 8 stil fail...
2488         * server/vm/ASHandlers.cpp (ActionOrd): make sure to
2489           return an unsigned int. Fixes load of games from
2490           http://www.ferryhalim.com/orisinal/.
2492 2008-01-11 Sandro Santilli <strk@keybit.net>
2494         * server/LoadVariablesThread.cpp: don't handle newlines
2495           in any special way...
2496         * testsuite/actionscript.all/MovieClip.as: test loadVariables
2497           method and tag (GETURL).
2499 2008-01-11 Sandro Santilli <strk@keybit.net>
2501         * server/sprite_instance.cpp: fix the MovieClip.meth() method
2502           to invoke toLowerString on first argument.
2503         * testsuite/actionscript.all/MovieClip.as: test that meth()
2504           should invoke toLowerString on first argument.
2506 2008-01-11 Sandro Santilli <strk@keybit.net>
2508         * server/asobj/LoadVars.cpp: rewrite the whole class.
2509         * testsuite/actionscript.all/LoadVars.as: no more failures for SWF6+
2510           (the remaining ones are for availability of the LoadVars in SWF5,
2511            which is suspicious).
2513 2008-01-11 Sandro Santilli <strk@keybit.net>
2515         * testsuite/actionscript.all/LoadVars.as: further improved
2516           the test. Will fix in next commit.
2518 2008-01-11 Sandro Santilli <strk@keybit.net>
2520         * testsuite/media/vars.txt: add a final variable label
2521           after newlines and w/out a terminating ampersend.
2522         * testsuite/actionscript.all/LoadVars.as: test that labels
2523           placed after newlines (and non ampersend-terminated) are
2524           still used !!.
2526 2008-01-11 Sandro Santilli <strk@keybit.net>
2528         * server/vm/ASHandlers.cpp (ActionNewEquals): for SWF<=5
2529           always convert the input parameters to primitives.
2530         * testsuite/actionscript.all/String.as: success in
2531           number to string object comparison.
2532         * testsuite/actionscript.all/ops.as: success in comparison
2533           between different string objects with same primitive value.
2535 2008-01-11 Sandro Santilli <strk@keybit.net>
2537         * testsuite/actionscript.all/String.as: test String object
2538           construction.
2540 2008-01-10 Sandro Santilli <strk@keybit.net>
2542         * server/sprite_instance.cpp (get_member): it seems like _global is
2543           available for sprites defined by SWF6, no matter VM version.
2545 2008-01-10 Sandro Santilli <strk@keybit.net>
2547         * server/sprite_instance.cpp: invoke onData at end of loadVariables
2548           processing.
2549         * gui/gui.cpp (resize_view): always redraw on resize.
2550           Fixes bug #21971.
2552 2008-01-10 Sandro Santilli <strk@keybit.net>
2554         * server/sprite_instance.cpp: size_t is an unsigned int here...
2555           use SIZET_FMT for it.
2557 2008-01-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2559         * server/sprite_instance.cpp: fix string format for unsigned long.  
2561 2008-01-10 Sandro Santilli <strk@keybit.net>
2563         * < all over > : since I dropped timers.h inclusion from movie_root.h
2564           the remaining of the changes are adding missing include here and
2565           there.
2566         * server/array.cpp: fix double-to-int cast in Array ctor.
2567         * testsuite/swfdec/PASSING: settimeout-*.swf succeed.
2568         * server/movie_root.cpp (executeTimers): execute timers
2569           in order of expiration.
2570         * server/timers.{cpp,h}: extend interfaces to allow for
2571           less clock lookup calls and query expiration time.
2573 2008-01-10 Sandro Santilli <strk@keybit.net>
2575         * server/swf/tag_loaders.cpp (sound_stream_head_loader,
2576           define_sound_loader): check sample rate arguments.
2578 2008-01-10 Sandro Santilli <strk@keybit.net>
2580         * server/parser/movie_def_impl.{cpp,h}: make exported resource
2581           container access thread-safe, cleanup debug messages
2582           in get_export_resource().
2583         * server/swf/tag_loaders.cpp (sound_stream_head_loader): print
2584           unimplemented messages for unsupported tag records.
2585         * server/asClass.h, server/asobj/ClassHierarchy.h: comment out
2586           unused parameters (to remove compiler warnings).
2587         * server/: drag_state.h, movie_root.cpp: use floats for drag offset.
2588         * pythonmodule/Makefile.am: AUTOMAKE_OPTIONS must be outside
2589           of conditionals. Fixes bug #21994.
2591 2008-01-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2593         * configure.ac: hopefully make sure pythonmodule really doesn't
2594           build automatically.
2596 2008-01-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2598         * server/movie_root.cpp: use get() method of smart pointer
2599           fix a broken build (at least with boost 1.33).
2600         * pythonmodule/*: General fix up.
2602 2008-01-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2604         * pythonmodule/gnashpython.{h,cpp}: new pythonwrapper::GnashPlayer
2605           class for providing Python bindings.
2606         * pythonmodule/pyGnash.cpp: the python module with interface to
2607           gnash core libs.
2608         * pythonmodule/gnashPythonExample.py: example script as a substitute
2609           for proper documentation.
2610         * configure.ac, Makefile.am, pythonmodule/Makefile.am: add new
2611           directories; it's not built by default, neither are there macros
2612           in configure.ac yet. To build, change ENABLE_GNASH_PYTHON_MODULE
2613           manually and specify the python headers/libs in pythonmodule/Makefile.am.
2615 2008-01-09 Sandro Santilli <strk@keybit.net>
2617         * server/movie_root.cpp (findCharacterByTarget): start from
2618           an arbitrary level for resolution, not necessarely the
2619           original root movie...
2620         * server/vm/ASHandlers.cpp (CommonGetUrl):
2621           Don't convert target movie id to lowercase !
2622           Provide a compile-time macro to determine whether or not
2623           movie loads are postponed, being a pretty new thing...
2624           (defaults to do postpone).
2626 2008-01-09 Sandro Santilli <strk@keybit.net>
2628         * testsuite/misc-ming.all/: loadMovieTest.c, loadMovieTestRunner.cpp:
2629           Initial work to turn loadMovieTest.swf into a
2630           self-described/contained testcase.
2632 2008-01-09 Sandro Santilli <strk@keybit.net>
2634         * server/asobj/Math.cpp: make _global.Math inherit
2635           from Object.
2636         * testsuite/actionscript.all/Math.as: test that _global.Math
2637           is instance of Object, add consistency check.
2639 2008-01-09 Sandro Santilli <strk@keybit.net>
2641         * server/movie_root.{cpp,h}: add a loadMovie method
2642           to schedule loads for next advance, using late
2643           evaluation of target path (tested, but not automated).
2644         * server/vm/ASHandlers.cpp (CommonGetUrl): delegate
2645           movie loads to movie_root.
2646         * testsuite/misc-mtasc.all/: level5.as, level87.as,
2647           level99.as: frame count at loaded movie execution
2648           succeed.
2649         * testsuite/swfdec/PASSING: loadvariables-5.swf
2650           succeeds (no idea why..)
2652 2008-01-09 Sandro Santilli <strk@keybit.net>
2654         * server/: as_value.cpp, movie_root.{cpp,h}:
2655           Add a movie_root::findCharacterByTarget() and
2656           use it for soft refs.
2658 2008-01-09 Sandro Santilli <strk@keybit.net>
2660         * testsuite/misc-ming.all/DragDropTestRunner.cpp:
2661           advance playhead while waiting for movies to be
2662           loaded.
2664 2008-01-09 Sandro Santilli <strk@keybit.net>
2666         * server/movie_root.cpp (setLevel): remove interval
2667           timers when replacing _level0. Add note about additional
2668           things to check for that case.
2670 2008-01-09 Sandro Santilli <strk@keybit.net>
2672         * server/movie_root.{cpp,h}: clear the interval timeouts
2673           on restart/reset/clear.
2675 2008-01-09 Sandro Santilli <strk@keybit.net>
2677         * server/movie_root.cpp (setLevel): properly destroy
2678           existing levels when loading into them.
2679         * testsuite/gnashrc.in: pretend we're version 
2680           Pretend we're version WIN 9,0,100,0 while running tests
2681           (to be predictable and compatible with swfdec testsuite)
2682         * testsuite/swfdec/gen_run_swfdec_testsuite.sh:
2683           Use testsuite/gnashrc
2685 2008-01-08 Sandro Santilli <strk@keybit.net>
2687         * testsuite/misc-mtasc.all/: level5.as, level87.as,
2688           level99.as, levels.as: add tests to check when do
2689           actions in first frame of loaded levels get executed.
2691 2008-01-08 Sandro Santilli <strk@keybit.net>
2693         * testsuite/misc-ming.all/: DrawingApiTest.as,
2694           DrawingApiTestRunner.cpp: fix test, now the
2695           beginFill alpha is correct (couldn't belive we
2696           didn't have a test for it, indeed we had but was
2697           incorrect).
2699 2008-01-08 Sandro Santilli <strk@keybit.net>
2701         * server/asobj/MovieClipLoader.cpp: fix MovieClipLoader.getProgress()
2702         * testsuite/actionscript.all/MovieClipLoader.as: test
2703           MovieClipLoader.getProgress().
2705 2008-01-08 Sandro Santilli <strk@keybit.net>
2707         * server/impl.cpp: have MovieLibrary read cache limit from Rc file.
2708           See bug #21825.
2709         * server/sprite_instance.cpp (sprite_beginFill): don't ignore
2710           second argument (we miss a test for this, incredibly).
2712 2008-01-08 Sandro Santilli <strk@keybit.net>
2714         * server/sprite_instance.cpp (loadMovie): properly compute
2715           level number when we're the root movie.
2716         * testsuite/misc-mtasc.all/: Makefile.am, level5.as, level87.as,
2717           level99.as: add test for loading a moving into an existing
2718           level.
2720 2008-01-08 Sandro Santilli <strk@keybit.net>
2722         * testsuite/swfdec/PASSING: synced with master git (except
2723           I had to skip movieclip-version-* tests to avoid timeouts..)
2724         * testsuite/misc-ming.all/loadMovieTestRunner.cpp: advance after
2725           pressing the mouse button, as (theoretically) loads should never
2726           happen before next advance.
2727         * server/sprite_instance.cpp: implement MovieClip.meth() function.
2728         * testsuite/actionscript.all/MovieClip.as: tests for MovieClip.meth().
2729         * testsuite/misc-mtasc.all/level99.as: add tests for _levelX._name
2730           being undefined.
2732 2008-01-07 Matthias Berndt <berndt.matthias@gmx.de>
2734         * macros/boost.m4: construct proper ac_cv_path_boost_lib and
2735           ac_cv_path_boost_extra_lib even if the paths contain dots.
2736           See bug #21977.
2738 2008-01-07 Sandro Santilli <strk@keybit.net>
2740         * server/sprite_instance.cpp (get_root): use VM version, not
2741           relative movie one, to determine whether or not to use
2742           _lockroot.
2743         * testsuite/actionscript.all/MovieClipLoader.as: _lockroot use
2744           success.
2746 2008-01-07 Sandro Santilli <strk@keybit.net>
2748         * server/array.cpp: in Array constructor take negative
2749           length as zero. Not correct yet, but at least saves some
2750           memory and makes Gnash a bit more robust (fixes bug #21975).
2752 2008-01-07 Sandro Santilli <strk@keybit.net>
2754         * server/fill_style.{cpp,h}: add a matrix argument
2755           to the constructor taking a bitmap definition.
2756         * server/parser/BitmapMovieDefinition.cpp: appropriately
2757           scale bitmap fill rather then the drawn shape.
2758         * server/BitmapMovieInstance.cpp: don't scale the character,
2759           it's the fill that needed scaling.
2760         * testsuite/swfdec/PASSING: moviecliploader-known-image-size-{7,8}.swf
2761           succeed.
2762         * testsuite/actionscript.all/MovieClipLoader.as: checks for jpeg size
2763           succeed.
2765 2008-01-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2767         * gui/gnash.cpp, gui/Player.h: drop -b option.
2768           
2769 2008-01-07 Sandro Santilli <strk@keybit.net>
2771         * testsuite/actionscript.all/MovieClipLoader.as: fix the test, and add
2772           a new test showing _width/_height of loaded bitmap is wrong (the
2773           active_sharing.swf youtube bug).
2775 2008-01-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2777         * gui/gtk.cpp: realize _overlay window before reparenting the
2778           drawing area (stops OGL flipping the movie upside-down).
2779           
2780 2008-01-07 Sandro Santilli <strk@keybit.net>
2782         * server/asobj/xml.cpp: make verbosity a compile-time option.
2783         * server/sprite_instance.cpp (sprite_setMask): allow MovieClip.setMask
2784           to be called on any character, not just sprites. Fixes
2785           swfdec's image/mask-textfield-6.swf test (not automated).
2787 2008-01-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2789         * gui/gtk.cpp: move fullscreen to View menu and give it a pretty icon,
2790           plus some reorganization that got missed last time.
2792 2008-01-07 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2794         * gui/gtk{sup.h,.cpp}: cleanup, reorganize, add convenience functions
2795           for widget and dialogue display. Add the Gnash icon to most windows.
2796           Fix fullscreen display for movies that are initially larger than the
2797           screen size in the stand-alone player. The icon in the 'About'
2798           dialogue also works now.
2799         * plugin/plugin.cpp: add 2008 to copyright declaration in the plugin
2800           description.
2801         * gui/gui.{h,cpp}: add comments.
2802         * all modified files: add 2008 to copyright year.
2804 2008-01-07 Sandro Santilli <strk@keybit.net>
2806         * AUTHORS: add Zou Lunkai and Benjamin Wolsey.
2808 2008-01-05  Rob Savoye  <rob@ripple.welcomehome.org>
2810         * server/asobj/LocalConnection.{cpp,h}:  Use boost::uint8_t
2811         instead of char *.
2812         * po/Makefile.am: Make the dircetories before trying to install in
2813         them.
2814         * testsuite/libamf.all/test_lc.cpp: New test for LocalConnection
2815         base class.
2816         * testsuite/libamf.all/Makefile.am: Remove the old bogus AMF
2817         tests. Things are too different now for these to work without a
2818         lot of effort, and their functionality is covered by the other
2819         tests anyway.
2820         * testsuiote/libamf.all/test_{number,object,variable,string}.cpp:
2821         Remove as these are now bogus.
2822         * testsuite/libamf.all/test_sol.cpp: Use ::init() instead of the
2823         constructor.
2824         * testsuite/libamf.all/test_el.cpp: Dump the element too.
2825         * libamf/element.{cpp,h}: Add a dump() method.
2827 2008-01-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2829         * gui/gui.cpp: add messages for unimplemented fullscreen.
2830         * gui/gtk.cpp: cleanup, comment out tree display (we don't need two
2831           of the same thing for the release).
2833 2008-01-05 Sandro Santilli <strk@keybit.net>
2835         * testsuite/actionscript.all/TextField.as: check that a textfield
2836           object is a listener of itself.
2837         * server/as_value.cpp: make soft references verbosity a compile-time
2838           option.
2840 2008-01-05 Sandro Santilli <strk@keybit.net>
2842         * server/as_object.cpp (setPropFlags): fix infinite loop while setting
2843           flags to comma-separated prop strings.
2844         * server/asobj/LoadVars.cpp: cleanup VM accesses to not rely on the
2845           singleton.
2846         * testsuite/Makefile.am: remove tmpSharedObject on make clean.
2847         * libamf/sol.cpp (SOL::readFile): revert the fix to magic number
2848           consistency, it really seems it's us failign to swap bytes
2849           when writing it.
2851 2008-01-05 Sandro Santilli <strk@keybit.net>
2853         * libamf/sol.cpp (SOL::readFile): fix magic number consistency
2854           check.
2855         * testsuite/: Makefile.am, gnashrc.in: allow read-write access
2856           to SOL under the testsuite directory.
2857         * testsuite/libbase/: TCXXRc.cpp, gnashrc.in: test set SOLSafeDir
2858           and SOLReadOnly directives.
2859         * testsuite/actionscript.all/SharedObject.as: fix the testcase's
2860           expected result.
2861         * server/asobj/ClassHierarchy.cpp: make NetConnection available
2862           starting at SWF6.
2863         * testsuite/actionscript.all/NetConnection.as: fix testcase.
2865 2008-01-05 Sandro Santilli <strk@keybit.net>
2867         * testsuite/DummyMovieDefinition.h: set a fake url for the dummy
2868           definition, or VM initialization would abort.
2869         * server/asobj/LocalConnection.{cpp,h}: allow build to complete.
2871 2008-01-04  Rob Savoye  <rob@ripple.welcomehome.org>
2873         * server/asobj/LocalConnection.cpp: A mostly implemented
2874         LocalConnection class.
2875         
2876         * testsuite/actionscript.all/SharedObject.as: Use a multi level
2877         path.
2878         * testsuite/actionscript.all/NetConnection.as: Use check.a
2879         sinstead of dejagnu.as.
2880         * testsuite/actionscript.all/Makefile.am: Add libamf to the
2881         include paths.
2883         * server/asobj/SharedObject.cpp: Use Element::init() instead of
2884         constructing, as it appears to have problems with some gcc
2885         versions. This fixes the SharedObject.as test case.
2887 2008-01-05 Sandro Santilli <strk@keybit.net>
2889         * server/vm/VM.{cpp,h}: add getSWFUrl() method to fetch
2890           url of originating movie in a reliable way.
2891         * server/URLAccessManager.cpp (local_check): don't assume
2892           the movie_root always has an instance of originating if
2893           the VM is initialized (fixes a race condition).
2894         * server/asobj/SharedObject.cpp: use the new VM::getSWFUrl() method
2895           to figure out domain for .sol files (simplifies the code).
2897 2008-01-04  Rob Savoye  <rob@ripple.welcomehome.org>
2899         * libamf/sol.cpp: Properly caluculate the filesize.
2901 2008-01-04 Sandro Santilli <strk@keybit.net>
2903         * plugin/Makefile.am: drop useless install/uninstall rules,
2904           automatically provided by automake.
2906 2008-01-04 Sandro Santilli <strk@keybit.net>
2908         * plugin/klash/Makefile.am: actually drop all install rules,
2909           automake does a perfect job at it.
2911 2008-01-04 Sandro Santilli <strk@keybit.net>
2913         * plugin/klash/Makefile.am: don't quote installation paths, or
2914           ~ would not be interpreted by mkdir_p as $HOME. Use DESTDIR
2915           for the kde service too, and create the dir if non existing.
2917 2008-01-04 Sandro Santilli <strk@keybit.net>
2919         * server/URLAccessManager.cpp (local_check): don't use base url
2920           (-U) to tell apart local movies from remote ones, as base url
2921           is web-author-forgeable ('base' attribute).
2922           Use non web-author-forgeable virtual url of starting movie
2923           instead (-u).
2924           Skip the "forbid load of local resources by network movie"
2925           check if no starting movie exists yet (to allow loading a local
2926           file pretending it was a remote one).
2927           Should fix bug #21930 and allow more flexibility.
2928         * Makefile.am: install plugins under /tmp/ during 'distcheck'.
2929           (we can do something a bit smarter, but it's a start).
2930         * doc/C/usermanual/installation/custompath_configuration.xml:
2931           Document --with-kde-pluginprefix configure switch.
2933 2008-01-04 Fredrik Johansson <fredrik@mumme.se>
2935         * configure.ac, plugin/klash/Makefile.am: 
2936           add --with-kde-pluginprefix configure switch.
2937           See bug #21907.
2939 2008-01-04 Sandro Santilli <strk@keybit.net>
2941         * server/sprite_instance.cpp (beginGradientFill): 
2942           Improvements in non-boxed matrixType use, comments
2943           about future improvements.
2945 2008-01-04 Sandro Santilli <strk@keybit.net>
2947         * testsuite/server/MatrixTest.cpp: add a test
2948           for transforming a couple of points using
2949           a translate + scale approach. This is the
2950           way we should transform radial gradients
2951           for beginGradientFill, probably optimizable
2952           but helpful for understanding it.
2954 2008-01-03 Sandro Santilli <strk@keybit.net>
2956         * server/sprite_instance.cpp (beginGradientFill): 
2957           Improvements in "box" matrixType parsing.
2958           Still not 100% correct, but translation and scaling
2959           seem good, and rotation does have an effect.
2960           The problem is that translation/scaling and rotation
2961           is happening in the wrong order.
2963 2008-01-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2965         * gui/gui.{h,cpp}: ^F toggles fullscreen (not in the plugin - no shortcuts work
2966           here). Add toggleFullscreen() to avoid code duplication.
2967         * gui/gtk.cpp: hide menu bar for fullscreen in standalone player.
2969 2008-01-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
2971         * gui/gui.{cpp,h}: add setFullscreen(), unsetFullscreen() and
2972           _isFullscreen flag as virtual methods. At present only available
2973           as a menu toggle in the GTK GUI.
2974         * gui/gtk{.cpp,sup.h}: implement fullscreen for GTK. It works
2975           more or less for the plugin and standalone except that the
2976           size and/or dimensions are often wrong, most notably for youtube.
2978 2008-01-03 Sandro Santilli <strk@keybit.net>
2980         * server/fill_style.cpp (sample_gradient): if no gradients
2981           are defined return the black color. Fixes an assertion failure
2982           on malformed or as-defined gradientrecord-less linear grads.
2984 2008-01-02 Sandro Santilli <strk@keybit.net>
2986         * server/DynamicShape.{cpp,h},
2987           server/fill_style.{cpp,h}, server/matrix.h,
2988           server/sprite_instance.{cpp,h}:
2989           Draft beginGradientFill support. Almost works, just
2990           needs to get the matrix argument right ...
2992 2008-01-02 Sandro Santilli <strk@keybit.net>
2994         * server/fill_style.cpp, server/font.cpp,
2995           server/impl.cpp, server/parser/movie_def_impl.{cpp,h},
2996           server/parser/movie_definition.h, server/swf/tag_loaders.cpp:
2997           Remove obsoleted get_create_bitmaps and get_create_font_shapes
2998           methods of movie_definition.
3000 2008-01-02 Sandro Santilli <strk@keybit.net>
3002         * doc/C/usermanual/installation/custompath_configuration.xml:
3003           Document new KDE switches.
3005 2008-01-02 Fredrik Johansson <fredrik@mumme.se>
3007         * Makefile.am, configure.ac, plugin/klash/Makefile.am:
3008           Add --with-kde-appsdatadir and --with-kde-configdir switches.
3009           (see bug #21907)
3011 2008-01-02 Sandro Santilli <strk@keybit.net>
3013         * backend/: render_handler.h, render_handler_d3d.cpp,
3014           render_handler_xbox.cpp: remove last references to the
3015           triangulating render handler.
3017 2008-01-01 Udo Giacomozzi <udo.gnu@nova-sys.net>
3019         * gui/fb.cpp: Limit calls to notify_mouse_moved(), process
3020           more events at once (8 -> 100 max)    
3022 2008-01-01 Sandro Santilli <strk@keybit.net>
3024         * libamf/element.{cpp,h}: improve const correctness.
3025         * server/asobj/SharedObject.cpp: drop useless const_casts.
3027 2008-01-01 Sandro Santilli <strk@keybit.net>
3029         * server/asobj/SharedObject.cpp (sharedobject_getlocal):
3030           Use URL of first movie loaded, not base url, for security:
3031           base url can be set arbitrarily by publishers.
3032           Still use second argument if more then 2 are given (this
3033           is standard behaviour, not tested specifically).
3035 2007-12-31  Rob Savoye  <rob@ripple.welcomehome.org>
3037         * libbase/shm.{cpp,h}: Move from server directory.
3038         * libbase/Makefile.am: Build Shm class here.
3039         * server/shm.{cpp,h}: Move to libbase directory.
3040         * sever/Makefile.am: Don't build Shm class here.
3042 2007-12-30  Rob Savoye  <rob@ripple.welcomehome.org>
3044         * libamf/sol.cpp: Various tweaks for 64bit big-endian systems,
3045         namely the ppc in a G5 or PS3.
3047         * utilities/dumpshm.cpp: Don't use ipc_perm if the __key field
3048         doesn't exist.
3050         * server/asobj/SharedObject.cpp: Handle the second argument to
3051         getLocal() correctly, which doesn't add either the domain nor the
3052         swf file name. Fixes the Shared Object part of #21377, which now
3053         gets to the next frame.
3054         * libamf/element.{cpp,h}: Add a few constructors that take a
3055         std::string argument for the name.
3056         * libamf/sol.cpp: Remove bogus error message.
3057         
3058         * server/asobj/SharedObject.cpp: Use Element class instead of
3059         amf_element_t everywhere. 
3060         
3061         * libamf/element.{cpp,h}: New Element class to represent an AMF
3062         element. 
3063         * libamf/Makefile.am: Add element.{cpp,h}, and lcshm.{cpp,h}.
3064         * libamf/amf.{cpp,h}: Use Element class instead of amf_element_t
3065         everywhere. Move object types to element.h. Refactor all encoders
3066         and decoders. Ifdef out for now stuff that should really be in
3067         rtmp.
3068         * libamf/lcshm.{cpp,h}: Use Element class instead of amf_element_t
3069         everywhere. 
3070         * libamf/sol.{cpp,h}: Use Element class instead of amf_element_t
3071         everywhere. Use new style encoders and decoders.
3072         * testsuite/libamf.all/Makefile.am: Add new test_el test case for
3073         testing the Element class.
3074         * testsuite/libamf.all/test_sol.cpp: Use Element class instead of
3075         amf_element_t everywhere. Use new style encoders and decoders.
3076         
3077         * libamf/lcshm.{cpp,h}: New LcShm class for manipulating AMF
3078         objects as used within LocalConnection shared memory segments.
3080 2007-12-30 Sandro Santilli <strk@keybit.net>
3082         * configure.ac,
3083           doc/C/usermanual/installation/custompath_configuration.xml:
3084           Fallback to old installation path for kparts plugin if kde-config
3085           is not found. Document defaults for both kparts and npapi
3086           plugins.
3088 2007-12-30 Sandro Santilli <strk@keybit.net>
3090         * Makefile.am, configure.ac: add --with-kde-plugindir
3091           and --with-kde-servicesdir options.
3092         * doc/C/usermanual/installation/: custompath_configuration.xml,
3093           feature_configuration.xml: document new kparts options and cleanup
3094           info about the npapi plugin a bit.
3095         * macros/firefox.m4: use the NPAPI acronym when referring to the
3096           formerly known as "Firefox" plugin.
3097         * plugin/klash/Makefile.am: use kparts installation patsh as detected
3098           or specified by user at configure time.
3100 2007-12-29  Rob Savoye  <rob@ripple.welcomehome.org>
3102         * utilities/dumpshm.cpp: Add support to search through all sysv
3103         style shared memory segments and look for the LocalConnection
3104         one so the user doesn't have to know anything to find it.
3105         * configure.ac: Add test for the key field of ipc_perm data
3106         structure used by shmctl() to get the key.
3108         * testsuite/misc-swfc.all/Makefile.am: Add TEST_CASES to
3109         CLEANFILES.
3111 2007-12-29 Sandro Santilli <strk@keybit.net>
3113         * server/: BevelFilter.h, BitmapFilter.h,
3114           BlurFilter.h, ColorMatrixFilter.h, ConvolutionFilter.h,
3115           DropShadowFilter.h, GlowFilter.h, GradientBevelFilter.h,
3116           GradientGlowFilter.h, cxform.{cpp,h}, matrix.{cpp,h},
3117           parser/filter_factory.{cpp,h}:
3118           Change interfaces to take gnash::stream
3119           by ref rather then by pointer.
3120         * server/parser/action_buffer.{cpp,h}: add a movie_definition
3121           reference in code segments, and provide a getDefinitionURL()
3122           method to retrive the originating url.
3123         * server/parser/button_character_def.{cpp,h}, 
3124           server/swf/DoActionTag.h, server/swf/DoInitActionTag.h,
3125           server/swf/PlaceObject2Tag.{h,cpp}:
3126           Properly construct action_buffer by passing originating movie
3127           definition.
3129 2007-12-29 Sandro Santilli <strk@keybit.net>
3131         * plugin/klash/Makefile.am: use kde-config to find install
3132           system dirs for kde plugin. 
3133         * testsuite/MovieTester.cpp: allow loading initial movie
3134           (local sandboxes..)
3135         * utilities/processor.cpp: add main movie base dir
3136           to local sandboxes, or gprocessor won't be able to 
3137           play anything not explicitly in the sandboxes list.
3139 2007-12-28 Sandro Santilli <strk@keybit.net>
3141         * doc/C/usermanual/usage/gnashrc.xml: update info about
3142           localSandboxPath directive.
3143         * gui/Player.cpp, server/impl.cpp: don't add the "base url"
3144           of the movie to the local sandboxes list, since it may be
3145           set by HTML tags attribute (think base=/).
3146           Instead, add the basedir of the actual filename loaded.
3147           This might be /tmp for konqueror plugin, or none for npapi
3148           plugin (loads from stdin). Using the basedir helps testing
3149           where you have required data in the same dir of the main
3150           movie. -u, -U, -P base=x do not modify the local sandbox
3151           paths anymore.
3153 2007-12-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3155         * libamf/sol.cpp: use correct delete[].
3157 2007-12-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3159         * libbase/rc.cpp: fix lld format.
3160         * doc/C/usermanual/usage/gnashrc.xml: document flashSystemOS,
3161           flashSystemManufacturer, SOLSafeDir, SOLReadOnly.
3163 2007-12-26  Rob Savoye  <rob@ripple.welcomehome.org>
3165         * testsuite/misc-swfc.all/Makefile.am: Use SUFFIXES so the
3166         translation rule works. Use $(SANE_SCTESTS_OUT) instead of the
3167         bogus *.swf.
3169 2007-12-26 Sandro Santilli <strk@keybit.net>
3171         * server/asobj/NetConnection.cpp: implement NetConnection.isConnected
3172         * testsuite/actionscript.all/NetConnection.as: first pass of cleanup,
3173           lots to be done still...
3175 2007-12-26 Sandro Santilli <strk@keybit.net>
3177         * libbase/rc.{cpp,h}: add support for an urlOpenerFormat directive.
3178         * server/vm/ASHandlers.cpp (CommonGetUrl): use new
3179           RcInitFile::geURLOpenerFormat() method to obtain command to
3180           use for opening an external url. See bug #21155.
3181         * doc/C/usermanual/usage/gnashrc.xml: document new urlOpenerFormat
3182           directive.
3183         * testsuite/libbase/: TCXXRc.cpp, gnashrc.in: test urlOpenerFormat
3184           directive.
3186 2007-12-26 Sandro Santilli <strk@keybit.net>
3188         * server/edit_text_character.cpp (format_text): don't truncate
3189           or word-wrap long lines if autoSize is on.
3191 2007-12-26 Sandro Santilli <strk@keybit.net>
3193         * server/: movie_instance.cpp, sprite_instance.{cpp,h}:
3194           Implement _lockroot
3195         * testsuite/actionscript.all/: MovieClip.as, MovieClipLoader.as:
3196           Update expected results.
3198 2007-12-26 Sandro Santilli <strk@keybit.net>
3200         * testsuite/swfdec/gen_run_swfdec_testsuite.sh: skip tests requiring
3201           user interaction (see task #7556).
3202         * testsuite/actionscript.all/MovieClip.as: add test for _lockroot
3203           location.
3204         * server/: sprite_instance.cpp, as_environment.cpp,
3205           namedStrings.{cpp,h}:
3206           Add PROP_uROOT and PROP_uGLOBAL
3208 2007-12-25  Rob Savoye  <rob@ripple.welcomehome.org>
3210         * configure.ac: Add new security settings.
3211         
3212         * libbase/rc.{cpp,h}: Add new security options for Shared Objects
3213         and Local Connections. Make extractNumber() return a uint32_t
3214         intead of just an int as we keep overflowing strtol().
3215         * server/asobj/SharedObject.cpp: Use new security options for
3216         files. Return null for strings instead of undefined.
3218 2007-12-25 Sandro Santilli <strk@keybit.net>
3220         * server/asobj/MovieClipLoader.cpp: remove dead code.
3221         * testsuite/actionscript.all/MovieClipLoader.as: add test for
3222           _lockroot.
3224 2007-12-25 Zou Lunkai <zoulunkai@gmail.com>
3225         
3226         * server/movie_root.cpp: flushHigherPriorityActionQueues(), only flush when
3227           we are processing an actions queue; notify_key_listeners(),notify_mouse_listeners(),
3228           executeTimers, process queued actions after finish all event handlers.
3229         * testsuite/misc-ming.all/key_event_test.c,
3230           testsuite/misc-swfc.all/gotoFrameFromInterval.sc, gotoFrameFromInterval2.sc:
3231           xchecks to checks.
3232           
3233 2007-12-24  Rob Savoye  <rob@ripple.welcomehome.org>
3235         * server/asobj/SharedObject.cpp: Include cerrno.
3236         * libamf/sol.cpp: Include cerrno.
3237         * configure.ac: Add --with-shm= option to specify whether to use
3238         POSIX named shared memory or the older SYSV shared memory for
3239         compatibility. Look for the remap() function in libc.
3241 2007-12-24 Sandro Santilli <strk@keybit.net>
3243         * server/as_object.{cpp,h}: callMethod with 4 args..
3244         * server/asobj/MovieClipLoader.cpp: dispatch events to all listeners,
3245           not just self. Fixes bug #21881.
3246         * testsuite/actionscript.all/MovieClipLoader.as: test that a
3247           MovieClipLoader instance is a listener of self.
3249 2007-12-24 Sandro Santilli <strk@keybit.net>
3251         * server/sprite_instance.cpp (get_member): use get_root() to evaluate
3252           the _root member. This is to get relative url rather then absolute,
3253           more correct in swf6 and should be easier to handle _lockroot for
3254           SWF7.
3255         * testsuite/misc-mtasc.all/level99.as: add test for "_root" and
3256           '/path' resolution in levels.
3258 2007-12-24 Zou Lunkai <zoulunkai@gmail.com>
3259         
3260         * server/as_value.{h, cpp}: ~as_value(), don't inline the destructor.
3261         * server/as_environment.{h, cpp}: popCallFrame(), don't inline this function.
3262           fix the 'link once' problem here with -O2 option.
3263         
3264 2007-12-24 Markus Gothe <nietzsche@lysator.liu.se>
3266         * Santa Claus is coming to town.
3267         * libbase/utility.h: Fixed isfinte -> std::isfinite. Fixes building issue on OS X Leopard.
3269 2007-12-23 Sandro Santilli <strk@keybit.net>
3271         * testsuite/misc-ming.all/DragDropTest.as: add eval(_droptarget)
3272           tests.
3274 2007-12-23 Sandro Santilli <strk@keybit.net>
3276         * server/dlist.h: const version of visitBackward.
3277         * server/character.h: add virtual findDropTarget method.
3278         * server/character.cpp (computeTargetPath): include _levelX prefix
3279           when topmost movie is not _level0.
3280         * server/movie_root.{cpp,h}: if a character is being dragged
3281           find it's current _droptarget on mouse move.
3282         * server/sprite_instance.{cpp,h}: implement findDropTarget.
3283         * testsuite/misc-ming.all/DragDropTest.as: no more failures.
3284         * testsuite/misc-mtasc.all/: level5.as, level99.as:
3285           add test for _target member of clips inside _level#.
3287 2007-12-23 Sandro Santilli <strk@keybit.net>
3289         * testsuite/actionscript.all/MovieClipLoader.as: stop() before
3290           invoking the tests chaing. This is to workaround bogus blocking
3291           MovieClipLoader.loadClip of Gnash.
3292         * utilities/dumpshm.cpp: ISO C++ forbids variable-size array 'buf'
3293           (unused, btw)
3295 2007-12-22  Rob Savoye  <rob@ripple.welcomehome.org>
3297         * utilities/dumpshm.cpp: Add support to dump LocalConnection files
3298         if they live in the older SYSV memory segments, instead of the
3299         more modern POSIX style.
3301 2007-12-21 Udo Giacomozzi <udo.gnu@nova-sys.net>
3303         * extensions/fileio/fileio.{h,cpp}: Implement asyncmode() so that the
3304           extension can be used with device drivers. Fix fgetc() to return
3305           a valid string.
3307 2007-12-21 Sandro Santilli <strk@keybit.net>
3309         * testsuite/misc-ming.all/: DragDropTest.as,
3310           DragDropTestRunner.cpp: improved the test to verify
3311           persistance of _droptarget after stopDrag().
3313 2007-12-21 Sandro Santilli <strk@keybit.net>
3315         * server/as_object.h: provide const versions of to_movie()
3316           and to_character().
3317         * testsuite/misc-ming.all/DragDropTest.as: fix expected
3318           results.
3319         * testsuite/misc-ming.all/: Makefile.am, DragDropTestRunner.cpp:
3320           Implemented test runner for DragDropTest.swf and enabled it.
3322 2007-12-21 Sandro Santilli <strk@keybit.net>
3324         * testsuite/misc-ming.all/: Makefile.am, DragDropTest.as:
3325           Self-explaining testcase for _droptarget. Requires user
3326           interaction so will need a MovieTester based runner to
3327           be automated. Pretty nice test, give it a try ;P
3329 2007-12-21 Sandro Santilli <strk@keybit.net>
3331         * server/sprite_instance.cpp (sprite_startDrag): get the bounding box
3332           arguments right.
3334 2007-12-20 Sandro Santilli <strk@keybit.net>
3336         * server/asobj/MovieClipLoader.cpp: don't abort if getProgress
3337           is called w/out an argument, make the members of returned object
3338           enumerable.
3339         * testsuite/actionscript.all/MovieClipLoader.as: test
3340           MovieClipLoader.getProgress.
3342 2007-12-20  Rob Savoye  <rob@ripple.welcomehome.org>
3344         * server/asobj/SharedObject.cpp: Use the domain name as part of the
3345         path for the .sol files. This avoids name collision. Create all
3346         the directory components in the path name if they don't exist.
3347         
3348 2007-12-20 Sandro Santilli <strk@keybit.net>
3350         * libbase/LoadThread.h: add warnings about getBytesTotal() use
3351           and a call for better documenting current behaviour.
3352         * server/asobj/xml.cpp (checkLoad): drop the assertion completely
3353           and substitute with a check & log_debug. The assertion was
3354           about LoadThread::getBytesTotal() returning a number which would
3355           be fully available for a singleLoadThread::read() to consume...
3357 2007-12-20 Sandro Santilli <strk@keybit.net>
3359         * server/asobj/xml.cpp (checkLoad): fixed typo in an assertion.
3361 2007-12-20 Sandro Santilli <strk@keybit.net>
3363         * server/asobj/xmlnode.cpp: make XMLNode.attributes
3364           members enumerable.
3365         * testsuite/actionscript.all/XML.as: test enumerability
3366           of XMLNode.attributes.
3368 2007-12-20 Sandro Santilli <strk@keybit.net>
3370         * server/asobj/xmlnode.cpp: attributes are note instances
3371           of Object class.
3372         * testsuite/actionscript.all/XML.as: few more fixes.
3374 2007-12-20 Sandro Santilli <strk@keybit.net>
3376         * server/asobj/xml.{cpp,h}: don't abort on XML.load() [ no args ].
3377           Engage a thread for each load request.
3378         * testsuite/actionscript.all/XML.as: the test is now sane, and
3379           have few more successes.
3380         * libbase/LoadThread.{cpp,h}: (setupCache) fix current position
3381           and _completed computation, (reset) join thread.
3383 2007-12-20  Rob Savoye  <rob@ripple.welcomehome.org>
3385         * server/asobj/SharedObject.cpp: Make less verbose, don't dump
3386         members after reading.
3387         * libamf/amf.cpp: Check for a corrupted length field so we don't
3388         try to memcpy() an obscene amount of data... 
3389         * libamf/sol.cpp: Handle an error from trying to parse corrupted
3390         .sol files so we don't core dump.
3391         * testsuite/actionscript.all/SharedObject.as: Test the new values
3392         against the previous ones we just wrote.
3393         
3394         * server/asobj/SharedObject.cpp: Get rcinit file, and use the
3395         SOLSafeDir setting, or defaul tto "./", for all SOL file
3396         locations. This now can both write and read SOL files.
3397         * testsuite/actionscript.all/SharedObject.as: Test for the values
3398         gotten from the SOL file so we know we parsed it correctly.
3399         * libamf/amf.cpp: Don't swap numbers twice.
3400         * libamf/sol.cpp: Don't swap numbers when dumping, they should be
3401         in the correct byte order by default.
3403 2007-12-20 Sandro Santilli <strk@keybit.net>
3405         * testsuite/actionscript.all/XML.as:
3406           Cleanup the test to actually check calls to onLoad handler.
3407           Gnash is failing, and I didn't bother to use xcheck as I plan
3408           to do more work on it later.
3410 2007-12-20 Udo Giacomozzi <udo.gnu@nova-sys.net>
3412         * gui/fbsup.h, gui/fb.cpp: Calculate rowsize from virtual resolution
3413           instead from visible resolution   
3415 2007-12-20 Sandro Santilli <strk@keybit.net>
3417         * server/as_object.cpp: implement callMethod taking 3 args.
3418         * server/asobj/MovieClipLoader.cpp: cleanup interfaces, send
3419           all required events (altought still not in async mode).
3420         * testsuite/actionscript.all/MovieClipLoader.as: test events
3421           execution.
3423 2007-12-19  Rob Savoye  <rob@ripple.welcomehome.org>
3425         * utilities/soldumper: Dump the contents of any .sol file. Useful
3426         to know what's being stored about you in binary files.
3427         * utilities/Makefile.am: Add soldumper.
3429 2007-12-19 Sandro Santilli <strk@keybit.net>
3431         * server/asobj/SharedObject.cpp: make SharedObject.flush more
3432           robust, reduce string_table lookups in PropsSerializer, cleanup
3433           class initialization and SharedObject constructor.
3434         * libamf/amf.{cpp,h} (createElement): take element names by
3435           const refs.
3437 2007-12-19 Sandro Santilli <strk@keybit.net>
3439         * server/as_value.{cpp,h}: turn SpriteProxy to a generic
3440           CharacterProxy, keep all characters by soft-refs.
3441         * server/character.h: expose a getOrigTarget and provide
3442           a saveOriginalTarget to subclasses intended to be called by
3443           stage placement callbacks.
3444         * server/button_character_instance.cpp, server/movie_instance.cpp,
3445           server/sprite_instance.{cpp,h}, video_stream_instance.cpp:
3446           Call saveOriginalTarget from the overridden stagePlacementCallback.
3447         * testsuite/DummyCharacter.h, testsuite/server/DisplayListTest.cpp:
3448           make DummyCharacter take a 'parent' argument, to avoid failing
3449           an assertion in getTarget checking for characters with no parent
3450           to be in effect of the movie_instance class of derivates.
3451         * testsuite/server/Makefile.am: don't let failures in server
3452           testsuite interrupt the check run.
3453         * testsuite/simple.exp: comment units of the timeout
3454         * testsuite/actionscript.all/TextField.as: soft-ref tests succeed.
3456 2007-12-19  Rob Savoye  <rob@ripple.welcomehome.org>
3458         * server/asobj/SharedObject.cpp: Add handler for properties
3459         visitor function. Handle "undefined" values when encoding into
3460         AMF. Fixes #21848.
3461         * libamf/amf.cpp: Comment out function traces.
3462         * libamf/sol.cpp: Trap undefiend filespec.
3464 2007-12-19 Sandro Santilli <strk@keybit.net>
3466         * server/edit_text_character.{cpp,h}:
3467           implement removeTextField().
3468         * testsuite/actionscript.all/TextField.as: update expected
3469           results (2 xpass, 2 fail - used to suceed by luck).
3471 2007-12-19 Sandro Santilli <strk@keybit.net>
3473         * testsuite/actionscript.all/TextField.as: add tests for
3474           TextField soft references (unimplemented in Gnash).
3476 2007-12-19 Sandro Santilli <strk@keybit.net>
3478         * server/edit_text_character.cpp: implement getDepth()
3479         * server/sprite_instance.cpp make createTextField more
3480           tolerant and correct about parameters.
3481         * testsuite/actionscript.all/TextField.as: add more 
3482           createTextField tests (uhm.. should be in MovieClip.as)
3483           and a getDepth one.
3485 2007-12-18  Rob Savoye  <rob@ripple.welcomehome.org>
3487         * testsuite/actionscript.all/SharedObject.as: Test creating a .sol
3488         file and reading it back in. This test is still somewhat bogus, as
3489         it mostly just makes sure everything exists.
3490         
3491         * libamf/sol.h: Add overloaded writeFile with no args that uses
3492         only private data. Add accessors for filespec and the object
3493         name. 
3494         * server/asobj/SharedObject.{cpp,h}: Add support for
3495         PropertyLists. Implement flush, getLocal, and getSize().
3497 2007-12-18 Sandro Santilli <strk@keybit.net>
3499         * server/array.cpp (array_new): drop an absurdly complex and unneeded
3500           round trip to set initial array size. Makes PlanarityBig5 go to
3501           level 15 in a second or two. See
3502           http://wiki.gnashdev.org/wiki/index.php/PlanarityProfile.
3504 2007-12-18 Sandro Santilli <strk@keybit.net>
3506         * server/array.cpp: slightly reduced string_table::find calls.
3507         * server/as_object.{h,cpp}: rename visitProperties to
3508           visitPropertyValues, use it from copyProperties.
3510 2007-12-18 Sandro Santilli <strk@keybit.net>
3512         * server/as_object.h: add a visitProperties templated method.
3513         * server/edit_text_character.{cpp,h}: allow TextField.variable
3514           to point to a normal object, not fully correct yet but a minimal
3515           step forward.
3516         * testsuite/actionscript.all/TextField.as: 2 small successes.
3518 2007-12-18 Sandro Santilli <strk@keybit.net>
3520         * doc/C/extensions.xml: gave a review of how to create extensions.
3521           Should be a currently correct way of doing it.
3522         * server/character.cpp (destroy): make sure to set the _unloaded
3523           flag to avoid leaks (Fixes bug #21842).
3525 2007-12-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3527         * libbase/rc.{h,cpp}: add settings to gnashrc. Override
3528           System.capabilities.os: "set flashSystemOS The OS SUPER PREMIUM
3529           EDITION";
3530           Override System.capabilities.manufacturer: "set flashSystemManufacturer
3531           Gnash Linux";
3532           Maximum movie library size: "set movieLibraryLimit 3"
3533           (defaults to 8, not yet used).
3534         
3535 2007-12-18 Sandro Santilli <strk@keybit.net>
3537         * gui/gtk.cpp (run): set interval timeout here rather then on
3538           set_interval, and advance once before that. This drops the
3539           annoying FPS-based delay on start.
3541 2007-12-18 Udo Giacomozzi <udo.gnu@nova-sys.net>
3543         * server/impl.cpp: limit media library size to 8 entries and keep 
3544           track of cache hits
3545           
3546 2007-12-18 Sandro Santilli <strk@keybit.net>
3548         * testsuite/actionscript.all/TextField.as: add a test and check total
3549           tests run.
3550         * configure.ac: point to AGG website when warning about old version.
3551         * testsuite/misc-ming.all/DefineEditTextVariableNameTest2.c:
3552           Found out the "toString not invoked" was a bogus deduction.
3553           Added checking of total tests run.
3555 2007-12-17 Sandro Santilli <strk@keybit.net>
3557         * testsuite/actionscript.all/TextField.as: test maxChars having
3558           no effect on code-assigned text.
3559         * server/as_environment.h: drop obsoleted interfaces.
3561 2007-12-17  Rob Savoye  <rob@ripple.welcomehome.org>
3563         * cygnal/testsuite/cygnal.all/Makefile.am: Add server to include
3564         paths.
3565         * libamf/amf.{cpp,h}: Include as_object.h. Don't make swapBytes()
3566         static, we want to use it elsewhere. Add methods for creating
3567         elements, and encoding elements.
3568         * libamf/sol.cpp: Store elements in a vactor as they get
3569         added. Format a header for a .sol file. Write a SOL object to disk
3570         as an .sol file.
3571         * libamf/sol.h: Use boost cstdint.hpp instead of homegrown
3572         typedefs. Write a SOL object to disk as an .sol file.
3573         * testsuite/libamf.all/test_sol.cpp: Include as_object.h. Create
3574         an output file and test all it's elements.
3576 2007-12-17 Sandro Santilli <strk@keybit.net>
3578         * server/parser/action_buffer.cpp: don't be noisy about overriding
3579           dictionary.
3580         * gui/gui.cpp, server/movie_root.{cpp,h}, testsuite/MovieTester.cpp,
3581           utilities/processor.cpp: drop argument from movie_root::advance.
3583 2007-12-17 Sandro Santilli <strk@keybit.net>
3585         * server/as_environment.h: drop push_val, make push non-templated
3586           and taking an as_value. I belive this drops a copy-construction
3587           of as_value for every push use ...
3588         * extensions/gtk2/gtkext.cpp, server/as_function.cpp,
3589           server/asobj/NetStream.cpp, server/vm/ASHandlers.cpp: replace
3590           the few push_val calls with push.
3592 2007-12-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3594         * plugin/plugin.cpp: change NPAPI error messages so as not to
3595           annoy Opera users (doesn't make it work on Opera, unfortunately),
3596           general code cleanup.
3597         * plugin/plugin.cpp (second commit): more cleanup.
3599 2007-12-17 Sandro Santilli <strk@keybit.net>
3601         * server/asobj/: Sound.{cpp,h}, SoundFfmpeg.{cpp,h},
3602           SoundGst.{cpp,h}: don't copy the string passed to loadSound.
3604 2007-12-17 Sandro Santilli <strk@keybit.net>
3606         * testsuite/libamf.all/test_object.cpp: ISO C++ forbids variable-size
3607           arrays (-pedantic).
3609 2007-12-17 Sandro Santilli <strk@keybit.net>
3611         * testsuite/MovieTester.{cpp,h}: use a manual clock, to make
3612           time predictable. Expose an additional advanceClock method
3613           to control it (one way)
3614         * testsuite/misc-ming.all/intervalTestRunner.cpp: use advanceClock
3615           instead of unpredictable usleep() calls.
3617 2007-12-17 Sandro Santilli <strk@keybit.net>
3619         * testsuite/actionscript.all/case.as: fix testcase, add test for
3620           .length.
3622 2007-12-17 Sandro Santilli <strk@keybit.net>
3624         * gui/: gtk.cpp, gtksup.h: grab focus on click.
3625           Fixes bug #21808. Thanks Benjamin Wolsey for research
3626           on the topic.
3628 2007-12-17 Zou Lunkai <zoulunkai@gmail.com>
3629         
3630         * testsuite/misc-ming.all/new_child_in_unload_test.c, Makefile.am:
3631           new test for inspecting ::destroy(). We may want to destroy an character
3632           that is not unloaded.
3633         * server/character.cpp: remove the assertion in charcter::destroy(),
3634           it's not correct as tests confirmed.
3635           
3636 2007-12-16 Sandro Santilli <strk@keybit.net>
3638         * server/vm/ASHandlers.cpp (ActionImplementsOp):
3639           Don't assume values found on stack are all functions.
3640           Fixes bug #21811.
3642 2007-12-16 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3644         * gui/Player.cpp: allow setting base URL with -P (to support 
3645           <embed base="myurl"> tag; move parsing of flashvars and query
3646           string before the base URL gets set.
3648 2007-12-15  Rob Savoye  <rob@ripple.welcomehome.org>
3650         * testsuite/libamf.all/test_sol.cpp: When reading a SOL file,
3651         test for multiple elements of varying data types.
3652         * testsuite/libamf.all/Makefile.am: rather than generate the .sol
3653         files, these are now checked in, so we don't havwe to build them.
3654         
3655 2007-12-15 Sandro Santilli <strk@keybit.net>
3657         * testsuite/Makefile.am: fix abs_mediadir for gnashrc generation.
3658         * testsuite/misc-swfmill.all/initaction_in_definesprite.xml:
3659           more automation, and more to do.
3661 2007-12-14  Rob Savoye  <rob@ripple.welcomehome.org>
3662         
3663         * libamf/sol.{cpp,h}: New files for Shared Object file support.
3664         * libamf/Makefile.am: Build sol into libamf.
3665         * libamf/amf.{cpp,h}: Use cstdint for data types.
3666         * libamf/protocol.h: Define an enum for protocols supported.
3667         * testsuite/libamf.all/Makefile.am: Add test_sol. Build .sol files
3668         from XML.
3669         * testsuite/libamf.all/test_*.cpp: Use cstdint for data types.
3670         * testsuite/libamf.all/settings.sol: 
3671         * testsuite/libamf.all/xmlfiles: Directory for xml files to
3672         recreate .sol files.
3673         * testsuite/libamf.all/xmlfiles/array.xml, date.xml, number.xml,
3674         settings.xml, test.xml, xml.xml, boolean.xml, null.xml,
3675         object.xml, string.xml, undefined.xml: New XML files to generate
3676         .sol files using s2x.py.
3677         * testsuite/libamf.all/solfiles/array.sol, date.sol, number.sol,
3678         settings.sol, test.sol, boolean.sol, null.sol,
3679         object.sol, string.sol, undefined.sol: New binary SOL files for
3680         testcases.
3681         * testsuite/libamf.all/test_sol.cpp: Test case for SOL support.
3682         * configure.ac: Look for python so we can use it for testing.
3684 2007-12-14 Sandro Santilli <strk@keybit.net>
3686         * server/swf/tag_loaders.cpp: immediately store bitmap_character_def
3687           instances into an instrusive_ptr to make add_bitmap_character_def
3688           calls safe. Should fix bug #21377.
3690 2007-12-14 Sandro Santilli <strk@keybit.net>
3692         * server/parser/shape_character_def.cpp: fix compiler warnings,
3693           one of which about possible use of uninitialized value...
3695 2007-12-14 Sandro Santilli <strk@keybit.net>
3697         * server/sprite_instance.{cpp,h}, 
3698           server/parser/movie_def_impl.{cpp,h},
3699           server/parser/movie_definition.h,
3700           server/parser/sprite_definition.h:
3701           Remove dead init actions code. 
3703 2007-12-14 Sandro Santilli <strk@keybit.net>
3705         * gui/gui.cpp, server/as_environment.cpp, server/as_value.cpp,
3706           server/character.cpp, server/character.h,
3707           server/movie_instance.cpp, server/movie_instance.h,
3708           server/movie_root.h, server/sprite_instance.cpp,
3709           server/sprite_instance.h, server/swf_function.cpp,
3710           server/asobj/Object.cpp, server/vm/ASHandlers.cpp:
3711           Drop duplicated character::get_root_movie(), which does the same as
3712           character::get_root(); drop movie_root::get_root_movie, use the
3713           new getRootMovie name.
3715 2007-12-14 Sandro Santilli <strk@keybit.net>
3717         * server/swf/DoInitActionTag.h: store referenced character
3718           in the instance, pass to execute_init_actions when
3719           executing; add self as a normal control tag.
3720         * server/movie_instance.h: maintain a set of 'initialized'
3721           characters (characters referenced by executed DoInitAction
3722           tags).
3723         * server/sprite_instance.{cpp,h} (execute_init_action):
3724           update the movie_instance maintained set of initialized
3725           characters and use that set to figure out whether or not
3726           to execute them again.
3727         * testsuite/misc-swfmill.all/Makefile.am: expect a success
3728           for initaction in definesprite test.
3730 2007-12-14 Sandro Santilli <strk@keybit.net>
3732         * testsuite/misc-swfmill.all/: Makefile.am,
3733           initaction_in_definesprite.xml: test that DOINITACTION
3734           tags in sprite definitions are valid, and that whether or
3735           not an INITACTION tag was executed should be registered
3736           in the definition being referenced.
3738 2007-12-14 Sandro Santilli <strk@keybit.net>
3740         * server/stream.cpp (read): don't allow block reads to cross
3741           tag boundaries.
3743 2007-12-14 Sandro Santilli <strk@keybit.net>
3745         * libmedia/FLVParser.h: drop comma at end of enumerator list
3746         * server/swf/tag_loaders.cpp: provide a 'tell' function to
3747           StreamAdapter. 
3748         * libbase/jpeg.{cpp,h}: get a max header bytes parameter to limit
3749           input stream. Currently only used to skip a 0-sized header
3750           while still allowing further parsing of DEFINEBITS tag.
3751         * server/swf/tag_loaders.cpp: pass max header bytes when parsing
3752           JPEGTABLES. Fixes the 0-length JPEGTABLES tag (missing a testcase).
3754 2007-12-14 Sandro Santilli <strk@keybit.net>
3756         * testsuite/movies.all/Makefile.am: don't abort on failure.
3757           
3758 2007-12-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3760         * server/asobj/SoundFfmpeg.cpp: fix a segfault in getPosition()
3761           when no audio stream is found.
3763 2007-12-14 Zou Lunkai <zoulunkai@gmail.com>
3764         
3765         * testsuite/misc-ming.all/runtime_vm_stack_test.c, Makefile.am:
3766           new test for inspecting runtime vm stack.
3767           
3768 2007-12-13 Sandro Santilli <strk@keybit.net>
3770         * server/parser/button_character_def.{cpp,h}: don't leak
3771           button action buffers.
3772         * server/button_character_instance.cpp: update access to
3773           button actions (needs more isolation work).
3775 2007-12-13 Sandro Santilli <strk@keybit.net>
3777         * server/Property.h: always initialize mOrderId, which is used
3778           as the key for secondary multi_index in PropertyList.
3779           Seems to fix the infamous conditional jumps based on uninitialized
3780           values and with it the occasional assertion failure.
3781           See bug #21783.
3783 2007-12-13  Rob Savoye  <rob@ripple.welcomehome.org>
3785         * cygnal/http.h: Rename getFileType() to getFileStats()
3786         * cygnal/http.cpp: Set the file size right so it works with all
3787         browsers.
3788         * cygnal/cygnal.cpp: Use getFileStats() instead of getFileType().
3790         * cygnal/cygnal.cpp: Check the file type to set the HTTP
3791         Content-Tytpe field correctly. Also handle "file not found".
3792         * cygnal/http.cpp: Trap file not found errors. Format responses
3793         correctly, including a 404 error. Make all fields with multiple
3794         values an array.
3795         * cygnal/http.h: Add an ERROR for file type. Stash the message
3796         body and filesize as private data.
3797         * cygnal/testsuite/cygnal.all/test_crc.cpp: Use the global LogFile
3798         instance so verbosity works.
3799         * cygnal/testsuite/cygnal.all/test_http.cpp: Use the global
3800         LogFile instance so verbosity works. Test responses.
3802 2007-12-13 Sandro Santilli <strk@keybit.net>
3804         * server/PropertyList.cpp (addGetterSetter): since the function
3805           always returns true, which by documentation means the property
3806           was successfully added, this patch adds an assertion checking
3807           that the just-added property can be successfully looked up.
3808           This assertion seems to fail, so the commit makes Gnash less
3809           robust, but hopefully helps fixing the bug which we keep
3810           occasionally finding. Over here, I can trigger failure of that
3811           assertion by running testsuite/misc-ming.all/loop_test-Runner
3812           (but oddly enough not playing loop_test.swf using Gnash).
3814 2007-12-13 Sandro Santilli <strk@keybit.net>
3816         * server/parser/video_stream_def.cpp (readDefineVideoFrame): fix
3817           log_debug call (missing params).
3818         * backend/render_handler_agg.cpp, libbase/string_table.h,
3819           server/Property.{cpp,h}, server/PropertyList.{cpp,h},
3820           server/parser/abc_block.{cpp,h}:
3821           Fix -pedantic errors, make sure PropertyList always initialize
3822           all members. Unfortunately, this doesn't fix the valgrind-reported
3823           conditional jumps based on uninitialized memory.
3825 2007-12-13 Sandro Santilli <strk@keybit.net>
3827         * server/swf/tag_loaders.cpp (jpeg_tables_loader): don't limit
3828           StreamAdapter input as the *same* jpeg loader will be used
3829           to parse subsequent tags. This reintroduces possible seek-backs
3830           but fixes regressions in elvis.swf and strip.swf (bug #21786).
3831           We'll need to rethink the robustness issue for jpeg loading.
3833 2007-12-13 Sandro Santilli <strk@keybit.net>
3835         * server/parser/action_buffer.{cpp,h}: drop readFullTag(),
3836           get additional arg to read() to limit input stream.
3837         * server/parser/button_character_def.{cpp,h}: limit input
3838           stream while reading button_actions.
3839         * server/swf/: DoActionTag.h, DoInitActionTag.h,
3840           PlaceObject2Tag.cpp: update calls to action_buffer parser.
3842 2007-12-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3844         * server/asobj/Global.cpp: put return in updateAfterEvent();
3846 2007-12-13 Sandro Santilli <strk@keybit.net>
3848         * testsuite/actionscript.all/System.as: serverString exists now.
3850 2007-12-13 Zou Lunkai <zoulunkai@gmail.com>
3851         
3852         * server/asobj/Global.cpp: as_global_parseint(), ignore more leading
3853           characters.
3854         
3855 2007-12-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3857         * libbase/URL.{h,cpp}: add another encode() function to return
3858           a new escaped string.
3859         * server/asobj/System.cpp: implement capabilities.serverString.
3861 2007-12-12  Rob Savoye  <rob@ripple.welcomehome.org>
3863         * cygnal/http.{cpp,h}: Extract the fields with multiple values
3864         into arrays, instead of just extracting the whole string.
3865         * cygnal/testsuite/cygnal.all/test_http.cpp: Test for multiple
3866         values in HTTP header fields.
3867         
3868 2007-12-12 Sandro Santilli <strk@keybit.net>
3870         * server/parser/button_character_def.cpp (readDefineButton2):
3871           don't attempt to read button actions if there are none..
3873 2007-12-12  Rob Savoye  <rob@ripple.welcomehome.org>
3874         
3875         * configure.ac: Disable LIRC by default. Link cygnalrc test file
3876         to copy in source tree.
3877         * libbase/rc.h: Add new accessors so we can set private data from
3878         a derived class. Make constructor/destructor protected instead of
3879         private.
3880         * cygnal/crc.{cpp,h}: Cygnal specific init file derived from Gnash
3881         RcInitFile to avoid bloating out Gnash's init file handling for
3882         options it'll never use, but also let Cygnal share those values,
3883         or override them.
3884         * cygnal/Makefile.am: Add crc.cpp and crc.h.
3885         * cygnal/cygnal.cpp: Use new init file. Clean up port offset
3886         handling.
3887         * cygnal/testsuite/cygnal.all/cygnalrc.in: Test cygnal init file.
3888         * cygnal/testsuite/cygnal.all/test_crc.cpp: Test the Cygnal init
3889         file handling.
3890         * cygnal/testsuite/cygnal.all/Makefile.am: Add test_crc target.
3892 2007-12-12 Sandro Santilli <strk@keybit.net>
3894         * server/parser/button_character_def.{cpp,h}: cleanup parser by 
3895           splitting DEFINEBUTTON, DEFINEBUTTON2 and DEFINEBUTTONSOUND
3896           reading functions. Added a boundary arg to button_record parser
3897           to avoid reading out of bounds (with side-effect of reducing
3898           seek-back need)
3900 2007-12-12 Sandro Santilli <strk@keybit.net>
3902         * testsuite/actionscript.all/System.as: update expected results.
3903         * server/swf/tag_loaders.cpp (define_bits_jpeg3_loader): don't read
3904           rgb data past alpha_position.
3906 2007-12-12 Sandro Santilli <strk@keybit.net>
3908         * server/swf/tag_loaders.cpp (read_jpeg_tables): survive malformed swf
3909           with empty JPEGTABLES tag.
3910         * server/swf/tag_loaders.cpp (StreamAdapter::readFunc): don't attempt
3911           to fetch 0 bytes from underlying stream... Fixes bug #21779.
3913 2007-12-12 Sandro Santilli <strk@keybit.net>
3915         * libmedia/sound_handler.h: add a reset() method to put
3916           the sound handler in starting conditions (for movie restart).
3917         * libmedia/gst/sound_handler_{gst,sdl}.{cpp,h}: implement reset()
3918         * server/movie_root.cpp (restart): reset sound handler if any.
3920 2007-12-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
3922         * server/asobj/System.cpp: implement language, hasAudio; find os
3923           at runtime.
3924         * libbase/rc.{h,cpp}: do not set _flashSystemOS by default; doing
3925           so overrides runtime OS detection.
3926         * server/vm/VM.{h,cpp}: add methods to retrieve current OS and
3927           current language for System.capabilities.
3928         * configure.ac: test for sys/utsname.h (for system information).
3930 2007-12-12 Sandro Santilli <strk@keybit.net>
3932         * server/swf/tag_loaders.cpp: add support for limiting reads from
3933           the tu_file StreamAdapter (bitmaps parsing).
3934         * server/asobj/Global.cpp: stub updateAfterEvent().
3935         * testsuite/actionscript.all/Global.as: one more test for
3936           updateAfterEvent().
3938 2007-12-12 Sandro Santilli <strk@keybit.net>
3940         * configure.ac: define DEFAULT_FLASH_PLATFORM_ID and
3941           DEFAULT_FLASH_SYSTEM_OS based on $host (should likely
3942           be based on $target or something similar, to check
3943           when cross compiling)
3944         * libbase/rc.{cpp,h}: add getFlashVersionString() and
3945           getFlashSystemManufacturer() methods. Currently there's
3946           no .gnashrc label for them, which are instead only initialized
3947           based on values detected at configure time.
3948         * server/asobj/System.{cpp,h}: delegate System.capabilities.os
3949           and System.capabilities.manufacturer to RcInitFile.
3951 2007-12-12 Sandro Santilli <strk@keybit.net>
3953         * testsuite/libbase/Makefile.am: actually run the IntTypesTest.
3955 2007-12-12 Zou Lunkai <zoulunkai@gmail.com>
3957         * server/button_character_instance.cpp: stagePlacementCallback(), don't 
3958           forget to set charcter depth and id.
3959         * server/swf/PlaceObject2Tag.cpp: readPlaceObject2() and readPlaceObject3(),
3960           replace 8 read_bit() with one read_u8().
3961         * server/sprite_instance.{h,cpp}: clone_display_object(), remove dead function.
3962           
3963 2007-12-12 Sandro Santilli <strk@keybit.net>
3965         * server/asobj/System.cpp: add System.capabilities properties
3966           os, playerType and manufactorer. Would need a real implementation
3967           as this is just a placeholder.
3968         * testsuite/actionscript.all/System.as: test availability of
3969           known System.capabilities members.
3971 2007-12-12 Sandro Santilli <strk@keybit.net>
3973         * server/vm/ASHandlers.cpp (ActionGetMember): print ascoding error
3974           if trying to reference unexisitng object member.
3975         * testsuite/misc-swfc.all/Makefile.am: use double quotes to allow for
3976           abs_mediadir to expand.
3978 2007-12-12 Zou Lunkai <zoulunkai@gmail.com>
3980         * server/sprite_instance.cpp: don't restart an unloaded character, 
3981           fix bug#21754.
3982           
3983 2007-12-11 Sandro Santilli <strk@keybit.net>
3985         * server/as_function.cpp: don't set function prototypes
3986           to Function.prototype in SWF < 6.
3987         * server/asobj/: ClassHierarchy.cpp, Global.cpp: initialize
3988           string class manually, seems to be some special thing.
3989         * testsuite/actionscript.all/: Function.as, String.as: successes
3990           in prototype checking for swf5.
3992 2007-12-11 Sandro Santilli <strk@keybit.net>
3994         * testsuite/swfdec/PASSING: sync with master git.
3995         * server/swf_event.h: leave ownership of action_buffer to the 
3996           caller as a single action buffer can be triggered by multiple
3997           system events.
3998         * server/swf/PlaceObject2Tag.{cpp,h}: keep ownership of event
3999           action buffers, split PlaceObject2 and PlaceObject3 parser.
4001 2007-12-11 Sandro Santilli <strk@keybit.net>
4003         * server/swf/DisplayListTag.h: streamline included headers and
4004           forward declarations.
4005         * server/impl.cpp (create_jpeg_movie): fix log message format.
4007 2007-12-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4009         * testsuite/actionscript.all/Random.as: tests for distribution
4010           of all (pseudo-)random output; and for correctness of random(n)
4011           behaviour.
4013 2007-12-11 Sandro Santilli <strk@keybit.net>
4015         * server/asobj/string.cpp: fix slice, register native functions,
4016           fix static vs. prototoype methods.
4017         * testsuite/actionscript.all/String.as: add more tests
4018         * testsuite/swfdec/PASSING: String.slice tests pass.
4020 2007-12-11 Sandro Santilli <strk@keybit.net>
4022         * server/swf/tag_loaders.cpp (sound_stream_head_loader): tolerate
4023           lack of a 'latency' field in MP3 stream. Fixes bug #21729.
4024           Note that Ming also reports the file to have the same problem
4025           so it may actually be malformed.
4026         * server/parser/shape_character_def.cpp (read): still read an
4027           additional byte even if fill and line bits are zero if we're
4028           reading a morph shape.
4030 2007-12-10  Rob Savoye  <rob@ute.welcomehome.org>
4032         * cygnal/testsuite/cygnal.all/test_http.cpp: Add extracing fields
4033         from an HTTP header tests to go with the ones that create the same
4034         fields.
4035         * cygnal/cygnal.cpp: Use a cygnal-dbg.log file instead of
4036         gnash-dbg.log. Use boost bind variables for all threads.
4037         * cygnal/http.{cpp,h}: Add methods for encoding HTTP header
4038         fields. Use a real date, instead of the bogus one. Check the file
4039         types to set the Content-Type HTTP field correctly.
4040         * cygnal/stream.cpp: Comment out lotsa debug messages.
4041         * cygnal/Makefile.am: Drop DIST_SUBDIRS, they don't compile
4042         for anything but win32 anyway. Add testsuite directory.
4043         * cygnal/testsuite: New testsuite directory. It's here rather than
4044         in gnash/testsuite since these tests are very different from
4045         ones gnash needs for most things.
4046         * cygnal/testsuite/Makefile.am: New Makefile for Cygnal test
4047         directories.
4048         * cygnal/testsuite/cygnal.all: Cygnal specific test cases live
4049         here.
4050         * cygnal/testsuite/cygnal.all/Makefile.am: Build the test cases
4051         and run DejaGnu on them.
4052         * cygnal/testsuite/cygnal.all/test_http.cpp: Test case for HTTP
4053         protocol.
4054         * configure.ac: Add new cygnal/testsuite Makefiles.
4055         * cygnal/testsuite/simpe.exp: clone the one used currently for
4056         Gnash testing.
4058 2007-12-10 Sandro Santilli <strk@keybit.net>
4060         * testsuite/actionscript.all/Makefile.am: fix abs_mediadir to
4061           contain quotes. Prior version failed building XML-*.swf files,
4062           dunno if this patch breaks POSIX compatibility.
4063         * utilities/processor.cpp: check for quit request right
4064           after calling movie_root::setRootMovie, as that would
4065           execute actions in first frame.
4066         * server/timers.{cpp,h}, server/asobj/Global.cpp: implement
4067           setTimeout/clearTimeout.
4068         * testsuite/actionscript.all/Global.as: test existance of
4069           setTiemout/clearTimeout.
4070         * testsuite/swfdec/PASSING: setTimeout-related successes.
4072 2007-12-10 Sandro Santilli <strk@keybit.net>
4074         * testsuite/actionscript.all/Makefile.am: fix abs_mediadir to contain
4075           quotes. Prior version failed building XML-*.swf files, dunno if this
4076           patch breaks POSIX compatibility.
4077         * testsuite/swfdec/PASSING: synced with master git.
4078         * testsuite/libamf.all/Makefile.am: don't abort if a test fails.
4079           (note that test_object smashes the stack since the change in
4080           hexify())
4082 2007-12-10 Sandro Santilli <strk@keybit.net>
4084         * server/button_character_instance.{cpp,h},
4085           server/character.h, server/impl.cpp,
4086           server/movie_instance.{cpp,h},
4087           server/movie_root.{cpp,h},
4088           server/sprite_instance.{cpp,h},
4089           server/video_stream_instance.{cpp,h}:
4090           Drop the delta time argument to character::advance,
4091           make sprite_instance::advance_sprite non-virtual,
4092           drop unused cache-related code in impl.cpp
4094 2007-12-10  Rob Savoye  <rob@ute.welcomehome.org>
4096         * libbase/image.h: Include boost/cstdint.hpp to get uint8_t in a
4097         portable fashion.
4098         * gui/Makefile.am: Add am-frag to EXTRA_DIST.   
4099         * libbase/log.cpp: Make hexify() handle CR/LF better. Cleanup the
4100         output to handle pure binary files.
4101         * asobj/Sound.cpp: Include sound_handler.h.
4102         * testsuite/Makefile.am: Cleanup non POSIX variable name
4103         warnings.
4104         * testsuite/actionscript.all/Makefile.am: Cleanup non POSIX
4105         variable name warnings. 
4106         * testsuite/misc-swfc.all/Makefile.am: Cleanup non POSIX variable
4107         name warnings.
4109 2007-12-10 Sandro Santilli <strk@keybit.net>
4111         * server/timers.h: _start must be a long.
4113 2007-12-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4115         * server/vm/VM.{h,cpp}: add randomNumberGenerator() to return
4116           pointer to a boost pseudo-RNG.
4117         * server/vm/ASHandlers.cpp: use boost RNG instead of tu_random
4118           in ActionRandom().
4119         * server/asobj/Math.cpp: use boost RNG instead of tu_random in
4120           math_random().
4121         * server/movie_root.cpp: remove calls to tu_random::next_random.
4122         * server/action.cpp: remove tu_random include.
4123         * libbase/tu_random{cpp,h}: removed.
4124         * libbase/Makefile: remove deleted files
4126 2007-12-10 Sandro Santilli <strk@keybit.net>
4128         * server/parser/movie_def_impl.cpp (readHeader): 0 FPS 
4129           must be interpreted as max FPS (65535).
4130         * server/timers.{cpp,h}: evaluate object property name
4131           at execution, not initialization.
4132         * testsuite/swfdec/PASSING: setinterval2.swf passes.
4134 2007-12-10 Sandro Santilli <strk@keybit.net>
4136         * server/timers.cpp (expired): add interval to start time
4137           when expired (rather then using current time); expire
4138           also when start+interval == now.
4139         * testsuite/swfdec/PASSING: setinterval.swf succeeds.
4141 2007-12-09 Sandro Santilli <strk@keybit.net>
4143         * server/timers.{cpp,h}: let 0 be a valid start timer
4144           for intervals.
4146 2007-12-08 Sandro Santilli <strk@keybit.net>
4148         * ManualClock.h: moved from testsuite to server
4149         * utilities/processor.cpp: use a manual clock for running
4150           tests.
4151         * testsuite/swfdec/PASSING: setinterval-arguments succeeded.
4153 2007-12-07 Sandro Santilli <strk@keybit.net>
4155         * gui/NullGui.cpp (run): stop keeping CPU busy for nothing.
4156         * utilities/: parser.cpp, Makefile.am: drop gparser.
4158 2007-12-07 Sandro Santilli <strk@keybit.net>
4160         * server/vm/VM.{cpp,h}: take a VirtualClock at init time
4161           and use it from getTimer().
4162         * gui/Player.cpp: initialize the VM with SystemClock.
4163         * testsuite/: Makefile.am, ManualClock.h: manual clock
4164           for test runners.
4165         * testsuite/MovieTester.{cpp,h}: initialize the VM
4166           with a SystemClock.
4167         * testsuite/server/: DisplayListTest.cpp,
4168           PropertyListTest.cpp: initialize the VM
4169           with a ManualClock.
4170         * utilities/processor.cpp: initialize the VM with
4171           SystemClock.
4173 2007-12-07 Udo Giacomozzi <udo.gnu@nova-sys.net>
4175         * testsuite/misc-swfc.all/gotoFrameFromInterval2.sc:
4176           new testcase for gotoAndPlay -> stop
4177         * testsuite/misc-swfc.all/gotoFrameFromInterval.sc:
4178           fix sanity check
4179         * testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc:
4180           new test for gotoAndPlay(label) *function*
4181         * server/sprite_instance.cpp: fix gotoAndXXX for frame labels
4182           
4183 2007-12-07 Sandro Santilli <strk@keybit.net>
4185         * server/: Makefile.am, SystemClock.{cpp,h}, VirtualClock.cpp:
4186           New VirtualClock virtual class and system time based implementation.
4188 2007-12-07 Sandro Santilli <strk@keybit.net>
4190         * testsuite/misc-ming.all/intervalTest.as: more self-contained
4191           tests, to reduce relying on MovieTester concept of time;
4193 2007-12-07 Zou Lunkai <zoulunkai@gmail.com>
4195         * server/character.h, sprite_instance.cpp, dlist.{h,cpp}:
4196           deprecate the TimelineInfor class, it's no longer needed in the
4197           new timeline control design.
4198           
4199 2007-12-06 Sandro Santilli <strk@keybit.net>
4201         * testsuite/misc-swfc.all/Dejagnu.sc: print __END_OF_TEST__ 
4202           and fscommand:quit in done(), call this.done() from totals()
4203           and xtotals().
4204         * testsuite/misc-swfc.all/Makefile.am: add consistency checks
4205           for tests.
4206         * testsuite/misc-swfc.all/: sound.sc, gotoFrameFromInterval.sc:
4207           Don't include check.sc, let Dejagnu.sc do that to avoid symbols
4208           redefinition.
4210 2007-12-06 Udo Giacomozzi <udo.gnu@nova-sys.net>
4212         * gui/fb.{h,cpp}: switch to graphics mode (and back) to get rid
4213           of any text console output and the cursor
4215 2007-12-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4217         * server/swf/tag_loaders.cpp: revert last change; it stops
4218           the parsing errors but causes segfaults.
4220 2007-12-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4222         * server/swf/tag_loaders.cpp: Omit read of evidently optional latency
4223           bytes in MP3 audio. (Unused anyway).
4224         * libmedia/sdl/VideoDecoderFfmpeg.cpp: set FLV source line width
4225           to next multiple of four. Fixes slanted video rendering in bug #21712
4226           and doesn't appear to break other cases. Minor cleanups.
4228 2007-12-06 Sandro Santilli <strk@keybit.net>
4230         * testsuite/misc-swfc.all/Makefile.am: fix deps for
4231           alltest-runner, only allow tests to advance at most 50 times.
4232         * testsuite/misc-swfc.all/Dejagnu.sc: print file/line info
4233           for successes too.
4234         * testsuite/server/StreamTest.cpp: add seek tests.
4236 2007-12-06 Sandro Santilli <strk@keybit.net>
4238         * server/parser/shape_character_def.cpp (read): don't
4239           consume an additional byte if both fill and line bits
4240           are zero. Fixes an out-of-bound access during Glyph
4241           parsing of bgtest.swf (1a2bd0411b38db40e74916a3b413522c)
4243 2007-12-05 Sandro Santilli <strk@keybit.net>
4245         * testsuite/server/StreamTest.cpp: don't assume
4246           we have a non-caching stream, accidentally test
4247           set_position too..
4249 2007-12-05 Sandro Santilli <strk@keybit.net>
4251         * server/stream.h: document align reads and bitwise
4252           reads, add a couple of WARNING for possible bugs.
4254 2007-12-05 Sandro Santilli <strk@keybit.net>
4256         * server/stream.h: document align() and get_position().
4257         * testsuite/server/StreamTest.cpp: add tests for
4258           stream::get_position()
4259         * server/parser/shape_character_def.cpp (read):
4260           fix format strings for SHAPE_LOG builds.
4262 2007-12-05 Sandro Santilli <strk@keybit.net>
4264         * configure.ac, server/dlist.{cpp,h}: get assertion checking
4265           back to enabled by default, disable instead the invariant testing
4266           function for DisplayList, unless explicitly requested with a compile
4267           time GNASH_PARANOIA_LEVEL.
4269 2007-12-04 Sandro Santilli <strk@keybit.net>
4271         * testsuite/misc-ming.all/Makefile.am: registerClassTest2 requires
4272           init actions support in Ming.
4273         * server/fill_style.{cpp,h}: make fill_style a concrete class,
4274           only had the destructor as a virtual anyway...
4276 2007-12-04 Sandro Santilli <strk@keybit.net>
4278         * libmedia/AudioDecoderSimple.cpp (decode): don't leak BitsReader
4279           objects, minor cleanups (still sucks pretty much).
4280         * server/parser/video_stream_def.cpp (readDefineVideoFrame): read all
4281           data at once rather then reading a byte each iteration of a loop,
4282           read frame number from tag, improve robustness and other minor cleanups.
4283         * server/stream.cpp: reduce direct accesses to the underlying stream
4284           in preparation for using a cache buffer.
4285         * libmedia/Makefile.am: don't put <tab> characters before variable
4286           assignment.
4288 2007-12-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4290         * libmedia/Makefile.am: Add missing gstreamer files.
4292 2007-12-04 Sandro Santilli <strk@keybit.net>
4294         * (tons of files): drop tu_types.h, use boost/cstdint.hpp instead.
4296 2007-12-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4298         * libmedia/MediaDecoder.cpp: make sure we can stop decoding before the
4299           buffer is full. Avoids waiting interminably for the thread to finish
4300           if gnash is closed in the decoding loop.
4302 2007-12-04 Sandro Santilli <strk@keybit.net>
4304         * testsuite/libbase/: Makefile.am, IntTypesTest.cpp: 
4305           Add test for size of *int*_t structs.
4307 2007-12-04 Zou Lunkai <zoulunkai@gmail.com>
4309         * server/sprite_instance.cpp, server/vm/ASHandlers.cpp: 
4310           sprite_startDrag(), ActionStartDragMovie(), mark the character as script
4311           transformed after start mouse dragging.
4312         * testsuite/misc-swfc.all/mouse_drag_test.sc: xchecks to checks, bug #20723
4313           also fixed.
4314         
4315 2007-12-04 Zou Lunkai <zoulunkai@gmail.com>
4316         
4317         * testsuite/misc-swfc.all/Makefile.am, mouse_drag_test.sc: new test file
4318           for mouse dragging, fix this should help fixing zoonmheng.swf.
4319         * testsuite/misc-ming.all/loop_test10.c: more tests for name synthesis,
4320           all passed.
4321         * server/dlist.cpp: mergeDisplayList(), minor cleanups.
4323 2007-12-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4325         * libmedia/MediaParser.h, libmedia/sdl/MediaParserFfmpeg.h: pass pointer
4326           to audio codec context (ffmpeg only).
4327         * libmedia/sdl/MediaParserFfmpeg.{h,cpp}: remove useless _frame.
4328         * libmedia/sdl/AudioDecoderFfmpeg.cpp: use parser's original audio codec
4329           context (fixes playback of some audio codecs); don't fail on missing
4330           parser until it's needed.
4332 2007-12-03 Sandro Santilli <strk@keybit.net>
4334         * libbase/curl_adapter.cpp (fill_cache): one liner early-out to
4335           improve loading speed x3.
4336         * server/array.cpp: register native functions, fix interface
4337           initialization and logging.
4338         * server/asobj/Global.cpp: ASNative => ASnative
4339         * testsuite/actionscript.all/array.as: test for calling Array()
4340           as a normal function, ctor use trough ASnative, flag position.
4342 2007-12-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4344         * libmedia/sdl/MediaDecoderSdl.cpp: make gotAudio() and gotVideo()
4345           return false when decoder setup failed. With any luck, we'll
4346           just play the decodable stream.
4348 2007-12-03 Sandro Santilli <strk@keybit.net>
4350         * server/DynamicShape.cpp (clear): set current path to NULL
4351           or would point to deleted memory. Fixes bug #21583.
4352         * server/sprite_instance.cpp (markReachableResources): assert
4353           that the tmp backup list is empty.
4355 2007-12-03 Sandro Santilli <strk@keybit.net>
4357         * server/swf/tag_loaders.cpp (sound_stream_head_loader): ensure 
4358           needed bytes are available, fix long read for mp3 case.
4359         * server/stream.cpp (open_tag): don't trust a tag advertising
4360           to go past end of it's containing tag.
4362 2007-12-03 Sandro Santilli <strk@keybit.net>
4364         * libbase/zlib_adapter.cpp: print error messages from zlib, few more
4365           checks for robustness.
4366         * server/swf/tag_loaders.cpp (sound_stream_block_loader): ensure
4367           needed bytes are available, don't attempt to read 0 bytes
4368           from stream (malformed swf).
4369         * server/stream.{cpp,h}: drop unused get_tag_length, forbid
4370           seek-backs to before any opened tag start.
4371         * server/parser/movie_def_impl.{cpp,h}: mutex-protect
4372           characters dictionary. 
4373         * libbase/BitsReader.h, libmedia/AudioDecoderSimple.cpp: renamed
4374           BitsReader::got_bits to gotBits (style).
4375         * testsuite/swfdec/PASSING: countdown.swf succeeds after zou commit
4376           (unload event related).
4378 2007-12-03 Zou Lunkai <zoulunkai@gmail.com>
4380         * server/dlist.{h, cpp}: add mergeDisplayList() for timeline control attempt5.
4381         * server/sprite_instance.{h,cpp): restoreDisplayList(), use the new 
4382           mergeDisplayList() interface; cleanups for executing a PlaceObject2 tag.
4383         * testsuite/misc-ming.all/loop_test10.c: xchecks to checks.
4384         * testsuite/misc-ming.all/loop_test-Runner.cpp: allow a invalidated bound
4385           detection regression, one check to xcheck. This regression is caused by
4386           always invalidating a looping back character, could be fixed in later 
4387           optimization step.    
4389 2007-12-02 Bastiaan Jacques <bastiaan@bjacques.org>
4391         * backend/render_handler{.h,_ogl.cpp,_agg.cpp,_cairo.cpp},
4392         server/render.{h,cpp}: Drop allow_glyph_textures and draw_bitmap
4393         because the glyph texturing code was removed from the Gnash core
4394         recently. (This was the only purpose for draw_bitmap.)
4396 2007-12-02  Rob Savoye  <rob@ute.welcomehome.org>
4398         * Makefile.am: Add target to build ipk packages.
4399         * packaging/ipkg: new directory for ipk packaging files.
4400         * packaging/ipkg/{Gnash.desktop, control, postinst, prerm,
4401         GnashG.xpm}: New files to build ipks. 
4403 2007-12-02 Sandro Santilli <strk@keybit.net>
4405         * libbase/noseek_fd_adapter.cpp: stop calling fstat and needlessly
4406           allocate/deallocate buffers. Read in chunks of 512 bytes.
4407           This makes reading from stdin more then 15 times faster.
4409 2007-12-02 Sandro Santilli <strk@keybit.net>
4411         * libbase/: Makefile.am, tu_file.h, utility.h,
4412           libmedia/AudioDecoderSimple.cpp, server/asobj/:
4413           Global.cpp, string.cpp, server/vm/action.cpp:
4414           Drop tu_swap.h
4416 2007-12-01 Sandro Santilli <strk@keybit.net>
4418         * server/vm/fn_call.h: add isInstantiation() method to distinguish
4419           between normal call and instantiating call to builtin constructors.
4420         * server/asobj/Boolean.cpp (boolean_ctor): return a boolean (or
4421           undefined) type if not instantiating.
4422         * server/asobj/Number.cpp (number_ctor): return a number type if not
4423           instantiating.
4424         * server/asobj/string.cpp (string_ctor): return a string type if not
4425           instantiating.
4426         * testsuite/actionscript.all/: Boolean.as, Number.as, String.as,
4427           ops.as: successes.
4428         * testsuite/swfdec/PASSING: string-construct tests pass.
4430 2007-12-01 Bastiaan Jacques <bastiaan@bjacques.org>
4432         * server/vm/Machine.cpp: Remove an "empty" if-statement that, if it
4433         weren't empty, would probably be a premature optimization. Pointed out
4434         by Hubert Figuiere.
4436 2007-12-01 Bastiaan Jacques <bastiaan@bjacques.org>
4438         * backend/render_handler{.h,_ogl.cpp,_agg.cpp,_cairo.cpp},
4439         server/render.{h,cpp}: Drop create_bitmap_info_alpha, since it is
4440         unused and none of the current renderers implement it.
4442 2007-12-01 Sandro Santilli <strk@keybit.net>
4444         * testsuite/actionscript.all/Boolean.as: add test for Boolean()
4445           constructor call out of an 'new' statement. Gnash fails.
4446         * testsuite/actionscript.all/String.as: add test for String()
4447           constructor call out of an 'new' statement. Gnash fails.
4449 2007-12-01 Sandro Santilli <strk@keybit.net>
4451         * libbase/: drop demo.{cpp,h} and hash_wrapper.h
4452         * utilities/parser.cpp: use std::map instead of hash_wrapper.
4454 2007-12-01 Sandro Santilli <strk@keybit.net>
4456         * libgeometry: drop libgnashgeo.
4458 2007-12-01 Bastiaan Jacques <bastiaan@bjacques.org>
4460         * backend/render_handler_tri.{cpp,h}: Remove these unused
4461         files.
4462         * backend/render_handler_agg.cpp: Minor cleanups: Avoid calling
4463         default constructors (they are called anyway). Switch m_pixf to
4464         std::auto_ptr. Remove the unused stubs apply_color and apply_matrix.
4466 2007-12-01 Sandro Santilli <strk@keybit.net>
4468         * testsuite/swfdec/PASSING: sync to master.
4469         * libgeometry/: Makefile.am, kd_tree_dynamic.{cpp,h},
4470           kd_tree_packed.{cpp,h}: drop unused files guilty of
4471           using hash_wrapper.h
4473 2007-12-01 Sandro Santilli <strk@keybit.net>
4475         * libmedia/sdl/sound_handler_sdl.{cpp,h}: drop dependency on
4476           hash_wrapper.h.
4478 2007-12-01 Sandro Santilli <strk@keybit.net>
4480         * libmedia/gst/sound_handler_gst.{cpp,h}: drop dependency on
4481           hash_wrapper.h
4482         * utilities/processor.cpp: add support for reading from stdin.
4484 2007-12-01 Sandro Santilli <strk@keybit.net>
4486         * libbase/: Makefile.am, triangulate.h, triangulate_float.cpp,
4487           triangulate_impl.h, triangulate_sint32.cpp: drop dead code.
4489 2007-12-01 Sandro Santilli <strk@keybit.net>
4491         * server/: Makefile.am, fontlib.cpp, shape.{cpp,h},
4492           tesselate.{cpp,h}, parser/morph2_character_def.{cpp,h},
4493           parser/shape_character_def.{cpp,h}:
4494           Drop unused software renderer (tesselator, mesh_set and friends)
4496 2007-12-01 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4498         * libmedia/sdl/MediaParserFfmpeg.cpp: Add buffer to prevent invalid
4499           reads when decoding media frames.
4501 2007-12-01 Sandro Santilli <strk@keybit.net>
4503         * server/: font.{cpp,h}, fontlib.{cpp,h}, text.cpp:
4504           Drop deprecated textured glyphs support.
4506 2007-11-30 Sandro Santilli <strk@keybit.net>
4508         * another bunch of files: drop deprecated cache data management
4509           and generate_font_bitmaps interface.
4511 2007-11-30 Sandro Santilli <strk@keybit.net>
4513         * server/batch_test.py => testsuite/samples/batch_test.py:
4514           moved what looks like a tester for movies in testsuite/samples
4515           in a more likely place.
4517 2007-11-30 Sandro Santilli <strk@keybit.net>
4519         * lots of files: drop most includes of container.h, the only
4520           ones left are in files which can probably die on their own.
4522 2007-11-30 Sandro Santilli <strk@keybit.net>
4524         * configure.ac: go find PNG libs (still not used, but planned)
4526 2007-11-30 Bastiaan Jacques <bastiaan@bjacques.org>
4528         * backend/render_handler.h, server/render.cpp: Drop set_cxform
4529         because it's unused; drop set_matrix because its semantics are
4530         unclear. Instead of set_matrix, add matrix arguments to
4531         draw_line_strip and draw_poly.
4532         * backend/render_handler_agg.cpp: Drop set_cxform and set_matrix and
4533         adjust draw_{line_strip,poly} to match. Drop m_current_cxform and
4534         m_current_matrix wihch were previously used to hold the arguments to
4535         set_{matrix,cxform}.
4536         * backend/render_handler_cairo.cpp: Make cairo_init_matrix static.
4537         Introduce class CairoScopeMatrix which will apply a matrix to the
4538         current cairo matrix and revert that application when it goes out of
4539         scope. Remove apply_matrix in favour of CairoScopeMatrix.
4540         * backend/render_handler_ogl.cpp, gui/gui.cpp,
4541         server/edit_text_character.{cpp,h}, server/render.{cpp,h},
4542         server/text.cpp : Adjust following the removal of set_{matrix,cxform}
4543         and changes to draw_{line_strip,poly}.
4545 2007-11-30 Sandro Santilli <strk@keybit.net>
4547         * server/edit_text_character.cpp (format_text): reset bounds when in
4548           autoSize mode.
4549         * testsuite/misc-mtasc.all/TextFieldTest.as: success and a new test.
4551 2007-11-30 Sandro Santilli <strk@keybit.net>
4553         * server/as_value.cpp (to_number): add support for parsing hex
4554           strings in swf6+
4555         * testsuite/actionscript.all/Number.as: success in hex parsing tests.
4557 2007-11-30 Sandro Santilli <strk@keybit.net>
4559         * testsuite/actionscript.all/Number.as: add test for '0xRRGGBB'
4560           automatic conversion to number in SWF6+ (gnash fails).
4561         * testsuite/misc-mtasc.all/: Makefile.am, TextFieldTest.as:
4562           New test for TextField, contributed by Asger Ottar Alstrup
4563           <asger@area9.dk>.
4564         * testsuite/misc-mtasc.all/check.as: print expression in failing
4565           check()/xcheck() calls.
4567 2007-11-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4569         * libmedia/sdl/AudioDecoderFfmpeg.cpp: Don't try to delete non-
4570           existent codec context.
4571         * libmedia/sdl/MediaParserFfmpeg.cpp: Avoid moving stream position
4572           before reading probe data.
4574 2007-11-30 Sandro Santilli <strk@keybit.net>
4576         * gui/kde.cpp (quit): use QApplication::exit.
4577         * gui/kde_glue_agg.cpp: keep rendering no matter what HAVE_QTOPIA says
4578           (or rendering would be disabled for normal kde-gnash)
4580 2007-11-30 Sandro Santilli <strk@keybit.net>
4582         * plugin/plugin.cpp: don't use operator+ on temp string, it seems
4583           to have weird problems in some cases. See bug #21667.
4585 2007-11-30 Sandro Santilli <strk@keybit.net>
4587         * server/movie_root.{cpp,h}: support swapping and removing levels,
4588           add a pointer to originally loaded movie for methods still needing 
4589           that.
4590         * gui/gui.cpp: use movie_root::getRootMovie() instead of getLevel(0)
4591           as we can't assume _level0 is present (I think).
4592         * server/character.cpp (computeTargetPath): for _level# movies !=
4593           original root movie return '_level#' string, not '/'.
4594         * server/sprite_instance.cpp: allow removing and swapping levels.
4595         * testsuite/misc-mtasc.all/: level5.as, level99.as: test swapping
4596           and removing levels.
4597         * testsuite/swfdec/PASSING: movieclip-swap-depths tests succeed.
4599 2007-11-30 Sandro Santilli <strk@keybit.net>
4601         * server/parser/shape_character_def.cpp (computeBounds): don't choke
4602           on glyph shapes with m_line set to 1. Fixes bug #21674.
4604 2007-11-30 Zou Lunkai <zoulunkai@gmail.com>
4606         * server/vm/ExecutableCode.h: don't push or execute any event code
4607           for destroyed characters(don't need to do this check if opcode guard 
4608           is clear and sane).
4609         * testsuite/misc-ming.all/loop_test6.c: two more xpasses.
4610         * testsuite/misc-ming.all/displaylist_depths_test2.c, loop_test8.c,
4611           place_and_remove_object_insane_test.c: comments or small fixs.
4612         
4613 2007-11-29 Bastiaan Jacques <bastiaan@bjacques.org>
4615         * backend/render_handler_ogl.cpp: Draw rounded outlines. Fixes bug
4616         #20085.
4618 2007-11-29 Tomas Groth Christensen <tomasgroth@yahoo.dk>
4620         * libmedia/Makefile.am: Added new files.
4621         * libmedia/FLVParser.{h,cpp}: Use a shared pointer for the tu_file stream.
4622         * libmedia/MediaBuffer.h: Changed from using a combined audio-video
4623           container, to seperate containers.
4624         * libmedia/MediaDecoder.{cpp,h}: Split into a header and source file. Move
4625           shared code to MediaDecoder.cpp.
4626         * libmedia/MediaParser.h: Use a shared pointer for the tu_file stream.
4627         * libmedia/sound_handler.h: Removed duplicate code.
4628         * libmedia/gst/VideoDecoderGst.{cpp,h}: Updated to changed API.
4629         * libmedia/gst/sound_handler_gst.{h,cpp}: Initial code for callbacks.
4630         * libmedia/sdl/AudioDecoderFfmpeg.cpp: Free at the right point(?)
4631         * libmedia/sdl/MediaDecoderSdl.{cpp,h}: Moved shared code to MediaDecoder.cpp.
4632         * libmedia/sdl/MediaParserFfmpeg.{h,cpp}: Use a shared pointer for the tu_file stream.
4633         * libmedia/sdl/sound_handler_sdl.h: Updated some comments.
4634         * libmedia/gst/AudioDecoderGst.{cpp,h}: Added. Implements the audiodecoder
4635           used by GST when playing FLVs.
4636         * libmedia/gst/MediaDecoderGst.{cpp,h}: Added. Implements the MediaDecoder
4637           used when playing movies and sounds. Doesn't work. Should not be far from
4638           playing FLVs.
4640 2007-11-29 Bastiaan Jacques <bastiaan@bjacques.org>
4642         * backend/render_handler_ogl.cpp: Remove line styles from masks.
4643         Fixed bug #21678.
4645 2007-11-29 Bastiaan Jacques <bastiaan@bjacques.org>
4647         * backend/render_handler_ogl.cpp: Implement real anti-aliasing using
4648         the accumulation buffer. Make sure that video doesn't get
4649         anti-aliased. Use a raw pointer instead of boost::ref as an argument
4650         to boost::bind. This is safe given that render_handler_ogl is
4651         noncopyable. (Suggested by Sandro.)
4652         * gui/gtk_glue_gtkglext.cpp: Enable the accumulation buffer.
4654 2007-11-29  Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4656         * libmedia/Makefile.am,MediaBuffer.h: build and link FFMPEG part of
4657           libmedia.
4659 2007-11-29  Rob Savoye  <rob@ute.welcomehome.org>
4661         * gui/am-frag/qtopia.am: Use HAVE_QT_2 instead of HAVE_QTOPIA_2.
4663 2007-11-29 Sandro Santilli <strk@keybit.net>
4665         * testsuite/misc-ming.all/Video-EmbedSquareTestRunner.cpp: don't test video
4666           if built w/out support for it.
4668 2007-11-29 Sandro Santilli <strk@keybit.net>
4670         * testsuite/actionscript.all/MovieClip.as: add test for
4671           MovieClip._level (gnash fails)
4672         * testsuite/misc-mtasc.all/Dejagnu.as: print info message on successes too.
4673         * testsuite/misc-mtasc.all/: level5.as, level99.as: test swapDepth and
4674           removeMovieClip effects on levels (gnash fails). 
4676 2007-11-29 Sandro Santilli <strk@keybit.net>
4678         * server/movie_root.cpp: add staticDepthOffset to _level# movies.
4679         * server/character.{cpp,h}: get target right for _level# now
4680           that we encode staticDepthOffset-modified depth.
4681         * testsuite/actionscript.all/MovieClip.as: success getting _root's
4682           depth.
4683         * testsuite/misc-mtasc.all/: levels.as, level5.as, level99.as:
4684           success getting levels depth.
4686 2007-11-29 Sandro Santilli <strk@keybit.net>
4688         * testsuite/generic-testrunner.sh:
4689           print run test on consistency error.
4690         * testsuite/misc-mtasc.all/Dejagnu.as: have Dejagnu.done() trace
4691           __END_OF_TEST__ for consitency checking.
4692         * testsuite/misc-mtasc.all/Makefile.am: enable consistency checking,
4693           fix dependencies, account for incosistent tests.
4695 2007-11-29 Sandro Santilli <strk@keybit.net>
4697         * testsuite/misc-mtasc.all/: enum.as, exception.as, function_test.as,
4698           hello.as, implementsOpTest.as, inheritance.as, super_test1.as:
4699           Add total run test checking.
4701 2007-11-29 Sandro Santilli <strk@keybit.net>
4703         * testsuite/misc-mtasc.all/: Dejagnu.as, check.as: add support for
4704           check_totals, xcheck_totals.
4705         * testsuite/misc-mtasc.all/: level5.as, level99.as, levels.as:
4706           add test for _level# depths (fail) and total run test count.
4708 2007-11-29 Sandro Santilli <strk@keybit.net>
4710         * configure.in: always look for X11 libs, even if build_fb is set (may be just
4711           one of the guis, not the only one)
4712         * gui/am-frag/qtopia.am: don't append to CXXFLAGS before it's
4713           set.
4715 2007-11-28  Rob Savoye  <rob@ute.welcomehome.org>
4717         * configure.ac: Remove duplicate AC_DEFINE of HAVE_QTOPIA.
4718         * macros/agg.m4: Put double quotes around sub-shell invocation to
4719         avoid problems with the buggy bash.
4720         * macros/qt.m4: Cleanup how the version number gets set from
4721         QTDIR.
4722         * macros/qtopia.m4: Add more modules to qt_headers.
4723         * gui/kde.cpp: Add support for Qt2.
4724         * gui/kdesup.h.cpp: Add support for Qt2.
4725         * gui/kde_glue.h: Add initial support for Qt4.
4726         * gui/kde_glue_agg.{cpp,h}:  Add initial support for Qt4.
4727         * gui/am-frag/qtopia.am: Add support for Qt2, and Qtopia.
4728         * gui/am-frag/kde.am: Add support for the QT4 Qt3Support module.
4729         
4730 2007-11-29 Sandro Santilli <strk@keybit.net>
4732         * libbase/jpeg.{cpp,h}: use setjmp/longjmp from custom error handler
4733           so to not return control to libjpeg which doesn't expect that
4734           and properly throw an exception on first error.
4735           Fixes bug #21609.
4737 2007-11-28  Rob Savoye  <rob@ute.welcomehome.org>
4739         * gui/am-frag: Automake include files to make the top level
4740         gui/makefile.am less huge. It also makes it much cleaner for when
4741         you have to add a new GUI target.
4742         * gui/Makefile.am: Include Automake stubs if specified by the
4743         build.
4744         
4745         * macros/qt.m4: New file. originally pulled from kde.m4, but then
4746         modified heavily to use QTDIR correctly, and to handle multiple
4747         differing versions of QT APIs. For now the default is to use Qt3
4748         instead of Qt4.
4749         * macros/kde.m4: QT stuff moved to it's own file.
4750         * macros/qtopia.m4: Change how the version and topdir get set
4751         based on now correctly handling QPEDIR.
4752         * configure.ac: Add Automake conditional for cross compiling. Add
4753         more Automake conditionals for the different QT versions.
4755 2007-11-28 Markus Gothe <nietzsche@lysator.liu.se>
4757         * backend/render_handler_ogl.cpp: boost::ref(this) -> *this.
4758         * macros/freetype.m4: --libs-only-l is bogus if you have it
4759           installed by default and pkg-config is unaware of it.
4760         * macros/qtopia.m4: Clean up.
4761         * macros/agg.m4: --libs-only-L cannot have worked ever.
4762         * configure.ac, macros/curl.m4, macros/qt.m4, macros/qtopia.m4: 
4763           Fixed 'test -eq'.
4765 2007-11-28 Sandro Santilli <strk@keybit.net>
4767         * server/swf/tag_loaders.cpp (inflate_wrapper): pretty-print about
4768           premature end of tag while inflating, add last error message when
4769           an error occurs during inflating.
4771 2007-11-28 Sandro Santilli <strk@keybit.net>
4773         * gui/cpp.cpp: fix build with ENABLE_REGION_UPDATES_DEBUGGING
4774           defined.
4775         * server/swf/tag_loaders.cpp (inflate_wrapper): don't read past
4776           end of tag, reads in chunks rather then byte-by-byte.
4777           Fixes bug #21377.
4778         * server/impl.cpp: stub support for png loading.
4780 2007-11-28 Sandro Santilli <strk@keybit.net>
4782         * server/asobj/Stage.{cpp,h}: make Stage an AsBroadcaster and
4783           register its native methods; stage align and showMenu members.
4784         * server/movie_root.cpp: update use of Stage to its AsBroadcaster
4785           interface.
4786         * server/asobj/Key.cpp: minor cleanups.
4787         * server/asobj/MovieClipLoader.cpp: cleanups and native methods
4788           registration.
4789         * testsuite/actionscript.all/Stage.as: few more successes.
4791 2007-11-28 Sandro Santilli <strk@keybit.net>
4793         * testsuite/actionscript.all/Function.as: 'new' is a reserved word, 
4794           protect it as a string when used as property name (or Ming
4795           0.4.0.beta6 won't compile it)
4796         * server/asobj/Key.cpp: register native Key methods.
4797         * configure.ac: look for QT libs if kde gui is requested;
4798           don't bail out if QTOPIA is not found, unless qtopia gui is
4799           requested.
4801 2007-11-27  Rob Savoye  <rob@ute.welcomehome.org>
4803         * macros/qtopia.m4: New file to find Qtopia bits. Current supports
4804         only QT2 and Qt4.
4805         * Makefile.am: Add Qtopia debug statements.
4806         * configure.ac: Add Qtopia as a GUI. Look for Qtopia dev files if
4807         specified. Currently because of the diversity of Qtopia
4808         installation paths, --with-qtopia-incl and --with-qtopia-lib must
4809         always be used.
4811 2007-11-27 Sandro Santilli <strk@keybit.net>
4813         * server/swf/tag_loaders.cpp (serialnumber_loader): fix parsing
4814           of the SERIALNUMBER tag.
4816 2007-11-27 Sandro Santilli <strk@keybit.net>
4818         * server/swf.h: define ACTION_FSCOMMAND2
4819         * server/vm/ASHandlers.{cpp,h}: stub support for fscommand2
4820           (SWF7 opcode)
4822 2007-11-27 Sandro Santilli <strk@keybit.net>
4824         * server/movie_root.{cpp,h}: notify mouse events to _global.Mouse
4825           listeners
4826         * server/asobj/Mouse.cpp: initialize _global.Mouse as an
4827           AsBroadcaster.
4828         * server/asobj/AsBroadcaster.cpp: reduce debugging output.
4829         * testsuite/actionscript.all/Mouse.as: successes in AsBroadcaster
4830           interfaces availability.
4832 2007-11-27 Sandro Santilli <strk@keybit.net>
4834         * server/vm/ASHandlers.cpp (ActionMbSubString, ActionMbLength):
4835           always resize the vector passed as third argument to
4836           GuessEncoding so to contain at least one element each
4837           character in the string (not fully tested but fixes
4838           an invalid offset access with panda.swf).
4840 2007-11-27 Sandro Santilli <strk@keybit.net>
4842         * server/asobj/Object.cpp (object_registerClass): hopefully
4843           got arguments index correctly this time (in error messages).
4845 2007-11-27 Sandro Santilli <strk@keybit.net>
4847         * testsuite/misc-mtasc.all/check.as: add some dox over
4848           check_equals aimed at get first and second arguments
4849           in the correct way.
4850         * testsuite/misc-mtasc.all/: Makefile.am, implementsOp*:
4851           Test for implementsOp (adapted patch #6287).
4853 2007-11-27 Sandro Santilli <strk@keybit.net>
4855         * server/dlist.cpp (unload): don't destroy childs when unloading
4856           parent. 
4857         * testsuite/actionscript.all/MovieClip.as: success in tests
4858           of accessibility of unloaded sprites' childs.
4860 2007-11-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4862         * server/asobj/NetStreamFfmpeg.cpp: don't try to free codec context
4863           for non-FLVs, however, because these are initialized differently.
4864           
4865 2007-11-27 Sandro Santilli <strk@keybit.net>
4867         * server/character.cpp (unload): don't abort if the character
4868           is attempted to be unloaded twice.
4869         * server/sprite_instance.cpp: don't abort if the character
4870           is attempted to be unloaded twice.
4871         * testsuite/actionscript.all/MovieClip.as: test double unload
4872           of a character (once triggered by unload of parent and one
4873           direct unload).
4875 2007-11-27 Sandro Santilli <strk@keybit.net>
4877         * testsuite/actionscript.all/MovieClip.as: fix bogus check calls,
4878           reveiling a bunch of failures in gnash...
4880 2007-11-27 Udo Giacomozzi <udo.gnu@nova-sys.net>
4882         * extensions/fileio/fileio.{cpp,h}: implement feof()
4884 2007-11-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4886         * server/asobj/NetStreamFfmpeg.{cpp,h}: mainly visual code cleanup. Also make
4887           sure allocated codec context is explicitly freed when stream is closed
4888           (fixes leak when playing FLVs).
4890 2007-11-27 Sandro Santilli <strk@keybit.net>
4892         * server/as_value.h: rename allowUnloaded parameter of sprite accessor
4893           methods to skipRebinding, for clarity.
4894         
4895 2007-11-26 Sandro Santilli <strk@keybit.net>
4897         * server/asobj/NetStreamFfmpeg.{cpp,h}: more AVPacket wrapping work.
4899 2007-11-26 Sandro Santilli <strk@keybit.net>
4901         * server/as_value.{cpp,h}: add is_sprite() and a way to get the sprite
4902           value w/out re-evaluating path.
4903         * server/sprite_instance.cpp (get_path_element): don't re-evaluate
4904           target paths of unloaded sprites while getting path elements.
4905           Needs more testing, but for now it fixes bug #21647.
4907 2007-11-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
4909         * server/asobj/NetStreamFfmpeg.{cpp,h}: add PktPointer class
4910           to make sure AVPackets are initialized and (more importantly)
4911           destroyed when no longer needed.
4913 2007-11-26 Sandro Santilli <strk@keybit.net>
4915         * testsuite/actionscript.all/MovieClip.as: add failing test
4916           for referenceability of childs of unloaded sprites when
4917           brother has onUnload event and child doesn't.
4918         * testsuite/swfdec/PASSING: sync with swfdec git.
4920 2007-11-26 Sandro Santilli <strk@keybit.net>
4922         * server/as_environment.cpp (get_variable_raw): log an aserror when
4923           referencing an undefined variable.
4924         * server/parser/action_buffer.h: cleanup and comments fix
4925         * testsuite/misc-swfmill.all/dict_override.xml: comments fix.
4926         * server/parser/movie_def_impl.{cpp,h}: consistent locking for
4927           _frames_loaded (so helgrind is happy).
4928         * gui/: Makefile.am, gnash.cpp: add CXXFLAGS in --version output.
4930 2007-11-26 Zou Lunkai <zoulunkai@gmail.com>
4932         * server/dlist.h, dlist.cpp: testInvariant(), 
4933           reinsertRemovedCharacter(), allow duplicated depths in removed zone.
4934         * testsuite/misc-ming.all/goto_frame_test.c: xcheck->check.
4935           
4936 2007-11-26 Zou Lunkai <zoulunkai@gmail.com>
4938         * testsuite/misc-ming.all/goto_frame_test.c: cleanups and tests for 
4939           timeline control. new tests are disabled by default, otherwise 
4940           DisplayList::testInvariant() would abort.
4941           
4942 2007-11-25  Rob Savoye  <rob@ute.welcomehome.org>
4944         * macros/hildon.m4: Fix the rest of the double quoting around
4945         shell command expansion.
4947 2007-11-25 Sandro Santilli <strk@keybit.net>
4949         * server/asobj/NetStreamFfmpeg.cpp (decodeMediaFrame): always call
4950           av_read_frame on the stack-allocated AVPacket before returning.
4951           
4952         * server/parser/movie_definition.h: corrected some old names
4953           from doxygen page.
4955 2007-11-24 Bastiaan Jacques <bastiaan@bjacques.org>
4957         * backend/render_handler_cairo.cpp: Make sure outlines are
4958         rounded. Fixes bug #18873.
4960 2007-11-24 Bastiaan Jacques <bastiaan@bjacques.org>
4962         * backend/render_handler_ogl.cpp: Implement region invalidation,
4963         but keep it disabled since it does not appear to affect
4964         performance in its current incarnation.
4966 2007-11-24 Sandro Santilli <strk@keybit.net>
4968         * testsuite/media/: README, default.orc, majorscale.sco:
4969           Initial sample input for csound-based sound generators.
4971 2007-11-24  Rob Savoye  <rob@ute.welcomehome.org>
4973         * macros/hildon.m4: Add more double quotes around shell expansion
4974         when setting variables. Fixes #21638
4976 2007-11-24 Sandro Santilli <strk@keybit.net>
4978         * gui/Player.{cpp,h}, gui/gui.cpp, libmedia/AudioDecoder.h,
4979           libmedia/AudioDecoderNellymoser.{cpp,h},
4980           libmedia/AudioDecoderSimple.{cpp,h}, libmedia/FLVParser.{cpp,h},
4981           libmedia/MediaBuffer.h, libmedia/MediaDecoder.h,
4982           libmedia/MediaParser.h, libmedia/SoundInfo.h,
4983           libmedia/VideoDecoder.h, libmedia/sound_handler.h,
4984           libmedia/gst/VideoDecoderGst.{cpp,h},
4985           libmedia/gst/sound_handler_gst.{cpp,h},
4986           libmedia/sdl/AudioDecoderFfmpeg.{cpp,h},
4987           libmedia/sdl/AudioDecoderMad.{cpp,h},
4988           libmedia/sdl/MediaDecoderSdl.{cpp,h},
4989           libmedia/sdl/MediaParserFfmpeg.{cpp,h},
4990           libmedia/sdl/VideoDecoderFfmpeg.{cpp,h},
4991           libmedia/sdl/sound_handler_sdl.cpp,
4992           libmedia/sdl/sound_handler_sdl.h, plugin/win32/plugin.cpp,
4993           server/button_character_instance.cpp, server/gnash.h,
4994           server/impl.cpp, server/sprite_instance.cpp,
4995           server/asobj/NetStreamFfmpeg.cpp, server/asobj/NetStreamGst.cpp,
4996           server/asobj/Sound.cpp, server/asobj/SoundFfmpeg.cpp,
4997           server/asobj/SoundGst.cpp, server/asobj/SoundMad.cpp,
4998           server/parser/button_character_def.h,
4999           server/parser/sound_definition.cpp,
5000           server/parser/video_stream_def.{cpp,h},
5001           server/swf/StartSoundTag.{cpp,h}, server/swf/tag_loaders.cpp,
5002           server/vm/ASHandlers.cpp, testsuite/MovieTester.{h,cpp}:
5003         Put libmedia in its own namespace (gnash::media).
5005 2007-11-24  Rob Savoye  <rob@ute.welcomehome.org>
5007         * macros/libtool.m4: Move the serial numbers to the top of the
5008         file as required by newer autotools.
5009         * macros/archflag.m4, boost.m4, curl.m4, dbus.m4, docbook.m4,
5010         freetype.m4, gnashpkgtool.m4, gtk2.m4, gtkglext.m4, jpeg.m4,
5011         lib-link.m4, libXML.m4, ming.m4, opengl.m4, pango.m4, sdl.m4,
5012         x11.m4: Put double quotes around sub-shell invocation to avoid
5013         problems with the buggy bash on RHEL5.
5014         
5016 2007-11-24 Sandro Santilli <strk@keybit.net>
5018         * server/: swf.h, swf/StartSoundTag.{cpp,h}: More dox about
5019           StartSound tag.
5021 2007-11-23 Bastiaan Jacques <bastiaan@bjacques.org>
5023         * backend/Makefile.am: Stop building render_handler_tri.cpp
5024         since it is no longer used.
5025         * server/shape.{cpp,h}: Introduce path::transform and
5026         edge::transform, to be used for matrix transformations.
5027         * backend/render_handler_ogl.cpp: Reimplement
5028         apply_matrix_to_paths using path::transform.
5030 2007-11-23 Sandro Santilli <strk@keybit.net>
5032         * server/parser/sound_definition.h: document sound_sample a bit.
5033         * server/swf/StartSoundTag.{cpp,h}: some more cleanup (attempt).
5035 2007-11-23 Bastiaan Jacques <bastiaan@bjacques.org>
5037         * backend/render_handler_ogl.cpp: Implement nested masks. Also take
5038         advantage of changes to type 'point' in trace_curve.
5040 2007-11-23 Sandro Santilli <strk@keybit.net>
5042         * server/: Makefile.am, impl.cpp, parser/sound_definition.{cpp,h}
5043           swf/StartSoundTag.{cpp,h}, swf/tag_loaders.{cpp,h}:
5044           Moved StartSoundTag in its own file, cleaned up.
5046 2007-11-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5048         * testsuite/misc-ming.all/NetStream-SquareTest: fix expected results for
5049           currentFps.
5051 2007-11-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5053         * testsuite/misc-ming.all/NetStream-SquareTest: duplicate some tests from
5054           NetStream.as (different results expected).
5056 2007-11-23 Sandro Santilli <strk@keybit.net>
5058         * testsuite/actionscript.all/NetStream.as: fix an expected result.
5060 2007-11-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5062         * testsuite/actionscript.all/NetStream.as: more tests, some changes.
5064 2007-11-23 Sandro Santilli <strk@keybit.net>
5066         * server/asobj/NetStream.cpp: correctly case currentFps member.
5067         * testsuite/misc-ming.all/NetStream-SquareTest.c: add test for
5068           currentFps only being defined on NetStream.prototype after
5069           construction of a NetStream instance.
5070         * server/asobj/ClassHierarchy.cpp: make NetStream available
5071           also in version 6.
5073 2007-11-23 Sandro Santilli <strk@keybit.net>
5075         * server/: Makefile.am, impl.cpp, swf/tag_loaders.{cpp,h},
5076           swf/SetBackgroundColorTag.h:
5077           Extrapolated a SetBackgroundColorTag class out of tag_loaders.cpp
5078           into its own header file, cleaned up.
5080 2007-11-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5082         * testsuite/actionscript.all/NetStream.as: add missing tests for
5083           various functions.
5085 2007-11-23 Sandro Santilli <strk@keybit.net>
5087         * server/: stream.h, types.cpp: improved dox.
5089 2007-11-23 Sandro Santilli <strk@keybit.net>
5091         * server/Makefile.am, server/execute_tag.h, server/impl.cpp,
5092           server/sprite_instance.cpp, server/sprite_instance.h,
5093           server/parser/movie_def_impl.cpp,
5094           server/parser/movie_def_impl.h,
5095           server/parser/movie_definition.h,
5096           server/parser/sound_definition.cpp,
5097           server/parser/sound_definition.h,
5098           server/parser/sprite_definition.cpp,
5099           server/parser/sprite_definition.h,
5100           server/parser/video_stream_def.h, server/swf/ControlTag.h,
5101           server/swf/DisplayListTag.h, server/swf/DoActionTag.h,
5102           server/swf/DoInitActionTag.h, server/swf/PlaceObject2Tag.cpp,
5103           server/swf/RemoveObjectTag.cpp, server/swf/RemoveObjectTag.h,
5104           server/swf/tag_loaders.cpp:
5105           Renamed execute_tag to ControlTag and moved under server/swf;
5106           renamed movie_definition::add_execute_tag to addControlTag;
5107           split a DoInitActionTag out of DoActionTag.
5109 2007-11-23 Sandro Santilli <strk@keybit.net>
5111         * testsuite/swfdec/Makefile.am: fix whitespace following trailing
5112           backslash warning.
5113         * libbase/tree.hh: we don't want tree.hh documentation
5114           to be the main page...
5116 2007-11-23 Sandro Santilli <strk@keybit.net>
5118         * server/vm/ActionExec.h: document cleanupAfterRun.
5120 2007-11-23 Zou Lunkai <zoulunkai@gmail.com>
5122         * testsuite/misc-ming.all/Makefile.am, loop_test10.c: file a new
5123           test for timeline control, which completely breaks the current model. 
5124           There should be a simpler model.
5126 2007-11-22 Sandro Santilli <strk@keybit.net>
5128         * server/drag_state.h: add markReachableResources method
5129         * server/movie_root.{cpp,h}: mark the character being dragged as
5130           reachable.
5132 2007-11-22 Sandro Santilli <strk@keybit.net>
5134         * server/as_environment.cpp (get_variable): variables paths containing
5135           slashes but no colon will be attempted to be evaluated as sprites
5136           before falling back to property lookup.
5137         * testsuite/actionscript.all/getvariable.as: successes in all newly
5138           added tests.
5139         * testsuite/swfdec/PASSING: getvariable-slashpath and enumerate
5140           tests succeed.
5142 2007-11-22 Markus Gothe <nietzsche@lysator.liu.se>
5144         * macros/archflag.m4: Updated to the latest version.
5146 2007-11-22 Sandro Santilli <strk@keybit.net>
5148         * server/vm/ASHandlers.cpp (ActionEnumerate): cleanup aserror message.
5149         * testsuite/actionscript.all/getvariable.as: another test
5151 2007-11-22 Sandro Santilli <strk@keybit.net>
5153         * server/as_environment.{cpp,h}: drop the is_slash_based
5154           parameter from parse_path, which gets simplified a bit.
5156 2007-11-22 Sandro Santilli <strk@keybit.net>
5158         * testsuite/actionscript.all/getvariable.as: additional test
5159           for /slash/based path ending with a colon.
5161 2007-11-22  Rob Savoye  <rob@ripple.welcomehome.org>
5163         * gui/gtksup.h: Sigh, use USE_HILDON and USE_ALP after all.
5164         * configure.ac: Don't build hildon as part of --enable-gui=all yet.
5166 2007-11-22 Sandro Santilli <strk@keybit.net>
5168         * configure.ac: make request for hildon and unavailability a nogo,
5169           suggest installing libhildon-1-dev rather then libhildon.0-dev
5170           for apt-get (the former exists for ubuntu gutsy, the latter
5171           doesn't).
5173 2007-11-22  Rob Savoye  <rob@ripple.welcomehome.org>
5175         * gui/gtksup.h: Use HAVE_HILDON and HAVE_ALP instead of USE_HILDON
5176         and USE_ALP.
5177         * macros/alp.m4, hildon.m4: Define HAVE_HILDON or HAVE_ALP if the
5178         dependant files exist.
5180         * Makefile.am: Add dumpconfig prints for ALP and Hildon.
5181         * configure.ac: Add support for the ALP and Hildon GUI frameworks,
5182         both of which are built on GTK+. Add initial support for the
5183         Launcher extension, which doesn't exist yet.
5184         * macros/alp.m4: Find Hildon headers and libraries.
5185         * macros/hildon.m4: Find Hildon headers and libraries.
5186         * gui/Makefile.am: Add support for the Hildon GUI framework, which
5187         is built on GTK+.
5188         * gui/gtk.cpp, gtksup.h: Add support for the Hildon GUI framework,
5189         which is built on GTK+. Move CreateMenu.
5190         * gui/gnash.in: Add ALP and Hildon.
5192 2007-11-22 Sandro Santilli <strk@keybit.net>
5194         * testsuite/actionscript.all/: getvariable.as, targetPath.as:
5195           A couple of additional tests for simple variable paths with
5196           slashes and no columns.
5198 2007-11-22 Sandro Santilli <strk@keybit.net>
5200         * server/as_object.cpp (get_member_default): don't log
5201           ActionLimitException here, will be logged by outer catcher.
5203 2007-11-22 Chad Musick <chadmusick@msbx.net>
5205         * testsuite/swfdec/PASSING: 23 new passing tests.
5206         * server/as_environment.h: Make pushCallFrame and popCallFrame
5207           private, remove clearCallFrames(), provide FrameGuard nested
5208           class to provide safe access.
5209         * server/as_object.cpp: Prevent recursion in get_super, check for
5210           search depth when finding properties and throw a limit exception,
5211         * server/swf_function.cpp: Change to use as_environment::FrameGuard
5212           and use it earlier. Only look for super in swf6+.
5213         * server/builtin_function.h: Increase call stack on execution.
5214         * server/vm/ASHandlers.cpp: Remove leftover debugging output.
5216 2007-11-22 Sandro Santilli <strk@keybit.net>
5218         * testsuite/misc-ming.all/key_event_test.c: make the test more verbose
5219         * server/movie_root.cpp (cleanupUnloadedListeners): erase the
5220           correct iterator (thanks zou for noticing).
5222 2007-11-21 Sandro Santilli <strk@keybit.net>
5224         * server/sprite_instance.cpp (sprite_startDrag): add support for
5225           additional args.
5227 2007-11-21 Sandro Santilli <strk@keybit.net>
5229         * server/sprite_instance.cpp (get_frame_number):
5230           Consider frame specs evaluating to 0 as frame labels.
5231           Fixes bug #21567 (snoopy_click.swf).
5233 2007-11-21 Sandro Santilli <strk@keybit.net>
5235         * server/vm/ASHandlers.cpp (ActionStringCompare):
5236           use versioned string conversion.
5237         * testsuite/actionscript.all/ops.as: few null/undefined 
5238           string comparison tests.
5240 2007-11-21 Sandro Santilli <strk@keybit.net>
5242         * server/vm/ASHandlers.cpp (ActionLessThen, ActionEqual):
5243           return a number rather then a bool in swf4 or lower.
5245 2007-11-21 Sandro Santilli <strk@keybit.net>
5247         * testsuite/misc-swfc.all/swf4opcode.sc: found a way for better
5248           test result reporting (can be improved to become a full SWF4
5249           compatible Dejagnu thing - lacks actual result message so far).
5251 2007-11-21 Sandro Santilli <strk@keybit.net>
5253         * server/sprite_instance.cpp: implement MovieClip.{start,stop}Drag.
5254         * testsuite/misc-ming.all/: DrawingApiTest.as,
5255           DrawingApiTestRunner.cpp:
5256           Prepare for testing MoveClip.{start,stop}Drag
5258 2007-11-21 Sandro Santilli <strk@keybit.net>
5260         * server/movie_root.{cpp,h}: generalize key and mouse
5261           listeners management.
5262         * server/sprite_instance.cpp (add_display_object): don't
5263           attempt to remove a NULL pointer from the listeners set.
5265 2007-11-21 Chad Musick <chadmusick@msbx.net>
5267         * server/as_environment.h,.cpp: Initialize _original_target, as this
5268           absence was causing segfaults.  Convert the call stack to a static
5269           one.
5270         * server/swf_function.cpp: Use a class for ensuring the call stack,
5271           rather than doing so manually.
5272         * server/Property.h,.cpp: Initialize differently.
5273         * server/as_value.cpp: Be more careful about return values.
5274         * testsuite/actionscript.all/LoadVars.as: Clean up debugging code.
5275         * server/namedStrings.h,.cpp: Add 'super' to known strings.
5276         * server/vm/ActionExec.cpp: No need to check call stack, as it is
5277           guaranteed correct through use of FrameGuard class.
5278         
5279 2007-11-21 Zou Lunkai <zoulunkai@gmail.com>
5281         * server/as_value.cpp: to_number() convert invalid float literal
5282           to zero instead of NaN for swf<5.
5283         * testsuite/misc-swfc.all/swf4opcode.sc: xcheck->check.
5284         
5285 2007-11-21 Zou Lunkai <zoulunkai@gmail.com>
5287         * testsuite/misc-swfc.all/swf4opcode.sc,
5288           testsuite/misc-actionsript.all/ops.as: more opcode tests. 
5289           
5290 2007-11-20 Sandro Santilli <strk@keybit.net>
5292         * server/as_object.cpp, server/asobj/AsBroadcaster.cpp:
5293           Fix build with --enable-cassert.
5294         * extensions/fileio/fileio.cpp:
5295           Drop as_environment argument from to_string calls.
5297 2007-11-20 Bastiaan Jacques <bastiaan@bjacques.org>
5299         * backend/render_handler.h: Document masks.
5300         * libgeometry/Point2d.h: Define equality operators as clas members.
5302 2007-11-20 Bastiaan Jacques <bastiaan@bjacques.org>
5304         * server/vm/ASHandlers.cpp: Fix typo.
5306 2007-11-20 Chad Musick <chadmusick@msbx.net>
5308         * server/array.cpp.h: Remove as_environment parameter from removeLast
5309         * server/asobj/AsBroadcaster.cpp Color.cpp Global.cpp LoadVars.cpp
5310           MovieClipLoader.cpp Object.cpp Sound.cpp string.cpp xml.h,.cpp
5311           xmlsocket.cpp: Reduce dependence on as_environment.
5313 2007-11-20 Chad Musick <chadmusick@msbx.net>
5315         * server/as_object.h,.cpp: Remove as_environment parameter from
5316           callMethod methods.
5317         * server/edit_text_character.cpp: Fix call to callMethod
5318         * server/asobj/AsBroadcaster.cpp Key.cpp MovieClipLoader.cpp
5319           xml.cpp xmlsocket.cpp: Fix calls to callMethod
5320         * server/vm/fn_call.h: Add necessary support for removing env()
5321           function (not yet removed).
5323 2007-11-20 Zou Lunkai <zoulunkai@gmail.com>
5325         * testsuite/misc-swfc.all/swf4opcode.sc, Makefile.am: add tests for swf4
5326           opcodes, get some failures.
5327           
5328 2007-11-20 Zou Lunkai <zoulunkai@gmail.com>
5330         * server/vm/AsHandlers.cpp: using to_string_versioned() for opcode ActionStringEq,
5331           fix bug21567.
5333 2007-10-20 Chad Musick <chadmusick@msbx.net>
5335         * server/swf_function.h,.cpp: Remove getSuper function
5336         * server/as_object.cpp: Implement get_super function.
5338 2007-11-20 Chad Musick <chadmusick@msbx.net>
5340         * server/array.cpp as_value.cpp as_value.h character.cpp
5341           edit_text_character.cpp sprite_instance.cpp timers.cpp:
5342           Remove as_environment from value conversions.
5343         * server/asobj/AsBroadcaster.cpp Color.cpp Global.cpp
5344           MoveClipLoader.cpp NetConnection.cpp NetStream.cpp Object.cpp
5345           Sound.cpp Stage.cpp string.cpp xml.cpp xmlnode.cpp xmlsocket.cpp:
5346           Remove as_environment from value conversions.
5347         * testsuite/actionscript.all/TextField.as: Unexpected successes.
5348         * testsuite/misc-ming.all/intervalTestRunner.cpp: Remove as_environment
5349           from value conversion.
5351 2007-11-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5353         * server/parser/sound_definition.{h,cpp}: remove compiler
5354           warnings.
5356 2007-11-17 Markus Gothe <nietzsche@lysator.liu.se>
5358         * server/parser/shape_character_def.cpp: Make IRIX happy.
5359         * configure.ac: Fix SIZET_FMT detection for non-gcc compilers.
5361 2007-11-17 Sandro Santilli <strk@keybit.net>
5363         * testsuite/swfdec/Makefile.am: more splitting, each group
5364           is for each letter of the alphabet (more friendly to use)
5365         * testsuite/swfdec/gen_run_swfdec_testsuite.sh: export
5366           a GNASH_PLAYER so that swfdec_run_test may decide to
5367           use gnash rather then gprocessor...
5369 2007-11-17 Sandro Santilli <strk@keybit.net>
5371         * server/asobj/Color.cpp (color_gettransform): truncate
5372           values to integers.
5373         * testsuite/swfdec/PASSING: color1.swf succeeds
5374         * testsuite/swfdec/Makefile.am: split swfdec test runners in
5375           more groups (groups of 3 letters the name starts with)
5377 2007-11-17 Sandro Santilli <strk@keybit.net>
5379         * gui/Player.cpp: parse querystring before flashvars.
5380         * testsuite/misc-ming.all/: FlashVarsTest.as, FlashVarsTest.html,
5381           Makefile.am: add test for fully-qualified variables passed trough
5382           query string and flash vars.
5384 2007-11-17 Sandro Santilli <strk@keybit.net>
5386         * utilities/processor.cpp: fix -d switch.
5387         * testsuite/swfdec/: Makefile.am, gen_run_swfdec_testsuite.sh:
5388           Split run of swfdec testsuite in 4 steps, to allow shorter
5389           timeouts.
5391 2007-11-17 Sandro Santilli <strk@keybit.net>
5393         * server/as_value.cpp (SpriteProxy:find_sprite_by_target):
5394           Make a more optimized implementation based on the assumption
5395           that a sprite target is always in "dot" syntax.
5397 2007-11-16 Sandro Santilli <strk@keybit.net>
5399         * server/: as_object.h, character.h: add virtual to_character()
5400           casting method.
5401         * server/as_environment.cpp (find_target): allow characters targets.
5402           Fixes snowman.swf (http://bugs.libming.org/show_bug.cgi?id=41)
5403         * server/vm/ASHandlers.cpp (ActionStartDragMovie): unknown target
5404           would be an ASerror, not a generic one.
5406 2007-11-16 Sandro Santilli <strk@keybit.net>
5408         * server/array.h (visitAll): copy the container before executing
5409           arbitrary code while iterating over it. Fixes a memory corruption.
5410         * server/asobj/Key.{cpp,h}: Initialize the Key object as an usual
5411           AsBroadcaster.
5412         * server/movie_root.cpp: don't cleanup Key object listeners as they
5413           will follow usual AsBroadcaster cleaning convention.
5414         * testsuite/actionscript.all/Key.as: successes.
5416 2007-11-16 Sandro Santilli <strk@keybit.net>
5418         * configure.ac: quote arguments of test(1)
5419         * server/asobj/MovieClipLoader.cpp (dispatchEvent): don't lookup
5420           broadcastMessage, as it's a named string.
5422 2007-11-16 Sandro Santilli <strk@keybit.net>
5424         * server/movie_root.{cpp,h}: Add a flushHigherPriorityActionQueue
5425           method to be called at the end of every action block execution
5426           (including end of function calls).
5427         * server/vm/ActionExec.cpp: flush higher priority actions at end
5428           of execution.
5429         * testsuite/misc-swfc.all/: action_execution_order_test12.sc,
5430           movieclip_destruction_test1.sc: fixed two cases.
5433 2007-11-16 Zou Lunkai <zoulunkai@gmail.com>
5435         * testsuite/misc-swfc.all/action_execution_order_test12.sc: add tests 
5436           for action block exit and back.       
5437         
5438 2007-11-16 Sandro Santilli <strk@keybit.net>
5440         * utilities/processor.cpp: add -d switch to force an advance delay.
5442 2007-11-16 Zou Lunkai <zoulunkai@gmail.com>
5444         * server/as_object.{h,cpp}, server/asobj/Key.{h,cpp},
5445           server/character.h,
5446           server/button_character_instance.cpp,
5447           server/edit_text_character.cpp,
5448           server/movie_root.{h,cpp},
5449           server/sprite_instance.cpp: drop new key listeners design and fix the
5450           old design with caring about listeners invoking order.
5451         * testsuite/key_event_test.c, key_event_testrunner.cpp: xcheck->check.
5452           
5453 2007-11-15 Sandro Santilli <strk@keybit.net>
5455         * testsuite/actionscript.all/ops.as: a couple of tests more.
5457 2007-11-15 Sandro Santilli <strk@keybit.net>
5459         * server/sprite_instance.{cpp,h}: call constructAsScriptObject
5460           directly rather then on_event(CONSTRUCT) when needed. Doing
5461           so we can invoke the event handler *after* __proto__ is set
5462           but *before* the class constructor is invoked, as reported to
5463           be needed by swfdec tests.
5464         * testsuite/swfdec/PASSING: movieclip-set-prototype-{5,6,7,8}.swf
5465           succeed.
5467 2007-11-15 Sandro Santilli <strk@keybit.net>
5469         * server/vm/ASHandlers.cpp (ActionCastOp): swap order of arguments,
5470           return null on supposedly invalid call.
5471         * testsuite/swfdec/PASSING: cast-{5,6,7,8}.swf succeed.
5473 2007-11-15 Sandro Santilli <strk@keybit.net>
5475         * server/vm/ASHandlers.cpp (ActionDivide): return the string '#ERROR#'
5476           when a division by 0 is requested in SWF<5.
5477         * testsuite/swfdec/PASSING: crash-0.5.3-divide-by-zero.swf succeeds.
5479 2007-11-15 Sandro Santilli <strk@keybit.net>
5481         * server/as_value.cpp (to_string): for MOVIECLIP types return
5482           the empty string when dangling.
5483         * testsuite/actionscript.all/MovieClip.as: add test for convertion
5484           of dangling movieclip values to a string.
5485         * testsuite/swfdec/PASSING: dangling-print-{6,7,8}.swf succeed now.
5487 2007-11-15 Sandro Santilli <strk@keybit.net>
5489         * server/sprite_instance.cpp: construct instance on CONSTRUCT
5490           event (not INITIALIZE). YouTube works, and we push all init
5491           actions now.
5492         * testsuite/misc-ming.all/init_action_test.c,
5493           testsuite/misc-swfc.all/action_execution_order_test10.sc,
5494           testsuite/misc-swfc.all/movieclip_destruction_test1.sc,
5495           testsuite/misc-swfc.all/registerclass_test3.sc,
5496           testsuite/swfdec/PASSING: Successes due to pushing init
5497           actions on queue.
5499 2007-11-15 Sandro Santilli <strk@keybit.net>
5501         * server/parser/: movie_definition.h, movie_def_impl.{cpp,h},
5502           sprite_definition.h: drop the obsoleted get_init_actions interface.
5504 2007-11-15 Sandro Santilli <strk@keybit.net>
5506         * testsuite/misc-swfc.all/Dejagnu.sc: make Dejagnu window automatic
5507           resize to let text fit in (autoSize).
5508         * server/sprite_instance.cpp: cleanup debugging output.
5509         * testsuite/misc-swfc.all/registerclass_test3.sc: add more tests for
5510           registerClass effects visibility.
5512 2007-11-15 Zou Lunkai <zoulunkai@gmail.com>
5514         * testsuite/misc-swfc.all/registerclass_test3.sc: add tests to for youtube
5515           player2 and caught the bug.
5516           
5517 2007-11-14 Sandro Santilli <strk@keybit.net>
5519         * testsuite/swfdec/PASSING: sync'd with results from current swfdec
5520           master branch.
5522 2007-11-14 Sandro Santilli <strk@keybit.net>
5524         * server/as_environment.{cpp,h}: unify object finding and target
5525           finding. The code is pretty dirty but is more correct then 
5526           before.
5527         * testsuite/swfdec/PASSING: getsetproperty-target-{6,7,8}.swf succeed
5528         * testsuite/actionscript.all/with.as: no more failures (we need more)
5529         * testsuite/misc-ming.all/callFunction_test.c: two more successes, one
5530           test still fails.
5532 2007-11-14 Sandro Santilli <strk@keybit.net>
5534         * server/asobj/Object.cpp (object_registerClass): more informative
5535           aserror messages.
5536         * testsuite/actionscript.all/TextField.as: more tests.
5537         * server/sprite_instance.cpp, server/video_stream_instance.cpp:
5538           Remove some debugging output (compile-time defined)
5540 2007-11-14 Sandro Santilli <strk@keybit.net>
5542         * server/movie_root.{cpp,h}: add a processingActions method,
5543           might be used to know wheter to push actions or execute
5544           them immediately.
5545         * server/sprite_instance.{cpp,h}: add an execute_init_action
5546           method to be called by DoInitAction tag executor; add a
5547           YOUTUBE_HAVE_PRECEDENCE macro undefining which we get lots
5548           of new XPASS but break youtube... (pushing init actions
5549           to action queue).
5550         * server/parser/movie_def_impl.cpp (add_init_action): store
5551           init actions togheter with all other control tags.
5552         * server/swf/DoActionTag.h (execute): call execute_init_action
5553           for init actions, execute them also by execute_state
5554         * testsuite/misc-swfc.all/: action_execution_order_test10.sc,
5555           movieclip_destruction_test1.sc: some successes (we'd get much
5556           more with YOUTUBE_HAVE_PRECEDENCE defined in sprite_instance.cpp)
5558 2007-11-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5560         * testsuite/actionscript.all/XML.as: adapt and reinclude
5561           test removed with last change.
5563 2007-11-14 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5565         * testsuite/actionscript.all/XML.as: adapt test for CDATA node;
5566           add XML comments (which should be ignored).
5567         * server/asobj/xml.cpp: (getXMLOptions) strip CDATA nodes
5568           and just add text (fixes part of bug 21268); (extractNode)
5569           drop comment nodes but continue to parse siblings (they can
5570           be siblings of a text node).
5571         * server/asobj/xmlnode.cpp: minor cleanups, better debugging output.
5573 2007-11-14 Sandro Santilli <strk@keybit.net>
5575         * testsuite/misc-ming.all/ButtonEventsTest.c: add self-contained
5576           tests for target in user-defined and clip-defined event handlers,
5577           plus setTarget('/') call when original target != the root
5578           (would have failed before the fix of bug #21572).
5579           Note that it takes some user interaction to trigger the
5580           self-contained tests.
5582 2007-11-14 Chad Musick <chadmusick@msbx.net>
5584         * server/PropertyList.cpp: Revert last change -- it includes new
5585           code and is premature.
5587 2007-11-14 Zou Lunkai <zoulunkai@gmail.com>
5589         * server/asobj/Key.cpp: mark built-in properties for Key object, fix a 
5590           segfault with the old key listener design.
5591           
5592 2007-11-14 Chad Musick <chadmusick@msbx.net>
5594         * server/PropertyList.cpp: Be stricter about checking for things that
5595           could make insertions fail.
5597 2007-11-13 Sandro Santilli <strk@keybit.net>
5599         * testsuite/actionscript.all/targetPath.as: reverted last change, the
5600           test was completely bogus.
5602 2007-11-13 Sandro Santilli <strk@keybit.net>
5604         * testsuite/actionscript.all/targetPath.as: more tests for setTarget,
5605           could not reproduce the bug just fixed in find_target
5606           (would need actions defined in Button or statically-placed sprites).
5607         * server/as_environment.cpp (find_target): "/" is the root.
5608           Fixes bug #21572.
5610 2007-11-13 Sandro Santilli <strk@keybit.net>
5612         * testsuite/misc-ming.all/registerClassTest.c: add test for the 
5613           return code of registerClass.
5615 2007-11-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5617         * testsuite/actionscript.all/XML.as: remove that bogus check (there
5618           _is_ already a test.)
5620 2007-11-13 Sandro Santilli <strk@keybit.net>
5622         * testsuite/misc-ming.all/registerClassTest.c: add expected
5623           number of tests run.
5625 2007-11-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5627         * testsuite/actionscript.all/XML.as: add first(!) test to check
5628           whether XML nodeValues are set. Gnash fails (always null).
5629           
5630 2007-11-13 Sandro Santilli <strk@keybit.net>
5632         * testsuite/misc-swfc.all/action_execution_order_test10.sc:
5633           Add a couple of (failing) tests and two lines of documentation
5634           (this test needs more documentation)
5636 2007-11-13 Zou Lunkai <zoulunkai@gmail.com>
5638         * server/asobj/Key.cpp: use new interface of get_member, fix compiling
5639           the old key listener design.
5640         
5641 2007-11-13 Sandro Santilli <strk@keybit.net>
5643         * testsuite/misc-ming.all/: DrawingApiTestRunner.cpp,
5644           masks_test2runner.cpp: add comments about cairo successes.
5646 2007-11-13 Zou Lunkai <zoulunkai@gmail.com>
5648         * testsuite/misc-ming.all/key_event_test.c, key_event_testrunner.cpp:
5649           few more tests in both swf file and testrunner, invoked a bug.
5650         * testsuite/misc-ming.all/key_event_test2.c, key_event_test3.c, 
5651           key_event_test4.c, key_event_test5.c, key_event_test2runner.cpp,
5652           key_event_test3runner.cpp, key_event_test4runner.cpp, 
5653           key_event_test5runner.cpp, KeyTest.as, KeyTest-Runner.cpp: dropped
5654           10 file, we don't need them now, tests were merged to key_event_test.c.
5655           
5656 2007-11-13 Sandro Santilli <strk@keybit.net>
5658         * server/StreamProvider.cpp (getStream): check security
5659           for post streams too.
5660         * server/sprite_instance.cpp (loadVariables): 
5661           Don't abort on not-found url. Don't check security
5662           here as it will be checked by LoadVariablesThread.
5663           Fixes sheepy.swf.
5665 2007-11-12 Udo Giacomozzi <udo.gnu@nova-sys.net>
5667         * server/parser/shape_character_def.cpp: point_test_local bugfix:
5668           revert last commit and align test coordinate to a grid instead;
5669           commit some debug so I don't have to rewrite it again... ;)     
5671 2007-11-12 Lucio Flavio Correa <lucio.correa@gmail.com>
5673         * gui/kdesup.h, gui/kde.cpp: implement setCuror (patch #6266).
5675 2007-11-12 Sandro Santilli <strk@keybit.net>
5677         * server/asobj/SoundFfmpeg.{cpp,h}: Add a LOADS_IN_SEPARATE_THREAD
5678           macro (defined by default) to disable threading, make the
5679           setupDecoder a non-static private and getAudio also private.
5681 2007-11-12 Sandro Santilli <strk@keybit.net>
5683         * server/asobj/SoundFfmpeg.cpp (getAudio): don't delete 
5684           allocated memory twice. Fixes bug #21195.
5685         * gui/gnash.in: Add support for -G list for getting a list
5686           of available guis.
5688 2007-11-12 Udo Giacomozzi <udo.gnu@nova-sys.net>
5690         * server/parser/shape_character_def.cpp: point_test_local bugfix:  
5691           don't detect two crossings for the point at the junction of two 
5692           lines/curves. 
5694 2007-11-12 Sandro Santilli <strk@keybit.net>
5696         * server/shape.cpp: (pointOnCurve): quicker return for T in (0,1);
5697           (withinSquareDistance): compute distance from segments, not points,
5698           reducing iterations from 100 to 10 with no detectable precision
5699           reduction.
5700         * testsuite/swfdec/swfdec_gnash_tester: it seems diff -u3 doesn't work
5701           anymore (as of GNU diffutils 2.8.1)
5702         * server/: shape.cpp, tesselate.h: minor cleanup
5704 2007-11-12 Zou Lunkai <zoulunkai@gmail.com>
5706         * testsuite/misc-ming.all/Makefile.am, key_event_test.c, key_event_testrunner.cpp:
5707           merge all key related tests to key_event_test.c. deprecated key_event_test2,3,4,5
5708           and KeyTest.as to speed up 'make check'.
5709           
5710 2007-11-11 Sandro Santilli <strk@keybit.net>
5712         * server/sprite_instance.cpp (sprite_attach_movie): mark the character
5713           as dynamic before placing on stage (so stagePlacementCallback knows
5714           about that); (stagePlacementCallback): don't construct as object
5715           here, let that be done on INITIALIZE event; (on_event): construct
5716           as ActionScript object before running INITIALIZE handlers.
5717           Fixes bug #21556 (youtube regression).
5719 2007-11-10 Sandro Santilli <strk@keybit.net>
5721         * server/sprite_instance.cpp (goto_frame): always set
5722         _callingFrameActions to false before calling restoreDisplayList.
5723         Fixes an assertion failure playing make_sleep.swf.
5725 2007-11-10 Sandro Santilli <strk@keybit.net>
5727         * server/shape.{cpp,h}: add new poinOnCurve and squareDistancePtCurve
5728           static methods for gnash::edge, have path::withinSquareDistance
5729           use them for curves.
5730         * testsuite/misc-ming.all/DrawingApiTest.as: add self-contained
5731           equivalent test for the previously failing one checking hitTest
5732           on the green curve.
5733         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: success in
5734           green curve hit test.
5735         * testsuite/server/EdgeTest.cpp: test edge poinOnCurve.
5737 2007-11-10 Sandro Santilli <strk@keybit.net>
5739         * backend/render_handler_agg.cpp, backend/render_handler_cairo.cpp,
5740           backend/render_handler_ogl.cpp, server/shape.cpp, server/shape.h,
5741           server/parser/morph2_character_def.cpp,
5742           server/parser/shape_character_def.cpp:
5743           Changed path and edge classes to store a point (Point2d<float>)
5744           for anchor and control points.
5746 2007-11-10 Sandro Santilli <strk@keybit.net>
5748         * configure.ac: properly quote test arguments.
5750 2007-11-10 Sandro Santilli <strk@keybit.net>
5752         * (lots of files): typedefed gnash::point to Point2d<float>,
5753           drop some unused functions and cleaned up headers a bit.
5755 2007-11-10 Sandro Santilli <strk@keybit.net>
5757         * libgeometry/: Makefile.am, Point2d.h: initial implementation of
5758           a generalized point class.
5759         * testsuite/libgeometry/: Makefile.am, Point2dTest.cpp: initial
5760           test for the generalized point class.
5762 2007-11-09 Sandro Santilli <strk@keybit.net>
5764         * testsuite/samples/Makefile.am: don't giveup on failure
5765         * testsuite/misc-ming.all/DrawingApiTest.as: add test that would have
5766           exposed the just-fixed silly bug.
5767         * server/shape.cpp (withinSquareDistance): fixed silly bug checking
5768           for lines connecting origin with end of each edge rather then
5769           all edges. Prepared (but not implemented) section for curves.
5771 2007-11-09 Sandro Santilli <strk@keybit.net>
5773         * server/character.{cpp,h}: Add level argument to queueEvent method
5774         * server/movie_root.{cpp,h}: Add level argument to pushAction*
5775         * server/sprite_instance.cpp: Push actions with a level
5776         * testsuite/misc-ming.all/action_execution_order_test5.c: one XPASS
5777         * testsuite/misc-ming.all/displaylist_depths_test2.c: minor additional
5778           trace
5780 2007-11-09 Sandro Santilli <strk@keybit.net>
5782         * testsuite/misc-ming.all/registerClassTest2.c: 
5783           Document the test
5784         * server/movie_root.cpp (dtor, clear): don't try to cleanup action queue
5785           twice..
5786         * server/DynamicShape.h, server/parser/shape_character_def.h: 
5787           override point_test_local in DynamicShape to finalize
5788           the drawing (bogus, contains comment for the why and how to fix)
5790 2007-11-08 Sandro Santilli <strk@keybit.net>
5792         * testsuite/actionscript.all/Global.as: add test for existence of
5793           updateAfterEvent (gnash fails).
5794         * server/as_environment.cpp (find_object_{slash,dot}syntax):
5795           use get_path_element instead of get_member to get next element
5796           from an old-style path.
5797           Fixes http://www.orgamez.com/files/swf/alphazoo.swf.
5798         * server/asobj/Color.cpp (color_ctor): parse first argument to
5799           Color constructor as a string (if not a MovieClip).
5800           Fixes http://www.lsfrench.com/school/couleur/colorepaint.swf.
5802 2007-11-08 Udo Giacomozzi <udo.gnu@nova-sys.net>
5804         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: reverted because
5805           that problem is still not solved (false PASS earlier)
5806         * server/parser/shape_character_def.cpp: modified point_test_local() 
5807           again to solve problems with some corner cases. It still fails some
5808           rare situations on very complex graphics - I'm still working on that;
5809           failure reports are greatly appreciated!
5810         * testsuite/misc-ming.all/DrawingApiTest.as: some new PASSes 
5812 2007-11-08 Markus Gothe <nietzsche@lysator.liu.se>
5814         * utilities/parser.cpp: dropped 'bool nodelay' since it's not used.
5816 2007-11-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5818         * server/as_value.cpp (doubletoString): replace C code with a c++
5819           implementation that ought to do the same thing. Uses stringstream
5820           and locale to imbue the result with the standard C locale, which
5821           fixes problems with locales that have a comma decimal separator.
5822           The test below should now pass in all locales.
5823         * testsuite/actionscript.all/Number.as: add tests for number formatting
5824           based on comments in server/as_value.cpp. Presently they should fail
5825           for locales with a comma decimal separator.
5827 2007-11-08 Sandro Santilli <strk@keybit.net>
5829         * server/vm/ASHandlers.cpp: fix compiler warnings
5830         * macros/sdl.m4: strip '-L/usr/lib' only if it's a single world
5831           (ie: not a substring like in -L/usr/lib64)
5832         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: fix test,
5833           self-name can't be evaluated.
5834         * testsuite/misc-swfc.all/Makefile.am: make Dejagnu.sc and check.sc
5835           dependencies of all .swf outputs.
5836         * testsuite/misc-swfc.all/Dejagnu.sc: typo fix: __global => _global
5838 2007-11-08 Zou Lunkai <zoulunkai@gmail.com>
5840         * testsuite/misc-swfc.all/Dejagnu.sc: don't create such a big text field bounding 
5841           box for xtrace, it would hiden all button clicks located within the bounding box. 
5842           Enlarge the bounding box when needed.  
5843         * testsuite/misc-swfc.all/opcode_guard_test3.sc: new tests. found onButtonActions
5844           might not respect the opcode guard model.
5845           
5846 2007-11-07 Sandro Santilli <strk@keybit.net>
5848         * testsuite/misc-ming.all/shape_test.c: add Udog's drawing, 
5849           open (upper) and closed (lower); left fill (left)
5850           and right fill (right).
5851         * testsuite/misc-ming.all/ming_utils.c (get_dejagnu_actions): don't
5852           use printf to write the code into a buffer, just make the code a
5853           const static const C-string.
5855 2007-11-07 Sandro Santilli <strk@keybit.net>
5857         * testsuite/misc-ming.all/DrawingApiTest.as: Add Udo's example drawing
5858           and associated hitTest tests (xfailing)
5859         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: Add pixel checking
5860           for Udo's example drawing (xfailing due to visible stroke)
5862 2007-11-07 Sandro Santilli <strk@keybit.net>
5864         * server/DynamicShape.cpp: close filled paths on pen move and
5865           ::finalize for last path.
5866         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: all pixel checking
5867           succeed now. The only failures left are hitTest-related. Time to
5868           resume the old point_test implementation.
5870 2007-11-07 Sandro Santilli <strk@keybit.net>
5872         * server/DynamicShape.{cpp,h}: Start new paths as new shapes
5873           when beginFill is called.
5874         * server/shape.{cpp,h}: add interfaces for setting m_new_shape
5875           both in constructors and standalone.
5876         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: fix the
5877           two-overlapping squares case.
5879 2007-11-07 Sandro Santilli <strk@keybit.net>
5881         * server/movie_root.cpp (display): skip display of null-sized levels.
5882         * testsuite/misc-ming.all/DrawingApiTest.as: have '-' and '+'
5883           use a step of 25% instead of 20% (easier for pixel checking);
5884           add hitTest for the opposite-el case.
5885         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: add pixel
5886           checking for the nested-squares cases.
5888 2007-11-07 Udo Giacomozzi <udo.gnu@nova-sys.net>
5890         * testsuite/libgeometry/snappingrangetest.cpp: update testcase
5891           to match new SnappingRanges design
5893 2007-11-07 Sandro Santilli <strk@keybit.net>
5895         * server/shape.cpp: don't forget to initialize m_new_shape
5896           in the overridden constructo !! This fixes uninitialized
5897           memory giving unstable results with the nested-squares
5898           cases in DrawingApiTest.swf
5899         * testsuite/libgeometry/snappingrangetest.cpp: don't
5900           attempt to set snap_distance, not more existent.
5901           I dunno if this makes the tests pointless (didn't
5902           check), but at least allows its build. Udo ?
5904 2007-11-06 Sandro Santilli <strk@keybit.net>
5906         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: pixel checking
5907           for some invalid drawing (missing the nested squares to complete).
5908         * testsuite/misc-ming.all/DrawingApiTest.as: 3 more nested squares:
5909           One with different edge directions for outer and inner squares
5910           (which doesn't make a difference), and one with a new beginFill
5911           call before drawing the second shape (which renders as two
5912           overlapping squares, try using '-' and '+' to change _alpha
5913           for testing).
5915 2007-11-06 Udo Giacomozzi <udo.gnu@nova-sys.net>
5917         * libgeometry/snappingrange.h: add range count limiting functionality
5918           and limit to 50 ranges by default; make copy constructor work again
5919           by adding getter methods for private members  
5921 2007-11-06 Udo Giacomozzi <udo.gnu@nova-sys.net>
5923         * libgeometry/snappingrange.h: replace the distance method with a
5924           more efficient area before/after comparison method; make 
5925           snap_factor and single_mode private members and provide access
5926           methods
5927         * libgeometry/Range2d.h: new getArea() function
5928         * gui/gui.cpp, server/character.cpp: apply snappingrange changes
5930 2007-11-06 Sandro Santilli <strk@keybit.net>
5932         * testsuite/misc-ming.all/DrawingApiTest.as: add self-contained test
5933           for the nested-square case, showing that gnash fails in hit-testing
5934           it the hole.
5936 2007-11-06 Udo Giacomozzi <udo.gnu@nova-sys.net>
5938         * backend/render_handler_agg.cpp: Reverted last commit because it
5939           turned out that it really dropped performance (in some real world
5940           cases it was up to six times slower)
5942 2007-11-06 Sandro Santilli <strk@keybit.net>
5944         * testsuite/misc-ming.all/DrawingApiTest.as: add another interesting
5945           drawing in second drawing page (nested squares).
5946         * testsuite/misc-ming.all/Makefile.am: MEDIADIR define must use
5947           absolute path (the local sandboxes check isn't ready for relative
5948           paths yet).
5949         * server/dlist.cpp (display): don't display masked characters
5950           if invisible.
5951         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: fixed drawing
5952           of invisible masked characters.
5954 2007-11-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5956         * macros/freetype.m4: clean up space before default filename.
5958 2007-11-06 Sandro Santilli <strk@keybit.net>
5960         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: add test for
5961           setMask and invisible shapes (gnash fails).
5963 2007-11-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5965         * macros/freetype.m4: use fontconfig to find a default sans font for
5966           use if gnash runtime fails to find a suitable system font. Revert
5967           to the old hard-coded path if fc-match fails.
5968         * server/FreetypeGlyphsProvider.cpp: take DEFAULT_FONTFILE from
5969           config.h.
5970         
5971 2007-11-06 Sandro Santilli <strk@keybit.net>
5973         * testsuite/misc-ming.all/DrawingApiTest.as: add support for 'h' key
5974           hitting to change visibility of currently active drawing. Exposes
5975           a bug with setMask, which triggers drawing of the maskee even when
5976           invisible.
5977         * testsuite/misc-ming.all/DrawingApiTest.as: add a second drawing
5978           with 3 "invalid" shapes. Hitting a number key switches between
5979           the first (1) and second (2) drawing. 
5981 2007-11-06 Markus Gothe <nietzsche@lysator.liu.se>
5982         
5983         * macros/libXML.m4: Cleaned up output.
5985 2007-11-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
5987         * server/parser/shape_character_def.cpp: take outline hit test 
5988           algorithm from old implementation; drop the old point_test 
5989           method in favor of the new one; avoid browsing the paths
5990           in point_test_local() when the point is already out of the
5991           shape bounds 
5992         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: two new PASSes
5994 2007-11-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
5996         * server/FreetypeGlyphsProvider.cpp: Pass bold and italic values
5997           to fontconfig for system fonts. Fixes bug #20597. 
5999 2007-11-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
6001         * server/parser/shape_character_def.cpp: Implement a new point_test
6002           algorithm (disabled by default since it's subject to discussion)      
6004 2007-11-05 Bastiaan Jacques <bastiaan@bjacques.org>
6006         * backend/render_handler_agg.cpp: Use agg::renderer_mclip instead
6007         of agg::renderer_base, since the latter supports multiple clipping
6008         boxes. This allows us to apply all the clipping regions at once. A
6009         performance gain should be expected for movies with multiple
6010         clipping regions.
6012 2007-11-05 Sandro Santilli <strk@keybit.net>
6014         * testsuite/actionscript.all/TextField.as: add more test for
6015           TextField.variable (variable name). Variables can be in objects
6016           (not necessarely in sprites). Also, we got triggering of updates
6017           wrong.
6018         * configure.ac: make "missing KDE" message more didactic
6019           (see bug #21497)
6020         * server/shape.{cpp,h}: drop the point_test method, not much useful
6021           on its own ...
6023 2007-11-05 Sandro Santilli <strk@keybit.net>
6025         * server/shape.{cpp,h}: extract a ray_crossing out of point_test.
6026         * server/parser/shape_character_def.cpp (point_test): use 
6027           path::ray_crossing against any filled path, to detect fills
6028           composed by multiple paths. Fixes bug #21498.
6030 2007-11-02 Bastiaan Jacques <bastiaan@bjacques.org>
6032         * backend/render_handler_ogl.cpp: Add OSRenderMesa, a class
6033         implementing OSMesa's offscreen rendering system. Move
6034         ogl_accessible() to the render_handler_ogl class because it
6035         now needs access to members of that class. Remove the unused
6036         get_whole_shapes method. Implement getPixel and friends.
6037         Please note that this offscreen code is only enabled when
6038         OSMESA_TESTING is defined, which the build system currently
6039         does not yet do due to issues described in 
6040         http://gnashdev.org/?q=node/46 .
6041         * server/gnash.h: Add an optional boolean argument to
6042         create_render_handler_ogl, which specifies whether the
6043         factory should immediately run OpenGL initialization code.
6044         This code should not be run immediately in the OSMesa case,
6045         since OpenGL calls should not be made until a context is
6046         available, which is not the case until initTestBuffer is
6047         called. initTestBuffer, in turn, cannot be called until
6048         renderer instantiation.
6049         * testsuite/MovieTester.cpp: Add support for OpenGL renderer
6050         testing.
6052 2007-11-02 Sandro Santilli <strk@keybit.net>
6054         * gui/gui.cpp (getMovieInfo): add info about the current active
6055           mouse entity.
6057 2007-11-02 Sandro Santilli <strk@keybit.net>
6059         * server/asobj/Color.cpp: more bug fixes.
6060         * testsuite/actionscript.all/Color.as: more tests. Most pass
6061           except a suspicious one about some kind of rounding which is
6062           not clear to me.
6063         * testsuite/swfdec/PASSING: two more tests pass.
6065 2007-11-02 Sandro Santilli <strk@keybit.net>
6067         * server/asobj/Global.cpp: don't forget to initialize the Color class.
6068         * server/sprite_instance.{cpp,h}: add a _userCxform and accessor 
6069           methods; override get_world_cxform to take it into account.
6070         * server/asobj/Color.cpp: implement {get,set}Transform and
6071           {get,set}RGB. Not 100% correct, but good progress on
6072           halloweenpaint.swf (see bug #21498)
6073         * testsuite/actionscript.all/Color.as: test {get,set}Transform and
6074           {get,set}RGB.
6075         * testsuite/swfdec/PASSING: couple of color-related tests now succeed,
6076           more still fail.
6078 2007-11-02 Sandro Santilli <strk@keybit.net>
6080         * server/drag_state.h: add x/y offset members.
6081         * server/movie_root.cpp (set_drag_state, doMouseDrag):
6082           implement relative dragging. Fixes bug #21496.
6084 2007-11-01 Sandro Santilli <strk@keybit.net>
6086         * gui/Player.cpp (run): make the window at least 1x1 pixels sized
6087           in a collapsed SWF header situation.
6089 2007-11-01 Sandro Santilli <strk@keybit.net>
6091         * server/character.{cpp,h}: remove the do_mouse_drag
6092           method. It's silly to call it for each sprite or button
6093           when at the end only a single character (if any) would
6094           do something useful with that.
6095         * server/: button_character_instance.cpp, sprite_instance.cpp:
6096           remove the do_mouse_drag call from the (advance) function.
6097         * server/movie_root.{cpp,h}: Move the doMouseDrag method
6098           here, as a private one, called from advance. Also, drag
6099           anyway, even if not correctly, when the drag is not
6100           lock-centered (to be fixed later).
6102 2007-11-01 Bastiaan Jacques <bastiaan@bjacques.org>
6104         * backend/render_handler.h: Document that draw_poly draws a
6105         thin border specified by the outline parameter.
6106         * backend/render_handler_ogl.{cpp,h}: Header/impl separation
6107         for class bitmap_info_ogl.
6109 2007-11-01 Sandro Santilli <strk@keybit.net>
6111         * libbase/GnashException.h: Add ActionTypeError exception.
6112         * server/as_value.{cpp,h} (to_primitive): a closer to ECMA-262
6113           [[ToPrimitive]] implementation.
6114         * server/vm/ASHandlers.cpp: update use of as_value::to_primitive.
6115         * testsuite/actionscript.all/toString_valueOf.as: two successes.
6116         * testsuite/swfdec/PASSING: some more successes.
6117         * server/vm/fn_call.h (dump_args): print debug string version
6118           for each argument.
6120 2007-11-01 Bastiaan Jacques <bastiaan@bjacques.org>
6122         * backend/render_handler_cairo.cpp: Implement draw_poly.
6123         
6124 2007-11-01 Bastiaan Jacques <bastiaan@bjacques.org>
6126         * backend/render_handler.h: Document that renderers should
6127         ignore subshapes in glyphs, as demonstrated by Agg and
6128         evidenced in text-test.swf.
6129         * backend/render_handler_{cairo,ogl}.cpp: draw_glyph: call
6130         draw_subshape directly with all paths, since subshapes should
6131         be ignored.
6133 2007-10-31 Bastiaan Jacques <bastiaan@bjacques.org>
6135         * backend/render_handler_ogl.h: New header file; the beginnings
6136         of header/implementaion separation.
6137         * backend/render_handler_ogl.cpp: New OpenGL renderer
6138         implementation. In this initial version, support for subshapes
6139         and poor man's anti-aliasing (only filled shapes are affected)
6140         are added. The new renderer will facilitate the addition of
6141         more good stuff, like real anti-aliasing and to eliminate the
6142         many remaining OpenGL bugs. Simple masking now works.
6143         * gui/gtk_glue_cairo.cpp: Use a RGBA buffer by default.
6144         * gui/gtk_glue_gtkglext.cpp: Enable the stencil buffer rather
6145         than the depth buffer, since the former is used while the
6146         latter is not.
6148 2007-10-31 Sandro Santilli <strk@keybit.net>
6150         * testsuite/actionscript.all/TextField.as: add test for
6151           toString/valueOf properties (un)availability.
6152         * server/vm/ASHandlers.cpp (ActionNewAdd): don't assume
6153           stack element references are valid after calls to to_primitive.
6154           Fixes bug #21482.
6156 2007-10-30 Sandro Santilli <strk@keybit.net>
6158         * lots of files: assert(0) -> abort()
6160 2007-10-30 Sandro Santilli <strk@keybit.net>
6162         * testsuite/actionscript.all/toString_valueOf.as: add a test which
6163           seems to be killing gnash (segfault).
6165 2007-10-30 Sandro Santilli <strk@keybit.net>
6167         * server/as_value.cpp (to_debug_string): assert(0) => abort()
6168           [ to abort when NDEBUG is defined ]
6169         * server/character.h (markCharacterReachable): mark mask as
6170           reachable.
6172 2007-10-30 Sandro Santilli <strk@keybit.net>
6174         * gui/Player.cpp (run): don't give up if the movie has collapsed size.
6175         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp: 
6176           Check rendering effects of the setMask call.
6178 2007-10-30 Sandro Santilli <strk@keybit.net>
6180         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp:
6181           Check hitdetector bounds and reactions on mouse movement
6182         * gui/gui.{cpp,h}: Add support for mouse pointer movements using the
6183           keyboard arrow keys. Support is currently enabled but can be
6184           switched off at compile time. If compile-time enabled support can
6185           still be toggled at runtime, currently defaults to enabled and 
6186           menu items to toggle it are missing.
6188 2007-10-30 Sandro Santilli <strk@keybit.net>
6190         * server/dlist.cpp (display): don't render dynamic masks.
6191         * testsuite/misc-ming.all/masks_testrunner.cpp: no more failures here.
6193 2007-10-30 Sandro Santilli <strk@keybit.net>
6195         * testsuite/misc-ming.all/masks_testrunner.cpp: add tests for effects
6196           of swapDepth on dynamic masks (gnash fails).
6198 2007-10-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
6200         * server/parser/sound_definition.{cpp,h}: move execute_state actions
6201           to execute. Fixes bug #21465.
6203 2007-10-30 Sandro Santilli <strk@keybit.net>
6205         * server/character.h (setMask): set character as invalidated
6206           when it's mask change. Needs more care: when the mask itself
6207           changes, we should find a way to invalidate the maskee as well,
6208           but we currently have no refefence from the mask to the maskee.
6209         * server/dlist.cpp (display): add support for dynamic masks.
6210           Needs more care: test what happens with nested masks, check if
6211           it is possible to trigger infinite recursions.
6212         * server/sprite_instance.cpp (sprite_setMask); draft support for
6213           setMask. Needs more care: forbid a character to mask itself,
6214           see care needed in dlist to avoid infinite recursion (A masks B
6215           contining B2 maksing A)
6216         * testsuite/misc-ming.all/DrawingApiTest.as: turn user-defined cursor
6217           into a mask or disable the mask on click (toggle). Needs testing
6218           in the runner.
6219         * testsuite/misc-ming.all/masks_test.c: add comments.
6220         * testsuite/misc-ming.all/masks_testrunner.cpp: add section testing
6221           for setMask effects on rendering. Needs more care: add test for
6222           effect of swapDepth on next advance.
6225 2007-10-30 Chad Musick <chadmusick@msbx.net>
6227         * server/StreamProvider.cpp: Even if LIBCURL is not being used,
6228           URLAccessManager.h must be included.
6229         * server/as_object.h,.cpp: Make instanceOf a recursive function
6230           so that non-proper properties, like interfaces, will be correctly
6231           searched. Add get_super() and get_constructor() functions, not yet
6232           implemented.
6233         * server/namedStrings.h,.cpp: Add another anonymous string.
6234         * server/asobj/ClassHierarchy.cpp: Add prototypes to loaded objects if
6235           they don't do so themselves.
6236         * server/vm/ASHandlers.cpp: ImplementsOp -- not quite working, yet.
6237         * server/vm/Machine.h,.cpp: More work toward AS3 ability.
6238         * testsuite/actionscript.all/Date.as: Fix bogus test -- the time
6239           returned depends on local timezone, so you can't check to the second.
6240         * server/vm/SafeStack.h, server/vm/CodeStream.h -- Comment updates.
6242 2007-10-29 Sandro Santilli <strk@keybit.net>
6244         * testsuite/MovieTester.cpp (checkPixel): multiply tolerance by
6245           minimum renderer tolerance.
6246         * testsuite/misc-ming.all/masks_testrunner.cpp: fix color values,
6247           which reveals all tests pass (need to add tests for setMask next).
6248         * server/character.h: add setMask, getMask, isDynamiMask,
6249           rename isMask to isMaskLayer, add change isMask to check both
6250           dynamic and static masks.
6251         * server/dlist.cpp: replace isMask with isMaskLayer
6253 2007-10-27 Sandro Santilli <strk@keybit.net>
6255         * server/as_object.{cpp,h} (findUpdatableProperty): return
6256           static properties in inheritance chain if found, as correctly
6257           documented in the header file (need an ABC compiler for real 
6258           testing).
6260 2007-10-27 Bastiaan Jacques <bastiaan@bjacques.org>
6262         * various Makefile.am: Remove libgnashbackend, since it is
6263         unused and OS X's `ar' chokes on the empty archive we
6264         currently create.
6265         * gui/Makefile.am: Don't put the gnash script in the Carbon
6266         bundle; instead, put bin_PROGRAMS in it.
6267         * gui/aqua.cpp: Implement the event loop necessary to draw
6268         the renderer.
6269         * gui/aqua_glue.h: Pass a window pointer to the rendering glue
6270         so the glue can attach the renderer to the window.
6271         * gui/aqua_ogl_glue.{cpp,h}: Implement the aqua GUI by setting
6272         up an OpenGL context.
6273         * gui/gui.h: Add a default implementation for setInterval since
6274         it is the same for most renderers.
6276 2007-10-27 Sandro Santilli <strk@keybit.net>
6278         * testsuite/swfdec/PASSING: add new successes
6279           from updated swfdec snapshot.
6281 2007-10-27 Sandro Santilli <strk@keybit.net>
6283         * server/as_prop_flags.h: add clear_visible method.
6284         * server/Property.h: add clearVisible method
6285         * server/as_object.cpp: clear visibility flags after
6286           overriding.
6287         * testsuite/simple.exp: double timeout.
6288         * testsuite/actionscript.all/Global.as: more successes
6289           (still not completed).
6291 2007-10-27 Sandro Santilli <strk@keybit.net>
6293         * testsuite/actionscript.all/Global.as: use 'delete a.b'
6294           instead of 'delete(a.b)' -- the latter wasn't supported
6295           by erlier Ming versions.
6297 2007-10-27 Sandro Santilli <strk@keybit.net>
6299         * testsuite/actionscript.all/Global.as: more tests about invisible
6300           flags over inherited getter-setters (most failures are for SWF6
6301           only)
6303 2007-10-27 Sandro Santilli <strk@keybit.net>
6305         * server/as_object.cpp (findUpdatableProperty): don't overlook
6306           invisible properties in *this* object, it'll be eventually
6307           overridden.
6308         * testsuite/actionscript.all/Global.as: more successes.
6310 2007-10-27 Sandro Santilli <strk@keybit.net>
6312         * testsuite/actionscript.all/Global.as: test ignore property flags
6313           effect on inherited gettersetter.
6315 2007-10-26 Sandro Santilli <strk@keybit.net>
6317         * server/as_object.cpp: have __proto__ respect the same
6318           visibility rules of other properties, check visibility
6319           rules in findUpdatableProperty.
6320         * testsuite/swfdec/PASSING: one more test passing (more failing
6321           from the same set).
6323 2007-10-26 Tomas Groth Christensen <tomasgroth@yahoo.dk>
6325         * server/parser/video_stream_def.cpp: Check if iterator is valid, before
6326           using it. Fixes bug #21442.
6328 2007-10-26 Sandro Santilli <strk@keybit.net>
6330         * server/as_prop_flags.h: add version-based ignore flags.
6331         * server/Property.h: expose an isVisible(int ver) method.
6332         * server/as_object.{cpp,h} (findProperty): ignore invisible
6333           properties.
6334         * testsuite/swfdec/PASSING: success for all versions from
6335           ASSetPropFlags-ignore.as
6337 2007-10-26 Sandro Santilli <strk@keybit.net>
6339         * extensions/gtk2/gtkext.cpp: use init_member to initialize interface
6340           (fixes build)
6342 2007-10-26 Tomas Groth Christensen <tomasgroth@yahoo.dk>
6344         * libmedia/FLVParser.h, libmedia/MediaParser.h: Move the videoFrameType
6345           definition from FLVParser.h to MediaParser.h.
6346         * libmedia/VideoDecoder.h, libmedia/gst/VideoDecoder{Gst,ffmpeg}.{h,cpp}:
6347           Make decodeToImage return a auto_ptr (again).
6348         * server/video_stream_instance.cpp: We now receive the decoded image in a
6349           auto_ptr.
6350         * server/parser/video_stream_def.{h,cpp}: Changed decoding of embedded video
6351           to be on-demand, instead of at-parse. If asked to decode a random frame, we
6352           rewind to the lastest keyframe (or the last decoded frame) and decode all
6353           the frames needed to produce the requested frame.
6355 2007-10-26 Markus Gothe <nietzsche@lysator.liu.se>
6357         * configure.ac: Added quotation-marks around $extensions_list.
6359 2007-10-26 Sandro Santilli <strk@keybit.net>
6361         * server/as_object.{cpp,h}: expose a get_path_element method
6362           being the semantically equivalent to the replaced
6363           character::find_relative_target
6364         * server/character.{cpp,h}, server/button_character_instance.{cpp,h},
6365           server/sprite_instance.{cpp,h}:
6366           Adapt find_relative_target to the new get_path_element.
6367         * server/as_environment.cpp (find_target): use the new
6368           get_path_element for paths resolution.
6369         * testsuite/actionscript.all/: targetPath.as, with.as: some successes.
6371 2007-10-26 Sandro Santilli <strk@keybit.net>
6373         * testsuite/actionscript.all/with.as: test that '..' is
6374           a legal path component in a setTarget call.
6376 2007-10-26 Sandro Santilli <strk@keybit.net>
6378         * server/asobj/string.cpp: fix substring(0,1).
6379         * testsuite/actionscript.all/String.as: test substring(0,1)
6380         * testsuite/actionscript.all/Date.as: add test for adding Date
6381           instance to a number.
6383 2007-10-26 Sandro Santilli <strk@keybit.net>
6385         * server/as_object.h: add virtual isDateObject() method.
6386         * server/asobj/Date.cpp: implement isDateObject, have valueOf
6387           always return a number.
6388         * server/as_value.{cpp,h}: to_primitive for date objects returns
6389           a string rather then a number.
6391 2007-10-25 Sandro Santilli <strk@keybit.net>
6393         * testsuite/actionscript.all/Date.as: couple more tests.
6394         * testsuite/actionscript.all/targetPath.as: add a failing test
6395           as borrowed from swfdec
6396         * testsuite/actionscript.all/MovieClip.as: test _parent is not
6397           a proper property (gnash fails)
6398         * testsuite/actionscript.all/getvariable.as: more tests for
6399           getvariable/setvariable.
6401 2007-10-25 Udo Giacomozzi <udo.gnu@nova-sys.net>
6403         * server/asobj/Date.cpp: date_valueof() returns human readable date
6404           for SWF > 5 (fixes bug #21414)        
6405         * testsuite/actionscript.all/Date.as: 1 PASS
6406         * testsuite/actionscript.all/toString_valueOf.as: 2 PASSes
6407         * server/asobj/Date.cpp: getTime() still has to return a numeric value 
6408         * testsuite/actionscript.all/Date.as: add a check for getTime()
6410 2007-10-25 Sandro Santilli <strk@keybit.net>
6412         * testsuite/swfdec/PASSING: new swfdec tests passing
6414 2007-10-25 Sandro Santilli <strk@keybit.net>
6416         * server/asobj/Global.cpp (global_trace): pass environment to
6417           as_value::to_string.
6418         * server/as_environment.{cpp,h}: drop find_target taking as_value.
6419         * server/sprite_instance.cpp, server/asobj/MovieClipLoader.cpp,
6420           server/vm/ASHandlers.cpp: update calls to find_target (always
6421           takes a string now).
6423 2007-10-25 Udo Giacomozzi <udo.gnu@nova-sys.net>
6425         * testsuite/actionscript.all/Date.as: Added testcase for bug #21414
6426           (currently failing)   
6428 2007-10-25 Sandro Santilli <strk@keybit.net>
6430         * testsuite/misc-swfc.all/opcode_guard_test2.sc: add more consistency
6431           checks for zou new tests.
6432         * server/as_environment.cpp (find_target): always use current, not
6433           original target.
6434         * server/vm/ASHandlers.{cpp,h} (CommonSetTarget): reset target as first
6435           thing, so that find_target won't use previously current target
6436           to resolve relative paths.
6438 2007-10-24 Sandro Santilli <strk@keybit.net>
6440         * testsuite/actionscript.all/with.as: more setTarget tests (failing)
6442 2007-10-24 Sandro Santilli <strk@keybit.net>
6444         * server/as_environment.cpp (find_target): use original target
6445           for relative paths.
6446         * testsuite/swfdec/PASSING: succeed in settarget-relative-*.swf
6448 2007-10-24 Sandro Santilli <strk@keybit.net>
6450         * server/vm/ASHandlers.cpp (CommonSetTarget):
6451           Reset to original target if argument doesn't correspond
6452           to a character.
6453         * testsuite/swfdec/PASSING: succeed in settarget (still not all)
6455 2007-10-24 Sandro Santilli <strk@keybit.net>
6457         * server/asobj/string.cpp (string_sub_str): fix corner cases
6458           exposed by swfdec's substr tests.
6459         * testsuite/swfdec/PASSING: succeed in substr tests.
6461 2007-10-24 Sandro Santilli <strk@keybit.net>
6463         * server/PropertyList.cpp: addProperty can always override
6464           pre-existing properties, and inherits flags in that case.
6465         * testsuite/swfdec/PASSING: addProperty-flags succeeds.
6466         * testsuite/swfdec/gen_run_swfdec_testsuite.sh: include md5 
6467           in PASS/FAIL lines (for easier copy&paste into PASSING)
6469 2007-10-24 Sandro Santilli <strk@keybit.net>
6471         * server/asobj/Object.cpp: don't replicate all exported interfaces
6472           to the Object class; move registerClass from prototype to class;
6473           have hasOwnProperty return false on invalid calls.
6474         * testsuite/actionscript.all/Object.as: one more success, more
6475           tests needed for hasOwnProperty calls.
6477 2007-10-24 Sandro Santilli <strk@keybit.net>
6479         * server/vm/VM.{cpp,h}: initial support for a native functions table.
6480         * server/asobj/Global.cpp: ASnative global.
6481         * server/asobj/Object.cpp: register Objects' natives (101 series).
6483 2007-10-24 Sandro Santilli <strk@keybit.net>
6485         * testsuite/swfdec/: PASSING, gen_run_swfdec_testsuite.sh, README:
6486           Include md5sum of known-to-pass tests so updates in swfdec
6487           testsuite don't introduce unexpected failures.
6489 2007-10-24 Udo Giacomozzi <udo.gnu@nova-sys.net>
6491         * backend/render_handler_agg_style.h: don't force premultiply()
6492           for RGBA bitmaps, fixes bug #20972 (hopefully...)  
6494 2007-10-24 Sandro Santilli <strk@keybit.net>
6496         * testsuite/swfdec/PASSING: new succeeding tests from swfdec
6497           testsuite. Note that prototype-recursion-* tests prevent
6498           the full testsuite from being run as gnash goes into an infinite
6499           recursion failling to detect max call stack limit (our
6500           getter/setters use a brand new as_environment, and thus stack
6501           everytime they are invoked).
6503 2007-10-24 Udo Giacomozzi <udo.gnu@nova-sys.net>
6505         * extensions/fileio/fileio.cpp: Fixed a bug in fgets() which
6506           caused a segfault on empty files
6507         * extensions/fileio/Makefile.am: fixed GNASH_PLUGINS env.
6508           variable   
6510 2007-10-24 Sandro Santilli <strk@keybit.net>
6512         * cygnal/ACT/Makefile.am: distribute test_support and unit_tests
6513           subdirs.
6514         * extensions/Makefile.am: distribute metome subdir
6516 2007-10-24 Sandro Santilli <strk@keybit.net>
6518         * server/sprite_instance.cpp (get_topmost_mouse_entity): don't
6519           segfault if the root movie can handle mouse events :/
6521 2007-10-24 Udo Giacomozzi <udo.gnu@nova-sys.net>
6523         * libgeometry/snappingrange.h: add routines for calculating
6524           intersections between SnappingRanges
6525         * server/dlist.cpp: optimize add_invalidated_bounds() for
6526           masks (don't invalidate outside of masks)     
6527         * backend/render_handler_agg.cpp: never use even-odd filling
6528           rules when drawing a mask (unlike normal shapes); some cleanup
6529         * gui/fb.cpp: Limit pointing device events reading loop
6531 2007-10-24 Sandro Santilli <strk@keybit.net>
6533         * server/as_object.{cpp,h}: add update_member to only 
6534           update pre-existing members (including getter-setter
6535           in the inheritance chain).
6536         * server/as_environment.cpp (set_variable_raw): only
6537           set members of elements in the scope stack if
6538           pre-existing.
6539         * testsuite/actionscript.all/: Object.as, with.as:
6540           success for the new failing tests.
6542 2007-10-23 Sandro Santilli <strk@keybit.net>
6544         * configure.ac: abort if no supported GUI are selected.
6546 2007-10-23 Markus Gothe <nietzsche@lysator.liu.se>
6548         * macros/glib.m4; Fixed out put.
6549         * macros/sdl.m4: Fixed bogus -I.
6551 2007-10-23 Takashi Iwai <tiwai@suse.de>
6553         * plugin/plugin.cpp: include <cstring>
6554         * libmedia/MediaParser.h: include <memory>
6555         * libmedia/sound_handler.h: include <cstring>
6557 2007-10-23 Sandro Santilli <strk@keybit.net>
6559         * testsuite/actionscript.all/Object.as: more failures about 
6560           setting members which has a  normal property in the inheritance
6561           chain but a getter-setter higher in the chain.
6562         * testsuite/actionscript.all/with.as: more failures !
6563         * macros/sdl.m4: cleanups
6564         * configure.ac: use test, not the ``['' command, in m4 macros.
6565         * server/URLAccessManager.cpp (allow): fix assertion checking.
6566         * testsuite/misc-ming.all/ming_utils.h: provide a CALLFRAME
6567           macro to use the syntax recognized by the detected Ming
6568           version.
6569         * testsuite/misc-ming.all/: frame_label_test.c, path_format_test.c:
6570           use CALLFRAME instead of callFrame.
6572 2007-10-22 Sandro Santilli <strk@keybit.net>
6574         * server/movie_root.{cpp,h}: don't update viewport size on setLevel,
6575           still do in setRootMovie.
6577 2007-10-22 Sandro Santilli <strk@keybit.net>
6579         * gui/gui.cpp (resize_view): only change scale if rescaling of Stage
6580           is allowed (WARNING: might fail if movie starts in noScale mode..)
6581         * server/asobj/Stage.cpp (setScaleMode): always update movie_root 
6582           "allow scale" flag when scaleMode changes. 
6584 2007-10-22  Rob Savoye  <rob@ripple.welcomehome.org>
6586         * configure.ac: Build Makefiles in cygnal/ACT sub dirs, add metome
6587         extension. Also display proper values for Boost libs.
6588         * Makefile.am: Dispplay boost values correctly for missing
6589         libraries, both required and optional.
6590         * macros/boost.m4: Make extra libraries used for testing it's own
6591         BOOST_EXTRA_LIBS variable to avoid linking problems.
6592         * extensions/metome: New directory for the soon-to-be-available
6593         metome SDK.
6594         * extensions/metome/Makefile.am, metome_ext.{h,cpp}: New support
6595         for Metome SDK.
6596         
6597         * configure.ac: Print out a warning for missing boost libraries
6598         that are only recommended, and not required.
6599         * macros/boost.m4: Look for some libraries that are only needed
6600         for testing, but still flag the user if they aren't found.
6602 2007-10-22 Udo Giacomozzi <udo.gnu@nova-sys.net>
6604         * server/asobj/Stage.cpp: corrected Stage.width and Stage.height, 
6605           fixes bug #21364  
6607 2007-10-22 Sandro Santilli <strk@keybit.net>
6609         * configure.ac: fix docmentation for --enable-cygnal
6610           (is not more --disable-cygnal, as it's off by default).
6612 2007-10-21  Rob Savoye  <rob@ripple.welcomehome.org>
6614         * macros/boost.m4: Add unit_test_framework for Cygnal tests.
6616 2007-10-20 Sandro Santilli <strk@keybit.net>
6618         * testsuite/misc-mtasc.all/Makefile.am: distribute Derived1.as
6619           and Base1.as. distcheck now works for me.
6620         * testsuite/Makefile.am: distribute gnashrc.in
6621         * testsuite/misc-ming.all/Makefile.am: provide MEDIADIR
6622           macro as absolute path.
6623         * testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp: 
6624           allow load of data from MEDIADIR.
6626 2007-10-20 Sandro Santilli <strk@keybit.net>
6628         * server/asobj/xml.{cpp,h}: rework the way XML is loaded:
6629           read all input and call onData, providing a default one.
6630           Still misses a background thread, but is a bit more correct
6631           now, in that allows overriding onData.
6632         * testsuite/actionscript.all/XML.as: succeeds in finding
6633           onData in XML.prototype.
6635 2007-10-20 Sandro Santilli <strk@keybit.net>
6637         * testsuite/Makefile.am: fix MEDIADIR path (for gnashrc)
6638         * testsuite/actionscript.all/Makefile.am: use testsuite/gnashrc
6639           for running tests (so loads from MEDIADIR are allowed).
6641 2007-10-20 Sandro Santilli <strk@keybit.net>
6643         * testsuite/misc-ming.all/loadMovieTestRunner.cpp: allow loads from
6644           MEDIADIR.
6645         * testsuite/actionscript.all/XML.as: test where onData is defined.
6646         * libbase/LoadThread.{cpp,h}: add support for cancelling load
6647           (untested).
6649 2007-10-20 Sandro Santilli <strk@keybit.net>
6651         * testsuite/: .cvsignore, Makefile.am, gnashrc.in:
6652           Add a testsuite-local gnashrc to enable loading local
6653           resources from the MEDIADIR.
6655 2007-10-20 Sandro Santilli <strk@keybit.net>
6657         * doc/C/usermanual/usage/gnashrc.xml: document new localSandboxPath
6658           directive.
6659         * libbase/rc.cpp: support localSandboxPath (set, append) directive.
6660         * testsuite/libbase/: TCXXRc.cpp, gnashrc-local.in, gnashrc.in: 
6661           test localSandboxPath append and set.
6663 2007-10-20 Sandro Santilli <strk@keybit.net>
6665         * testsuite/MovieTester.cpp: call set_base_url *before*
6666           create_movie*
6667         * libbase/rc.h: add a "local sandboxes" configuration.
6668           This is not yet allowed to be set in .gnashrc, but
6669           can be set by internal calls.
6670         * server/StreamProvider.cpp: check security also in
6671           the local resource case.
6672         * server/URLAccessManager.{cpp,h}: check local resources
6673           against the sandboxes list of RcInitFile.
6674         * server/impl.cpp (set_base_url): push base url to 
6675           the local sandboxes.
6676         * testsuite/actionscript.all/XML.as: add (failing) test for
6677           XML.onData.
6679 2007-10-20 Sandro Santilli <strk@keybit.net>
6681         * server/URLAccessManager.{cpp,h}, server/asobj/xmlsocket.cpp
6682           Don't expose allowHost w/out port, rename allowHost (with port)
6683           to allowXMLSocket.
6685 2007-10-19 Udo Giacomozzi <udo.gnu@nova-sys.net>
6687         * gui/fb.cpp: Added a few more key scan codes
6689 2007-10-19 Sandro Santilli <strk@keybit.net>
6691         * server/swf/tag_loaders.cpp (file_attributes_loader):
6692           Update message and add TODO list based on a talk with
6693           Benjamin Otte on #gnash.
6695 2007-10-19 Sandro Santilli <strk@keybit.net>
6697         * libmedia/VideoDecoder.h: add getPaddingBytes.
6698         * libmedia/sdl/VideoDecoderFfmpeg.h: implement getPaddingBytes
6699           using the ffmpeg define.
6700         * server/parser/video_stream_def.cpp: use getPaddingBytes
6701           to find out how much to pad.
6703 2007-10-19 Udo Giacomozzi <udo.gnu@nova-sys.net>
6705         * gui/fb.cpp, gui/fbsup.h: Preliminary support for keyboard input;
6706           implemented mouse handler using Linux Input Subsytem (made new 
6707           default); simple built-in touchscreen calibration/conversion;
6708           preliminary input device configuration via environment variables
6710 2007-10-19 Sandro Santilli <strk@keybit.net>
6712         * server/parser/video_stream_def.{cpp,h}: split read into
6713           readDefineVideoStream and readDefineVideoFrame, make
6714           presence of a non-null _decoder member a sign of a
6715           completed call to readDefineVideoStream (thus a sign
6716           of a statically-defined videostream vs. a dynamically
6717           created one [ using new Video ] ).
6718         * server/swf/tag_loaders.cpp: update calls to video_stream_def
6719           ::read*
6721 2007-10-19 Sandro Santilli <strk@keybit.net>
6723         * server/parser/video_stream_def.cpp (read): rework the input
6724           buffer padding to be cleaner, safer and a bit faster (only
6725           memset the pad); (destructor): get rid of the embedded video
6726           frames. Add TODO items.
6728 2007-10-19 Sandro Santilli <strk@keybit.net>
6730         * server/parser/video_stream_def.{cpp,h}: keep _decoder by
6731           boost::scoped_ptr. Fixes bug #21284.
6732         * server/swf/tag_loaders.cpp (video_loader): don't abort on malformed
6733           SWFs.
6735 2007-10-19 Tomas Groth Christensen <tomasgroth@yahoo.dk>
6737         * backend/Makefile.am: Only compile render_handler_tri.cpp if
6738           using the OpenGL backend.
6740 2007-10-18 Bastiaan Jacques <bastiaan@bjacques.org>
6742         * macros/mtasc.m4: Don't prepend a path to test with "x".
6744 2007-10-19 Markus Gothe <nietzsche@lysator.liu.se>
6746         * plugin/plugin.cpp, macros/boost.m4: Added year 2007.
6748 2007-10-18 Bastiaan Jacques <bastiaan@bjacques.org>
6750         * backend/render_handler_cairo.cpp: initTestBuffer: fix a set of
6751         typos to allow the testsuite to actually test the renderer. No
6752         XFAILs so far; one XPASS (masks_test2runner.cpp:58).
6754 2007-10-18 Sandro Santilli <strk@keybit.net>
6756         * server/edit_text_character.{cpp,h}: send onSetFocus and onKillFocus
6757           events.
6759 2007-10-18 Sandro Santilli <strk@keybit.net>
6761         * server/edit_text_character.{cpp,h}: fix an invalidated bounds
6762           problem on set/kill focus.
6764 2007-10-18 Tomas Groth Christensen <tomasgroth@yahoo.dk>
6766         * libmedia/VideoDecoder.h,libmedia/gst/VideoDecoder{Ffmpeg.Gst}.{h,cpp}: 
6767           Changed decodeToImage to return a raw image::image_base pointer.
6768         * server/video_stream_instance.{cpp,h},server/parser/video_stream_def.{h,cpp}:
6769           Changed to do decoding of video stream on parsing, and not on demand.
6771 2007-10-18 Chad Musick <chadmusick@msbx.net>
6773         * testsuite/swfdec/PASSING: More than 20 newly passing tests.
6775 2007-10-18 Sandro Santilli <strk@keybit.net>
6777         * server/movie_root.{cpp,h}: add getActiveEntityUnderPointer method.
6778         * server/character.h: add virtual isSelectableTextField() method.
6779         * server/edit_text_character.h: implement isSelectableTextField()
6780         * gui/gui.cpp: use getActiveENtityUnderPointer and
6781           isSelectableTextField to provide an INPUT cursor rather then
6782           an HAND when the active entity under pointer is a selectable
6783           text field.
6785 2007-10-18 Sandro Santilli <strk@keybit.net>
6787         * server/: movie_root.{cpp,h}, edit_text_character.cpp:
6788           Renamed movie_root::{get,set}_active_entity to
6789           movie_root::{get,set}Focus for clarity, and documented it.
6790         * testsuite/swfdec/PASSING: we now pass
6791           addProperty-get-prototypes-{6,7,8}.swf
6793 2007-10-18 Bastiaan Jacques <bastiaan@bjacques.org>
6795         * testsuite/MovieTester.cpp: Conditionally include cairo header.
6797 2007-10-18 Chad Musick <chadmusick@msbx.net>
6799         * server/Property.cpp: New file -- Definition of properties now requires
6800           some support functions.
6801         * server/GetterSetter.cpp,.h -- Obsolete file removal, functionality moved
6802           to Property
6803         * server/vm/asName.h -- New file, split and combined from abc_block.h and
6804           asClass.h
6805         * libbase/string_table.cpp,.h -- Make all empty strings return 0, make a
6806           new function for combining two values with a dot.
6807         * server/Makefile.am -- Remove GetterSetter files, add Property.cpp
6808         * server/Property.h -- Combine all 3 types (ordinary, getter/setter,
6809           destructive getter/setter) into a single class, Property, using boost::
6810           variant. Remove all virtual functions. Add key and namespace.
6811         * server/PropertyList.h,.cpp -- Change container to a multi-index storing
6812           properties by value rather than by pointer, add functions for retrieval
6813           by order number (for AS3). Remove all virtual functions.
6814         * server/array.cpp,.h -- Change get_member signature to match the one in
6815           as_object which now includes a namespace.
6816         * server/asClass.cpp -- Change asMethod and asClass to use an as_object
6817           backend
6818         * server/asClass.h -- Move asName out. Change asMethod and asClass to new
6819           signatures.
6820         * server/as_function.cpp -- Add checks for prototype.
6821         * server/as_object.cpp -- Chnage to new PropertyList style, some early
6822           code for interfaces (ImplementsOp) which should be working soon.
6823         * server/as_object.h -- Support for new PropertyList. Unfinished support
6824           for AS3.
6825         * server/as_prop_flags.h -- Added flag for static members, changed
6826           protected variable to a flag.
6827         * server/as_value.cpp,.h -- Stubs for implements and namespace support.
6828         * server/edit_text_character.cpp,.h -- Change to namespace get_member
6829         * server/namedStrings.cpp,.h -- Add some anonymous strings. These can
6830           only be used if you already know their number and are invisible to
6831           clients of the object.
6832         * server/sprite_instance.cpp,.h -- Change to namespace get_member
6833         * server/stream.cpp -- Depends on Property
6834         * server/asobj/ClassHierarchy.cpp,.h -- Use SafeStack instead of
6835           memoryDispenser, change to conform to new definitions of some classes.
6836         * server/asobj/Object.cpp -- Make sure construct has Object prototype
6837           set as "prototype" members.
6838         * server/asobj/xml.cpp,.h -- Use namespace get_member.
6839         * server/parser/abc_block.cpp,.h -- Change to conform to new asClass and
6840           asMethod. No longer safe to call read() in non-AS thread. abc_Multiname
6841           became asName (merged with asName from asClass.h) and was moved to its
6842           own file. Double pool changed from 'long double' to 'double'.
6843         * server/swf/tag_loaders.cpp -- Remove read() call from loading abc_block,
6844           since this is no longer safe to do in loader thread.
6845         * server/vm/Machine.cpp,.h -- Numerous steps towards completion.
6846         * server/vm/VM.h -- Add Machine member to VM object.
6847         * testsuite/server/Makefile.am -- Remove obsolete GetterSetterTest
6848         * testsuite/server/GetterSetterTest.cpp -- Removed as obsolete.
6850 2007-10-17 Bastiaan Jacques <bastiaan@bjacques.org>
6852         * backend/render_handler_cairo.cpp: Implement getPixel and
6853         related methods to enable automated renderer testing.
6854         * backend/Makefile.am: Add CAIRO_LIBS.
6855         * gui/gtk_glue_cairo.cpp: Let the renderer deal with
6856         cairo_t destruction.
6857         * testsuite/Makefile.am: Add CAIRO_CFLAGS so we can include
6858         render_handler_cairo.h.
6859         * testsuite/MovieTester.cpp: Enable Cairo renderer testing.
6861 2007-10-17 Sandro Santilli <strk@keybit.net>
6863         * server/edit_text_character.{cpp,h}: add initial support for
6864           TextField.selectable
6865         * testsuite/actionscript.all/TextField.as: update expected
6866           results.
6868 2007-10-17 Bastiaan Jacques <bastiaan@bjacques.org>
6870         * backend/render_handler_cairo.cpp: New Cairo implementation.
6871         Fixes all Cairo bugs currently in Savannah, but adds a set of
6872         new bugs. The new renderer offers significantly better
6873         performance and better rendering quality. This implementation
6874         does not rely on Gnash's own triangulation.
6875         * backend/render_handler_cairo.h: Renamed set_handle to
6876         set_context, which is more descriptive.
6877         * gui/gtk_glue_cairo.{cpp,h}: Updated for set_context.
6879 2007-10-17 Sandro Santilli <strk@keybit.net>
6881         * server/: as_environment.{cpp,h}, sprite_instance.cpp:
6882           Drop useless as_environment::{get,set}_member.
6884 2007-10-17 Sandro Santilli <strk@keybit.net>
6886         * configure.ac: add --enable-cassert (build with NDEBUG defined by
6887           default)
6888         * server/dlist.{cpp,h}: add isSorted private method
6889           to slighly speed up invariant testing.
6890         * server/edit_text_character.{cpp,h}: Add support for
6891           the TextField.onChanged event.
6893 2007-10-17 Markus Gothe <nietzsche@lysator.liu.se>
6895         * server/asobj/NetStream.h: MIPSPro work-around.
6896         * configure: Always print BOOST_{CFLAGS, LIBS}
6897         * macros/boost.m4: Detect boost correctly by two steps. Added GXX.
6899 2007-10-16 Sandro Santilli <strk@keybit.net>
6901         * server/parser/edit_text_character_def.cpp (get_font): reduce
6902           debugging output for a common case.
6903         * server/character.h: indentation cleanups and get_visible/set_visible
6904           made non-virtual.
6906 2007-10-15 Sandro Santilli <strk@keybit.net>
6908         * server/as_value.cpp (to_debug_string): tell apart dangling from
6909           rebound soft refs.
6911 2007-10-15 Martin Stransky  <stransky at redhat dot com>
6913         * plugin/plugin.cpp: don't call NSAPI code after the fork.
6914           Patch from https://bugzilla.redhat.com/show_bug.cgi?id=281061.
6916 2007-10-15 Sandro Santilli <strk@keybit.net>
6918         * server/as_environment.{cpp,h}: have find_object_{dot,slash}syntax
6919           support a scope stack.
6920         * testsuite/actionscript.all/with.as: fix last failing test. Should be
6921           easy to add more failing (hint: get variable in one-before-last member
6922           of with stack scope).
6924 2007-10-15 Udo Giacomozzi <udo.gnu@nova-sys.net>
6926         * backend/render_handler_agg.cpp, backend/render_handler_agg.h, gui/fb.cpp,
6927           gui/fltk_glue_agg.cpp, gui/gtk_glue_agg.cpp, gui/kde_glue_agg.cpp,
6928           gui/riscos_glue_agg.cpp, gui/sdl_agg_glue.cpp: Don't let the renderer
6929           choose the rowstride (bytes per line) as this depends on the GUI
6930           and use the rowstride reported by the MIT-SHM extension instead of
6931           calculating it.
6932         * backend/render_handler_agg.cpp: Code cleanup
6934 2007-10-14 Sandro Santilli <strk@keybit.net>
6936         * gui/fb.cpp: update use of agg_detect_pixel_format
6937         * server/as_environment.cpp: minor cleanups.
6939 2007-10-14 Sandro Santilli <strk@keybit.net>
6941         * backend/render_handler_agg.{cpp,h} (agg_detect_pixel_format):
6942           return by const char*, fixing a warning raised by gcc 4.2.1
6943         * gui/gtk_glue_agg.cpp: update use of agg_detect_pixel_format.
6945 2007-10-14 Sandro Santilli <strk@keybit.net>
6947         * utilities/processor.cpp: support fscommand:quit command.
6948         * testsuite/swfdec/PASSING: 39 successes found (used to fail just
6949           because we didn't support the fscommand:quit command.
6951 2007-10-14 Sandro Santilli <strk@keybit.net>
6953         * testsuite/check.h: force literal string to std::string conversion in
6954           check_equals and xcheck_equals (fixes compiler warnings from gcc >=
6955           4.1.x)
6956         * server/as_environment.cpp (get_variable_raw, set_variable_raw): don't
6957           explicitly look in locals for SWF6 and higher, as locals should already
6958           be in the scope chain; look in scope chain *before* locals in the
6959           SWF5- case (only 'with stack' in that case).
6960         * testsuite/actionscript.all/with.as: fixed a couple of tests about locals
6961           and 'with' stack seek order.
6963 2007-10-14 Sandro Santilli <strk@keybit.net>
6965         * server/as_environment.cpp (get_variable_raw): reduce calls to
6966           string_table::find.
6967         * testsuite/misc-ming.all/Makefile.am: don't build and run PlaceObject2Test
6968           if MING_SUPPORTS_REPLACE_TAG is not defined, don't try to run
6969           get_frame_number_testrunner when not building it.
6970         * testsuite/misc-ming.all/PlaceObject2Test.c: remove /* in comment warning.
6972 2007-10-13  Rob Savoye  <rob@ripple.welcomehome.org>
6974         * macros/agg.m4, curl.m4, ffmpeg.m4, freetype.m4, glib.m4,
6975         gnashpkgtool.m4, gtk2.m4, gtkglext.m4, jpeg.m4, kde.m4, libXML.m4,
6976         lirc.m4, ming.m4, mysql.m4, opengl.m4, pango.m4, pthreads.m4,
6977         sdl.m4, x11.m4: Also test for /usr/lib64, so it doesn't sneak into
6978         our LDFLAGS. This will cause make distcheck to fail on a 64 bit machine.
6979         
6980 2007-10-13 Udo Giacomozzi <udo.gnu@nova-sys.net>
6982         * gui/fbsup.h: Make PS/2 mouse the default (instead of ETurboTouch)
6984 2007-10-12 Zou Lunkai <zoulunkai@gmail.com>
6986         * testsuite/misc-swfc.all/opcode_guard_test2.sc: test that both setTarget
6987           and setTargetExpression use the target string instead of pointer for
6988           searching the target.
6989         * testsuite/actionscript.all/with.as: test that target don't need to be
6990           stacked in nesting setTarget context.
6991           
6992 2007-10-11 Sandro Santilli <strk@keybit.net>
6994         * testsuite/actionscript.all/with.as: test that locals do NOT take
6995           precedence over 'with' stack.
6997 2007-10-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
6999         * server/asobj/Key.cpp: clean up.
7000         * testsuite/misc-ming.all/KeyIsDownTest.c: add test for Key.isDown().
7002 2007-10-10 Sandro Santilli <strk@keybit.net>
7004         * server/LoadVariablesThread.{cpp,h}: throw an exception
7005           if stream can't be fetched (NetworkException).
7006         * server/asobj/LoadVars.cpp: catch NetworkException while
7007           constructing LoadVariablesThread. Fixes assertion failure
7008           of bug #19901.
7010 2007-10-10 Sandro Santilli <strk@keybit.net>
7012         * server/asobj/xmlsocket.cpp: don't use non-configured as_environment
7013           for user-defined event handlers invocation.
7015 2007-10-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7017         * server/asobj/Key.{h,cpp}: change is_key_down() to take SWF keycode
7018           and check the relevant bit in m_unreleased_keys (bit array).
7020 2007-10-10 Sandro Santilli <strk@keybit.net>
7022         * server/movie_root.cpp (notify_key_listeners): don't use a
7023           stack-allocated and non-configured as_environment for user-defined
7024           event handlers invocation.
7026 2007-10-10 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7028         * gui/gui.cpp: only handle GUI shortcuts on key down.
7029         * server/asobj/Key.cpp: rename get_last_key_pressed() to get_last_key().
7031 2007-10-10 Sandro Santilli <strk@keybit.net>
7033         * server/parser/action_buffer.cpp (process_decl_dict): allow
7034           overriding the constant pool. Fixes dict_override.swf
7035         * testsuite/misc-swfmill.all/: Makefile.am, dict_override.xml:
7036           New test for constant pool override (gnash fails, will fix next).
7038 2007-10-10 Zou Lunkai <zoulunkai@gmail.com>
7040         * testsuite/misc-mtasc.all/: Base1.as, Derived1.as, super_test1.as,
7041           Makefile.am: test for super, detected an unexpected 'ActionLimit hit'
7042           
7043 2007-10-10 Zou Lunkai <zoulunkai@gmail.com>
7044         
7045         * testsuite/misc-mtasc.all/function.as, Makefile.am: rename function.as to 
7046           function_test.as, fix a name conflict in a case insensitive file system. There
7047           is a Function.as in mtasc/std.
7048           
7049 2007-10-10 Sandro Santilli <strk@keybit.net>
7051         * server/swf_function.cpp (call operator): pop call stack frame on
7052           exception. Fixes assertion failure on restart reported by bwy in
7053           in bug #21295
7054         * server/as_environment.h: don't use size() or length()
7055           when empty() is really meant (in some cases empty() is much
7056           faster).
7058 2007-10-10 Chad Musick <chadmusick@msbx.net>
7060         * server/vm/SafeStack.h: Remove limit on size of grow()
7061         * server/vm/Machine.cpp: Name changed from server/vm/AbcHandlers.cpp,
7062           more work on making it work.
7063         * server/vm/Machine.h: More work on making it work.
7065 2007-10-09 Sandro Santilli <strk@keybit.net>
7067         * server/as_environment.cpp: don't use size() or length()
7068           when empty() is really meant (in some cases empty() is much
7069           faster).
7070         * testsuite/misc-ming.all/Makefile.am: remove duplicate rule
7071           for PlaceObject2Test.swf (fixes make check).
7073 2007-10-09 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7075         * server/asobj/Key.{cpp,h}: rename m_last_key_pressed to 
7076           m_last_key_event. Add SWF keycode, not gnash keycode to
7077           index of keys down. Fixes problems when releasing shift
7078           before a character key.
7080 2007-10-09 Chad Musick <chadmusick@msbx.net>
7082         * server/AS3_OPCODES: Remove file (information up-to-date elsewhere).
7084 2007-10-09 Zou Lunkai <zoulunkai@gmail.com>
7085         
7086         * testsuite/misc-ming.all/PlaceObject2Test.swf, Makefile.am:
7087         enable an old testcase, it wasn't used actually. Test DLIST tags
7088         with dynamic depth manipulation. All passed with cvs-head.
7089           
7090 2007-10-09 Sandro Santilli <strk@keybit.net>
7092         * server/vm/ActionExec.cpp (call operator): don't execute anything
7093           if scripts are disabled. Fixes bug #21295.
7095 2007-10-08 Udo Giacomozzi <udo.gnu@nova-sys.net>
7097         * libbase/tu_timer.cpp: Avoid range problems. Fixes bug #21289
7098         * gui/gui.cpp: fixed draw_poly() call when region debugging is active   
7100 2007-10-08 Sandro Santilli <strk@keybit.net>
7102         * server/as_value.{cpp,h}: fully inlined destructor, since it has
7103           nothing to do.
7105 2007-10-08 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7107         * libbase/rc.{h,cpp}, testsuite/libbase/TCCXXRc.cpp
7108           libbase/curl_adapter.cpp: rename variable and function to _insecureSSL
7109           / insecureSSL().
7110         * gui/kde.cpp: complete keyboard handling from the GUI.
7111         * server/asobj/Key.cpp (set_key_up): key releases also update
7112           m_last_key_pressed, so that the last key released is not necessarily
7113           the same as the last key pressed.
7115 2007-10-08 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7117         * libmedia/AudioDecoderSimple.cpp: Fix stereo/mono resampling.
7118         * libmedia/sdl/AudioDecoderMad.cpp: Fix compilation and stereo/mono
7119           resampling.
7120         * libmedia/sdl/VideoDecoderFfmpeg.cpp: Free frame after use. Throw
7121           bad_alloc, if out of memory.
7122         * libmedia/sdl/sound_handler_sdl.cpp: Fix decoding multiple times until
7123           the required buffer is full.
7125 2007-10-08 Sandro Santilli <strk@keybit.net>
7127         * testsuite/misc-ming.all/loop_test9.c: add a test for RemoveObject
7128           having effect for out-of-static-zone depths (now the test would
7129           segfault with a gnash version prior the fix for bug #21281 - 0.8.1
7130           for instance). Head is fine.
7132 2007-10-08 Chad Musick <chadmusick@msbx.net>
7134         * server/vm/AbcHandlers.cpp: More work on the AS3 interpreter --
7135           function calls and such.
7136         * server/vm/Machine.h: Remove Stack (moved to SafeStack.h), remove
7137           CodeStream (moved to CodeStream.h), remove FunctionEntry (becomes
7138           State internal class).
7139         * server/vm/CodeStream.h: Add reInitialize method to allow empty
7140           construction.
7141         * server/vm/SafeStack.h: Add method to reset stack to a certains state.
7143 2007-10-08 Sandro Santilli <strk@keybit.net>
7145         * testsuite/misc-ming.all/ming_utils.c: have totals() and friend also
7146           print a final line containing grand totals. This will be easier
7147           to use for consistency checking from the generic-testrunner.sh.
7148         * testsuite/misc-ming.all/: Makefile.am, loop_test9.c: test that
7149           a PlaceObject-placed instance in a depth higher then 0 (after
7150           depth-shift) doesn't get removed on jump-back. Verifies behaviour
7151           of bug #21281.
7153 2007-10-07 Sandro Santilli <strk@keybit.net>
7155         * server/swf/RemoveObjectTag.cpp (loader): don't attempt to unregister
7156           a timeline depth if depth is out of the static zone. PlaceObject2
7157           does the same avoiding to register the depth in this case. Fixes bug
7158           #21281.
7159         * server/parser/movie_def_impl.cpp (dump_tag_bytes): output cleanup.
7161 2007-10-07 Chad Musick <chadmusick@msbx.net>
7163         * server/vm/SafeStack.h: New file. Complete definition of a stack
7164           which can be used for obtaining references valid for the life of
7165           the stack and has facilities for simulating multiple stacks
7166           in one stack.  See the class for documentation.
7168 2007-10-07 Chad Musick <chadmusick@msbx.net>
7170         * server/vm/CodeStream.h: New file. Complete definition of a stream
7171           for safely reading code, with necessary reader functions for AS3.
7173 2007-10-06 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7175         * server/as_value.cpp (to_number): use boost::lexical_cast instead
7176           of strtod to avoid differences in decimal point between locales
7177           (not really verified with actionscript behaviour).
7179 2007-10-06 Sandro Santilli <strk@keybit.net>
7181         * libmedia/sdl/VideoDecoderFfmpeg.cpp (decode): check return from
7182           avcodec_alloc_frame.
7183         * libbase/curl_adapter.cpp (fill_cache): fix compiler warning
7184           (printf formats)
7186 2007-10-06 Sandro Santilli <strk@keybit.net>
7188         * server/as_object.{cpp,h}: add init_member and init_property
7189           based on string_table::key
7190         * server/asobj/AsBroadcaster.cpp (initialize): use string_table 
7191           keys when already available.
7193 2007-10-06 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7195         * libmedia/sdl/AudioDecoderFfmpeg.cpp: Release allocate data on errors.
7196         * libmedia/sdl/sound_handler_sdl.cpp: Allocate active_sound as an object.
7198 2007-10-06 Sandro Santilli <strk@keybit.net>
7200         * server/sprite_instance.cpp (sprite_attach_movie): remove useless
7201           std::string construction.
7202         * server/parser/movie_def_impl.h: change ExportMap to use
7203           case-insensitive string comparison.
7204         * server/parser/movie_definition.h: update get_exported_resource
7205           documentation to mention string matching is always case-insensitive.
7206         * testsuite/swfdec/PASSING: export-case-# success.
7208 2007-10-06 Sandro Santilli <strk@keybit.net>
7210         * testsuite/actionscript.all/Number.as: test conversion of a string
7211           with a decimal point to a number (fails when locales have comma
7212           instead of dot as the decimal point). See bug #21168.
7214 2007-10-06 Sandro Santilli <strk@keybit.net>
7216         * server/asobj/string.{h,cpp} (init_string_instance): when in SWF6 fetch
7217           constructor from the global object, to use any overrided one
7218           (swfdec testsuite contains a test for this).
7219         * server/vm/ASHandlers.cpp (ActionGetMember): drop special handling
7220           for 'length' (it's incorrect and was marked with a FIXME).
7221         * testsuite/swfdec/PASSING: string-convert-{6,7} succeed now.
7223 2007-10-06 Sandro Santilli <strk@keybit.net>
7225         * server/asobj/string.cpp (string_index_of): only use second argument
7226           if it casts to positive integer.
7227         * testsuite/actionscript.all/String.as: more tests.
7229 2007-10-06 Sandro Santilli <strk@keybit.net>
7231         * server/as_function.cpp (function_call): handle the case in which
7232           first argument given to Function.call does not cast to an object.
7233           The handling is not correct, but at least prevents assertion
7234           failures and prints an ascoding error. Fixes bug #21236.
7235         * testsuite/actionscript.all/Function.as: add few more tests for
7236           Function.call(<not-an-object>).
7238 2007-10-05  Rob Savoye  <rob@ripple.welcomehome.org>
7240         * macros/boost.m4: Adjust error messages when boost files aren't
7241         found by configure.
7242         * configure.ac: Adjust error messages when boost files aren't
7243         found by configure.
7245 2007-10-05 Sandro Santilli <strk@keybit.net>
7247         * testsuite/actionscript.all/String.as: couple more tests for
7248           String.indexOf (lots more needed!).
7249         * server/asobj/AsBroadcaster.{cpp,h} (initialize): query
7250           addListener and removeListener methods from the global
7251           AsBroadcaster, using any overridden member (shown
7252           to be needed by swfdec testsuite).
7253         * testsuite/actionscript.all/AsBroadcaster.as: the new tests
7254           are fixed, added a TODO for adding more.
7256 2007-10-05 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7258         * gui/gui.cpp: Handle key releases again.
7260 2007-10-05 Sandro Santilli <strk@keybit.net>
7262         * testsuite/actionscript.all/AsBroadcaster.as: add more tests,
7263           failing.
7265 2007-10-05  Rob Savoye  <rob@ripple.welcomehome.org>
7267         * configure.ac: Fix error messages for mising boost files.
7269         * macros/boost.m4: Check for a directory without "boost" as an
7270         additional sub directory.
7272         * macros/boost.m4: Make the --with-options work correctly. Recode
7273         how all the directories, headers, and libraries get found, or
7274         configure fails to find any dependant file.
7276 2007-10-06 Chad Musick <chadmusick@msbx.net>
7277         * server/vm/Machine.h: More comments about functions, some
7278           signature corrections.
7279         * server/vm/AbcHandlers.cpp: Definition of some of the necessary
7280           support functions.
7282 2007-10-06 Chad Musick <chadmusick@msbx.net>
7284         * server/vm/Machine.h: New File. First iteration (not documented,
7285           not compilable) of class definition for VM for ActionScript3
7286           blocks.
7287         * server/vm/AbcHandlers.cpp: More regularity, some small changes.
7289 2007-10-05 Udo Giacomozzi <udo.gnu@nova-sys.net>
7291         * server/sprite_instance.cpp: Allow attachMovie() to accept also
7292           button definitions, not just movie clips
7294 2007-10-05 Sandro Santilli <strk@keybit.net>
7296         * testsuite/misc-swfmill.all/: Makefile.am, jump_after_end.xml:
7297           Have the test end with an "END OF TEST" trace, and expect that.
7299 2007-10-05 Sandro Santilli <strk@keybit.net>
7301         * testsuite/generic-testrunner.sh: add support for consistency
7302           checking (-c and -C switches)
7303         * testsuite/misc-swfmill.all/Makefile.am: expect jump_after_end.swf
7304           to end with a PASSED trace (for now this will catch errors in
7305           jump after end bugs).
7307 2007-10-05 Sandro Santilli <strk@keybit.net>
7309         * testsuite/misc-swfmill.all/jump_after_end.xml: Made the
7310           self-contained (almost completely). The problem now is that
7311           if it fails it will NOT print nor FAILED nor PASSED so
7312           we'll need the test *runner* to implement some sort of
7313           consistency check to verify the end of test is reached.
7314           We should do this always, btw...
7316 2007-10-05 Sandro Santilli <strk@keybit.net>
7318         * testsuite/misc-swfmill.all/jump_after_end.xml:
7319           Fixed the XML to *really* do what I intended it to
7320           do. Still not self-contained though.
7322 2007-10-05 Sandro Santilli <strk@keybit.net>
7324         * testsuite/misc-swfmill.all/: Makefile.am, jump_after_end.xml:
7325           Test that it is completely fine to jump past the END opcode
7326           in an action buffer (thanks Chad). Note that the tests in
7327           misc-swfmill.all are not automated yet (need to find out how
7328           to make use of the Dejagnu.swf lib)
7330 2007-10-05 Sandro Santilli <strk@keybit.net>
7332         * server/movie_root.cpp: catch less ActionLimitException: in
7333           setMovieRoot and in advance (both can trigger immediate execution
7334           of actions). Basically I removed from setLevel as it can be called
7335           by a child of processAction thus resulting in a missing cleanup.
7337 2007-10-05 Sandro Santilli <strk@keybit.net>
7339         * server/movie_root.cpp: catch more ActionLimitException: in
7340           setLevel and in advance (both can trigger immediate execution
7341           of actions).
7343 2007-10-05 Sandro Santilli <strk@keybit.net>
7345         * server/vm/ASHandlers.cpp (ActionSetRegister, ActionPushData):
7346           Don't use global registers in a function2 context with local
7347           registers.
7348         * testsuite/swfdec/PASSING: success for register-count.swf and
7349           definefunction2-registers-#.swf
7351 2007-10-05 Sandro Santilli <strk@keybit.net>
7353         * server/vm/ASHandlers.cpp (CommonGetUrl): case-insensitive
7354           'fscommand' matching. 
7356 2007-10-05 Sandro Santilli <strk@keybit.net>
7358         * server/parser/action_buffer.{h,cpp}: add readFullTag method not
7359           bothering to check for an END opcode thus making read faster.
7360         * server/swf/DoActionTag.h (read): use action_buffer::readFullTag.
7362 2007-10-05 Sandro Santilli <strk@keybit.net>
7364         * server/parser/action_buffer.cpp (read): don't give up if an END
7365           opcode is not found. You can find real-world cases for a missing
7366           END in swfdec testsuite, tipically generated by swfmill.
7367         * testsuite/swfdec/PASSING: 2 more successes.
7369 2007-10-04 Aleksey Lim <alsroot@member.fsf.org>
7371         * libmedia/MediaParser.h: wrap avcodec.h include in extern "C"
7372           namespace.
7374 2007-10-04 Sandro Santilli <strk@keybit.net>
7376         * server/as_value.{cpp,h}: use a new SpriteProxy class for 
7377           doing all the soft-reference things. This will now be a flavor
7378           of the boost::variant. Advantage of this is we won't keep alive
7379           destroyed sprites only because we need their original path for
7380           rebinding.
7382 2007-10-04 Sandro Santilli <strk@keybit.net>
7384         * autogen.sh: reccommend installing libltdl3-dev when libtoolize
7385           fails.
7387 2007-10-04 Sandro Santilli <strk@keybit.net>
7389         * server/as_value.cpp (to_sprite, to_debug_string): use isDestroyed()
7390           instead of isUnloaded() to trigger "dangliness" of a soft reference.
7391         * testsuite/actionscript.all/MovieClip.as: the two new tests about
7392           soft references succeed now.
7394 2007-10-04 Sandro Santilli <strk@keybit.net>
7396         * server/dlist.{cpp,h}: remove unused functions, call destroy()
7397           on characters whos unload() returned false.
7398         * server/sprite_instance.cpp (dtor): remove useless call to
7399           DisplayList::clear()
7401 2007-10-04 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7403         * libbase/BitsReader.h: Added doc.
7404         * libmedia/AudioDecoderSimple.cpp: Another impovement of ADPCM decoding.
7406 2007-10-04 Chad Musick <chadmusick@msbx.net>
7408         * server/vm/AbcHandlers.cpp: More work on the main interpreter for AS3.
7410 2007-10-04 Sandro Santilli <strk@keybit.net>
7412         * server/character.{cpp,h}: add destroy() and isDestroyed()
7413           members. Will surely help with soft references and hopefully
7414           with opcode guarding too.
7415         * server/movie_root.cpp (cleanupDisplayList): call destroy()
7416           on unloaded but still not destroyed characters.
7417         * server/sprite_instance.{cpp,h}: override destroy() to remove
7418           properties.
7420 2007-10-04 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7422         * libmedia/gst/gstappsink.{c,h}: Updated to match latest gstreamer cvs.
7423         * libmedia/*: Fix cvs is tags.
7425 2007-10-04 Sandro Santilli <strk@keybit.net>
7427         * testsuite/actionscript.all/MovieClip.as: add test showing
7428           that it's NOT *unload* of sprite triggering soft-references
7429           rebinding but rather *destroy* of them !
7431 2007-10-03 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7433         * libbase/Makefile.am: Added BitsReader.{h,cpp}
7434         * server/Makefile.am: Removed BitsReader.{h,cpp}
7435         * server/BitsReader.{h,cpp}: moved to libbase, and added got_bits().
7436         * libmedia/AudioDecoderSimple.cpp: Use BitsReader in libbase.
7437           Fixed (at least some) adpcm decoding bugs (bug #21177).
7438         * libmedia/sdl/AudioDecoderFfmpeg.cpp: fix cvs id tag.
7439         * libmedia/sdl/sound_handler_sdl.cpp: Only stop playback of sound if
7440           completely done. If nothing has been decoded assume nothing can be
7441           decoded, fixes bug #21219.
7442         * libmedia/sdl/sound_handler_sdl.h: Only delete decoder if it exists.
7444 2007-10-03 Sandro Santilli <strk@keybit.net>
7446         * server/as_value.{cpp,h}: use boost::variant instead of the union.
7447           Idea taken from patch #6067. No clever templates used, this is just
7448           the basic thing, can be improved in the future. Main reason to have
7449           done so is for being able to drop the reference to the original
7450           sprite for soft references (still not implemented but now possible).
7451         * libbase/smart_ptr.h: define intrusive_ptr_{add,drop}_ref for
7452           as_object needed for the "clever" boost::get visitor of
7453           boost::variant ...
7455 2007-10-03 Sandro Santilli <strk@keybit.net>
7457         * cygnal/ACT/Makefile.am: don't list subdirs for which no
7458           Makefile.am is present. TODO: add a Makefile.am there !
7460 2007-10-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7462         * libbase/rc.{cpp,h}: make expandPath void and other small cleanups.
7464 2007-10-04 Chad Musick <chadmusick@msbx.net>
7466         * server/vm/AbcHandlers.cpp: New file. This will become the
7467           interpreter for AS3, and I hope to convert the ASHandlers class
7468           to this style as well, as it offers some significant clarity
7469           and performance gainst.  At the moment, this code won't
7470           compile, isn't complete, and isn't even consistent.
7472 2007-10-03 Sandro Santilli <strk@keybit.net>
7474         * server/as_value.cpp (to_bool*): assert that OBJECT and FUNCTION
7475           values are never null.
7477 2007-10-03 Sandro Santilli <strk@keybit.net>
7479         * server/as_value.{cpp,h}: stop using m_string_value as a cache
7480           for convertion to string (propedeutic for storing the string
7481           into the union). clean m_string_value inside drop_refs
7482           (should reduce memory use).
7484 2007-10-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7486         * libbase/rc.{cpp,h}: reference instead of copy for expandpath
7487         * testsuite/libbase/TCXXRc.cpp, gnashrc.in: tests for insecureSSL
7488         * docs: add insecureSSL and minor cleanups to gnashrc.xml
7489         * gui/gnash.cpp, gui/gtk.cpp: comment out broken / disabled movie
7490           controls until they work.
7492 2007-10-03 Sandro Santilli <strk@keybit.net>
7494         * server/as_value.{cpp,h}: changed to_string and to_string_versioned
7495           methods to return by value rather then by const ref. Next step will
7496           be only using a string member when needed.
7498 2007-10-03 Sandro Santilli <strk@keybit.net>
7500         * testsuite/actionscript.all/MovieClip.as: Test effects of unload
7501           on clip bounds (confirms we should clean the drawable on unload).
7503 2007-10-03 Sandro Santilli <strk@keybit.net>
7505         * testsuite/actionscript.all/MovieClip.as:
7506           more extensive tests for soft references, confirming current
7507           gnash behaviour being unbreaked.
7509 2007-10-03 Sandro Santilli <strk@keybit.net>
7511         * testsuite/actionscript.all/ops.as: more tests for ActionShiftRight
7512         * server/vm/ASHandlers.cpp (ActionShiftRight): fix new testcases
7513           (and the current 3dtris.swf problem with it - see bug #21074).
7515 2007-10-03 Chad Musick <chadmusick@msbx.net>
7517         * server/vm/ASHandlers.cpp: Drop top of stack in ActionStringCompare,
7518           since there are two stack elements on entry and (should be) one
7519           on exit.
7521 2007-10-03 Sandro Santilli <strk@keybit.net>
7523         * server/sprite_instance.cpp (unload): clear the drawable when unload
7524           (won't be needed anymore).
7525         * server/sprite_instance.cpp: add support for debugging the drawing
7526           API.
7528 2007-10-03 Sandro Santilli <strk@keybit.net>
7530         * server/parser/shape_character_def.{cpp,h}: add numEdges and numPaths
7531           methods.
7533 2007-10-02 Sandro Santilli <strk@keybit.net>
7535         * gui/gui.cpp (restart): call movie_root::reset so scripts are enabled
7536           again; (getMovieInfo): add info about wheter scripts are disabled.
7537         * server/movie_root.{cpp,h}: add disableScripts and scriptsDisabled
7538           methods; don't process queued actions if scripts are disabled,
7539           disable scripts if ActionLimitException is thrown by execution of
7540           an executable code.
7541         * server/vm/ActionExec.{cpp,h}: re-throw ActionLimitException so all
7542           elements of the call stack have a chance to cleanup and the exception
7543           is eventually cought by the movie_root.
7544         * testsuite/swfdec/PASSING: success with script abortion tests.
7546 2007-10-02 Sandro Santilli <strk@keybit.net>
7548         * server/asobj/xml.{cpp,h}: get environment passed for events
7549           invocation purposes.
7550         * testsuite/actionscript.all/: XML.as, XMLNode.as: use check.as
7551           instead of dejagnu.as, add check_totals.
7552         * server/array.cpp (as_value_custom call operator): use the
7553           environment passed to us, not a newly created one.
7555 2007-10-02 Sandro Santilli <strk@keybit.net>
7557         * server/as_object.cpp (callMethod): fix order in which
7558           args are pushed on the stack [the version taking 2 args].
7559         * server/asobj/MovieClipLoader.cpp: initialize MovieClipLoader
7560           instances as AsBroadcasters, call broadcastMessage for broadcasting,
7561           use the environment used in the loadClip call.
7562         * testsuite/actionscript.all/MovieClipLoader.as: add test for
7563           existence of the broadcastMessage function.
7565 2007-10-02 Sandro Santilli <strk@keybit.net>
7567         * server/movie_root.cpp (testInvariant): non-emptiness of _movies
7568           container is NOT an invariant...
7570 2007-10-01 Sandro Santilli <strk@keybit.net>
7572         * server/movie_root.{cpp,h}: remove the error-prone ::restart method.
7573         * testsuite/MovieTester.{cpp,h}: implement proper restart method.
7575 2007-10-01 Sandro Santilli <strk@keybit.net>
7577         * server/movie_root.{cpp,h}: add a clear() method for clearing
7578           everything managed by the movie_root/stage. Intended to be called
7579           right before a brand new setRootMovie call (for restart).
7580         * gui/gui.cpp (menu_restart): get a real restart, including flash
7581           variables settings and sure about the real initial movie_definition
7582           that started everything.
7584 2007-10-01 Sandro Santilli <strk@keybit.net>
7586         * gui/gui.{cpp,h}: add movie_definition and movie_root members,
7587           add _started member to postpone kick-start (movie_root::setRootMovie
7588           call) in case we started in "stop" mode [ fixed bug #21212 ].
7589           Avoid notifying mouse and key events to the core lib if in stop
7590           mode.
7591         * gui/Player.{cpp,h}: update use of the Gui class.
7593 2007-10-01 Sandro Santilli <strk@keybit.net>
7595         * server/vm/ActionExec.cpp: cleanups in opcode guard code.
7597 2007-10-01 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7599         * libbase/curl_adapter.cpp: use curl_multi_info_read to get
7600           better information about stream connections. Pass on CURL errors
7601           if transaction fails (e.g. for self-certified SSL sites like Savannah).
7602           Log HTTP code of all transactions. 400 and above logged as error.
7604 2007-09-30 Sandro Santilli <strk@keybit.net>
7606         * libbase/Makefile.am, libmedia/Makefile.am: remove no-dependencies
7607           option. The option is still in libltdl/Makefile.am, dunno if it
7608           makes sense there either.
7610 2007-09-30 Sandro Santilli <strk@keybit.net>
7612         * testsuite/misc-ming.all/: Makefile.am,
7613           action_execution_order_test8.c: build the test in SWF5 and SWF6 
7614           version, to verify opcode guard being is not dependent on version
7615           (well, at least not on those two versions, SWF5 including
7616           curveball.swf).
7618 2007-09-30 Sandro Santilli <strk@keybit.net>
7620         * testsuite/misc-swfc.all/opcode_guard_test2.sc: test that unloaded
7621           but still not removed current target is still used for finding
7622           variables.
7623         * testsuite/misc-swfc.all/Dejagnu.sc (xtotals): call xpass on
7624           unexpected success.
7626 2007-09-30 Sandro Santilli <strk@keybit.net>
7628         * libmedia/: MediaParser.h, VideoDecoder.h, AudoDecoder.h:
7629           virtual classes need virtual destructors, or destructors of
7630           subclasses will not be invoked be deleting instances by
7631           base class pointer !
7633 2007-09-30 Sandro Santilli <strk@keybit.net>
7635         * testsuite/misc-ming.all/opcode_guard_test.c: add xtotals() call.
7636         * testsuite/actionscript.all/dejagnu_so_init.as: set and invoke
7637           utility functions from/to _root. Fixes some scope chain problems
7638           we have in Gnash, better tested in a more focused testcase.
7639         * testsuite/actionscript.all/with.as: total runs check succeed
7640           with the change above.
7642 2007-09-30 Sandro Santilli <strk@keybit.net>
7644         * testsuite/actionscript.all/check.as: rename totals_check,
7645           xtotals_check to check_totals() and xcheck_totals (easier
7646           to grep for 'xcheck').
7647         * testsuite/actionscript.all/with.as: update calls to check_totals()
7648           and xcheck_totals()
7649         * testsuite/misc-ming.all/ming_utils.c (Dejagnu.xtotals): call xpass
7650           un unexpectedd success.
7652 2007-09-30 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7654         * libbase/curl_adapter.cpp: allow, with security warning, override
7655           of curl's SSL certificate verification when requested in gnashrc.
7656           Equivalent to curl --insecure.
7657         * libbase/rc.{cpp,h}: 'set insecureSSL on' disables SSL certificate
7658           verification, thus allowing connections from the standalone player
7659           to https:// sites when the certificate is invalid or untrusted.
7661 2007-09-30 Sandro Santilli <strk@keybit.net>
7662         
7663         * server/environment.{h, cpp}: get_variable_raw() set 'this' to the orignial target
7664           instead of the current one.
7665         * server/vm/ActionExec.{h, cpp}: getThisPointer() returns the original target for
7666           golbal code. 
7667         * testsuite/actionsrcipt.all/with.as: xchecks to checks(fix 'this' context)
7668           
7669 2007-09-30 Zou Lunkai <zoulunkai@gmail.com>
7670         
7671         * testsuite/misc-swfc.all/movieclip_destruction_test3.sc: '_root' is always
7672           defined as tests shows.
7673           
7674 2007-09-30 Markus Gothe <nietzsche@lysator.liu.se>
7676         * libbase/tu_file.cpp: __SGI_LIBC_USING_FROM_STD(va_list).
7677         * libbase/Makefile.am: Don't include OPENGL_INCL, it might direct you
7678           /usr/include on some systems and it doesn't seem necessary...
7679         * libmedia/Makefile.am: Added libltdl-stuff from libbase/Makefile.am.
7681 2007-09-29 Sandro Santilli <strk@keybit.net>
7683         * testsuite/actionscript.all/: check.as, with.as: use totals_check
7684           and xtotals_check for macros, to avoid confusions.
7685           Will come back on this on monday...
7687 2007-09-29 Sandro Santilli <strk@keybit.net>
7689         * testsuite/actionscript.all/: AsBroadcaster.as, Boolean.as,
7690           Camera.as, Color.as, ContextMenu.as, CustomActions.as, Date.as,
7691           Error.as, Function.as, Global.as, Inheritance.as, Key.as,
7692           LoadVars.as, LocalConnection.as, Math.as, Microphone.as, Mouse.as,
7693           MovieClip.as, MovieClipLoader.as, NetConnection.as, NetStream.as,
7694           Number.as, Object.as, Selection.as, SharedObject.as, Stage.as,
7695           String.as, System.as, TextField.as, TextSnapshot.as, Video.as,
7696           XML.as, XMLNode.as, XMLSocket.as, array.as, case.as,
7697           delete.as, enumerate.as, getvariable.as, ops.as, rtmp.as,
7698           swap.as, targetPath.as, toString_valueOf.as:
7699           Add a totals() call.
7700         * testsuite/actionscript.all/check.as: add totals and xtotals macros.
7701         * testsuite/actionscript.all/with.as: add totals(x) and xtotal(x)
7702           calls
7703         * testsuite/actionscript.all/dejagnu_so_fini.as: remove the totals()
7704           call.
7706 2007-09-29 Sandro Santilli <strk@keybit.net>
7708         * testsuite/misc-ming.all/ming_utils.c (Dejagnu class): 
7709           add totals(n, msg)  and xtotals(n, msg) to check number
7710           of tests being run.
7712 2007-09-29 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7714         * docs: update Mozilla plugin install information to reflect current
7715           state. Task #7340 contains ideas for improving installation.
7717 2007-09-29 Chad Musick <chadmusick@msbx.net>
7719         * New: server/asClass.h,.cpp: Several different classes which work
7720           together to construct a type library for ActionScript 3.  Work is
7721           in progress to make this glean the same information from the current
7722           ActionScript 2 information (through the Global object, as well
7723           as hand coding) so that the 'implements' op can be written and so
7724           that various AS2 things will work better.  This is not yet complete.
7725           Because this code is in flux (though currently not broken), it is
7726           not yet extensively commented.
7727         * server/Makefile.am: Add new files
7728         * server/namedStrings.h,.cpp: New strings for the AS3 namespaces.
7729         * server/parser/Namespace.h: Add resource marking -- this file is
7730           going to be obsolete as soon as dependencies are verified.
7731         * server/parser/abc_block.h,.cpp: Update to be more modular, and to
7732           build a type library from AS3 tag.
7733         * server/vm/VM.cpp: Change to registration method for new types.
7734         * New: Various .cvsignore files
7736 2007-09-29 Sandro Santilli <strk@keybit.net>
7738         * testsuite/misc-swfc.all/: Dejagnu.sc, check.sc,
7739           opcode_guard_test2.sc: add and use xtotals.
7740         * testsuite/actionscript.all/toString_valueOf.as: more tests for
7741           TextField, toString and comparison..
7743 2007-09-29 Zou Lunkai <zoulunkai@gmail.com>
7744         
7745         * testsuite/actionscript.all/with.as: more tests for setTarget and found
7746           the Dejagnu clip functions might be out of scope chain, and explicitly
7747           targeting also not work.
7748         * testsuite/misc-swfc.all/opcode_guard_test2.sc, Makefile.am : test opcode 
7749           guard with setTarget. seems too much actions get discarded than expected.
7750           
7751 2007-09-28 Sandro Santilli <strk@keybit.net>
7753         * libbase/rc.cpp: use fprintf rather then log_XXX during parsing.
7754         * testsuite/actionscript.all/toString_valueOf.as: more tests,
7755           check->check_equals.
7757 2007-09-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7759         * libbase/rc.{h,cpp}: move list parsing into a function; enable
7760           'set <list> off' for disabling previously parsed lists. Add
7761           error message when colons found in a list.
7762         * testsuite/libbase/TCXXRc.cpp, gnashrc-local.in: add test for
7763           whitelist override.
7764         * docs: update user manual.
7766 2007-09-28 Bernhard Rosenkraenzer <bero@arklinux.org>
7768         * configure.ac: rework SIZET_FMT detection to stop at first
7769           success. See bug #21182.
7771 2007-09-28 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7773         * libmedia/Makefile.am: Compile gstgnashsrc.{c,h} when gstreamer
7774           is the mediahandler.
7776 2007-09-28 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7778         * libmedia/AudioDecoder.h, libmedia/AudioDecoderNellymoser.{cpp,h},
7779           libmedia/AudioDecoderSimple.h, libmedia/MediaBuffer.h, 
7780           libmedia/MediaDecoder.h, libmedia/MediaParser.h libmedia/VideoDecoder.h,
7781           libmedia/gst/VideoDecoderGst.h, libmedia/gst/gstappbuffer.{c,h},
7782           libmedia/gst/gstappsink.{c,h}, libmedia/gst/gstappsrc.{c,h},
7783           libmedia/gst/sound_handler_gst.h, libmedia/sdl/AudioDecoderFfmpeg.{cpp,h},
7784           libmedia/sdl/AudioDecoderMad.{h,cpp}, libmedia/sdl/MediaDecoderSdl.{h,cpp},
7785           libmedia/sdl/MediaParserFfmpeg.{h,cpp}, libmedia/sdl/sound_handler_sdl.h,
7786           libmedia/sdl/VideoDecoderFfmpeg.h: Update docs.
7787         * libmedia/sdl/VideoDecoderFfmpeg.cpp: Fix memleak. Fixes bug #21180.
7788         * libmedia/sdl/sound_handler_sdl.cpp: Use the internal ADPCM decoder.
7790 2007-09-28 Sandro Santilli <strk@keybit.net>
7792         * server/as_function.{cpp,h}: Add a constructor
7793           taking no args to use when a default prototype (iface)
7794           is wanted. The other constructor, taking an interface
7795           will be used when willing to control wheter or not a
7796           prototype should be used (TextField don't have one in SWF5
7797           and lower).
7798         * server/builtin_function.h: Same as with as_function, have
7799           a constructor taking on interface for a default one, use
7800           a NULL interface as meaning we don't want to expose a
7801           prototype.
7802         * server/edit_text_character.cpp: don't set a prototype for TextField
7803           class in SWF5, make TextField instances of object when TextField
7804           has no prototype.
7805         * testsuite/actionscript.all/toString_valueOf.as: one more success.
7808 2007-09-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7810         * configure.ac, testsuite/libbase/TCXXRc.cpp, gnashrc-local.in: add
7811           second rc file and test for append blacklist.
7812         * docs: update user manual with black- and whitelist information.
7814 2007-09-28 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7816         * libbase/rc.cpp: for whitelists and blacklists, 'set' overrides
7817           lists from previous files, 'append' adds to previous files.
7818         * testsuite/libbase/gnashrc.in: update tests, replace colons (old
7819           behaviour) with spaces (new behaviour) in lists. Please update
7820           your own lists, as old behaviour must eventually disappear.
7822 2007-09-28 Sandro Santilli <strk@keybit.net>
7824         * testsuite/actionscript.all/toString_valueOf.as: few more tests
7825           for TextField.toString.
7827 2007-09-28  Rob Savoye  <rob@ripple.welcomehome.org>
7829         * gui/gtk.cpp: Add support for LIRC, if it's running. Add event
7830         handler for LIRC messages.
7832 2007-09-28  Rob Savoye  <rob@ripple.welcomehome.org>
7834         * extensions/Makefile.am: Add dbus to DIST_SUBDIRS.
7835         
7836         * libbase/extension.cpp: Initialize the entry first so the loop
7837         actually works.
7838         * extensions/dbus_ext.h, dbus_ext.cpp: Minimal code stubs for a
7839         soon to be Dbus extension.
7840         * configure.ac: Add extensions/dbus. Drop calling
7841         GNASH_PATH_LIRC, as Gnash has it's own LIRC client code, and
7842         doesn't use the lirc_client API anymore.
7843         * macros/dbus.m4: New macro for Dbus support.
7844         * extensions/Makefile.am: Build dbus extension if requested.
7845         
7846 2007-09-28 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7848         * libbase/Makefile.am, libmedia/sdl/VideoDecoderFfmpeg.h,
7849           server/asobj/NetStreamFfmpeg.cpp: Fix building with libmedia.
7850         * libmedia/gst/VideoDecoderGst.{cpp,h}: Small comment update.
7852 2007-09-28 Tomas Groth Christensen <tomasgroth@yahoo.dk>
7854         * libmedia/, libmedia/sdl/, libmedia/gst/,
7855           (in libmedia:) AudioDecoder.h, AudioDecoderSimple.{h,cpp}, Makefile.am,
7856           AudioDecoderNellymoser.{h,cpp}, FLVParser.{h,cpp}, MediaDecoder.h, 
7857           MediaParser.h, SoundInfo.h, MediaBuffer.h, VideoDecoder.h, sound_handler.h,
7858           (in libmedia/sdl:) AudioDecoderFfmpeg.{h,cpp}, AudioDecoderMad.{h,cpp},
7859           MediaDecoderSdl.{h,cpp}, MediaParserFfmpeg.{cpp,h}, VideoDecoderFfmpeg.{h,cpp},
7860           sound_handler_sdl.{h,cpp},
7861           (in libmedia/gst:) VideoDecoderGst.{h,cpp}, sound_handler_gst.{h,cpp},
7862           gstgnashsrc.{h.c}, gstappbuffer.{c,h}, gstappsink.{c,h}, gstappsrc.{c,h}:
7863           Files added for the new libmedia (finally!!). Some og theese files are moved
7864           from the backend/ and libbase/ folders (see below). Not all files are yet in use.
7865         * backend/sound_handler*, libbase/embedVideoDecoder*: Moved to libmedia.
7866         * Makefile.am, configure.ac, backend/Makefile.am, gui/Makefile.am, 
7867           server/Makefile.am, server/asobj/Makefile.am, server/parser/Makefile.am,
7868           server/vm/Makefile.am, testsuite/Makefile.am, testsuite/misc-ming.all/Makefile.am,
7869           testsuite/movies.all/Makefile.am, testsuite/samples/Makefile.am,
7870           utilities/Makefile.am: Added the new libmedia to the build system.
7871         * libbase/FLVParser.h: Moved some declerations inside the class to avoid
7872           conflicts with MediaParser.h.
7873         * server/video_stream_instance.{cpp,h}, server/parser/video_stream_def.{cpp,h}:
7874           Use VideoDecoder instead of embedVideoDecoder.
7875         * server/swf/tag_loaders.cpp: Don't decode and resample the ADPCM and raw audio
7876           before passing to the soundhandler.
7877           Read more about libmedia here: http://wiki.gnashdev.org/wiki/index.php/Main_Page
7879 2007-09-28 Sandro Santilli <strk@keybit.net>
7881         * server/character.{cpp,h}: drop the get_text_value override here.
7882         * testsuite/actionscript.all/: toString_valueOf.as, MovieClip.as:
7883           more successes.
7885 2007-09-28 Sandro Santilli <strk@keybit.net>
7887         * testsuite/actionscript.all/toString_valueOf.as: more
7888           xcheck => xcheck_equals (easier to tell what's going on).
7889         
7890 2007-09-28 Sandro Santilli <strk@keybit.net>
7892         * server/as_object.h: add useCustomToString method to handle corner
7893           cases for which an ActionScript class doesn't want to use toString
7894           methods, when available, for converting to a string.
7895         * server/as_value.cpp (to_string): check with useCustomToString if
7896           for an object value we should or not call the ActionScript toString
7897           method.
7898         * server/asobj/string.cpp: override useCustomToString to return false
7899           and act as dumb and complex as the proprietary player (urgh)
7900         * testsuite/actionscript.all/toString_valueOf.as: two tests fixed.
7901         * testsuite/misc-ming.all/get_frame_number_test.c: one test fixed.
7902         * testsuite/swfdec/PASSING: three tests fixed.
7904 2007-09-27 Sandro Santilli <strk@keybit.net>
7906         * testsuite/actionscript.all/Global.as: test that parseInt() would
7907           call a custom toString() function against first parameter, if an
7908           object.
7910 2007-09-27 Bastiaan Jacques <bastiaan@bjacques.org>
7912         * gui/gtk{.cpp,sup.h}: Introduce addFDListener, which will make the
7913         GDK event loop poll the specified file descriptor and execute the
7914         specified callback if data is to be read from the file desciptor.
7916 2007-09-27 Sandro Santilli <strk@keybit.net>
7918         * server/as_object.cpp (setPropFlags): properly convert the properties
7919           to lowercase for SWF < 7.
7920         * testsuite/actionscript.all/String.as: successes in unprotecting
7921           {String,Object}.prototype.toString from deletion.
7923 2007-09-27 Sandro Santilli <strk@keybit.net>
7925         * testsuite/actionscript.all/String.as: tests for toString and it's
7926           deletion/unprotection from deletion (succeeds from SWF7 and higher,
7927           fails up to SWF6)
7929 2007-09-27 Sandro Santilli <strk@keybit.net>
7931         * testsuite/actionscript.all/Global.as: add test for
7932           parseInt(<stringObject>).
7933         * server/asobj/Global.cpp (as_global_parseint): fix
7934           the parseInt(<stringObject>) case
7935         * testsuite/actionscript.all/toString_valueOf.as: xcheck =>
7936           xcheck_equals
7938 2007-09-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7940         * gui/gnash.cpp: remove ESC = Quit from gnash --help output. It's not true
7941           and would potentially interfere with movie key events if it were. Ctrl-B
7942           commented out, because it also doesn't do anything.
7943         * gui/gtk.cpp: code cleanups, internationalization.
7945 2007-09-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7947         * docs/C/usage.xml, gui/gnash.cpp: add/update Ctrl-L
7948         * gui/gui.cpp: make keyboard shortcuts work for both upper and lower
7949           case. Correct step back ('[') and forward (']'), which are documented to
7950           need Ctrl and were the wrong way round. Function menu_step_forward
7951           is correctly called, but apparently doesn't work.
7953 2007-09-27 Sandro Santilli <strk@keybit.net>
7955         * testsuite/MovieTester.{cpp,h}: add restart() method.
7956         * testsuite/misc-ming.all/simple_loop_testrunner.cpp: fix expected
7957           invalidated bounds: we expect it to be the WORLD range on start
7958           and restart. Test ::restart itself.
7960 2007-09-27 Sandro Santilli <strk@keybit.net>
7962         * server/movie_root.{cpp,h}: add the concept of an 'invalidated'
7963           stage/movie_root. The Stage is only invalidated when the background
7964           color changes, dunno if it should also be invalidated by changes
7965           in the _levels.. maybe I'm using a confusing terminology here...
7966           Anyway this fixes bug #21169 and probably allow for cleanups 
7967           in the gui code, where some paranoia is used to tell the first
7968           ::display call apart from subsequent, exactly for the invalidated
7969           bounds on startup problem.
7971 2007-09-27 Sandro Santilli <strk@keybit.net>
7973         * server/movie_root.cpp (restart): rework restart mechanism
7974           by actually re-instantiating the root from it's definition.
7976 2007-09-27 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
7978         * server/movie_root.cpp: move level0->restart()
7979           to avoid assertion failure.
7981 2007-09-27 Sandro Santilli <strk@keybit.net>
7983         * server/vm/ActionExec.cpp (call operator): re-enable
7984           opcode-guard but guard current target, not original
7985           one. Keeps feed.swf and curveball.swf fixed and also
7986           fixes the tests in our testsuite that where expected
7987           to fail since disabling the opcode guard.
7988         * testsuite/misc-ming.all/action_execution_order_test8.c,
7989           testsuite/misc-swfc.all/movieclip_destruction_test1.sc,
7990           testsuite/misc-swfc.all/movieclip_destruction_test3.sc:
7991           success in the opcode-guard tests.
7993 2007-09-27 Sandro Santilli <strk@keybit.net>
7995         * server/sprite_instance.cpp (get_member): make "_global"
7996           a property (althought non-proper) of MovieClip. Fixes failures
7997           in MovieClip.as.
7999 2007-09-27 Zou Lunkai <zoulunkai@gmail.com>
8000         
8001         * testsuite/actionscript.all/Movieclip.as, XML.as: fix a few unstable checks.
8002           and a few more tests.
8004 2007-09-27 Sandro Santilli <strk@keybit.net>
8006         * server/parser/action_buffer.cpp (disasm_instruction): neater output.
8007         * server/vm/ActionExec.cpp: tweak action verbosity output.
8009 2007-09-27 Sandro Santilli <strk@keybit.net>
8011         * server/vm/ActionExec.{cpp,h}: add dumpActions() debugging function
8012           useful to tell which opcode are discarded due to opcode-guard.
8013           (change #if 0 to #if 1 in the opcode-guard code to see).
8014           For the curveball.swf case, the unloading opcode is a
8015           GotoLabel("Serve"), followed by a Play and a SetTarget which are
8016           discarded when opcode-guard is in effect.
8018 2007-09-27 Zou Lunkai <zoulunkai@gmail.com>
8019         
8020         * testsuite/misc-ming.all/opcode_guard_test.c, Makefile.am: new testcase
8021           for opcode guard.
8022         * testsuite/misc-swfc.all/edittext_test1.sc: more tests, passed.
8023           
8024 2007-09-26 Sandro Santilli <strk@keybit.net>
8026         * server/sprite_instance.cpp (get_member): forget that
8027           _root as undefined when unloaded thing. Broke other
8028           tests in the testsuite.
8029         * testsuite/misc-ming.all/action_execution_order_test8.c,
8030           testsuite/misc-swfc.all/movieclip_destruction_test1.sc,
8031           testsuite/misc-swfc.all/movieclip_destruction_test3.sc:
8032           Expect the 3 failures introduced by removal of opcode-level
8033           unloaded guard. We know that 2 real-world movies are fixed
8034           by removing that opcode-level guard, so we likely need 
8035           more testing of this thing. 
8037 2007-09-26 Sandro Santilli <strk@keybit.net>
8039         * testsuite/misc-swfc.all/: action_execution_order_test10.sc,
8040           action_execution_order_test12.sc, edittext_test1.sc,
8041           movieclip_destruction_test2.sc, movieclip_destruction_test3.sc,
8042           movieclip_destruction_test4.sc, soft_reference_test1.sc:
8043           Add expected number of tests run in the totals() call.
8045 2007-09-26 Sandro Santilli <strk@keybit.net>
8047         * server/as_environment.cpp (get_variable_raw): don't handle _root and
8048           _levelX in any special way, they are just sprite members !
8049         * server/sprite_instance.cpp (get_member): _root doesn't exist if
8050           we're unloaded.
8051         * server/vm/ActionExec.cpp (call operator): drop opcode-level
8052           unloaded guard. Fixes bugs #21069 (feed.swf) and #20996
8053           (curveball.swf) w/out reopening #20974 (sonic.swf). 
8054           Changes in as_environment.cpp and sprite_instance.cpp above
8055           do the rest for misc-ming and misc-swfc tests..
8057 2007-09-26 Sandro Santilli <strk@keybit.net>
8059         * server/parser/morph2_character_def.cpp (read):
8060           Don't print malformed swf errors if number of paths in defining
8061           shapes don't match: only edges matter.
8062         * gui/gtk.cpp (gdk_to_gnash_key): GDK_ooblique => GDK_oslash
8063           (gtk-2.0 in debian stable doesn't define the former).
8064         * server/: BevelFilter.h, BlurFilter.h, ConvolutionFilter.h,
8065           DropShadowFilter.h, GlowFilter.h, GradientBevelFilter.h,
8066           GradientGlowFilter.h: include <boost/cstdint.hpp> for XintXX_t.
8068 2007-09-26 Sandro Santilli <strk@keybit.net>
8070         * server/swf/tag_loaders.cpp (define_sound_loader): don't delete
8071           the sound data, ownership was transferred to the sound hanlder.
8073 2007-09-26 Sandro Santilli <strk@keybit.net>
8075         * server/as_value.cpp (equals): in SWF5, functions are
8076           considered null types for what concerns equality.
8077         * testsuite/actionscript.all/: Function.as,
8078           Inheritance.as, Object.as, toString_valueOf.as: 
8079           new successes.
8081 2007-09-26 Sandro Santilli <strk@keybit.net>
8083         * server/as_environment.cpp (dump_global_registers): better
8084           presentation for global registers.
8086 2007-09-26 Sandro Santilli <strk@keybit.net>
8088         * server/PropertyList.{cpp,h}: add dump to map.
8089         * server/as_object.{cpp,h}: add dump_members to map.
8090         * server/as_environment.cpp: implement dumper for local
8091           variables.
8093 2007-09-26 Sandro Santilli <strk@keybit.net>
8095         * server/vm/ActionExec.cpp (call operator): initialize maxBranchCount
8096           once at start of function; include PC of last jump in maxBranchCount
8097           exception.
8099 2007-09-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8101         * gui/gtk.cpp: More moving menu items about.
8103 2007-09-26 Sandro Santilli <strk@keybit.net>
8105         * testsuite/actionscript.all/ops.as: add test for bitwise and between
8106           negative and positive number.
8108 2007-09-26 Sandro Santilli <strk@keybit.net>
8110         * backend/sound_handler.h (create_sound): document meaning of a NULL
8111           data.
8112         * backend/sound_handler_gst.cpp (create_sound): don't choke on NULL
8113           data.
8114         * server/swf/tag_loaders.cpp (sound_stream_head_loader): mek the call
8115           to create_sound() with NO data easier to read.
8117 2007-09-26 Sandro Santilli <strk@keybit.net>
8119         * backend/sound_handler.h: add assign() and constructor taking
8120           a memory buffer to the Buffer class.
8122 2007-09-26 Sandro Santilli <strk@keybit.net>
8124         * backend/sound_handler.h (Buffer::reserve): don't try to copy
8125           from the NULL pointer.
8127 2007-09-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8129         * gui/gtk.cpp,gtksup.h: add Refresh menu item, add gtk version checks
8130           for some stock menu items, reorder and add stock images to Movie
8131           Control menu.
8132         * gui/gui{cpp,h}: Force immediate redraw instead of waiting for next
8133           frame.
8135 2007-09-26 Sandro Santilli <strk@keybit.net>
8137         * backend/sound_handler.h: add more services to the
8138           Buffer class (sounds like reinventing the std::vector class
8139           actually).
8141 2007-09-26 Sandro Santilli <strk@keybit.net>
8143         * backend/sound_handler.h: define a Buffer class
8144           to avoid duplicating code within the different
8145           versions of sound_data and active_sound.
8146         * backend/sound_handler_gst.{cpp,h}: Use a Buffer
8147           member in the sound_data.
8149 2007-09-26 Sandro Santilli <strk@keybit.net>
8151         * backend/sound_handler.h: document fill_stream_data return value.
8152         * backend/sound_handler_gst.{cpp,h}: Make buffer member of sound_data
8153           private, provide an ::append() function with optimized reallocs.
8154           Makes ninja parsing much faster. Same should be done for ffmpeg...
8155           See http://wiki.gnashdev.org/wiki/index.php/NinjaProfile.
8157 2007-09-26 Sandro Santilli <strk@keybit.net>
8159         * backend/: sound_handler.h, sound_handler_gst.{cpp,h},
8160           sound_handler_sdl.{cpp,h}: changed fill_stream_data
8161           interface to take ownership of the data array.
8162           Data is still copied, but can now be optimized locally
8163           in each sound hanlder.
8164         * server/swf/tag_loaders.cpp (sound_stream_block_loader):
8165           update use of fill_stream_data.
8167 2007-09-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8169         * gui/gtk.cpp: change Oslash to Ooblique - GDK_Oslash is evidently
8170           not defined in all gtk-2.0 versions.
8172 2007-09-26 Chad Musick <chadmusick@msbx.net>
8174         * server/vm/ActionExec.cpp: If the stack is empty, there was not
8175           an exception. Check for an empty stack first to avoid reading a
8176           non-existent value.
8178 2007-09-25 Sandro Santilli <strk@keybit.net>
8180         * gui/gui.{cpp,h}: port SKIP_RENDERING_IF_LATE to use WallClockTimer.
8182 2007-09-25 Sandro Santilli <strk@keybit.net>
8184         * server/parser/sprite_definition.h (ensure_frame_loaded): don't
8185           assume the target frame has always been loaded, as we might
8186           have loaded less frames then advertised in header.
8187         * server/parser/sprite_definition.cpp (read): don't change 
8188           total frame count if zero. We wan't to respect it for _totalframes
8189           to return the correct value.
8190         * server/sprite_instance.{cpp,h}: don't assume m_current_frame is less
8191           then frame count or even loaded frames, as we might have loaded NO
8192           frames too; use a std::set rather then a vector of boolean to tell
8193           wheter init actions for a given frame have been executed; check
8194           frames loaded count when needed.
8195         * server/movie_instance.cpp (advance, stagePlacementCallback): drop
8196           the frames loaded count check, it's now in sprite_instance.
8198 2007-09-25 Sandro Santilli <strk@keybit.net>
8200         * doc/C/usermanual/usage/gnashrc.xml: document StreamsTimeout
8201           directive, remove duplicated line for StartStopped.
8202         * libbase/: Makefile.am, WallClockTimer.{h,cpp}:
8203           New class for wall-clock timing. Interface borrowed
8204           by boost::timer, but this one uses wall-clock and
8205           talks milliseconds instead of seconds.
8206         * libbase/rc.{cpp,h}: add support for streamsTimeout
8207           setting.
8208         * testsuite/libbase/: TCXXRc.cpp, gnashrc.in: test
8209           streamsTimeout setting.
8210         * libbase/curl_adapter.cpp (fill_cache): implement
8211           stream timeout.
8213 2007-09-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8215         * server/gnash.h: fix typo in key::codeMap.
8217 2007-09-25 Sandro Santilli <strk@keybit.net>
8219         * server/edit_text_character.cpp (set_member): handle attempts
8220           to set _width and _height to non-finite or negative values.
8221           Fixes assertion failures in playing
8222           flvplayer-debug-lulutv-beta4.swf.
8224 2007-09-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8226         * gui/gtk.cpp: clean up properties dialogue.
8227         * gui/gui.{h,cpp}: add menu_refresh_view() and refresh_view() to gui
8228           with shortcut Ctrl-L. Now forces full redraw of next frame, but
8229           should in future force immediate redraw.
8230         * gui/gnash.cpp: add Ctrl-L to gnash -h.
8232 2007-09-25 Chad Musick <chadmusick@msbx.net>
8234         * macros/boost.m4: Look for multi_index directory in boost include
8235           directory. No library is needed, headers only.
8237 2007-09-25 Sandro Santilli <strk@keybit.net>
8239         * testsuite/misc-swfc.all/registerclass_test3.sc:
8240           Test that registerClass effects are visible from withing actions
8241           contained in the same frame as the target clip is placed, even if
8242           DoAction comes before DoInitAction, which itself can't see those
8243           effects.
8245 2007-09-25 Zou Lunkai <zoulunkai@gmail.com>
8246         
8247         * gui/sdl.cpp, gui/sdlsup.h: add sdl_to_gnash_key() and sdl_to_gnash_modifier(),
8248           cleanups.
8249         * server/button_character_instance.cpp: on_event() don't respond to keypress event
8250           when keycode is 0(INVALID).
8251           
8252 2007-09-25 Zou Lunkai <zoulunkai@gmail.com>
8253         
8254         * testsuite/misc-ming.all/registerClassTest2.c: one more test.
8255         * testsuite/misc-swfc.all/register_class_test3.sc, Makefile.am: one more testcase.
8256           all passed.
8257           
8258 2007-09-25 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8260         * gui/gui.cpp: change shortcut keys to lower case restore old
8261           behaviour.
8263 2007-09-25 Chad Musick <chadmusick@msbx.net>
8265         * server/VM.cpp,.h: Add ClassHierarchy object to VM. Doesn't yet
8266           mark objects, though it will very soon.
8267         * server/asobj/ClassHierarchy.cpp,.h: Extend to use as a namespace
8268           object for ActionScript independent of the "Global" object.
8269         * server/asobj/Global.cpp,.h: Accept a passed ClassHierarchy,
8270           rather than stack constructing one.
8271         * server/parser/Makefile.am: Add asobj directory for use of
8272           ClassHierarchy by abc_block.
8273         * server/parser/Namespace.h: Namespaces contain names, and this
8274           enables that.
8275         * server/abc_block.h: Change Namespaces to be stored by pointer,
8276           since the ClassHiearchy object does the creation now.
8277         * server/abc_block.cpp: More parsing. Validate super class
8278           of all declared classes, declare stubs in the correct namespaces.
8279         
8280 2007-09-24 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8282         * server/gnash.h: correct some keycodes, extend support to
8283           extended ascii.
8284         * gui/gtk.cpp: clean up and extend keyboard mapping.
8286 2007-09-24 Sandro Santilli <strk@keybit.net>
8288         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: clarify
8289           test for bogus __proto__ delayed construction. We still need
8290           to find a way to verify registerClass effects handling time.
8291         * server/asobj/xml.cpp: set _status to min 32bit signed int
8292           if value is not a number, cast to_number() to an int otherwise.
8293         * testsuite/actionscript.all/XML.as: two more successes.
8295 2007-09-24 Sandro Santilli <strk@keybit.net>
8297         * testsuite/misc-ming.all/action_execution_order_test5.c:
8298           replicate tests run from SWFACTION_INIT into SWFACTION_CONSTRUCT.
8299         * testsuite/actionscript.all/XML.as: more test for .status.
8300           See patch #6178 for the why.
8302 2007-09-24 Zou Lunkai <zoulunkai@gmail.com>
8303         
8304         * testsuite/misc-ming.all/action_execution_order_test5.c: tests _proto__
8305           property of parant/child/brother clips at onInitialize time.
8306         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: add few more 
8307           tests for understanding the interesting __proto__ property.
8308           
8309 2007-09-24 Sandro Santilli <strk@keybit.net>
8311         * server/sprite_instance.{cpp,h}: moved ActionScript object
8312           construction into its own method. A change introduced by
8313           this commit is that onClipConstruct/onConstruct will be invoked
8314           after tags of frame0. Our testsuite detected no changes (so we
8315           need more). Youtube still works :)
8317 2007-09-24 Zou Lunkai <zoulunkai@gmail.com>
8318         
8319         * testsuite/misc-swfc.all/action_execution_order_test10.sc: found a way to
8320           trigger user defined onConstruct with swfc.
8321         * testsuite/misc-ming.all/loop_test6.c: add test for onClipInitialize called
8322           when jumping-back with onClipUnload defined.
8323           
8324 2007-09-24 Sandro Santilli <strk@keybit.net>
8326         * testsuite/misc-ming.all/loop_test6.c: Add test for onClipInitialize
8327           also NOT called when jumping-back to after the character lifetime.
8329 2007-09-24 Chad Musick <chadmusick@msbx.net>
8331         * server/namedStrings.h: More documentation,
8332           remove duplicate enumeration
8333         * server/namedStrings.cpp: Don't duplicate string "Stage".
8335 2007-09-24 Chad Musick <chadmusick@msbx.net>
8337         * configure.ac: Add requirement of boost serialization library
8338         * macros/boost.m4: Add requirement of boost serialization library
8340 2007-09-23 Chad Musick <chadmusick@msbx.net>
8342         * server/namedStrings.cpp,.h: New files. Move pre-load string
8343           enumeration from as_object and add new enumerations for the
8344           known ActionScript classes.
8345         * server/asobj/ClassHierarchy.cpp,.h: New files. Delay loading
8346           ActionScript classes until they are needed.  At the moment,
8347           does not support loading them as extensions, though this is
8348           planned.
8349         * server/Makefile.am: Add new files
8350         * server/Property.h: Define a new type DestructiveGetterSetterProperty
8351           which servers as a place-holder to allow transparent loading
8352           of resources when the value is fetched.
8353         * server/PropertyList.h,.cpp: New functions to allow use of the
8354           (self)Destructive getters.
8355         * server/as_function.cpp as_object.cpp,.h as_value.cpp
8356           edit_text_character.cpp movie_root.cpp sprite_instance.cpp
8357           swf_function.cpp textformat.cpp: Change to new string enums.
8358         * server/asobj/AsBroadcaster.cpp ContextMenu.cpp NetStream.cpp
8359           Stage.cpp xml.cpp: Change to new string enums.
8360         * server/asobj/Global.cpp: Use new ClassHierarchy object to
8361           delay-load actionscript classes, except for Object, Function, Array.
8362         * server/asobj/Makefile.am: Add new files
8363         * server/parser/abc_block.cpp,.h: More work (still incomplete) on
8364           parsing ActionScript 3.
8365         * server/vm/ASHandlers.cpp VM.cpp: Change to new string enums.
8366         * testsuite/misc-ming.all/KeyTest-Runner.cpp: Change to new string enums.
8367         * libbase/extension.cpp,.h: Add a function to load a library by
8368           naming both the library and the function to be called.
8370 2007-09-22 Sandro Santilli <strk@keybit.net>
8372         * testsuite/misc-ming.all/init_action_test.c:
8373           Test that prototype of sprites have been set up to MovieClip one
8374           at time of onClipInitialize call.
8375         * testsuite/misc-swfc.all/movieclip_destruction_test1.swf:
8376           Test that just-placed sprites (at time of init actions execution)
8377           are instances of Object, not MovieClip !!
8379 2007-09-22 Sandro Santilli <strk@keybit.net>
8381         * server/sprite_instance.cpp (stagePlacementCallback): notify
8382           INITIALIZE event.
8383         * testsuite/misc-ming.all/registerClassTest2.c: 2 more successes.
8384         * testsuite/swfdec/PASSING: 44 more successes !!
8386 2007-09-22 Sandro Santilli <strk@keybit.net>
8388         * testsuite/misc-ming.all/registerClassTest2.c,
8389           testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
8390           Expect the failures and the success introduced by reverting
8391           the change which broke youtube.
8393 2007-09-22 Chad Musick <chadmusick@msbx.net>
8395         * server/parser/abc_block.cpp: Change data() to &...front() since
8396           data() is not standard.
8398 2007-09-22 Sandro Santilli <strk@keybit.net>
8400         * testsuite/misc-swfc.all/Dejagnu.sc: add 2 args to the totals()
8401           call, one if which is expected of tests to be run, if it doesn't
8402           match actual number of tests run will print and record a FAIL
8403           message.
8404         * testsuite/misc-swfc.all/check.sc: accept an arg in the totals()
8405           macro to tell how many tests in total are expected to be run.
8406         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: expect
8407           33 tests to be run.
8409 2007-09-22 Sandro Santilli <strk@keybit.net>
8411         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: remove
8412           redundant test.
8413         * server/sprite_instance.cpp (execute_frame_tags): revert the 
8414           change in init action execution which blew up youtube.
8415           We get more unexpected failures then unexpected succeses with
8416           this, and I won't change them to *expected* for now.
8417           I just felt this patch will limit annoyance to actual users while
8418           we seek a better solution.
8420 2007-09-22 Sandro Santilli <strk@keybit.net>
8422         * server/movie_root.cpp (processQueuedActions): fix a memory leak.
8423           Thanks dli on #gnash for finding out.
8425 2007-09-21 Bastiaan Jacques <bastiaan@bjacques.org>
8427         * backend/render_handler_tri.{cpp,h}: Don't assume the
8428         elements in a std::vector are stored in contiguous memory.
8429         Whenver that must be true, copy the elements into a new
8430         block of memory. Store mesh_sets in the cache as non-
8431         pointer types, so we get automatic memory management. Use
8432         std::sort rather than qsort on the cache vector.
8434 2007-09-21 Chad Musick <chadmusick@msbx.net>
8436         * libbase/tu_file.h: Add support for reading 64-bit doubles.
8437         * server/impl.cpp: Add abc_loader to list of loaders.
8438         * server/stream.cpp,.h: Support necessary read types for AS3.
8439         * server/parser/Makefile.am: Add new files
8440         * server/parser/abc_block.cpp,.h: Changes to parse AS3.
8441         * server/swf/tag_loaders.cpp,.h: Loader for action block (AS3)
8443 2007-09-21 Sandro Santilli <strk@keybit.net>
8445         * server/dlist.h (testInvariant): fix a cast discarding const
8446           qualifier.
8447         * server/sprite_instance.cpp (execute_frame_tags): optimized
8448           execution loop and avoid calling both execute_state and 
8449           execute_action (this is propedeutic for DoInitAction possibly
8450           needing to execute in both cases).
8452 2007-09-21 Sandro Santilli <strk@keybit.net>
8454         * server/character.h, server/dlist.cpp,
8455           server/button_character_instance.{cpp,h},
8456           server/movie_instance.{cpp,h}, server/movie_root.cpp,
8457           server/sprite_instance.{cpp,h},
8458           server/video_stream_instance.{cpp,h}:
8459           Rename character::construct to character::stagePlacementCallback
8460           and update documentation to help clarity.
8462 2007-09-21 Sandro Santilli <strk@keybit.net>
8464         * server/sprite_instance.cpp (goto_frame): make
8465           sure m_current_frame always reflect the frame number
8466           in which the control tags being executed were defined.
8468 2007-09-21 Sandro Santilli <strk@keybit.net>
8470         * server/vm/action.cpp (call_method): add more info to the exception
8471           derived from attempts to call a value which is neither a C nor an AS
8472           function.
8473         * server/sprite_instance.cpp (goto_frame): wait for target frame
8474           even if we won't push any action. Fixes bug #21126.
8476 2007-09-21 Chad Musick <chadmusick@msbx.net>
8478         * server/parser/abc_block.cpp,.h: Read AS3 blocks. (unfinished)
8479         * server/parser/Namespace.h: AS3 namespaces (unfinished)
8481 2007-09-20 Sandro Santilli <strk@keybit.net>
8483         * server/edit_text_character.cpp (set_variable_name): create
8484           the new variable if it doesn't exist in registering sprite.
8485         * testsuite/misc-swfc.all/edittext_test1.sc: no more failures
8486           here, but I'm sure it would be easy to break gnash more.
8487           Zou, good luck :)
8489 2007-09-20 Sandro Santilli <strk@keybit.net>
8491         * server/edit_text_character.{cpp,h}: add an updateText method
8492           intended to be called by sprite_instance when a registered
8493           text variable is updated; have set_text_value forward the 
8494           text change back to the sprite_instance where any 
8495           variable name is registered, for proper distribution of
8496           the new text to any other TextField registered with the
8497           same variable.
8498         * server/sprite_instance.cpp (set_text_value): use the new
8499           updateText to update TextField text when variable name is
8500           updated.
8501         * testsuite/misc-swfc.all/edittext_test1.sc: more successes.
8503 2007-09-20 Sandro Santilli <strk@keybit.net>
8505         * server/edit_text_character.{cpp,h}: define a private method
8506           to parse the text variable into a sprite_instance and property name
8507           components, to be used later to update the state of a registered
8508           variable when text is updated otherwise and to unregister the
8509           variable name when unloaded or when variable name changes.
8511 2007-09-20 Chad Musick <chadmusick@msbx.net>
8513         * libbase/string_table.h: Doxygen documentation.
8515 2007-09-20 Zou Lunkai <zoulunkai@gmail.com>
8516         
8517         * server/sprite_instance.cpp: goto_frame(), revert a few changes, 
8518           which I believe caused the infinite loop when executing get_frame_number_test.swf
8519         
8520 2007-09-20 Zou Lunkai <zoulunkai@gmail.com>
8521         
8522         * server/asobj/Key.cpp: use key::codeMap instead of key::code.
8523                 
8524 2007-09-20 Zou Lunkai <zoulunkai@gmail.com>
8526         * server/gnash.h: drop key::gnashKey, reorganize key::code.
8527         * server/event_id.h: make the constructor       to take an unsigned char type.
8528         * server/movie_root.cpp, server/button_character_instance.cpp,
8529           server/asobj/Key.cpp: use key::codeMap instead of key::code, fix getAscii().
8530         * gui/gtk.cpp, gui/kde.cpp: update a few key names.
8531         * testsuite/misc-ming.all/key_event_testrunner.cpp: fix bogus tests about
8532           Key.getAscii().          
8533         
8534 2007-09-19 Sandro Santilli <strk@keybit.net>
8536         * server/sprite_instance.cpp (goto_frame): fix blind jump to target
8537           frame when > frame count. We still want to ensure_frame_loaded
8538           instead. 
8539         * server/parser/movie_def_impl.{cpp,h}: mutex-protect access to named
8540           frames map.
8542 2007-09-19 Sandro Santilli <strk@keybit.net>
8544         * extensions/mysql/mysql_db.cpp: use init_member, not set_member, when
8545           initializing symbols (should fix use in SWF6 or lower versions -
8546           untested but pretty sure).
8548 2007-09-19 Chad Musick <chadmusick@msbx.net>
8550         * libbase/string_table.cpp,.h: Make member functions non-static and
8551           add a facility to pre-load some strings.
8552         * server/PropertyList.cpp array.cpp as_environment.cpp as_function.cpp
8553           as_object.cpp as_object.h as_value.cpp character.cpp
8554           edit_text_character.cpp impl.cpp movie_root.cpp sprite_instance.cpp
8555           swf_function.cpp textformat.cpp timers.cpp: Convert string table usage
8556           to enum + instance use.
8557         * server/asobj/AsBroadcaster.cpp ContextMenu.cpp LoadVars.cpp
8558           MovieClipLoader.cpp NetStream.cpp Object.cpp Stage.cpp prophelper.h
8559           xml.cpp xmlsocket.cpp: Convert string table usage to enum + instance
8560         * server/vm/ASHandlers.cpp ActionExec.cpp: Convert string table usage
8561         * server/vm/VM.cpp VM.h: Add pre-load of common property names, convert
8562           string table usage, add string table member.
8563         * server/vm/action.cpp action.h: Remove enumeration of standard properties
8564           with the special handler, use string table enumeration instead. Unifies
8565           handling.
8566         * testsuite/misc-ming.all/DefineEditTextVariableNameTest2.c: Success
8567         * testsuite/misc-ming.all/KeyTest-Runner.cpp Makefile.am
8568           attachMovieTestRunner.cpp intervalTestRunner.cpp
8569           key_event_test2runner.cpp key_event_test3runner.cpp
8570           key_event_test5runner.cpp key_event_testrunner.cpp: Convert string table
8571           usage
8572         * testsuite/movies.all/Makefile.am gravity_embedded-TestRunner.cpp:
8573           Convert string table usage
8574         * testsuite/server/GetterSetterTest.cpp PropertyListTest.cpp: Convert
8575           string table usage
8577 2007-09-19 Sandro Santilli <strk@keybit.net>
8579         * server/edit_text_character.cpp (set_variable_name): reinitialize
8580           text to default value.
8581         * testsuite/misc-swfc.all/edittext_test1.sc: more successes.
8583 2007-09-19 Sandro Santilli <strk@keybit.net>
8585         * gui/gtk.cpp (setInterval): add a note about the fact that the 
8586           current way of setting up the FPS timer is bogus. Note that the
8587           problem is related to A/V syncing...
8589 2007-09-19 Sandro Santilli <strk@keybit.net>
8591         * server/character.{cpp,h}: provide a generic
8592           _name getter-setter.
8593         * server/sprite_instance.cpp: use character's version
8594           for _name and _target getter/setter.
8595         * server/edit_text_character.cpp: use character's
8596           _name and _target getter/setter.
8597         * testsuite/actionscript.all/TextField.as: successes
8598           on _name and _target accesses, minor failures.
8599         * testsuite/misc-swfc.all/edittext_test1.sc: successes
8600           on _name and _target access.
8602 2007-09-19 Sandro Santilli <strk@keybit.net>
8604         * testsuite/actionscript.all/TextField.as: add tests
8605           for effects of changing _name.
8607 2007-09-19 Zou Lunkai <zoulunkai@gmail.com>
8609         * server/gnash.h: more enums for extended ascii characters.
8611 2007-09-19 Zou Lunkai <zoulunkai@gmail.com>
8613         * testsuite/misc-swfc.all/edittext_test1.sc, Makefile.am: new testcase for 
8614           TextField using swfc. Clearer then Ming based tests. TextField variable
8615           still need some work.
8617 2007-09-19 Sandro Santilli <strk@keybit.net>
8619         * gui/kde_glue_agg.cpp: fix initialization order warning.
8620         * gui/gui.{cpp,h}: draft an attempt at skipping rendering
8621           when late of fps timer. It's experimental, and disabled
8622           by default. Define SKIP_RENDERING_IF_LATE in gui.h to
8623           try it out.
8625 2007-09-19 Markus Gothe <nietzsche@lysator.liu.se>
8627         * configure.ac: Fixed typo.
8629 2007-09-18 Sandro Santilli <strk@keybit.net>
8631         * server/sprite_instance.{cpp,h}: allow multiple edit_text_character
8632           to be registered with a single variable name.
8633         * testsuite/misc-ming.all/DefineEditTextVariableNameTest2.c:
8634           success in most tests (one still fails).
8636 2007-09-18 Sandro Santilli <strk@keybit.net>
8638         * server/dlist.cpp (unload): don't unload again already-unloaded
8639           characters. Fixes the assertion failure in
8640           action_execution_order_test12.sc.
8642 2007-09-18 Zou Lunkai <zoulunkai@gmail.com>
8644         * testsuite/misc-swfc.all/action_execution_order_test12.sc, Makefile.am:
8645           add new testcase, caught an assertion here. Disable it if it blocks your
8646           work.
8647         
8648 2007-09-18 Sandro Santilli <strk@keybit.net>
8650         * server/sprite_instance.cpp (execute_frame_tags): execute
8651           init actions *after* DLIST tags. 
8652         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
8653           No more failures in this case.
8654         * testsuite/misc-ming.all/init_action_test.c: a single
8655           failure was introduced by this comit, for known reason.
8656           We decided to accept the failure and take care of it later.
8658 2007-09-18 Sandro Santilli <strk@keybit.net>
8660         * server/array.{cpp,h}: Implement enumerateNonProperties().
8661           Still not 100% correct but fixes youtube controls positioning
8662           (bug #20469).
8663         * testsuite/actionscript.all/array.as: tests for enumeration
8664           of array properties.
8666 2007-09-18 Sandro Santilli <strk@keybit.net>
8668         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
8669           Add visual traces of actions while being executed; add
8670           comment about other finding.
8672 2007-09-18 Sandro Santilli <strk@keybit.net>
8674         * server/swf/DoActionTag.h (doInitActionLoader): pass 'cid' value
8675           to add_init_action().
8676         * server/parser/movie_definition.h (add_init_action): add support for
8677           a 'cir' parameter, to ignore duplicated init actions for the same
8678           character id.
8679         * server/parser/sprite_definition.h: update add_init_action signature
8680         * server/parser/movie_def_impl.{cpp,h}: update add_init_action
8681           signature, use a std::set to keep note of character id for which
8682           init actions have been added already, discarding the rest.
8683         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: more
8684           successes.
8686 2007-09-18 Sandro Santilli <strk@keybit.net>
8688         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
8689           Add test to verify init actions have been executed
8690           in the correct order.
8692 2007-09-17 Sandro Santilli <strk@keybit.net>
8694         * server/edit_text_character.{cpp,h} (format_text): get text alignment
8695           using a new private function, which checks for _autoSize settings too.
8696           Fixes bug #20760.
8697         * server/swf/tag_loaders.cpp (define_bits_jpeg3_loader): fix compiler
8698           warning (signed vs. unsigned comparison).
8700 2007-09-17 Tomas Groth Christensen <tomasgroth@yahoo.dk>
8702         * libbase/string_table.h: Fixed compilation for non-32 bit platforms.
8703         * server/parser/video_stream_def.{cpp,h}: Use CapitalCase for types.
8705 2007-09-17 Lauri Mylläri <rez>
8707         * server/swf/tag_loaders.cpp: Also parse DelaySeek field for MP3 
8708           in DEFINESOUND, fixes bug #21094.
8710 2007-09-17 Sandro Santilli <strk@keybit.net>
8712         * server/parser/movie_definition.h: changed signature of get_playlist:
8713           rename to getPlaylist, return by pointer, have the default
8714           implementation return 0.
8715         * server/parser/BitmapMovieDefinition.{cpp,h}: don't build a dummy
8716           PlayList just for implementing the get_playlist abstract method, 
8717           it's not needed anymore (the default implementation does fine).
8718         * server/parser/movie_def_impl.{cpp,h}: use a std::map instead of a
8719           std::vector to contain PlayList of each frame. This reduced memory
8720           use for movies that don't have actions in *each* frame and removes
8721           race conditions due to unexpected growth of frames while parsing
8722           (when number of frames advertised in header doesn't match number
8723           of SHOWFRAME found in the stream); (add_frame_name): don't insist
8724           in _frames_loaded being less then advertised frame count.
8725         * server/parser/sprite_definition.{cpp,h}: use a std::map instead
8726           of a std::vector for PlayList of frames. Cleanup construction
8727           of dynamic sprite definitions now that we don't need to create
8728           a fake PlayList only to store a dummy execute tag.
8729         * server/sprite_instance.cpp: update calls to getPlaylist.
8731 2007-09-17 Zou Lunkai <zoulunkai@gmail.com>
8733         * server/gnash.h: another code map for proper key handling.
8734         
8735 2007-09-16 Sandro Santilli <strk@keybit.net>
8737         * testsuite/actionscript.all/Number.as: more tests for Number()
8738           returning a primitive number rather then an object. I suspect
8739           most builtin functions will need to support both invocation as
8740           constructor *and* simple invocation.
8741         * testsuite/actionscript.all/ops.as: more tests for comparison between
8742           "different" nan values... :/
8744 2007-09-16 Bastiaan Jacques <bastiaan@bjacques.org>
8746         * plugin/klash/klash_part.{cpp,h}: Properly add URL arguments to
8747         the Klash commandline. This enables Youtube playback in Konqueror.
8749 2007-09-16 Chad Musick <chadmusick@msbx.net>
8751         * libbase/string_table.cpp,.h: A string table to cut down on memory
8752           usage and lookup time for properties, particularly in inheritance.
8753           Preparation for AS3.
8754         * libbase/Makefile.am: Add string_table to list of files which the
8755           Makefile knows about.
8756         * server directory:
8757         *  PropertyList.cpp,.h array.cpp,.h as_environment.cpp as_function.cpp
8758            as_object.cpp,.h as_value.cpp character.cpp edit_text_character.cpp,.h
8759            movie_root.cpp sprite_instance.cpp,.h swf_function.cpp textformat.cpp
8760            timers.cpp: Update to use string table.
8761         * server/asobj directory:
8762            AsBroadcaster.cpp ContextMenu.cpp LoadVars.cpp MovieClipLoader.cpp
8763            NetStream.cpp Object.cpp Stage.cpp prophelper.h xml.cpp xml.h
8764            xmlsocket.cpp: Update to use string table.
8765         * server/parser/action_buffer.h: Update to use string table.
8766         * server/vm directory:
8767            ASHandlers.cpp ActionExec.cpp action.cpp action.h: Update to use string
8768            table.
8769         * testsuite/misc-ming.all directory:
8770            KeyTest-Runner.cpp attachMovieTestRunner.cpp intervalTestRunner.cpp
8771            key_event_test2runner.cpp key_event_test3runner.cpp
8772            key_event_test5runner.cpp key_event_testrunner.cpp: Update to use
8773            string table
8774         * testsuite/movies.all/gravity_embedded-TestRunner.cpp: Update to use
8775           string table
8776         * testsuite/server/GetterSetterTest.cpp PropertyListTest.cpp: Update to
8777           use string table
8778         * server/swf.h: More notes about AS3 operations.
8780 2007-09-16 Zou Lunkai <zoulunkai@gmail.com>
8782         * server/gnash.h: add gnashCharacter code for proper key handling.
8783         
8784 2007-09-15  Rob Savoye  <rob@ripple.welcomehome.org>
8786         * libbase/test.as: Only execute tests if the Lirc extension is
8787         installed. Check return codes for a clean exit.
8788         * libbase/lirc.cpp: Reduce debugging verbosity. Return a pointer
8789         with real memory behind it instead of by acident.
8790         * libbase/lirc.h: Add a field to contain the button name.
8791         * libbase/network.cpp: Don't just see if fd is set, make sure it's
8792         greater than zero to avoid problems!
8794 2007-09-14  Rob Savoye  <rob@ripple.welcomehome.org>
8796         * extensions/lirc/test.as: Test case for Lirc extension.
8797         * extensions/lirc/Makefile.am: Chnage from lirc.* to lirc_ext.* to
8798         avoid name collisions. 
8799         * libbase/lirc.h, lirc.cpp: New files for lirc interface for
8800         remote control.
8801         * extensions/lirc_ext.h, lirc_ext.cpp: Renamed from lirc.*.
8802         * libbase/extensions.cpp: Change how extraneous directories get
8803         ignored.
8804         * Makefile.am: Add debug info for lirc.
8805         * backend/Makefile.am: Wrap conditionals around building the
8806         libraries. 
8807         * extensions/Makefile.am: Add Lirc extension.
8808         * extensions/dejagnu/dejagnu.cpp: Change debug support to log_*().
8809         * gui/Makefile.am: Add LIRC flags to build.
8810         * libbase/Makefile.am: Add lirc.cpp and lirc.h, new files for lirc
8811         support.
8812         * libbase/network.cpp, network.h: Add connectSocket() for talking
8813         to named pipes. 
8815 2007-09-14 Sandro Santilli <strk@keybit.net>
8817         * server/DynamicShape.cpp: optimized bounds computation by the
8818           drawing API.
8819         * testsuite/misc-ming.all/DrawingApiTest.as: add bounds tests.
8820         * server/shape.{cpp,h}: add path::expandBounds to compute bounds
8821           of a path locally.
8822         * server/parser/shape_character_def.cpp (compute_bound): delegate
8823           computation of path bounds to the new path method.
8825 2007-09-14 Sandro Santilli <strk@keybit.net>
8827         * server/FreetypeGlyphsProvider.{cpp,h}: use USE_FREETYPE instead
8828           of HAVE_FREETYPE2 ..
8829         * macros/freetype.m4: don't miss to add a -I to cflags; add a note
8830           about the non-sense of the way we check for /usr/include.
8832 2007-09-14 Markus Gothe <nietzsche@lysator.liu.se>
8834         * configure.ac: Look for broken -fvisibility-inlines-hidden.
8835         * macros/mtasc.m4: Added fallback path to /usr/share/ocaml/mtasc/std.
8837 2007-09-14 Markus Gothe <nietzsche@lysator.liu.se>
8839         * server/asobj/BevelFilter_as.cpp, server/asobj/BitMapFilter_as.cpp,
8840         server/asobj/BlurFilter_as.cpp, server/asobj/ColorMatrixFilter_as.cpp,
8841         server/asobj/ConvolutionFilter_as.cpp,
8842         server/asobj/DropShadowFilter_as.cpp, server/asobj/GlowFilter_as.cpp,
8843         server/asobj/GradientBevelFilter_as.cpp,
8844         server/asobj/GradientGlowFilter_as.cpp,
8845         server/vm/ASHandlers.cpp, libbase/tree.hh
8847         Fixes for compilation with --enable-strict.
8849 2007-09-13 Tomas Groth Christensen <tomasgroth@yahoo.dk>
8851         * server/parser/video_stream_def.{h,cpp}: Tie embedded video
8852           frames to the swf-frame it is embedded in. The containers the
8853           video frame is stored in was merged into one.
8855 2007-09-13  Rob Savoye  <rob@ripple.welcomehome.org>
8857         * libbase/extension.cpp: Change alorithm for which files to ignore
8858         when scanning.
8860         * macros/lirc.m4: Search for lirc files, so we can support a
8861         remote control.
8863 2007-09-13 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
8865         * configure.ac, testsuite/misc-ming.all/Makefile.am: add conditional
8866           for Ming version at least 0.4 before building get_frame test.
8867         * libbase/rc.cpp: set writelog off by default (bug #21037).
8870 2007-09-13 Sandro Santilli <strk@keybit.net>
8872         * server/sprite_instance.cpp (restart): don't call construct again, to
8873           avoid re-registering with the global instance list.
8874         * server/movie_root.h (addLiveChar): assert the character being
8875           registered is not already in the list
8876         * server/button_character_instance.{cpp,h}: remove dead code
8877           (restart_characters); (construct): don't call restart right
8878           after construct.
8880 2007-09-13 Sandro Santilli <strk@keybit.net>
8882         * server/movie_root.cpp: cleanup debugging of ever growing list
8884 2007-09-13 Sandro Santilli <strk@keybit.net>
8886         * server/button_character_instance.{cpp,h}: implement unload() in an
8887           attempt to properly mark as unloaded any character registered in the
8888           global instance list (could happen for child sprites).
8889         * server/movie_root.cpp (markReachableResources): mark all characters
8890           in the _liveChars. This makes Gnash more robust, but hides a problem
8891           with the global instance list always growing. A proper fix would be
8892           making sure that for *all* characters removed from a displaylist the
8893           character::unload() is called, which marks the character as unloaded
8894           and thus removes it from the global instance list. The change above
8895           to button_character_instance seems not enough. I left debugging
8896           output here so you can see how the list keeps growing.
8899 2007-09-13 Sandro Santilli <strk@keybit.net>
8901         * server/movie_root.{cpp,h} (restart): properly cleanup
8902           action queue and instances list, reset levels so that
8903           only _level0 is kept. Still not 100% correct but fixes
8904           bug #21068.
8906 2007-09-13 Sandro Santilli <strk@keybit.net>
8908         * server/dlist.{cpp,h}: drop the second list only used for
8909           chils advancement (_timelineChars) and associated accessors
8910           (visitAllByReversePlacement).
8911         * server/movie_root.{cpp,h}: Add a global "advanceable" characters
8912           list, used for advancement (in ::advance); provide an addLiveChar()
8913           method to add characters that are willing to be advanced there.
8914         * server/button_character_instance.cpp (construct): register as
8915           live character with the movie_root.
8916         * server/video_stream_instance.{cpp,h}: add a ::construct() method
8917           to properly register as live character with the movie_root
8918         * server/sprite_instance.cpp (advance_sprite): forget about advancing
8919           childs, movie_root will take care of that; (construct): register
8920           self as a live character with the movie_root.
8921         * testsuite/misc-ming.all/action_execution_order_test11.c: no more
8922           expected failures here.
8924 2007-09-13 Sandro Santilli <strk@keybit.net>
8926         * server/sprite_instance.{cpp,h}: drop obsoleted oldDisplayList.
8928 2007-09-13 Sandro Santilli <strk@keybit.net>
8930         * server/sprite_instance.cpp (sprite_create_text_field):
8931           fix log_aserror calls (too few, too many args and
8932           log_error to log_aserror).
8934 2007-09-13 Sandro Santilli <strk@keybit.net>
8936         * gui/Makefile.am, gui/NullGui.cpp, libbase/Makefile.am,
8937           libbase/triangulate_impl.h, libbase/tu_timer.cpp,
8938           libbase/tu_timer.h, server/timers.h, server/asobj/NetStream.h,
8939           server/asobj/NetStreamFfmpeg.cpp, server/vm/VM.cpp,
8940           utilities/processor.cpp:
8941           Revert Markus changes, as they introduce too many obvious failures.
8942           Please avoid commits triggering failures on 'make check' and do
8943           your best to have 'make check' run as many tests as possible.
8945 2007-09-13 Markus Gothe <nietzsche@lysator.liu.se>
8947         * gui/NullGui.cpp libbase/Makefile.am libbase/triangulate_impl.h 
8948         server/timers.h server/asobj/NetStream.h 
8949         server/asobj/NetStreamFfmpeg.cpp 
8950         server/vm/VM.cpp utilities/processor.cpp
8951        
8952         * Removed Files:
8953         libbase/tu_timer.cpp libbase/tu_timer.h
8955         Overhauled tu_timer with the se of std::clock and boost/timer.hpp.
8956         Might, break things, but it better get fixed this way.
8958 2007-09-12 Sandro Santilli <strk@keybit.net>
8960         * testsuite/actionscript.all/Inheritance.as: more tests for 'super'.
8962 2007-09-12 Bastiaan Jacques <bastiaan@bjacques.org>
8964         * backend/render_handler_ogl.cpp: Use the average of X and Y scaling
8965         to determine the proper line thickness.
8967 2007-09-12 Sandro Santilli <strk@keybit.net>
8969         * server/sprite_instance.cpp (sprite_create_text_field): check for
8970           negative dimensions. Fixes bug #21021.
8971         * testsuite/actionscript.all/TextField.as: Add test for negative
8972           dimensions given to createTextField().
8974 2007-09-12 Sandro Santilli <strk@keybit.net>
8976         * server/asobj/AsBroadcaster.cpp: add support for passing arguments
8977           for broadcasted message handlers.
8978         * testsuite/actionscript.all/AsBroadcaster.as: add tests for arguments
8979           passed to broadcasted messages.
8981 2007-09-12 Sandro Santilli <strk@keybit.net>
8983         * server/as_function.{cpp,h}: make 'prototype' a proper property,
8984           change getPrototype() to return by intrusive_ptr.
8985         * server/sprite_instance.cpp: update call to getPrototype().
8987 2007-09-12 Bastiaan Jacques <bastiaan@bjacques.org>
8989         * backend/render_handler_ogl.cpp: Make sure we don't try to use
8990         a line width of 0: normalize the width.
8992 2007-09-12 Sandro Santilli <strk@keybit.net>
8994         * server/as_environment.cpp (parse_path): revert zou change as it
8995           breaks callFunction_testrunner (assertion failure).
8997 2007-09-12 Bastiaan Jacques <bastiaan@bjacques.org>
8999         * backend/render_handler_ogl.cpp: Implement getPixel().
9001 2007-09-12 Sandro Santilli <strk@keybit.net>
9003         * testsuite/actionscript.all/Inheritance.as: more tests for double
9004           inheritance.
9006 2007-09-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9008         * gui/gtk.cpp, gui/gui.{cpp,h},server/movie_root{cpp,h}
9009         * server/event_id.h, server/asobj/Key.{cpp,h}
9010         * server/edit_text_character.cpp
9011         * testsuite/MovieTester.cpp: Revert changes because
9012           it causes too many problems. There is a better way.     
9014 2007-09-12 Sandro Santilli <strk@keybit.net>
9016         * testsuite/actionscript.all/Inheritance.as: few more tests (maybe
9017           redundant) for constructor and __constructor__
9019 2007-09-12 Bastiaan Jacques <bastiaan@bjacques.org>
9021         * backend/render_handler_ogl.cpp: Add a debugging function
9022         called check_error(), enabled by toggling the DEBUG_OPENGL
9023         macro. Don't bother setting variables to their defaults.
9025 2007-09-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9027         * testsuite/MovieTester{cpp,h}: remove utf8 from keypress,
9028           pass default value.
9029         * gui/kde.cpp: Add default value to utf8.
9031 2007-09-12 Zou Lunkai <zoulunkai@gmail.com>
9033         * server/as_environment.cpp: parse_path() cleanups.
9034         
9035 2007-09-12 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9037         * gui/gtk.cpp: pass unicode of key event when notifying gui.
9038         * gui/gui.{cpp,h}: pass unicode to movie_root.
9039         * server/movie_root{cpp,h}: notify key listeners of unicode.
9040         * server/event_id.h: add m_unicode.
9041         * server/asobj/Key.{cpp,h}: fix getAscii().
9042         * server/edit_text_character.cpp: read unicode, not swf keycode.
9043         * testsuite/MovieTester{cpp,h}: update notify_key_event test.
9045 2007-09-12 Chad Musick <chadmusick@msbx.net>
9047         * server/as_value.cpp: Move test to silence compiler warnings.
9049 2007-09-12 Sandro Santilli <strk@keybit.net>
9051         * server/sprite_instance.cpp (construct): properly initialize
9052           the '__constructor__' and 'constructor' members when a class
9053           was registered with our definition.
9054         * testsuite/misc-ming.all/registerClassTest2.c: no more failures here.
9056 2007-09-12 Chad Musick <chadmusick@msbx.net>
9058         * server/as_value.cpp: Make sure that exceptions don't
9059           cause asserts, even if they escape into the wild.
9060           (This escape is an error, but perhaps it should not
9061           be fatal.)
9063 2007-09-12 Sandro Santilli <strk@keybit.net>
9065         * server/vm/ActionExec.cpp: cleanup variables initialization
9066           order.
9067         * testsuite/actionscript.all/MovieClip.as: minor tests for
9068           removeMovieClip
9070 2007-09-12 Zou Lunkai <zoulunkai@gmail.com>
9072         * server/vm/ASHandlers.cpp: drop parse_path for ActionCallFunction, it's
9073           unnecessary and has case sensitiviness issue.
9074         * testsuite/misc-ming.all/callFunction_test.c: two more passes.
9075         
9076 2007-09-12 Chad Musick <chadmusick@msbx.net>
9078         * server/as_value.cpp,h: Add exception types to as_value.
9079         * server/vm/ASHandlers.cpp: Implement try and throw
9080         * server/vm/ActionExec.cpp,h: Support for try and throw
9081         * testsuite/misc-mtasc.all/exception.as: Exceptions now work.
9083 2007-09-11 Sandro Santilli <strk@keybit.net>
9085         * server/as_object.{cpp,h} (copyProperties): don't copy __proto__.
9087 2007-09-11 Sandro Santilli <strk@keybit.net>
9089         * testsuite/actionscript.all/AsBroadcaster.as: a couple more tests
9090           for return from broadcastMessage.
9091         * server/asobj/AsBroadcaster.cpp: fix return from broadcastMessage.
9092         * testsuite/swfdec/PASSING: asbroadcaster-broadcastMessage-retval-*.swf 
9093           all pass now.
9094         * server/as_value.cpp (to_debug_string): fix debug print for movieclip
9095           values.
9097 2007-09-11 Sandro Santilli <strk@keybit.net>
9099         * server/array.{cpp,h}: add removeFirst and visitAll methods.
9100         * server/as_object.{cpp,h}: add getMember and callMethod memebers
9101           for ActionScript-like coding.
9102         * server/asobj/: Makefile.am, Global.cpp, AsBroadcaster.{cpp,h}:
9103           First draft at AsBroadcaster. NOTE: this is not 100% compatible
9104           but contains some special code to handle corner cases for compatbility
9105           sake (mostly to avoid breaking swfdec testcases). The normal case
9106           will still be faster then the average one.
9108 2007-09-11 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9110         * server/gnash.h: add more keycodes.
9111         * gui/gtk.cpp: pass more keystrokes.
9112         * server/edit_text_character.cpp: do not add character to string
9113           when shift pressed.
9115 2007-09-11 Sandro Santilli <strk@keybit.net>
9117         * testsuite/swfdec/PASSING: super-this-5.swf passes (probably since
9118           zou commit).
9119         * testsuite/analyse-results.sh: fix print of unexpected successes.
9121 2007-09-11 Bastiaan Jacques <bastiaan@bjacques.org>
9123         * backend/render_handler_ogl.cpp: Disable polygon smoothing for now as
9124         it has some unwanted side effects.
9126 2007-09-11 Bastiaan Jacques <bastiaan@bjacques.org>
9128         * backend/render_handler_ogl.cpp: GL_MODELVIEW is the default matrix
9129         mode, so don't bother setting it at every opportunity. Rather, reset it
9130         to the standard value after it is changed to something else. Round
9131         lines by drawing a round point on the end of every line (fixes
9132         #18014). Enable pologon smoothing (anti-aliasing).
9134 2007-09-11 Zou Lunkai <zoulunkai@gmail.com>
9136         * server/asobj/Global.cpp: don't initialize Function class for SWF < 6.
9137         * testsuite/actionscript.all/Inheritance.as, 
9138           testsuite/actionscript.all/Function.as: disable a few confusing
9139           and duplicated(but correct) tests for SWF5. more passes.
9140         * testsuite/actionscript.all/Number.as, 
9141           testsuite/actionscript.all/toString_valueOf.as: more passes.
9142           
9143 2007-09-10  Rob Savoye  <rob@ripple.welcomehome.org>
9145         * macros/curl.m4: sed any "-L/usr/lib" off the output of
9146         curl-config. This breaks some 64 bit systems.
9147         * macros/kde.m4: Do an ls instead of a test to find kde libraries.
9148         * macros/pango.m4, gtk2.m4, gnashpkgtool.m4, ffmpeg.m4: Use
9149         --libs-only-l with pkg-config as sometimes the path is wrong for
9150         64bit systems.
9152 2007-09-10 Sandro Santilli <strk@keybit.net>
9154         * server/parser/morph2_character_def.cpp (read):
9155           Set shapes bounds *after* calling ::read() on them.
9156           Fixes bug #21020.
9158 2007-09-10 Sandro Santilli <strk@keybit.net>
9160         * server/bitmap_info.h: drop OGL-specific members.
9161         * libbase/image.{cpp,h}: cleanup the image_base interface:
9162           - make more members private to reduce chaces of buffer size
9163             and associated size-describing members mismatch (still more
9164             to do)
9165           - add more methods from statics which do not have access
9166             to now-private members 
9167         * backend/render_handler_ogl.cpp: add OGL-specific members
9168           to bitmap_info_ogl, update uses of image_base.
9169         * backend/render_handler_agg.cpp, libbase/embedVideoDecoderFfmpeg.cpp,
9170           libbase/embedVideoDecoderGst.cpp, libbase/image_filters.cpp,
9171           server/FreetypeGlyphsProvider.cpp, fill_style.cpp,
9172           server/fontlib.{cpp,h}, server/parser/BitmapMovieDefinition.cpp,
9173           server/swf/tag_loaders.cpp, server/asobj/NetStream.cpp,
9174           server/asobj/NetStreamFfmpeg.cpp, backend/render_handler_cairo.cpp:
9175           Update uses of image_base
9177 2007-09-10 Sandro Santilli <strk@keybit.net>
9179         * server/asobj/NetStreamGst.cpp (GstInstallPluginsResultCb): comment
9180           out unused parameter and garbage message.
9181         * server/parser/video_stream_def.cpp (dtor): delete [] since we
9182           allocated with new [].
9183         * libbase/Makefile.am: drop image_filters.cpp (seems unused)
9184         * server/dlist.cpp (reset): remove unused variable.
9185         
9186 2007-09-10 Zou Lunkai <zoulunkai@gmail.com>
9188         * testsuite/misc-ming.all/Makefile.am: enable tow old testcases.
9189         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: one more
9190           test about init actions.
9191           
9192 2007-09-10 Chad Musick <chadmusick@msbx.net>
9194         * server/fill_style.cpp: Correct handling of morph fills.
9195         * server/styles.cpp: Correct handling of morph colors.
9196         * server/parser/morph2_character_def.cpp: Remove @@hack
9197           line, and fix underlying problem instead. Should fix
9198           bug #19085. Morph and Morph2 shapes now work correctly.
9199         * server/parser/shape_character_def.cpp: Be sure to read
9200           on alignment where needed.
9202 2007-09-08 Sandro Santilli <strk@keybit.net>
9204         * server/parser/video_stream_def.h: document class members,
9205           add some notes or todo items
9206         * server/parser/video_stream_def.cpp (read): add a TODO item
9207           as I think we're misreading the VIDEOFRAME tag.
9209 2007-09-07 Sandro Santilli <strk@keybit.net>
9211         * server/video_stream_instance.h: keep definition by 
9212           intrusive_ptr (just for consistency with other
9213           character instances)
9214         * server/parser/video_stream_def.cpp (get_frame_data):
9215           always set output parameters to 0 if requested frame
9216           number is not available.
9218 2007-09-07 Sandro Santilli <strk@keybit.net>
9220         * server/dlist.{cpp,h}: change signature of .reset() to
9221           take a sprite_instance for calling set_invalidated() when
9222           needed.
9223         * server/sprite_instance.cpp (restoreDisplayList): update
9224           call to DisplayList::reset() - this optimizes loop-backs
9225           and fixes a failure introduced by previous commit
9226           (it's nice to see that performance issues are also tested
9227           by our testsuite - we'd just need some more)
9229 2007-09-07 Sandro Santilli <strk@keybit.net>
9231         * server/sprite_instance.cpp (restoreDisplayList): don't use
9232           a copy of the display_list to optimize the call to set_invalidated.
9233           Removing characters from the copy would shift unloaded characters
9234           to a different depth, which in turn would fail an assertion
9235           (which is *needed* or set_invalidated would not include invalidated
9236           bounds of just-unloaded characters).
9237           BTW, this suggests me we need a lot of tests for inv.bounds. as the
9238           latest changes for depth swap on unload did likely break a few
9239           cases.
9241 2007-09-07 Sandro Santilli <strk@keybit.net>
9243         * server/sprite_instance.cpp: disable the too many debugging
9244           prints left over from the big action order commit.
9246 2007-09-07 Sandro Santilli <strk@keybit.net>
9248         * testsuite/analyse-results.sh: add detailed report
9249           of unexpected successes and failures.
9251 2007-09-07 Sandro Santilli <strk@keybit.net>
9253         * testsuite/actionscript.all/Makefile.am,
9254           testsuite/misc-ming.all/Makefile.am,
9255           testsuite/misc-mtasc.all/Makefile.am,
9256           testsuite/misc-swfc.all/Makefile.am,
9257           testsuite/misc-swfmill.all/Makefile.am,
9258           testsuite/swfdec/Makefile.am:
9259           Don't have 'make check' fail here, rely
9260           on analyzer to tell if something went unexpected.
9261           This is to help with intermittent failures forcing
9262           running the expensinve check over and over again.
9264 2007-09-07 Sandro Santilli <strk@keybit.net>
9266         * testsuite/analyse-results.sh: exit with a failure if any real
9267           failure or unexpected success is found in the logs. Cleanup
9268           presentation code and output (the latter to now which subdirs have
9269           failures or unexpected successes).
9271 2007-09-07 Sandro Santilli <strk@keybit.net>
9273         * server/dlist.cpp (output operator): don't compare iterators from
9274           different sequences !
9275         * server/movie_instance.cpp (advance): don't invoke ONLOAD event
9276           handler, the event will be queued by ::construct instead
9277         * server/movie_root.cpp (setRootMovie): process actions
9278           queued by effect of root movie construction.
9279         * server/sprite_instance.{cpp,h}:
9280           - Drop do_action(), m_action_list and m_on_event_load_called members.
9281           - Make ::construct virtual so it can be overridden by movie_instance.
9282           - Have add_action_buffer queue globally or execute actions immediately depending
9283             on a new (misnamed) _callingFrameActions flag (I want to cleanup this part next).
9284             Basically, all actions are queued to the global list, with two
9285             exceptions:  init actions and callFrame actions.
9286           - Expose a new public queueAction(action_buf&) method, currenly
9287             unused but possibly for use in a cleanup of the preceding queue-or-execute
9288             actions handling.
9289           - Move registration as core broadcaster listener code into its own
9290             function (registerAsListener).
9291           - Refactor restoreDisplayList() to also execute *action* tags of
9292             target frame, so to get order right.
9293           - Far cleaner advance_sprite() implementation.
9294         * testsuite/MovieTester.cpp (ctor): properly construct root movie,
9295           and render after construction.
9296         * testsuite/swfdec/swfdec_gnash_tester: advance 10 times as intended
9297           by swfdec testsuite, not 11 as we needed to do due to gnash bugs.
9298         * testsuite/misc-ming.all/: action_execution_order_extend_test.c,
9299           action_execution_order_test2.c, action_execution_order_test4.c,
9300           action_execution_order_test5.c, action_execution_order_test7.c,
9301           action_execution_order_test9.c, action_execution_order_test10.sc:
9302           SUCCESSES !
9303         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc: SUCCESSES !
9304         * testsuite/swfdec/PASSING: SUCCESSES !
9306 2007-09-07 Sandro Santilli <strk@keybit.net>
9308         * testsuite/misc-mtasc.all/: level5.as, level99.as: check
9309           that at time of first-frame actions execution for loaded movies,
9310           _currentframe is set to 1.
9311         * server/sprite_instance.cpp (loadMovie): don't use
9312           movie_root::setRootMovie for loading external movies,
9313           as that method is meant for kick-start only.
9314         * server/vm/action.cpp: remove dead code.
9316 2007-09-07 Sandro Santilli <strk@keybit.net>
9318         * testsuite/misc-swfc.all/action_execution_order_test10.sc:
9319           check that _currentframe is 1 when actions in first frame of
9320           _root are executed
9321         * server/movie_instance.{cpp,h}: add overridden ::construct
9322           method, taking care of ensuring frame1 is completely loaded
9323           and calling the superclass version of it. 
9324         * server/movie_root.cpp (setLevel): call ::construct on newly
9325           added levels (including level0).
9327 2007-09-07 Sandro Santilli <strk@keybit.net>
9329         * server/vm/VM.{cpp,h}: change the VM::init() functionality
9330           to NOT instantiate the movie definition. This is propedeutic
9331           for a cleanup in movie_instance construction, which will be
9332           performed by movie_root::setLevel in next patch.
9333         * gui/Player.cpp, testsuite/MovieTester.cpp,
9334           testsuite/server/DisplayListTest.cpp,
9335           testsuite/server/GetterSetterTest.cpp,
9336           testsuite/server/PropertyListTest.cpp,
9337           utilities/processor.cpp:
9338           Update VM & stage (movie_root) initialization calls
9339           to take into account VM::init() semantic change.
9341 2007-09-06 Sandro Santilli <strk@keybit.net>
9343         * testsuite/misc-ming.all/action_execution_order_test4.c: more
9344           explicit test showing that defining onLoad for _root in first
9345           frame works, while doesn't work for child sprites.
9346         * server/sprite_instance.cpp (add_display_object): only syntetize 
9347           and instance name when actually placing a new character (simplifies
9348           the code and fixes a case related to ratio compatibility).
9350 2007-09-06 Tomas Groth Christensen <tomasgroth@yahoo.dk>
9352         * libbase/FLVParser.cpp: Made it more robust by accepting empty
9353            tags, fixing bug #20889.
9354         * server/video_stream_instance.cpp: Check for data being NULL.
9355         * server/asobj/NetStreamFfmpeg.cpp: A few changes to make it
9356           work better with only video or audio - not complete yet.
9358 2007-09-06 Sandro Santilli <strk@keybit.net>
9360         * testsuite/misc-swfc.all/: Dejagnu.sc, check.sc:
9361           Also print expression being tested with {x}check_equals 
9362         * testsuite/misc-ming.all/action_execution_order_test1.c: Add tests
9363           showing that onClipLoad event can reference self and characters placed 
9364           either before or after the character carrying that event.
9366 2007-09-06 Zou Lunkai <zoulunkai@gmail.com>
9368         * testsuite/misc-ming.all/action_execution_order_test3.c: Reorganize and recomment
9369           the source file, please make sure you know the tags order of produced swf file 
9370           after your update.
9371           
9372 2007-09-05 Sandro Santilli <strk@keybit.net>
9374         * server/dlist.cpp (removeUnloaded): also remove from _timelineChars.
9376 2007-09-05 Sandro Santilli <strk@keybit.net>
9378         * testsuite/misc-ming.all/action_execution_order_test3.c: attempt
9379           to test REMOVEOBJECT before DOACTION (failed though, as Ming seems
9380           to keep placing REMOVEOBJECT tags adjacent instead).
9381           This test is reported as an evidence of behaviour 2 in
9382           ActionsExecutionOrder#Verified_behaviour wiki page, so we either
9383           need another or that behaviour is not verified !!
9385 2007-09-05 Ivor Blockley <meteoryte@yahoo.com.au>
9387         * server/vm/action.{cpp,h}: add htmlText property to 
9388         as_standard_member ENUM
9389         * server/edit_text_character.{cpp,h}: add html property and cleanup
9390         handling of htmlText (note: still just strips tags at the moment).
9391         * testsuite/actionscript.all/TextField.as: 5 new passes, 1 new failure
9393 2007-09-05 Sandro Santilli <strk@keybit.net>
9395         * server/dlist.{cpp,h}: also maintain a list of characters by
9396           placement and provide a visitByPlacement for visiting them.
9397         * server/sprite_instance.cpp: (advance_sprite): visit DisplayList
9398           in reverse-placement order when advancing old and newly added
9399           characters.
9400         * testsuite/misc-ming.all/action_execution_order_test2.c: one success
9401           in action execution order.
9403 2007-09-05 Tomas Groth Christensen <tomasgroth@yahoo.dk>
9405         * backend/sound_handler_{sdl,gst}.cpp: Remove primitive
9406           audio syncing code. Fixes bug #20866 and #20851, but reopens
9407           #20681.
9409 2007-09-05 Sandro Santilli <strk@keybit.net>
9411         * server/dlist.{cpp,h}: add ::unload method for taking
9412           care of unloads triggered by parent unload.
9413         * server/sprite_instance.cpp (unload): use DisplayList::unload
9414         * testsuite/misc-swfc.all/movieclip_destruction_test4.sc: fix
9415           destruction of childs w/out onUnload event handler defined.
9417 2007-09-05 Zou Lunkai <zoulunkai@gmail.com>
9419         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: more tests about 
9420           initactions, gnash fails by not respecting the actions order.
9421         * testsuite/misc-swfc.all/movieclip_destruction_test4.sc: more tests for 
9422           catching unloaded character bug, got a xcheck.
9423         
9424 2007-09-05 Markus Gothe <nietzsche@lysator.liu.se>
9426         * server/asobj/MovieClipLoader.cpp: iterator -> const_iterator.
9427         * libbase/timer.cpp: Added commentary.
9428         * backend/sound_handler_sdl.cpp: Fixed conflict with namespaces from
9429          booost/cstdint.hpp.
9430         * utilities/*.cpp: #ifdef ENABLE_NLS.
9431         * testsuit/libamf.all/*.cpp: Fixed GNUisms.
9433 2007-09-04 Sandro Santilli <strk@keybit.net>
9435         * server/sprite_instance.cpp: always check if we've been unloaded
9436           by effect of a call to on_event(). Fixes bug #20974.
9438 2007-09-04 Sandro Santilli <strk@keybit.net>
9440         * server/parser/sprite_definition.cpp (read): simplify handling of
9441           malformed sprite definition (last SHOWFRAME not followed by END).
9442           Fixes high CPU use and inresponsiveness while playing
9443           gnashcrash.swf.
9445 2007-09-04 Sandro Santilli <strk@keybit.net>
9447         * server/character.{cpp,h}: add hasEventHandler() and queueEvent()
9448           methods. Implement ::unload by queuing the UNLOAD event (not its
9449           handlers
9450         * server/vm/ExecutableCode.h: Add QueuedEvent "executable code", for
9451           queuing events rather then handlers.
9453 2007-09-04 Sandro Santilli <strk@keybit.net>
9455         * server/sprite_instance.h: make execute_action() public, for use
9456           by DoActionTag (for init actions).
9457         * server/swf/DoActionTag.h: execute init actions by directly
9458           execute them (opposed to use add_action_buffer which queues them)
9459         * server/sprite_instance.cpp (execute_frame_tags): simplify execution
9460           of init tag (simply execute them rather then have them queue and
9461           then execute the queue).
9463 2007-09-04 Sandro Santilli <strk@keybit.net>
9465         * NEWS: updated by copying from 0.8.1
9466         * server/edit_text_character.cpp: support case-insensitive
9467           htmlText property (for SWF6).
9468         * testsuite/actionscript.all/TextField.as: fix expected results
9469           (more successes, one failure which only worked by luck before).
9470         * testsuite/analyse-results.sh: print also unexpected successes.
9472 2007-09-04 Asger Ottar Alstrup <asger@area9.dk>
9474         * server/edit_text_character.cpp: add minimal support for htmlText.
9476 2007-09-04 Chad Musick <chadmusick@msbx.net>
9478         * server/fill_style.cpp,.h: Let fill style know how to read
9479           morph (2) type styles as well, to avoid duplicating lots
9480           of code.
9481         * server/styles.cpp,.h: Fill line style know how to read
9482           morph2 tags for the same reason.
9483         * server/impl.cpp: Change MORPHSHAPE2 loader to activate it.
9484         * server/parser/morph2_character_def.cpp: Parse MorphShape2
9485           tags as well as MorphShape.
9486         * server/swf/tag_loaders.cpp: Recognize MorphShape2 tags.
9488 2007-09-04 Sandro Santilli <strk@keybit.net>
9490         * server/vm/ActionExec.{cpp,h}: add an _abortOnUnload flag
9491           for premature abortion of action buffers being executed,
9492           always false for functions and true by default for
9493           global code (overridable by a third optional constructor
9494           argument). Check target for being unloaded (if _abortOnUnload)
9495           at opcode-level.
9496         * server/vm/ExecutableCode.h (EventCode): set _abortOnUnload
9497           to false when constructing ActionExec for event code.
9498         * testsuite/misc-swfc.all/: movieclip_destruction_test1.sc,
9499           movieclip_destruction_test3.sc: successes with premature
9500           abortion of action buffers.
9502 2007-09-04 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9504         * configure.ac: make kde development package advice
9505           accurate (see bug #20908).
9507 2007-09-04 Sandro Santilli <strk@keybit.net>
9509         * server/dlist.cpp (reset): don't ::unload() again
9510           on already unloaded characters. They might still be
9511           in the list (and not in the removed zone) due to their
9512           having an onUnload handler to be invoked when their parent
9513           was unloaded. Fixes last assertion failure in bug #20949
9514           (copter.swf)
9516 2007-09-04 Zou Lunkai <zoulunkai@gmail.com>
9518         * testsuite/misc-swfc.all/movieclip_destruction_test{1,3,4}.sc: more tests.
9519         * testsuite/misc-swfc.all/Makefile.am: enable new tests.
9520         
9521 2007-09-04 Chad Musick <chadmusick@msbx.net>
9523         * backend/render_handler_tri.cpp: Enabling focal gradient fills on
9524           renderers other than AGG.
9525                   
9526 2007-09-04 Zou Lunkai <zoulunkai@gmail.com>
9528         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: fix some bogus tests
9529           caused by bogus compiler convertion, and a few more tests, all passed.
9530           
9531 2007-09-03 Sandro Santilli <strk@keybit.net>
9533         * server/character.cpp (unload): call queueEventHandler before setting
9534           _unloaded to true.
9535         * server/dlist.cpp (wherever characters are unloaded): call unload() after
9536           removing the character.
9538 2007-09-04 Chad Musick <chadmusick@msbx.net>
9540         * server/font.cpp,.h: Add is_subpixel_font flag for DefineFont3 tag.
9541         * server/text.cpp: Size SWF8, SWF9 fonts correctly -- they use subpixel
9542           shapes, so they need to be scaled when displayed.
9544 2007-09-03 Sandro Santilli <strk@keybit.net>
9546         * server/sprite_instance.cpp (advance_sprite): don't use
9547           DisplayList::advance against DisplayList copies, for which
9548           invariant is not maintained.
9550 2007-09-03 Udo Giacomozzi <udo.gnu@nova-sys.net>
9552         * render_handler_agg_style.h: focal gradients now render correctly
9554 2007-09-03 Sandro Santilli <strk@keybit.net>
9556         * server/sprite_instance.cpp (advance_sprite): don't call
9557           removeUnloaded on DisplayList copies (their ::advance will skip
9558           unloaded elements, anyway).
9559         * server/as_value.cpp (to_sprite): make the dangling reference a
9560           debugging info, not an error.
9562 2007-09-03 Zou Lunkai <zoulunkai@gmail.com>
9564         * server/dlist.cpp: don't abort for unloaded characters in DisplayList::advance().
9565           fixd a case in bug #20076.
9566           
9567 2007-09-03 Udo Giacomozzi <udo.gnu@nova-sys.net>
9569         * render_handler_agg_style.h: Some fixes for focal gradients
9571 2007-09-03 Sandro Santilli <strk@keybit.net>
9573         * server/edit_text_character.cpp (unload): don't forget to call
9574           the base class version of the method (properly setting _unload
9575           flag).
9577 2007-09-03 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
9579         * doc/C/usermanual/usage/gnashrc.xml: Warn in docs about including
9580           protocols in black- and whitelists.
9582 2007-09-03 Sandro Santilli <strk@keybit.net>
9584         * server/character.h: Add depthInRemovedZone() methods.
9585         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc:
9586           Additional tests, and a typo fix.
9588 2007-09-03 Chad Musick <chadmusick@msbx.net>
9590         * backend/render_handler_agg_style.h Correct(maybe) the placement of the
9591           focal point for focal gradient fills.
9592         * server/fill_style.cpp Read focal gradient fills in the right place
9593           (after gradient records, not before), also added focal gradients to
9594           known bitmap transforms.
9596 2007-09-03 Markus Gothe <nietzsche@lysator.liu.se> 
9598         * macros/boost.m4: Commented out bogus check and improved the
9599           checking of BOOST_CFLAGS.
9600         * libbase/tu_types.h: Use boost/cstdint.hpp instead of inttypes.h
9601         * server/vm/action.h: __SGI_LIBC_USING_FROM_STD(va_list)
9602         * gui/gnash.cpp: setlocale() IFF #ENABLE_NLS.
9604 2007-09-03 Chad Musick <chadmusick@msbx.net>
9606         * server/fill_style.h,.cpp -- Add recording of focal point for focal
9607           gradient fill.
9608         * backend/render_handler_agg.cpp, backend/render_handler_agg_style.h
9609           Adding gradient focal fill. I'm not sure if I've done this correctly,
9610           but it didn't break anything.
9612 2007-09-02 Chad Musick <chadmusick@msbx.net>
9614         * server/fill_style.cpp -- Update the allow focal gradient fill style,
9615           and to accomodate some format changes for SWF8+ tags.  Focal
9616           gradients are not implemented yet -- I don't yet know how to do this.
9617         * server/impl.cpp -- Update DefineShape4 loader function from fixme_loader
9618           to shape loader.
9619         * server/styles.h -- Change signature of read function to include the
9620           movie definition since it may be part of a fill style, which needs this.
9621         * server/styles.cpp -- Change read function to read new line styles
9622           allowed in newer SWF files.
9623         * server/parser/shape_character_def.cpp -- Change loader to know how
9624           to read a DefineShape4 tag.
9625         * server/swf/tag_loaders.cpp -- Let the shape_loader be able to load
9626           a DefineShape4 tag.
9628 2007-09-02 Zou Lunkai <zoulunkai@gmail.com>
9629         
9630         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc: one more test.
9631         * testsuite/misc-swfc.all/action_execution_order_test10.sc: another testcase
9632           about actions order. If any questions, please add to the wiki.
9633         * testsuite/misc-swfc.all/Makefile.am: enable testcase.
9634         
9635 2007-09-01 Sandro Santilli <strk@keybit.net>
9637         * server/as_object.{h,cpp}: handle __proto__ has a normal property.
9638         * server/sprite_instance.cpp (replace_display_object): log an error
9639           if the character to be replaced is not found.
9640         * server/dlist.cpp (replace_character): don't restart the character
9641           being added (fixes a problem with the ::restart function itself, in
9642           that it also cleans up all properties, which now include the
9643           __proto__ member).
9644         * testsuite/actionscript.all/toString_valueOf.as: more successes.
9645         * testsuite/actionscript.all/Object.as: more successes.
9647 2007-09-01 Markus Gothe <nietzsche@lysator.liu.se> 
9649         * macros/boost.m4: push/pop CXXFLAGS/CPPFLAGS.
9650         * libbase/utility.h: Fixed a C++98/C99 incompt. error
9651         * libbase/utility.cpp: Use boost/cstdint.hpp instead of stdint.h.
9652         * libbase/zlib_adapter.cpp: Added 'using namespace gnash;'
9654 2007-09-01 Sandro Santilli <strk@keybit.net>
9656         * server/asobj/Object.cpp (attachObjectInterface): remove
9657           useless call to set_member_flags (init_member does it).
9658         * server/as_object.{cpp,h}: removed dead code (clear)
9660 2007-09-01 Sandro Santilli <strk@keybit.net>
9662         * server/swf_function.cpp (ctor): make sure user-defined
9663           function's initial prototype inherits from Object.
9664         * server/asobj/Object.cpp (getObjectInterface): really
9665           end the inheritance chain (ie: don't override __proto__).
9666         * testsuite/actionscript.all/Inheritance.as: a couple tests
9667           added.
9668         * testsuite/actionscript.all/Object.as: more successes, and 
9669           an additional (still failing due to non-proper __proto__ member)
9670           test.
9671         * testsuite/actionscript.all/toString_valueOf.as: one more success.
9673 2007-09-01 Ivor Blockley <meteoryte@yahoo.com.au>
9675         * server/array.cpp: make to_number calls environment-aware.
9676         * testsuite/actionscript.all/array.as: success in invalid array.sort()
9677           calls
9679 2007-09-01 Sandro Santilli <strk@keybit.net>
9681         * server/dlist.{cpp,h}: when unloaded character's unload() method
9682           returns true (character or any of its childs has onUnload methods to
9683           be run) don't really remove it from the list, but just shift it
9684           down to the "removed" zone. Advance and display only non-removed
9685           characters (depth-zone based for now, possibly too weak).
9686           Add lots of paranoid invariant testing (not enough, missing the
9687           one for no unloaded characters out of "removed" depth zone).
9688         * server/character.{cpp,h}: more info about removedDepthOffset,
9689           assertion preveing double unload of a character (this can be 
9690           probably easily broken by a focused testcase using removeMovieClip
9691           on a removed but still-reachable character).
9692         * server/movie_root.{cpp,h}: added cleanupDisplayList() method, and
9693           call it at the end of actions execution to properly cleanup removed
9694           but still-reachable characters.
9695         * server/sprite_instance.{cpp,h}: implement a cleanupDisplayList, to
9696           be called by movie_root, make sure to not include unloaded
9697           characters when visiting the DisplayList for bounds extractions and
9698           similar.
9699         * testsuite/actionscript.all/MovieClip.as: soft-references successes
9700         * testsuite/misc-ming.all/: loop_test7.c, loop_test8.c:
9701           keep-alive-for-onUnload successes
9702         * testsuite/misc-ming.all/unload_movieclip_test1.c: successes
9703         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc: successes
9704         * testsuite/swfdec/PASSING: remove-depths-*.swf successes
9706 2007-08-31 Sandro Santilli <strk@keybit.net>
9708         * server/asobj/gen-asclass.sh: add the getObjectInterface call.
9709           (btw, gen-asclass.pl is being left behind).
9711 2007-08-31 Sandro Santilli <strk@keybit.net>
9713         * server/as_object.{cpp,h}: changed get_prototype to always return
9714           the actual prototype (rather then returning the Object prototype
9715           if unset).
9716         * server/: array.cpp, as_function.cpp, edit_text_character.cpp,
9717           sprite_instance.cpp, video_stream_instance.cpp:
9718           Initialize AS class interfaces (prototype) as being subclasses of
9719           the Object class.
9720         * server/asobj/: Boolean.cpp, Camera.cpp, Color.cpp,
9721           ContextMenu.cpp, CustomActions.cpp, Date.cpp, Error.cpp, Key.cpp,
9722           LoadVars.cpp, Microphone.cpp, Mouse.cpp, MovieClipLoader.cpp,
9723           NetConnection.cpp, NetStream.cpp, Number.cpp, Object.cpp,
9724           Selection.cpp, SharedObject.cpp, Sound.cpp, Stage.cpp, System.cpp,
9725           TextSnapshot.cpp, string.cpp, xmlnode.cpp, xmlsocket.cpp
9726           Initialize AS class interfaces (prototype) as being subclasses of
9727           the Object class.
9728         * testsuite/actionscript.all/Global.as: more successes.
9729         * testsuite/actionscript.all/Function.as: one more test for
9730           Function.prototype.__proto__
9731         * testsuite/actionscript.all/MovieClip.as: more tests for
9732           MovieClip.prototype.__proto__
9733         * testsuite/actionscript.all/TextField.as: more tests for
9734           TextField.prototype.__proto__
9735         * testsuite/actionscript.all/Video.as: more tests for
9736           Video.prototype.__proto__
9737         * testsuite/actionscript.all/array.as: more tests for
9738           Array.prototype.__proto__
9739         * testsuite/swfdec/PASSING: successes from latest swfdec
9740           testsuite.
9742 2007-08-31 Sandro Santilli <strk@keybit.net>
9744         * testsuite/actionscript.all/Object.as: add test for
9745           Object.prototype.__proto__ expected to be undefined (bad bug
9746           in Gnash!).
9747         * server/array.cpp (array_length): handle attempts to set a negative
9748           length as if length=0 was set, and log an AS error.
9749           Still not correct, but saves a memory fill with swfdec testsuite.
9750         * testsuite/actionscript.all/array.as: add test for setting a negative
9751           length.
9753 2007-08-31 Sandro Santilli <strk@keybit.net>
9755         * server/character.cpp (unload): assert the character wasn't already
9756           unloaded.
9757         * macros/boost.m4: don't trash user-defined CXXFLAGS, and don't
9758           provide one if not user-specified initially.
9759         * testsuite/misc-swfc.all/check.sc: ops, last totals() define
9760           was buggy, this one is good.
9762 2007-08-31 Sandro Santilli <strk@keybit.net>
9764         * server/sprite_instance.cpp: removed more dead code.
9765         * server/dlist.cpp (swapDeptsh): don't swap to depths in the
9766           deleted characters zone.
9767         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc:
9768           less failures, few more tests.
9769         * testsuite/misc-swfc.all/Dejagnu.sc: include file:line info
9770           in xpass too...
9771         * testsuite/misc-swfc.all/check.sc: define totals().
9773 2007-08-31 Zou Lunkai <zoulunkai@gmail.com>
9774         
9775         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: few more tests.
9776         
9777 2007-08-31 Zou Lunkai <zoulunkai@gmail.com>
9778         
9779         * testsuite/misc-swfc.all/movieclip_destruction_test2.sc: testcase about
9780           movieclip destruction and soft references, more failures.
9781         * testsuite/misc-swfc.all/Makefile.am: enable testcase.
9782           
9783 2007-08-31 Zou Lunkai <zoulunkai@gmail.com>
9784         
9785         * libbase/image.cpp: don't ommit the default parameter, should fix 
9786           the building, please check.
9787         
9788 2007-08-30 Sandro Santilli <strk@keybit.net>
9790         * server/dlist.{cpp,h}: drop unused methods and optional args.
9792 2007-08-30 Sandro Santilli <strk@keybit.net>
9794         * server/sprite_instance.{cpp,h}: cleanups: 
9795           drop resetDisplayList, _frame0 and replace_if_depth_is_occupied
9796           parameter of add_display_object.
9797         * server/swf/PlaceObject2Tag.cpp: update call to add_display_object
9799 2007-08-30 Sandro Santilli <strk@keybit.net>
9801         * testsuite/misc-ming.all/Makefile.am: don't try to build
9802           DefineEditTextVariableNameTest2-Runner from an non-existent .c
9803           file (fixes 'make dist').
9804         * server/: character.{cpp,h}, edit_text_character.{cpp,h},
9805           sprite_instance.{cpp,h}: change signature of character::unload()
9806           to return a boolean value stating wheter any onUnload event was
9807           queued due to removal.
9809 2007-08-30 Sandro Santilli <strk@keybit.net>
9811         * server/character.h: add const for removed clips depth offset.
9812         * testsuite/actionscript.all/MovieClip.as: test for depth shift when
9813           onUnload method is defined and a clip is removed.
9814         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: expect
9815           gnash failures.
9816         * testsuite/actionscript.all/: Makefile.am, AsBroadcaster.as:
9817           new test for AsBroadcaster.
9819 2007-08-30 Zou Lunkai <zoulunkai@gmail.com>
9820         
9821         * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: testcase about
9822           movieclip destruction, also action execution order related.
9823         * testsuite/misc-swfc.all/Makefile.am: enable testcase.
9824           
9825 2007-08-30 Sandro Santilli <strk@keybit.net>
9827         * server/array.h: document the push method, use some typedefs for
9828           semplicity (iterators).
9829         * server/vm/fn_call.h: add string-returning dump_args().
9831 2007-08-30 Markus Gothe <nietzsche@lysator.liu.se>
9833         * configure.ac, libbase/utility.h, server/asobj/Date.cpp,
9834         backend/render_handler_agg.cpp: Unified trunc() and added
9835         checking.
9836         * configure.ac, macros/libexe.m4, macros/kde.m4: 
9837         keep bourne-sh, /bin/sh, happy.
9838         * macros/boost.m4: Fixed issue with lib-checking.
9840 2007-08-29 Sandro Santilli <strk@keybit.net>
9842         * testsuite/actionscript.all/: Key.as, Mouse.as, Selection.as,
9843           Stage.as, TextField.as: check elements supposedly created
9844           by implicit call to ASBroadcaster.initialize().
9845           See bug #20832.
9846           NOTE: for TextField.as also fixed a wrong expected result for
9847           targets SWF8+
9849 2007-08-29 Sandro Santilli <strk@keybit.net>
9851         * testsuite/MovieTester.cpp (initTestingRenderers): add ARGB32 and
9852           ABGR32 renderers.
9854 2007-08-29 Udo Giacomozzi <udo.gnu@nova-sys.net>
9856         * configure.ac: added pixel formats ARGB32 and ABGR32; allow "all" value for
9857           --with-pixelformat
9858         * backend/render_handler_agg.cpp: implement the two new pixel formats and
9859           check for the host endianess; some initial changes in AGG cache class which
9860           currently is not used, however
9861         * backend/render_handler_agg.h, gui/fb.cpp: updated comments
9862         
9863 2007-08-29 Sandro Santilli <strk@keybit.net>
9865         * server/as_environment.cpp (get_variable): more verbosity in
9866           debugging messages.
9868 2007-08-29 Sandro Santilli <strk@keybit.net>
9870         * server/as_value.cpp (to_sprite): use original target, not current
9871           one, for dereferencing danglign MOVIECLIP refs; add TODO item about
9872           the onUnload problem.
9873         * server/sprite_instance.{h,cpp}: add a getOrigTarget() to return original
9874           target of a sprite (the target it got when first constructed, immune
9875           from _name changes).
9876         * testsuite/misc-swfc.all/soft_reference_test1.sc: xcheck => check
9878 2007-08-29 Sandro Santilli <strk@keybit.net>
9880         * testsuite/misc-swfc.all/soft_reference_test1.sc: add some
9881           comments as to why Gnash fails.
9883 2007-08-29 Zou Lunkai <zoulunkai@gmail.com>
9884         
9885         * testsuite/misc-swfc.all/soft_reference_test1.sc: new focused
9886           testcase about soft reference, still got an xcheck.
9887         * testsuite/misc-swfc.all/Makefile.am: enable testcase.
9888           
9889 2007-08-29 Chad Musick <chadmusick@msbx.net>
9891         * server/asobj/BlurFilter_as.cpp,.h
9892         * server/asobj/ColorMatrixFilter_as.cpp,.h
9893         * server/asobj/ConvolutionFilter_as.cpp,.h
9894         * server/asobj/DropShadowFilter_as.cpp,.h
9895         * server/asobj/GlowFilter_as.cpp,.h
9896         * server/asobj/GradientBevelFilter_as.cpp,.h
9897         * server/asobj/GradientGlowFilter_as.cpp,.h
9898         * server/asobj/BevelFilter_as.cpp,.h
9899         * server/asobj/BitmapFilter_as.cpp,.h
9900           Change to use multiple inheritance for adaptation
9901         * server/BevelFilter.h,.cpp
9902         * server/BlurFilter.h,.cpp
9903         * server/ColorMatrixFilter.h,.cpp
9904         * server/ConvolutionFilter.h,.cpp
9905         * server/DropShadowFilter.h,.cpp
9906         * server/GlowFilter.h,.cpp
9907         * server/GradientBevelFilter.h,.cpp
9908         * server/GradientGlowFilter.h,.cpp
9909           Changing to use multiple inheritance for adaptation
9910         * server/asobj/prophelper.h Update for using multiple inheritance
9911         * server/parser/filter_factory.cpp
9912           Change to use correct type of operator for array pushes.
9914 2007-08-29 Sandro Santilli <strk@keybit.net>
9916         * libbase/utility.h: fix the frnd() function to behave as
9917           intended by original author. Fixed bug #20920.
9919 2007-08-29 Markus Gothe <nietzsche@lysator.liu.se>
9921         * libbase/component_hackery.cpp: Removed crufty file.
9922         * backend/render_handler_agg.cpp: Made trunc() uniform with the
9923           one in Date.cpp.
9925 2007-08-29 Sandro Santilli <strk@keybit.net>
9927         * Makefile.am: distribute old ChangeLog files.
9929 2007-08-29 Sandro Santilli <strk@keybit.net>
9931         * server/text.h: fix signature of setFont(font*):
9932           return void.
9934 2007-08-28 Sandro Santilli <strk@keybit.net>
9936         * libbase/: image.{cpp,h}, jpeg.{cpp,h}: extend interface
9937           for jpeg creators taking tu_file to specify
9938           ownership of the input stream.
9939         * server/swf/tag_loaders.cpp: substitute calls to
9940           stream::get_underlying_stream with use of a quick&dirty
9941           tu_file adpater using stream underneath.
9942         * server/stream.h: remove get_underlying_stream method.
9944 2007-08-28 Udo Giacomozzi <udo.gnu@nova-sys.net>
9946         * server/stream.h: documented some functions
9947         
9948 2007-08-28 Sandro Santilli <strk@keybit.net>
9950         * server/swf/tag_loaders.cpp: remove all bug jpeg-related
9951           calls to stream::get_underlying_stream.
9953 2007-08-28 Udo Giacomozzi <udo.gnu@nova-sys.net>
9955         * server/sprite_instance.cpp: comment unused parameter  
9957 2007-08-28 Sandro Santilli <strk@keybit.net>
9959         * libbase/jpeg.{cpp,h}: cleanups, aimed at eventually implement
9960           different inputs then tu_file (stream, buffer).
9962 2007-08-28 Zou Lunkai <zoulunkai@gmail.com>
9963         
9964         * testsuite/actionscript.all/case.as: more tests.
9965         * server/swf_function.h: set function args to lower case when needed.
9966           fix bug #20833.
9967           
9968 2007-08-28 Sandro Santilli <strk@keybit.net>
9970         * server/: Makefile.am, BitsReader.{cpp,h}: new memory bits reader.
9971         * testsuite/server/: Makefile.am, BitsReaderTest.cpp: unit testing
9972           for the new bits reader.
9974 2007-08-28 Deanna Phillips <deanna>
9976         * libbase/utility.h: define exp2 and log2 if not available
9977           based on HAVE_LOG2 and HAVE_EXP2
9978         * configure.ac: detect availability of log2 and exp2
9980 2007-08-28 Sandro Santilli <strk@keybit.net>
9982         * server/stream.{cpp,h}: inlined align(), cleanups in read_uint().
9984 2007-08-28 Sandro Santilli <strk@keybit.net>
9986         * server/parser/shape_character_def.cpp (read): use ints for twips
9987           values, convert to float only when needed (construction of the
9988           edges and paths). [last patch was bogus]
9990 2007-08-28 Chad Musick <chadmusick@msbx.net>
9992         * server/asobj/BlurFilter_as.cpp,.h
9993         * server/asobj/ColorMatrixFilter_as.cpp,.h
9994         * server/asobj/ConvolutionFilter_as.cpp,.h
9995         * server/asobj/DropShadowFilter_as.cpp,.h
9996         * server/asobj/GlowFilter_as.cpp,.h
9997         * server/asobj/GradientBevelFilter_as.cpp,.h
9998         * server/asobj/GradientGlowFilter_as.cpp,.h
9999         * server/asobj/BevelFilter_as.cpp,.h
10000         * server/asobj/BitmapFilter_as.cpp,.h
10001           Make ActionScript compatible filters
10002         * server/BevelFilter.h,.cpp
10003         * server/BlurFilter.h,.cpp
10004         * server/ColorMatrixFilter.h,.cpp
10005         * server/ConvolutionFilter.h,.cpp
10006         * server/DropShadowFilter.h,.cpp
10007         * server/GlowFilter.h,.cpp
10008         * server/GradientBevelFilter.h,.cpp
10009         * server/GradientGlowFilter.h,.cpp
10010           Changes necessary for adapter compatibility
10011         * server/asobj/prophelper.h
10012           File to make writing AS classes easier using an adapter
10013         * server/asobj/Makefile.am
10014           Add new files
10015          
10016 2007-08-27 Sandro Santilli <strk@keybit.net>
10018         * libbase/utility.h: don't define exp2(), it's going to clash
10019           with existing symbol on most systems (except some BSDen)...
10020           Please provide a better patch for BSD.
10022 2007-08-27 Deanna Phillips <deanna>
10024         * testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp: include
10025           <unistd.h>
10027 2007-08-27 Sandro Santilli <strk@keybit.net>
10029         * server/parser/shape_character_def.cpp (read): make effective
10030           use of the SHAPE_LOG compile-time macro, by removing any overhead
10031           associated with it, when set to something != 0.
10033 2007-08-27 Sandro Santilli <strk@keybit.net>
10035         * server/parser/shape_character_def.cpp (read): use ints for twips
10036           values, convert to float only when needed (construction of the
10037           edges and paths).
10039 2007-08-27 Sandro Santilli <strk@keybit.net>
10041         * server/stream.cpp (read_sint): remove useless assertion.
10043 2007-08-27 Sandro Santilli <strk@keybit.net>
10045         * server/stream.cpp (read_uint): optimize multi-byte reads:
10046           less read_byte(), more read_bytes().
10047         * testsuite/server/StreamTest.cpp: more read_uint() tests.
10049 2007-08-27 Sandro Santilli <strk@keybit.net>
10051         * server/cxform.cpp, server/font.cpp, server/matrix.cpp,
10052           server/stream.h, server/parser/button_character_def.cpp,
10053           server/parser/edit_text_character_def.cpp,
10054           server/parser/filter_factory.cpp,
10055           server/parser/sound_definition.cpp,
10056           server/parser/video_stream_def.cpp,
10057           server/swf/PlaceObject2Tag.cpp, server/swf/tag_loaders.cpp,
10058           utilities/parser.cpp: read_uint(1) => read_bit();
10059         * server/stream.cpp (read_uint): htf_sweet.swf aborts if we
10060           assert bit_count <= 24, so change this base to <= 32 (will
10061           inspect later).
10063 2007-08-27 Sandro Santilli <strk@keybit.net>
10065         * server/stream.{cpp,h}: add read_bit(), optimize read_uint()
10066           a little-bit (there are likely more optimization options).
10067         * server/parser/shape_character_def.cpp (read): use read_bit()
10068           instead of read_uint(1).
10069         * testsuite/server/StreamTest.cpp: more tests for read_bit().
10071 2007-08-27 Markus Gothe <nietzsche@lysator.liu.se>
10073         * libbase/utility.h: defined exp2() as it's missing on some BSDen.
10074         * libbase/math.h OS X has got xF().
10075         * configure.ac check for exp2() and log2().
10077 2007-08-27 Zou Lunkai <zoulunkai@gmail.com>
10078         
10079         * testsuite/misc-ming.all/DefineEditTextVariableNameTest2.c,
10080           testsuite/misc-ming.all/Makefile.am:  more tests, finished
10081           deduction, testcase now enabled.        
10082         
10083 2007-08-27 Sandro Santilli <strk@keybit.net>
10085         * testsuite/server/: Makefile.am, StreamTest.cpp:
10086           gnash::stream testing (for now it's just bit streaming, as a tool
10087           for optimization of the read_uint)
10089 2007-08-27 Zou Lunkai <zoulunkai@gmail.com>
10090         
10091         * testsuite/actionscript.all/ops.as: more tests about NaN.
10092         * testsuite/actionscript.all/toString_valueOf.as: more tests for deduction.
10093           
10094 2007-08-27 Chad Musick <chadmusick@msbx.net>
10096         * server/BevelFilter.cpp,.h: Fuller conversion to AS compatible
10097         * server/BitmapFilter.h: Fuller conversion to AS compatible
10098         * server/stream.cpp: Remove dead code from read_fixed
10099         * server/asobj/Makefile.am Add new files
10100         * server/parser/filter_factory.cpp: Removed typo bug pointed out by
10101           Zou.
10102         * server/vm/ASHandlers.cpp,.h: Remove use of variable sized array.
10103         * server/asobj/BevelFilter_as.cpp,.h: Adapter pattern object for using
10104           BevelFilter inside of ActionScript (not yet put in global)
10105         * server/asobj/BitmapFilter_as.cpp,.h: Adapater pattern object for
10106           using BitmapFilter inside of ActionScript (not yet put in global)
10108 2007-08-26 Deanna Phillips <deanna>
10110         * doc/gnash.1: Updated.
10112 2007-08-26 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10114         * gui/gtk.cpp, gui/gtksup.h: Add treeview to Movie Properties
10115           ready for InfoTree display.
10117 2007-08-26 Chad Musick <chadmusick@msbx.net>
10119         * server/Makefile.am: Add new files, remove obsolete ones.
10120         * server/BevelFilter.h,.cpp: A Bevel display object filter
10121         * server/BitmapFilter.h: Base class for other filters
10122         * server/BlurFilter.h,.cpp: A Blur display object filter
10123         * server/ColorMatrixFilter.h,.cpp: A color matrix display filter
10124         * server/ConvolutionFilter.h,.cpp: A convolution display filter
10125         * server/DropShadowFilter.h,.cpp: A drop shadow display filter
10126         * server/GlowFilter.h,.cpp: A glow display filter
10127         * server/GradientBevelFilter.h,.cpp: A gradient bevel filter
10128         * server/GradientGlowFilter.h,.cpp: A gradient glow filter
10129         * server/filters.h,.cpp: Removed (split to other files)
10130         * server/stream.h,stream.cpp: Added read_float, read_short_ufixed,
10131           fixed calculation of value in read_short_fixed, added read_ufixed
10132         * server/parser/filter_factory.h,.cpp: parsing code of filters
10133         * server/swf/PlaceObject2Tag.cpp: Changed to use new filters
10135 2007-08-26 Sandro Santilli <strk@keybit.net>
10137         * configure.ac: keep mit-shm enabled by default (use --disable-mit-shm
10138           to disable).
10139         * doc/C/usermanual/installation/feature_configuration.xml: update
10140           documentation about --disable-mit-shm.
10142 2007-08-26 Lauri Myllari    <lauri.myllari@gmail.com>
10144         * gui/gtk_glue_agg.cpp: fix expose events with mit-shm, by
10145           disabling double buffering for _drawing_are
10147 2007-08-26 Sandro Santilli <strk@keybit.net>
10149         * server/asobj/string.cpp (string_split): correctly handle some more
10150           corner cases.
10151         * testsuite/swfdec/PASSING: string-split-empty-*.swf tests succeed.
10152         * testsuite/actionscript.all/String.as: some more testing for
10153           String.split
10155 2007-08-25 Sandro Santilli <strk@keybit.net>
10157         * testsuite/actionscript.all/toString_valueOf.as: note that any
10158           function is equal to any other in SWF5...
10159         * testsuite/actionscript.all/ops.as: more tests about isNaN(x) when
10160           x != NaN (odd)
10162 2007-08-25 Sandro Santilli <strk@keybit.net>
10164         * server/vm/ASHandlers.cpp (ActionNewLessThan): convert operands to
10165           primitive value before proceeding.
10166         * testsuite/actionscript.all/ops.as: xcheck => check
10168 2007-08-25 Sandro Santilli <strk@keybit.net>
10170         * server/vm/ASHandlers.cpp (ActionNewAdd): convert operands to
10171           primitive value before proceeding.
10172         * server/as_value.h: make to_primitive() public
10173         * server/as_value.cpp (to_number): if valueOf returned a string value
10174           call to_number() again on it; (equals): if one operand is a string
10175           and the other is a number, don't compare unless the string converts
10176           to a non-infinite number.
10177         * testsuite/actionscript.all/Number.as: add test for 'string'
10178           convertion to number returning NaN
10179         * testsuite/actionscript.all/ops.as: xcheck => check
10180         * testsuite/actionscript.all/toString_valueOf.as xcheck => check
10182 2007-08-24 Sandro Santilli <strk@keybit.net>
10184         * server/dlist.{h,cpp} (replace_character): call unload() on replaced
10185           character and document the fact.
10186         * server/as_value.cpp: undefine the MOVIECLIP_AS_SOFTREF macro, tweak
10187           equalSameType() and to_sprite() to use MOVIECLIP targets only when 
10188           they are unloaded.
10189         * testsuite/misc-ming.all/displaylist_depths_test2.c: xcheck => check
10190           (no more failures from this test)
10191         * testsuite/actionscript.all/MovieClip.as: xcheck => check
10192           (soft-references related)
10193         * testsuite/actionscript.all/case.as: xcheck => check (soft refs).
10195 2007-08-24 Miriam Ruiz <little_miry@yahoo.es>
10197         * plugin/klash/klash_part.cpp: Patch for GNASHEXE.
10199 2007-08-24 Sandro Santilli <strk@keybit.net>
10201         * testsuite/actionscript.all/MovieClip.as: more test for 
10202           soft references.
10203         * server/as_value.cpp: fix build when MOVIECLIP_AS_SOFTREF is
10204           undefined.
10205         * server/swf/PlaceObject2Tag.cpp (loader): remove unused variable.
10206         * server/as_environment.{cpp,h}: use a static const for expressing
10207           number of global registers.
10209 2007-08-24 Sandro Santilli <strk@keybit.net>
10211         * libbase/: tree.hpp => tree.hh: don't change original name of
10212           external source code.
10213         * libbase/Makefile.am: distribute tree.hh
10215 2007-08-24 Sandro Santilli <strk@keybit.net>
10217         * testsuite/actionscript.all/MovieClip.as: test that '_root' and
10218           '_level0' can be accessed as members of a movieclip, while 'this'
10219           cannot.
10220         * testsuite/actionscript.all/delete.as: add TODO request for testing
10221           variable access by path
10222         * testsuite/actionscript.all/getvariable.as: add test for accessing
10223           slash-based paths starting with 'this'
10224         * server/sprite_instance.cpp (get_member): don't consider 'this' as
10225           a member.
10226         * server/as_environment.cpp (find_object_{slash,dot}syntax): handle
10227           paths starting with 'this'.
10229 2007-08-24 Zou Lunkai <zoulunkai@gmail.com>
10230         
10231         * testsuite/misc-ming.all/DefineEditTextVariableNameTest2.c: add a new 
10232           testcase for EditText variables, not enabled yet, need review.
10233           
10234 2007-08-24 Chad Musick <chadmusick@msbx.net>
10236         * server/swf/PlaceObject2Tag.cpp,h: Add support for the
10237           PlaceObject3 tag.  This immediately improves some SWF 8
10238           support.  The tag still needs to do something with the
10239           filters which it loads.
10240         * server/impl.cpp: Add a loader for PlaceObject3, remove
10241           loaders for DefineShape4, which isn't yet functional.
10243 2007-08-24 Chad Musick <chadmusick@msbx.net>
10245         * server/swf.h: Add FOCAL_GRADIENT to fill styles.
10247 2007-08-24 Chad Musick <chadmusick@msbx.net>
10249         * server/stream.cpp,h: Add read_short_fixed() function for
10250           what short fixed values (16 bits) are needed rather than
10251           long fixed values (32 bits) from the SWF stream.
10253 2007-08-24 Chad Musick <chadmusick@msbx.net>
10255         * server/filters.cpp,h: Effect filters for PlaceObject3 and
10256           for buttons. No current effect, but it parses correctly from SWF.
10257         * Makefile.am: Add the filters files.
10259 2007-08-23 Sandro Santilli <strk@keybit.net>
10261         * server/as_environment.h: document case-sensitiveness of
10262           find_target.
10263         * server/character.{h,cpp} (get_relative_target_common):
10264           document and fix case-sensitiveness.
10265         * server/vm/ASHandlers.cpp (ActionSetProperty): log a actionscript
10266           error if trying to set the property of an unknown target.
10267         * server/sprite_instance.cpp (get_member, get_relative_target): be
10268           case sensitive/insensitive based on SWF target version.
10269         * testsuite/actionscript.all/case.as: more tests; some unexpected
10270           successes, some unexpected failures.
10272 2007-08-23 Udo Giacomozzi <udo.gnu@nova-sys.net>
10274         * backend/render_handler_agg.cpp: remove need_shape_bounds()
10275         
10276 2007-08-23 Sandro Santilli <strk@keybit.net>
10278         * server/parser/shape_character_def.{cpp,h}: document
10279           the read function; compute bound when not available
10280           in the SWF (glyphs in DEFINEFONT*).
10282 2007-08-23 Sandro Santilli <strk@keybit.net>
10284         * libamf/amf.{cpp,h}: fixed a bunch of memory errors, added
10285           some dox, first pass to interface clean ups.
10286         * testsuite/libamf.all/Makefile.am: add testsuite/ to the 
10287           include dir, to allow for using our check_equals functions.
10288         * testsuite/libamf.all/: test_object.cpp, test_string.cpp,
10289           test_variable.cpp: fixed new[]/delete mismatches.
10291 2007-08-23 Udo Giacomozzi <udo.gnu@nova-sys.net>
10293         * backend/render_handler_agg.cpp: Initial support for glyphs
10294           with known bounds
10296 2007-08-23 Sandro Santilli <strk@keybit.net>
10298         * testsuite/actionscript.all/case.as: reduce alpha of clips used
10299           for visual checking, to avoid hiding the visual traces; don't
10300           print totals twice.
10302 2007-08-23 Udo Giacomozzi <udo.gnu@nova-sys.net>
10304         * backend/render_handler.h, backend/render_handler_agg.cpp, 
10305           backend/render_handler_tri.{cpp,h}, server/edit_text_character.cpp,
10306           server/render.cpp, server/render.h: add parameter "masked" to 
10307     draw_poly(), adjust calls to this function and implement (un)masked
10308     polygons in AGG renderer (see bug #20655).
10309         * backend/render_handler_agg.cpp: draw_line_strip() now applies masks 
10311 2007-08-23 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10313         * libbase/rc.{cpp,h}: expandPath called on non-POSIX systems
10314           for other path operations. Whitelist and blacklist now space
10315           not colon separated. NOTE: old lists still work, but should
10316           be deprecated. Made private: extractSetting, extractNumber.
10317           Minor code cleanups.
10318         * docs/C/usermanual/usage/gnashrc.xml: add info about black-
10319           and whitelists.
10321 2007-08-23 Sandro Santilli <strk@keybit.net>
10323         * configure.ac: move BOOST macro detector invocation after
10324           PTHREAD one, as the former requires the latter.
10326 2007-08-23 Deanna Phillips <deanna>
10328         * macros/pthreads.m4: set pthread flags to -pthread for openbsd.
10329         * libbase/rc.cpp: include unistd.h for getuid()
10331 2007-08-23 Markus Gothe <nietzsche@lysator.liu.se>
10333         * libamf/amf.cpp: memcpy -> strncpy, since it does a memory 
10334         access violation on Darwin (and probably other OSes).
10336 2007-08-23 Sandro Santilli <strk@keybit.net>
10338         * testsuite/misc-mtasc.all/Makefile.am: specify input language 
10339           in MTASC_CPP, so we can use a filename again (rather then
10340           get meaningless <stdin> printed for __FILE__).
10341         * gui/gui.{cpp,h}: Use kasper's tree class for getMovieInfo
10342           (InfoTable is now an InfoTree)
10343         * gui/gtk.cpp (menuitem_movieinfo_callback): fix to use
10344           an InfoTree - just a leaf-iteration.
10346 2007-08-23 Sandro Santilli <strk@keybit.net>
10348         * libbase/tree.hh: include generic tree class by
10349           Kasper Peeters <kasper.peeters@aei.mpg.de>
10351 2007-08-23 Sandro Santilli <strk@keybit.net>
10353         * testsuite/misc-mtasc.all/exception.as: more tests for
10354           try/catch/finally.
10356 2007-08-22 Sandro Santilli <strk@keybit.net>
10358         * server/swf.h: add version and reference url to
10359           ACTION_TRY and ACTION_THROW
10360         * server/parser/action_buffer.h: add read_uint8() method.
10361         * server/vm/ASHandlers.cpp: stub ACTION_TRY handler
10362           (parsed the tag, doesn't do anything with the info yet).
10363         * testsuite/misc-mtasc.all/exception.as: more tests for
10364           try/catch/finally.
10366 2007-08-22 Sandro Santilli <strk@keybit.net>
10368         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp:
10369           Try another work-around to gcc-4.1.2 bug, commented
10370           this time.
10371         * testsuite/actionscript.all/MovieClip.as:
10372           Modify syntax used to test for functions availability
10373           to cope with a bug in Ming < 00040005.
10374           Should fix bug #20867.
10376 2007-08-22 Chad Musick <chadmusick@msbx.net>
10378         * server/font.h, server/font.cpp: Define
10379           m_display_name and m_copyright_name for the
10380           DefineFontName tag (88) of SWF 9, reader
10381           for the tag.
10382         * server/swf.h Add DEFINEFONTNAME tag to list.
10383         * server/impl.cpp Set loader for DefineFontName
10384         * server/swf/tag_loaders.h,.cpp Add loader for
10385           DefineFontName tag.
10387 2007-08-22 Sandro Santilli <strk@keybit.net>
10389         * configure.ac: bail out if kde gui or kparts plugin are
10390           requested but kde/qt deps are not met. Should fix bug
10391           #20848.
10393 2007-08-22 Sandro Santilli <strk@keybit.net>
10395         * configure.ac: bail out if boost_thread is not set to yes.
10396         * macros/boost.m4: check for boost/thread.hpp. Should fix
10397           bug #20847.
10399 2007-08-22 Zou Lunkai <zoulunkai@gmail.com>
10400         
10401         * testsuite/misc-ming.all/masks_test2.c, 
10402           testsuite/misc-ming.all/masks_test2runner.cpp, 
10403           testsuite/misc-ming.all/Makefile.am: new testcase for nested masks.
10404           
10405 2007-08-22 Zou Lunkai <zoulunkai@gmail.com>
10406         
10407         * server/dlist.cpp, server/sprite_instance.cpp: handle hiden characters
10408           as masks, passed UdoG's test files.
10409         
10410 2007-08-22 Chad Musick <chadmusick@msbx.net>
10412         * server/impl.cpp: Add tag loaders (default loaders)
10413           for SWF9 opcodes, plus some older opcodes which were
10414           not present.
10416 2007-08-21 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10418         * gui/gtk.cpp: rename View->MovieInfo to View->Properties,
10419           make layout nicer and labels selectable.
10421 2007-08-21 Sandro Santilli <strk@keybit.net>
10423         * libbase/embedVideoDecoderGst.cpp (createDecoder): don't
10424           abort if outputFormat is NONE (renderer missing).
10425           Fixes bug bug #20852.
10427 2007-08-21 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10429         * configure.ac: look for getpwnam
10430         * libbase/rc.cpp (expandPath): don't try to use getpwnam
10431           if not provided by OS.
10433 2007-08-21 Udo Giacomozzi <udo.gnu@nova-sys.net>
10435         * gui/gui.cpp: Introduce FORCE_REDRAW macro
10437 2007-08-21 Sandro Santilli <strk@keybit.net>
10439         * server/text.h: documentation bits for text_glyph_record
10440         * server/edit_text_character.{cpp,h}: Add support for dynamic 
10441           wordWrap setting and initial autoSize handling.
10442         * server/parser/edit_text_character_def.h: style & cleanups.
10443         * testsuite/actionscript.all/TextField.as: more successes.
10445 2007-08-21 Chad Musick <chadmusick@msbx.net>
10447         * testsuite/misc-ming.all/DrawingApiTestRunner.cpp
10448           Add a . output to stderr to fix a problem with make check in some
10449           versions of gcc.
10451 2007-08-21 Udo Giacomozzi <udo.gnu@nova-sys.net>
10453         * backend/render_handler_tri.cpp: fix world_to_pixel() so that OpenGL
10454           works again   
10456 2007-08-21 Chad Musick <chadmusick@msbx.net>
10458         * server/swf.h: Add new tag values for SWF 9 support.
10460 2007-08-21 Zou Lunkai <zoulunkai@gmail.com>
10461         
10462         * server/dlist.cpp: update display(), for masks, please check.
10463         
10464 2007-08-21 Sandro Santilli <strk@keybit.net>
10466         * server/edit_text_character.cpp (add_invalidated_bounds): use
10467           instance bounds, not definition ones; reformat text when _width
10468           or _height changes.
10469         * testsuite/misc-swfc.all/Makefile.am: use an absolute
10470           path for MEDIADIR to make swfc happy; don't do anything
10471           on make check if SWFC is not enabled.
10473 2007-08-21 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10475         * libbase/rc.{cpp,h}: Fixes a typo, matches the whole username if
10476           there's no slash (following POSIX) and makes expandPath
10477           (not expandTilde) private.
10479 2007-08-20 Chad Musick <chadmusick@msbx.net>
10481         * server/vm/ASHandlers.h: Add helper function for multi-byte
10482           string handling
10483         * server/vm/ASHandlers.cpp: Implement helper function for multi-
10484           byte strings and implement multi-byte versions of strlen,
10485           substr, and chr
10487 2007-08-20 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10489         * configure.ac: look for the pwd.h header
10490         * doc/C/usermanual/usage/gnashrc.xml: add info about tilde expansion.
10491         * libbase/rc.{cpp,h}: add support for tilde expansion in debugLog
10492           value.
10494 2007-08-20 Sandro Santilli <strk@keybit.net>
10496         * libbase/log.{cpp,h}: print an error on stderr of the debug log file
10497           can not be opened for writing. Minor cleanups (including dox).
10499 2007-08-20 Sandro Santilli <strk@keybit.net>
10501         * server/vm/ExecutableCode.h (FunctionCode::markReachableResources):
10502           Don't mark the function twice, and most importantly don't forget
10503           to mark the target character !!
10505 2007-08-20 Asger Ottar Alstrup <asger@area9.dk>
10507         * testsuite/misc-mtasc.all/: Makefile.am, exception.as:
10508           Test for try/catch (gnash fails).
10510 2007-08-20 Sandro Santilli <strk@keybit.net>
10512         * testsuite/libbase/: TCXXRc.cpp, gnashrc.in:
10513           Test 'set debuglog' directive.
10515 2007-08-20 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10517         * libbase/log.cpp: fix 'set debuglog' directive.
10519 2007-08-19 Sandro Santilli <strk@keybit.net>
10521         * testsuite/actionscript.all/ops.as: test that NaN and undefined are
10522           not less one other.
10523         * server/vm/ASHandlers.cpp (ActionGetVariables): simplify debugging
10524           output.
10526 2007-08-19 Sandro Santilli <strk@keybit.net>
10528         * server/vm/ASHandlers.cpp (CommonGetUrl): check for _level#
10529           loading even when loadTargetFlag is clear.
10530         * server/FreetypeGlyphsProvider.cpp: remove compiler warnings.
10531         * doc/C/usermanual/usage/gnashrc.xml: document
10532           flashVersionString variable.
10534 2007-08-19 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10536         * libbase/rc.{cpp,h}: Avoid string copies in inspectors;
10537           add getFlashVersionString (support for
10538           "set flashVersionString Bla bla bla" in gnashrc).
10539         * server/vm/VM.cpp (getPlayerVersion): Query RcInit for version
10540           string
10541         * testsuite/libbase/: TCXXRc.cpp, gnashrc.in:
10542           Add test for 
10544 2007-08-19 Markus Gothe <nietzsche@lysator.liu.se>
10546         * testsuite/libbase/Makefile.am, 
10547         testsuite/libamf.all/Makefile.am: Added DEJAGNU_CFLAGS.
10549 2007-08-18 Sandro Santilli <strk@keybit.net>
10551         * server/swf/tag_loaders.cpp (define_bits_lossless_2_loader):
10552           ensure bytes, not bits!
10553         * server/vm/ASHandlers.cpp (CommonGetUrl): always check
10554           for URL (security). Give precedence to loadVariable calls
10555           even if target is _level#. Fixes load of uptoten.com.
10556         * plugin/plugin.cpp: Use the environmental variable
10557           GNASH_PLUGIN_DESCRIPTION for the plugin description
10558           (when set).
10560 2007-08-18 Sandro Santilli <strk@keybit.net>
10562         * server/video_stream_instance.cpp: mark characters created
10563           using new Video as dynamic.
10564         * server/character.h (isDynamic): remove bogus assertion
10565           failing for dynamically-loaded movies.
10567 2007-08-18 Petr Pisar <petr.pisar@atlas.cz>
10569         * po/cs.po: updated to version of 20070804
10571 2007-08-18 Sandro Santilli <strk@keybit.net>
10573         * libbase/log.cpp: change the log_unimpl label to UNIMPLEMENTED.
10574         * server/text.cpp (resolve_font): fix missing return.
10575         * server/parser/text_character_def.cpp: fix compiler warnings.
10577 2007-08-18 Sandro Santilli <strk@keybit.net>
10579         * gui/gui.{cpp,h}: add a getMovieInfo() function as a quick hack
10580           to print movie information.
10581         * gui/: gtk.cpp, gtksup.h: add a View->movieInfo menu item.
10583 2007-08-18 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10585         * configure.ac: define flash player version macros
10586           for compatibility detectors.
10587         * plugin/plugin.cpp: build the flash player version
10588           using provided macros.
10589         * server/vm/VM.cpp: buil flash player version using
10590           provided macros.
10592 2007-08-18 Sandro Santilli <strk@keybit.net>
10594         * server/as_object.h (ensureType): fix printing of *source* type
10595           name.
10596         * macros/firefox.m4: don't substitute GNASHEXE at all, it's not
10597           used anymore.
10599 2007-08-18 Sandro Santilli <strk@keybit.net>
10601         * server/text.{cpp,h}: make text_style class store only the font
10602           pointer, w/out the font_id, provide setFont and getFont
10603           methods, the former always performing a lookup.
10604         * server/parser/text_character_def.cpp (read): use
10605           text_style::setFont() to set the font this properly updates
10606           the actual font pointer in the text_format, fixing bug #20812.
10607         * server/edit_text_character.cpp: use text_style::setFont() to
10608           set font by pointer.
10609         * server/parser/: movie_definition.h, movie_def_impl.{h,cpp},
10610           sprite_definition.h: const-correct get_font() method.
10611         * server/parser/movie_def_impl.{h,cpp}: const-corrected
10612           in_import_table(), made private and re-activated assertion
10613           checking temporarly removed during to GC layout changes.
10615 2007-08-18 Sandro Santilli <strk@keybit.net>
10617         * server/parser/text_character_def.cpp: use symbolic names for
10618           tag types, more verbose parsing.
10620 2007-08-18 Sandro Santilli <strk@keybit.net>
10622         * libbase/jpeg.cpp (jpeg_error_exit): only print SWF errors if
10623           configured to do so; (input_impl): throw an exception if
10624           jpeg_read_header detected errors.
10625         * server/swf/tag_loaders.cpp (jpeg_tables_loader,
10626           define_bits_jpeg_loader): early exception checking to avoid
10627           parser interruption on malformed embedded jpeg.
10629 2007-08-18 Felix Eckhofer <felix@tribut.de>
10631         * plugin/klash/klash_part.cpp: use the -u switch when invoking
10632           the standalone gnash. Fixes youtube playback for konqueror.
10633           Still missing -U and -P switches.
10635 2007-08-18 Sandro Santilli <strk@keybit.net>
10637         * macros/firefox.m4: drop --with-gnashexe and GNASHEXE macro
10638         * plugin/Makefile.am: define GNASHBINDIR based on ${bindir}
10639         * plugin/klash/Makefile.am: define GNASHBINDIR based on ${bindir}
10641 2007-08-17 Sandro Santilli <strk@keybit.net>
10643         * server/sprite_instance.cpp (setVariables):
10644           Convert variable names to lowercase when needed.
10645         * testsuite/misc-ming.all/: Makefile.am, FlashVarsTest.{as,html}:
10646           Test that parameter names are converted to lowercase when target
10647           SWF is < 7.
10649 2007-08-17 Benjamin Wolsey <benjamin_pelican@yahoo.co.uk>
10651         * server/vm/VM.cpp (getPlayerVersion): define FLASH_VERSION as
10652           a compatibility version for use by $version or
10653           System.capabilities.version based version detection kits.
10654           (TODO items added for a cleaner handling of this).
10655         * plugin/plugin.cpp: define FLASH_VERSION as a compatibility version
10656           for use by javascript-based flash version detection kits.
10658 2007-08-17 Zou Lunkai <zoulunkai@gmail.com>
10659         
10660         * server/as_function.cpp: initialize '__proto__' instead of 'constructor'.
10661         * testsuite/actionscript.all/Inheritance.as: more passes.
10663 2007-08-17  Alfred M. Szmidt  <ams@gnu.org>
10665         * configure.ac: State that a <= 2.4 version of AGG is an error.
10667 2007-08-16 Takashi Iwai <tiwai@suse.de>
10669         * libbase/network.cpp (Network::createServer): fix a bug making
10670           the test for DEFAULTPROTO == "udp" always fail.
10672 2007-08-16 Sandro Santilli <strk@keybit.net>
10674         * server/edit_text_character.{cpp,h}: have a Range2d member to express
10675           current TextField boundary (_width,_height). Implement _width and
10676           _height setters. Add compile-time macro for debugging (still doesn't
10677           work as expected).
10678         * server/gnash.h: add more descriptions, a set() method and TODO items
10679           for the 'point' class.
10680         * testsuite/actionscript.all/TextField.as: more passes.
10682 2007-08-16 Zou Lunkai <zoulunkai@gmail.com>
10684         * testsuite/misc-ming.all/registerClassTest2.c, Makefile.am: new testcase
10685           for Object.registerClass.
10686         * testsuite/misc-ming.all/registerClassTest.c, 
10687           testsuite/actionscript.all/Object.as, toString_valueOf.as: testcases review,
10688           minor comments or changes.
10689         * testsuite/actionscript.all/Inheritance.as: more tests. testing for inheritance
10690           never stops:)
10691         
10692 2007-08-15 Sandro Santilli <strk@keybit.net>
10694         * testsuite/actionscript.all/TextField.as: a few more tests for
10695           interaction between _width, autoSize and wordWrap (more needed).
10697 2007-08-15 Zou Lunkai <zoulunkai@gmail.com>
10699         * testsuite/actionscript.all/Object.as: more tests and new failures.
10700           
10701 2007-08-14 Tomas Groth Christensen <tomasgroth@yahoo.dk>
10703         * backend/sound_handler_sdl.cpp: Also count sounds who stops
10704           because the reached the end. Fixes random eventSoundTest1
10705           failures.
10707 2007-08-14 Ivor Blockley <meteoryte@yahoo.com.au>
10709         * server/array.cpp: replace VLAs with std containers.
10710           
10711 2007-08-13 Sandro Santilli <strk@keybit.net>
10713         * testsuite/actionscript.all/TextField.as: add more tests for
10714           background, backgroundColor and interaction between _width and
10715           autoSize.
10717 2007-08-13 Zou Lunkai <zoulunkai@gmail.com>
10719         * server/sprite_instance.{h,cpp}: deprecate clone_display_object(), use 
10720           duplicateMovieClip() instead.
10721         * testsuite/actionscript.all/ops.as: more tests.
10722         * testsuite/samples/gotoFrameOnKeyEvent-TestRunner.cpp: finish the test runner.
10724 2007-08-12 Sandro Santilli <strk@keybit.net>
10726         * server/edit_text_character.{cpp,h}: add autoSize getter/setter
10727           (still not used)
10728         * testsuite/actionscript.all/TextField.as: add tests for autoSize
10729           member.
10730         * testsuite/misc-ming.all/DefineEditTextTest.c: add TODO items.
10732 2007-08-12 Sandro Santilli <strk@keybit.net>
10734         * server/as_value.h: add is_bool()
10735         * server/edit_text_character.h (getBounds): add TODO item
10736           (I belive is a fix for bug #20760)
10738 2007-08-10 Sandro Santilli <strk@keybit.net>
10740         * backend/sound_handler_sdl.cpp: fix build for MAD media handler.
10741         * server/shape.cpp: remove useless include of hash_wrapper.h
10742         * gui/Makefile.am: fix build of sdl/cairo
10743         * configure.ac: abort if a requested renderer/gui combination
10744           isn't supported (checked for gtk/kde/sdl/fb/fltk)
10746 2007-08-10 Sandro Santilli <strk@keybit.net>
10748         * gui/Makefile.am: typo preventing gtk/cairo combination from building
10749         * server/FreetypeGlyphsProvider.{cpp,h}: add a destructor getting
10750           rid of the resources associated with a face.
10751         * configure.ac: FLTK/OGL isn't supported, while SDL/OGL is !
10752         * testsuite/media/: README, sound1.wav:
10753           Moved sound1.wav data from swfc dir to media dir,
10754           add some info about it and sound1.mp3.
10755         * testsuite/misc-swfc.all/sound.wav: moved to
10756           media/sound1.wav
10757         * testsuite/misc-swfc.all/Makefile.am: define MEDIADIR
10758         * testsuite/misc-swfc.all/check.sc: define a MEDIA
10759           macro
10760         * testsuite/misc-swfc.all/sound.sc: use the MEDIA macro
10761           to find media stuff.
10763 2007-08-10 Sandro Santilli <strk@keybit.net>
10765         * Makefile.am, configure.ac, testsuite/Makefile.am,
10766           testsuite/misc-swfc.all/Makefile.am:
10767           Enable swfc testsuite if 'swfc' is found on the system.
10769 2007-08-10 David Rorex  <drorex@gmail.com>
10771         * server/FreetypeGlyphsProvider.cpp: minor change to print the
10772           freetype glyph format in human readable form. patch #6148.
10774 2007-08-10 Sandro Santilli <strk@keybit.net>
10776         * server/vm/ActionExec.{cpp,h}: refactor the check for call stack
10777           depth at end of execution to take depth at *start* of execution
10778           into account.
10780 2007-08-10 Sandro Santilli <strk@keybit.net>
10782         * server/vm/ActionExec.cpp (cleanupAfterRun): don't assume the call
10783           stack should be empty at the end of global code execution. Still
10784           print an error as we need further investigation about it. Fixes
10785           bug #20740.
10787 2007-08-10 Paul Smedley <paul@smedley.info>
10789         * libbase/URL.cpp, libbase/container.h, libbase/network.cpp,
10790           libbase/network.h, libbase/tu_config.h, libbase/tu_timer.cpp,
10791           server/shm.cpp, server/shm.h, server/vm/ASHandlers.cpp,
10792           utilities/dumpshm.cpp: Build support for OS/2.
10794 2007-08-10 Sandro Santilli <strk@keybit.net>
10796         * server/parser/Timeline.h (getFrameDepths): lock the mutex, as
10797           documented in method description.
10799 2007-08-10 Tomas Groth Christensen <tomasgroth@yahoo.dk>
10801         * backend/sound_handler.h, backend/sound_handler_{sdl,gst}.{h,cpp},
10802           server/swf/tag_loaders.cpp: Introduce the SoundInfo class which 
10803           contains the properties of the sound (format, samplerate, etc.).
10804           When parsing a sound-tag the SoundInfo-object is created and
10805           passed to the soundhandler along with the audio data, and the
10806           parser can later ask for the SoundInfo-object for a specific
10807           sound, which is needed when parsing sound-streams.
10809 2007-08-10 Alexander Sack <asac@jwsdot.com>
10811         * backend/Makefile.am, libamf/Makefile.am, libbase/Makefile.am,
10812           libgeometry/Makefile.am, plugin/mozilla-sdk/Makefile.am,
10813           server/Makefile.am: use $pkglibdir for unversioned libs.
10815 2007-08-09 Sandro Santilli <strk@keybit.net>
10817         * server/swf/tag_loaders.cpp (sound_stream_block_loader): don't
10818           discard the first 4 bytes if not reading an MP3. Makes ADPCM
10819           sound better for the feed.swf case (but ADPCM decoder needs
10820           lot more work to be correct)
10822 2007-08-09 Sandro Santilli <strk@keybit.net>
10824         * server/FreetypeGlyphsProvider.cpp (getGlyph): don't abort if
10825           FT_Load_Char doesn't return an outline glyph, rather print
10826           an UNIMPLEMENTED message and the type of glyph you got.
10827         * server/swf/tag_loaders.cpp (ADPCMDecoder::adpcm_expand):
10828           Rather then throwing a ParseException, just print an error
10829           as it's much likely the error is in Gnash parser, rather
10830           then in a malformed SWF, and tests show we do a better
10831           job like that then by stopping the parser.
10832           Also, print an error if the bytesNeeded computation doesn't
10833           match the actual number of bytes read.
10835 2007-08-09 Sandro Santilli <strk@keybit.net>
10837         * server/swf/tag_loaders.cpp: move all ADPCM-related code in an
10838           ADPCMDecoder class.
10839         * README_CVS: minimum version of automake is 1.9.6. 1.7 and 1.8 have
10840           been tried w/out success. Might be a regression, but that is...
10841         * server/button_character_instance.cpp (construct): properly construct
10842           all button child characters. Fixes bug #20729.
10843         * server/swf/tag_loaders.cpp (adpcm_expand): another try at fixing the
10844           needed bytes count for compressed adpcm samples. Also, remove call
10845           to ceil.
10847 2007-08-09 Zou Lunkai <zoulunkai@gmail.com>
10848         
10849         * server/character.h: add a constant 'noRatioValue'.
10850         * server/dlist.cpp: In function move_display_object(), don't set ratio
10851           to zero when no ratio value provided by the displaylist tags; In function
10852           reset(), remove all none-referenceable characters.
10853         * server/parser/timeline.h: revert to 1.3, keep strk's design, use std::set
10854           instead of std::map.
10855         * server/parser/movie_def_impl.h, movie_definition.h, sprite_definition.h:
10856           update interface of getTimelineDepths().
10857         * server/parser/morph2_character_def.cpp: set ratio value to zero at rendering 
10858           time when no one is provided. 
10859         * server/sprite_instance.h: add a member variable is_jumping_back.
10860         * server/sprite_instance.cpp: reimplement add_display_object(); cleanup 
10861           goto_frame(); wipe out timeline design 1,2,3; deprecate resetDisplayList();
10862           ready to deprcate 'replace_if_depth_is_occupied '.
10863         * server/swf/placeObject2Tag.cpp: set ratio to character::NoRatioValue instead of
10864           zero when no ratio provided.
10865         * testsuite/misc-ming.all/place_and_remove_object_insane_test.c: xchecks to checks.
10866           should fix bug 20504. All in all, hopefully improved the old timeline design.
10867         
10868 2007-08-09 David Rorex  <drorex@gmail.com>
10870         * testsuite/misc-swfc.all: new directory for testcases.
10871         * testsuite/misc-swfc.all/check.sc, Dejagnu.sc, sound.sc, hello.sc,
10872           sound.wav, Makefile.am: new test framework by using swfc.