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