gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/ASSound.cpp server/Funct...


From: Rob Savoye
Subject: [Gnash-commit] gnash ChangeLog server/ASSound.cpp server/Funct...
Date: Wed, 07 Jun 2006 03:03:22 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Rob Savoye <rsavoye>    06/06/07 03:03:22

Modified files:
        .              : ChangeLog 
        server         : ASSound.cpp Function.cpp Global.cpp Key.cpp 
                         Key.h Makefile.am action.cpp array.cpp 
                         as_environment.cpp as_object.cpp button.cpp 
                         dlist.cpp edit_text_character_def.cpp font.cpp 
                         fontlib.cpp impl.cpp morph.cpp morph2.cpp 
                         movie_def_impl.cpp movie_root.cpp 
                         shape_character_def.cpp sound.cpp 
                         sound_handler_mp3.cpp sprite_definition.cpp 
                         sprite_instance.cpp stream.cpp styles.cpp 
                         text.cpp types.cpp types.h 
        server/swf     : ASHandlers.cpp tag_loaders.cpp 
        libbase        : Makefile.am log.cpp log.h rc.cpp rc.h 
        testsuite/libbase: Makefile.am TCXXRc.cpp gnashrc.in 
        utilities      : parser.cpp processor.cpp 
        backend        : Makefile.am gnash.cpp gtksup.cpp gtksup.h 
                         sound_handler_sdl.cpp 

Log message:
                * backend/gnash.cpp: Load config file, and use those values if
                they exist. Command line options override config file settings.
                * backend/gtksup.cpp: Trap the shift and control modifier keys
                too.
                * backend/gtksup.h: Don't initialize externs.
                * backend/sound_handler_sdl.cpp: Use new logging macros.
                * libbase/Makefile.am: Add SDL libs.
                * libbase/log.cpp: Add log_action() and log_parse() to replace 
the
                old macros.
                * libbase/log.h: Add support for optionally logging actions and
                parsing.
                * libbase/rc.cpp: Add support for optionally logging actions and
                parsing. Add extractNumber() for numeric config file values. Add
                dump() method.
                * libbase/rc.h: Add new config file options for optionally 
logging
                actions and parsing.
                * server/ASSound.cpp: Use new logging functions for actions and
                parsing. 
                * server/Function.cpp: Use new logging functions for actions and
                parsing.
                * server/Global.cpp: Use new logging functions for actions and
                parsing. Put in gnash namespace.
                * server/Key.cpp, Key.h: Add copyright notice.
                * server/action.cpp: Use new logging functions for actions and
                parsing.
                * server/array.cpp: Use new logging functions for actions and
                parsing.
                * server/as_environment.cpp: Use new logging functions for 
actions
                and parsing.
                * server/as_object.cpp: Use new logging functions for actions 
and
                parsing.
                * server/button.cpp: Use new logging functions for actions and
                parsing.
                * server/dlist.cpp: Use new logging functions for actions and
                parsing.
                * server/edit_text_character_def.cpp: Use new logging functions
                for actions and parsing.
                * server/font.cpp: Use new logging functions for actions and
                parsing.
                * server/fontlib.cpp: Use new logging functions for actions and
                parsing.
                * server/impl.cpp: Use new logging functions for actions and
                parsing.
                * server/morph.cpp: Use new logging functions for actions and
                parsing.
                * server/morph2.cpp: Use new logging functions for actions and
                parsing.
                * server/movie_def_impl.cpp: Use new logging functions for 
actions
                and parsing.
                * server/movie_root.cpp: Use new logging functions for actions 
and
                parsing.
                * server/shape_character_def.cpp: Use new logging functions for
                actions and parsing.
                * server/sound.cpp: Use new logging functions for actions and
                parsing.
                * server/sound_handler_mp3.cpp: Use new logging functions for
                actions and parsing.
                * server/sprite_definition.cpp: Use new logging functions for
                actions and parsing.
                * server/sprite_instance.cpp:Use new logging functions for 
actions
                and parsing.
                * server/stream.cpp:Use new logging functions for actions and
                parsing.
                * server/styles.cpp:Use new logging functions for actions and
                parsing.
                * server/text.cpp: Use new logging functions for actions and
                parsing.
                * server/types.cpp:Use new logging functions for actions and
                parsing.
                * server/types.h:Use new logging functions for actions and
                parsing.
                * server/swf/ASHandlers.cpp: Use new logging functions for 
actions
                and parsing.
                * server/swf/tag_loaders.cpp: Use new logging functions for 
actions
                and parsing.
                * testsuite/libbase/Makefile.am: Comment out Log test case for
                now.
                * testsuite/libbase/gnashrc.in: Add items for all config values.
                * utilities/parser.cpp: Use new logging functions for actions
                and parsing.
                * utilities/processor.cpp: Use new logging functions for actions
                and parsing.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.391&r2=1.392
http://cvs.savannah.gnu.org/viewcvs/gnash/server/ASSound.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Function.cpp?cvsroot=gnash&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Global.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Key.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Key.h?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Makefile.am?cvsroot=gnash&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/gnash/server/action.cpp?cvsroot=gnash&r1=1.79&r2=1.80
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button.cpp?cvsroot=gnash&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character_def.cpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/server/font.cpp?cvsroot=gnash&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnash/server/fontlib.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/impl.cpp?cvsroot=gnash&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/gnash/server/morph.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/morph2.cpp?cvsroot=gnash&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_def_impl.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/shape_character_def.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sound.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sound_handler_mp3.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_definition.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/server/stream.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/styles.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/text.cpp?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/server/types.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/types.h?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/Makefile.am?cvsroot=gnash&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/log.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/log.h?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/rc.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/rc.h?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/libbase/Makefile.am?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/libbase/TCXXRc.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/libbase/gnashrc.in?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/utilities/parser.cpp?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/utilities/processor.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/Makefile.am?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/gnash.cpp?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/gtksup.cpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/gtksup.h?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/sound_handler_sdl.cpp?cvsroot=gnash&r1=1.10&r2=1.11

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.391
retrieving revision 1.392
diff -u -b -r1.391 -r1.392
--- ChangeLog   1 Jun 2006 07:44:11 -0000       1.391
+++ ChangeLog   7 Jun 2006 03:03:21 -0000       1.392
@@ -1,3 +1,88 @@
+2006-06-07 Rob Savoye <address@hidden>
+
+       * backend/gnash.cpp: Load config file, and use those values if
+       they exist. Command line options override config file settings.
+       * backend/gtksup.cpp: Trap the shift and control modifier keys
+       too.
+       * backend/gtksup.h: Don't initialize externs.
+       * backend/sound_handler_sdl.cpp: Use new logging macros.
+       * libbase/Makefile.am: Add SDL libs.
+       * libbase/log.cpp: Add log_action() and log_parse() to replace the
+       old macros.
+       * libbase/log.h: Add support for optionally logging actions and
+       parsing.
+       * libbase/rc.cpp: Add support for optionally logging actions and
+       parsing. Add extractNumber() for numeric config file values. Add
+       dump() method.
+       * libbase/rc.h: Add new config file options for optionally logging
+       actions and parsing.
+       * server/ASSound.cpp: Use new logging functions for actions and
+       parsing. 
+       * server/Function.cpp: Use new logging functions for actions and
+       parsing.
+       * server/Global.cpp: Use new logging functions for actions and
+       parsing. Put in gnash namespace.
+       * server/Key.cpp, Key.h: Add copyright notice.
+       * server/action.cpp: Use new logging functions for actions and
+       parsing.
+       * server/array.cpp: Use new logging functions for actions and
+       parsing.
+       * server/as_environment.cpp: Use new logging functions for actions
+       and parsing.
+       * server/as_object.cpp: Use new logging functions for actions and
+       parsing.
+       * server/button.cpp: Use new logging functions for actions and
+       parsing.
+       * server/dlist.cpp: Use new logging functions for actions and
+       parsing.
+       * server/edit_text_character_def.cpp: Use new logging functions
+       for actions and parsing.
+       * server/font.cpp: Use new logging functions for actions and
+       parsing.
+       * server/fontlib.cpp: Use new logging functions for actions and
+       parsing.
+       * server/impl.cpp: Use new logging functions for actions and
+       parsing.
+       * server/morph.cpp: Use new logging functions for actions and
+       parsing.
+       * server/morph2.cpp: Use new logging functions for actions and
+       parsing.
+       * server/movie_def_impl.cpp: Use new logging functions for actions
+       and parsing.
+       * server/movie_root.cpp: Use new logging functions for actions and
+       parsing.
+       * server/shape_character_def.cpp: Use new logging functions for
+       actions and parsing.
+       * server/sound.cpp: Use new logging functions for actions and
+       parsing.
+       * server/sound_handler_mp3.cpp: Use new logging functions for
+       actions and parsing.
+       * server/sprite_definition.cpp: Use new logging functions for
+       actions and parsing.
+       * server/sprite_instance.cpp:Use new logging functions for actions
+       and parsing.
+       * server/stream.cpp:Use new logging functions for actions and
+       parsing.
+       * server/styles.cpp:Use new logging functions for actions and
+       parsing.
+       * server/text.cpp: Use new logging functions for actions and
+       parsing.
+       * server/types.cpp:Use new logging functions for actions and
+       parsing.
+       * server/types.h:Use new logging functions for actions and
+       parsing.
+       * server/swf/ASHandlers.cpp: Use new logging functions for actions
+       and parsing.
+       * server/swf/tag_loaders.cpp: Use new logging functions for actions
+       and parsing.
+       * testsuite/libbase/Makefile.am: Comment out Log test case for
+       now.
+       * testsuite/libbase/gnashrc.in: Add items for all config values.
+       * utilities/parser.cpp: Use new logging functions for actions
+       and parsing.
+       * utilities/processor.cpp: Use new logging functions for actions
+       and parsing.
+
 2006-06-01 Vitaly Alexeev <address@hidden>
        * server/Math.h: porting to WIN32
        * server/network.h: porting to WIN32

Index: server/ASSound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/ASSound.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/ASSound.cpp  27 May 2006 18:24:33 -0000      1.5
+++ server/ASSound.cpp  7 Jun 2006 03:03:21 -0000       1.6
@@ -130,7 +130,7 @@
 void
 sound_start(const fn_call& fn)
 {
-    IF_VERBOSE_ACTION(log_msg("-- start sound \n"));
+    log_action("-- start sound \n");
     sound_handler* s = get_sound_handler();
                if (s != NULL)
                {
@@ -163,7 +163,7 @@
 void
 sound_stop(const fn_call& fn)
 {
-    IF_VERBOSE_ACTION(log_msg("-- stop sound \n"));
+    log_action("-- stop sound \n");
     sound_handler* s = get_sound_handler();
     if (s != NULL)
        {
@@ -176,7 +176,7 @@
 void
 sound_attachsound(const fn_call& fn)
 {
-    IF_VERBOSE_ACTION(log_msg("-- attach sound \n"));
+    log_action("-- attach sound \n");
     if (fn.nargs < 1)
        {
            log_error("attach sound needs one argument\n");

Index: server/Function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Function.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- server/Function.cpp 20 May 2006 23:49:33 -0000      1.15
+++ server/Function.cpp 7 Jun 2006 03:03:21 -0000       1.16
@@ -47,6 +47,10 @@
 #include "gnash.h"
 #include "fn_call.h"
 
+#include <iostream>
+
+using namespace std;
+
 namespace gnash {
 
 /* 
@@ -394,7 +398,7 @@
 
        if ( ! fn.nargs )
        {
-               IF_VERBOSE_DEBUG(log_msg("Function.apply() with no args\n"));
+            dbglogfile << "Function.apply() with no args" << endl;
        }
        else
        {
@@ -407,7 +411,7 @@
                {
                        if ( fn.nargs > 2 )
                        {
-       IF_VERBOSE_DEBUG(log_msg("Function.apply() with more then 2 args\n"));
+                            dbglogfile << "Function.apply() with more then 2 
args" << endl;
                        }
 
                        as_object *arg1 = fn.arg(1).to_object();
@@ -418,8 +422,7 @@
 
                        if ( ! arg_array )
                        {
-       IF_VERBOSE_DEBUG(log_msg("Second argument to Function.apply() "
-               "is not an array\n"));
+                            dbglogfile << "Second argument to Function.apply() 
is not an array" << endl;
                        }
                        else
                        {
@@ -463,7 +466,7 @@
 
        if ( ! fn.nargs )
        {
-               IF_VERBOSE_DEBUG(log_msg("Function.call() with no args\n"));
+                dbglogfile << "Function.call() with no args" << endl;
                new_fn_call.nargs=0;
        }
        else

Index: server/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Global.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/Global.cpp   1 Jun 2006 07:25:32 -0000       1.10
+++ server/Global.cpp   7 Jun 2006 03:03:21 -0000       1.11
@@ -57,9 +57,10 @@
 #include "xmlsocket.h"
 #endif
 
-namespace gnash {
-
+#include <iostream>
+using namespace std;
 
+namespace gnash {
 
 void
 as_global_trace(const fn_call& fn)
@@ -116,7 +117,7 @@
        }
     else
        {
-           IF_VERBOSE_DEBUG(log_msg("Too many args to Object constructor"));
+           dbglogfile << "Too many args to Object constructor" << endl;
            new_obj = new as_object();
        }
 
@@ -245,8 +246,8 @@
                              insertst = '~';
                              break;
                          default:
-                             IF_VERBOSE_ACTION(log_error("unescape() function 
reached "
-                                                         "unknown hexcode %d, 
aborting unescape()\n",hexcode));
+                             log_action("ERROR: unescape() function reached "
+                                                         "unknown hexcode %d, 
aborting unescape()\n",hexcode);
                              fn.result->set_string(fn.arg(0).to_string());
                              return;
                        }

Index: server/Key.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Key.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/Key.cpp      20 May 2006 23:49:33 -0000      1.3
+++ server/Key.cpp      7 Jun 2006 03:03:21 -0000       1.4
@@ -15,6 +15,25 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
+// Linking Gnash statically or dynamically with other modules is making a
+// combined work based on Gnash. Thus, the terms and conditions of the GNU
+// General Public License cover the whole combination.
+//
+// As a special exception, the copyright holders of Gnash give you
+// permission to combine Gnash with free software programs or libraries
+// that are released under the GNU LGPL and with code included in any
+// release of Talkback distributed by the Mozilla Foundation. You may
+// copy and distribute such a system following the terms of the GNU GPL
+// for all but the LGPL-covered parts and Talkback, and following the
+// LGPL for the LGPL-covered parts.
+//
+// Note that people who make modified versions of Gnash are not obligated
+// to grant this special exception for their modified versions; it is their
+// choice whether to do so. The GNU General Public License gives permission
+// to release a modified version without this exception; this exception
+// also makes it possible to release a modified version which carries
+// forward this exception.
+//
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"

Index: server/Key.h
===================================================================
RCS file: /sources/gnash/gnash/server/Key.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/Key.h        18 May 2006 16:59:29 -0000      1.5
+++ server/Key.h        7 Jun 2006 03:03:21 -0000       1.6
@@ -15,6 +15,26 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
+// Linking Gnash statically or dynamically with other modules is making
+// a combined work based on Gnash. Thus, the terms and conditions of
+// the GNU General Public License cover the whole combination.
+// 
+// In addition, as a special exception, the copyright holders of Gnash give
+// you permission to combine Gnash with free software programs or
+// libraries that are released under the GNU LGPL and/or with Mozilla, 
+// so long as the linking with Mozilla, or any variant of Mozilla, is
+// through its standard plug-in interface. You may copy and distribute
+// such a system following the terms of the GNU GPL for Gnash and the
+// licenses of the other code concerned, provided that you include the
+// source code of that other code when and as the GNU GPL requires
+// distribution of source code. 
+// 
+// Note that people who make modified versions of Gnash are not obligated
+// to grant this special exception for their modified versions; it is
+// their choice whether to do so.  The GNU General Public License gives
+// permission to release a modified version without this exception; this
+// exception also makes it possible to release a modified version which
+// carries forward this exception.
 
 #ifndef __KEY_H__
 #define __KEY_H__

Index: server/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/server/Makefile.am,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- server/Makefile.am  24 May 2006 19:01:12 -0000      1.46
+++ server/Makefile.am  7 Jun 2006 03:03:21 -0000       1.47
@@ -234,8 +234,8 @@
        $(ZLIB_LIBS) \
        $(LIBXML_LIBS) \
        $(MP3_LIBS)
+#      $(OPENGL_LIBS)
 
-#      $(OPENGL_LIBS) #
 #libserver_la_LDFLAGS = -module -avoid-version -no-undefined
 #libserver_la_LIBDADD =  address@hidden@  # $(LIBLTDL)
 

Index: server/action.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/action.cpp,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -b -r1.79 -r1.80
--- server/action.cpp   25 May 2006 12:18:08 -0000      1.79
+++ server/action.cpp   7 Jun 2006 03:03:21 -0000       1.80
@@ -518,7 +518,7 @@
 void
 movie_load()
 {
-    IF_VERBOSE_ACTION(dbglogfile << "-- start movie" << endl);
+    log_action("-- start movie");
 }
 
 //
@@ -607,8 +607,10 @@
        }
 
        dbglogfile.setStamp(false);
-       IF_VERBOSE_ACTION(dbglogfile << "PC index: " << pc << ":\t";
-                         log_disasm(&m_buffer[instruction_start]););
+       log_action("PC index: %d:\t", pc);
+       if (dbglogfile.getActionDump()) {
+           log_disasm(&m_buffer[instruction_start]);
+       }
        
        if (action_id == 0) {
            // end of action buffer.
@@ -653,7 +655,7 @@
     }
     
     if (m_decl_dict_processed_at != -1)        {
-       log_error("error: process_decl_dict(%d, %d): decl_dict was already 
processed at %d\n",
+       log_error("process_decl_dict(%d, %d): decl_dict was already processed 
at %d\n",
                  start_pc,
                  stop_pc,
                  m_decl_dict_processed_at);
@@ -682,7 +684,7 @@
        while (m_buffer[3 + i]) {
            // safety check.
            if (i >= stop_pc) {
-               log_error("error: action buffer dict length exceeded\n");
+               log_error("action buffer dict length exceeded\n");
                
                // Jam something into the remaining (invalid) entries.
                while (ct < count) {
@@ -867,14 +869,20 @@
        // Get the opcode.
        int     action_id = m_buffer[pc];
        if ((action_id & 0x80) == 0) {
-           IF_VERBOSE_ACTION((dbglogfile << "\nEX:\t"); 
log_disasm(&m_buffer[pc]));
+           if (dbglogfile.getActionDump()) {
+               log_action("\nEX:\t");
+               log_disasm(&m_buffer[pc]);
+           }
            
            // IF_VERBOSE_ACTION(log_msg("Action ID is: 0x%x\n", action_id));
            
            ash.execute((action_type)action_id, *env);
            pc++;       // advance to next action.
        } else {
-           IF_VERBOSE_ACTION(dbglogfile << "\nEX:\t"; 
log_disasm(&m_buffer[pc]));
+           if (dbglogfile.getActionDump()) {
+               log_action("\nEX:\t");
+               log_disasm(&m_buffer[pc]);
+           }
            
            // Action containing extra data.
            int length = m_buffer[pc + 1] | (m_buffer[pc + 2] << 8);
@@ -962,17 +970,15 @@
                  if (is_function2) {
                      *(env->local_register_ptr(reg)) = env->top(0);
                      
-                     IF_VERBOSE_ACTION(
-                         log_msg("-------------- local register[%d] = '%s'\n",
+                         log_action("-------------- local register[%d] = 
'%s'\n",
                          reg,
-                         env->top(0).to_string()));
+                         env->top(0).to_string());
                  } else if (reg >= 0 && reg < 4) {
                      env->m_global_register[reg] = env->top(0);
                      
-                     IF_VERBOSE_ACTION(
-                         log_msg("-------------- global register[%d] = '%s'\n",
+                         log_action("-------------- global register[%d] = 
'%s'\n",
                                  reg,
-                                 env->top(0).to_string()));
+                                 env->top(0).to_string());
                  } else {
                      log_error("store_register[%d] -- register out of 
bounds!", reg);
                  }
@@ -1014,10 +1020,9 @@
                      new_target = env->find_target((tu_string)target_name);
                  
                  if (new_target == NULL) {
-                     IF_VERBOSE_ACTION(log_error(
-                                           "Couldn't find movie \"%s\" to set 
target to!"
+                     log_action("ERROR: Couldn't find movie \"%s\" to set 
target to!"
                                            " Not setting target at all...",
-                                           (const char *)target_name));
+                                           (const char *)target_name);
                  }
                  else
                      env->set_target(new_target);
@@ -1052,7 +1057,7 @@
              {
                  int   frame = m_buffer[pc + 3] | (m_buffer[pc + 4] << 8);
                  UNUSED(frame);
-                 IF_VERBOSE_ACTION(log_msg("-------------- with block start: 
stack size is %zd\n", with_stack.size()));
+                 log_action("-------------- with block start: stack size is 
%zd\n", with_stack.size());
                  if (with_stack.size() < 8) {
                      int       block_length = m_buffer[pc + 3] | (m_buffer[pc 
+ 4] << 8);
                      int       block_end = next_pc + block_length;
@@ -1074,9 +1079,7 @@
                          i += strlen(str) + 1;
                          env->push(str);
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed '"
-                             << str << "'" << endl);
+                         log_action("-------------- pushed '%s'", str);
                      } else if (type == 1) {
                          // float (little-endian)
                          union {
@@ -1090,22 +1093,17 @@
                          i += 4;
                          
                          env->push(u.f);
-                         
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed '"
-                             <<u.f << "'" << endl);
+                         log_action("-------------- pushed '%g'", u.f);
                      } else if (type == 2) {
                          as_value nullvalue;
                          nullvalue.set_null();
                          env->push(nullvalue); 
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed NULL" << 
endl);
+                         log_action("-------------- pushed NULL");
                      } else if (type == 3) {
                          env->push(as_value());
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed UNDEFINED" 
<< endl);
+                         log_action("-------------- pushed UNDEFINED");
                      } else if (type == 4) {
                          // contents of register
                          int   reg = m_buffer[3 + i];
@@ -1113,19 +1111,17 @@
                          i++;
                          if (is_function2) {
                              env->push(*(env->local_register_ptr(reg)));
-                             IF_VERBOSE_ACTION(
-                                 log_msg("-------------- pushed local 
register[%d] = '%s'\n",
+                             log_action("-------------- pushed local 
register[%d] = '%s'\n",
                                          reg,
-                                         env->top(0).to_string()));
+                                         env->top(0).to_string());
                          } else if (reg < 0 || reg >= 4) {
                              env->push(as_value());
                              log_error("push register[%d] -- register out of 
bounds!\n", reg);
                          } else {
                              env->push(env->m_global_register[reg]);
-                             IF_VERBOSE_ACTION(
-                                 log_msg("-------------- pushed global 
register[%d] = '%s'\n",
+                             log_action("-------------- pushed global 
register[%d] = '%s'\n",
                                          reg,
-                                         env->top(0).to_string()));
+                                         env->top(0).to_string());
                          }
                          
                      } else if (type == 5) {
@@ -1134,9 +1130,8 @@
 //                                                     log_msg("bool(%d)\n", 
bool_val);
                          env->push(bool_val);
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed "
-                             << (bool_val ? "true" : "false"));
+                         log_action("-------------- pushed %s",
+                                    (bool_val ? "true" : "false"));
                      } else if (type == 6) {
                          // double
                          // wacky format: 45670123
@@ -1157,8 +1152,7 @@
                          
                          env->push(u.d);
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed double " << 
u.d << endl);
+                         log_action("-------------- pushed double %g", u.d);
                      } else if (type == 7) {
                          // int32
                          int32_t       val = m_buffer[3 + i]
@@ -1169,34 +1163,31 @@
                          
                          env->push(val);
                          
-                         IF_VERBOSE_ACTION(
-                             dbglogfile << "-------------- pushed int32 " << 
val << endl);
+                         log_action("-------------- pushed int32 %d",val);
                      } else if (type == 8) {
                          int   id = m_buffer[3 + i];
                          i++;
                          if (id < (int) m_dictionary.size()) {
                              env->push(m_dictionary[id]);
                              
-                             IF_VERBOSE_ACTION(
-                                 dbglogfile << "-------------- pushed '"
-                                 << m_dictionary[id] << "'" << endl);
+                             log_action("-------------- pushed '%s'",
+                                        m_dictionary[id]);
                          } else {
-                             log_error("error: dict_lookup(%d) is out of 
bounds!\n", id);
+                             log_error("dict_lookup(%d) is out of bounds!\n", 
id);
                              env->push(0);
-                             IF_VERBOSE_ACTION(
-                                 dbglogfile << "-------------- pushed 0\n");
+                             log_action("-------------- pushed 0");
                          }
                      } else if (type == 9) {
                          int   id = m_buffer[3 + i] | (m_buffer[4 + i] << 8);
                          i += 2;
                          if (id < (int) m_dictionary.size()) {
                              env->push(m_dictionary[id]);
-                             IF_VERBOSE_ACTION(log_msg("-------------- pushed 
'%s'\n", m_dictionary[id]));
+                             log_action("-------------- pushed '%s'\n", 
m_dictionary[id]);
                          } else {
-                             log_error("error: dict_lookup(%d) is out of 
bounds!\n", id);
+                             log_error("dict_lookup(%d) is out of bounds!\n", 
id);
                              env->push(0);
                              
-                             IF_VERBOSE_ACTION(dbglogfile << "-------------- 
pushed 0");
+                             log_action("-------------- pushed 0");
                          }
                      }
                  }

Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- server/array.cpp    20 May 2006 23:49:33 -0000      1.25
+++ server/array.cpp    7 Jun 2006 03:03:21 -0000       1.26
@@ -68,9 +68,7 @@
                as_object(getArrayInterface()), // pass Array inheritance
                elements(0)
        {
-               IF_VERBOSE_ACTION(
-                       log_msg("%s : %p\n", __FUNCTION__, (void*)this)
-               );
+            log_action("%s : %p\n", __FUNCTION__, (void*)this);
        }
 
        as_array_object::as_array_object(const as_array_object& other)
@@ -78,9 +76,7 @@
                as_object(other),
                elements(other.elements)
        {
-               IF_VERBOSE_ACTION(
-                       log_msg("%s : %p\n", __FUNCTION__, (void*)this)
-               );
+            log_action("%s : %p\n", __FUNCTION__, (void*)this);
        }
 
        int as_array_object::index_requested(const tu_stringi& name)
@@ -114,7 +110,7 @@
                // If the array is empty, report an error and return undefined!
                if (elements.size() <= 0)
                {
-                       IF_VERBOSE_ACTION(log_error("tried to pop element from 
back of empty array!\n"));
+                    log_action("ERROR: tried to pop element from back of empty 
array!\n");
                        return as_value(); // undefined
                }
 
@@ -129,7 +125,7 @@
                // If the array is empty, report an error and return undefined!
                if (elements.size() <= 0)
                {
-                       IF_VERBOSE_ACTION(log_error("tried to shift element 
from front of empty array!\n"));
+                       log_action("ERROR: tried to shift element from front of 
empty array!\n");
                        return as_value(); // undefined
                }
 
@@ -257,7 +253,7 @@
        {
                if ( name == "length" ) 
                {
-                       IF_VERBOSE_ACTION(log_msg("assigning to Array.length 
unsupported"));
+                       log_action("assigning to Array.length unsupported");
                        return;
                }
 
@@ -288,7 +284,7 @@
                assert(dynamic_cast<as_array_object*>(fn.this_ptr));
                //as_array_object* array = 
static_cast<as_array_object*>(fn.this_ptr);
 
-               IF_VERBOSE_ACTION(log_error("array method not implemented 
yet!\n"));
+               log_action("ERROR: array method not implemented yet!\n");
        }
 
        // Callback to report array length
@@ -298,7 +294,7 @@
                as_array_object* array = \
                        static_cast<as_array_object*>(fn.this_ptr);
 
-               IF_VERBOSE_ACTION(log_msg("calling array length, 
result:%d\n",array->size()));
+               log_action("calling array length, result:%d\n",array->size());
 
                fn.result->set_int(array->size());
        }
@@ -310,7 +306,7 @@
                as_array_object* array = \
                        static_cast<as_array_object*>(fn.this_ptr);
 
-               IF_VERBOSE_ACTION(log_msg("calling array push, pushing %d 
values onto back of array\n",fn.nargs));
+               log_action("calling array push, pushing %d values onto back of 
array\n",fn.nargs);
 
                for (int i=0;i<fn.nargs;i++)
                        array->push(fn.arg(i));
@@ -325,7 +321,7 @@
                as_array_object* array = \
                        static_cast<as_array_object*>(fn.this_ptr);
 
-               IF_VERBOSE_ACTION(log_msg("calling array unshift, pushing %d 
values onto front of array\n",fn.nargs));
+               log_action("calling array unshift, pushing %d values onto front 
of array\n",fn.nargs);
 
                for (int i=fn.nargs-1;i>=0;i--)
                        array->unshift(fn.arg(i));
@@ -342,7 +338,7 @@
 
                // Get our index, log, then return result
                (*fn.result) = array->pop();
-               IF_VERBOSE_ACTION(log_msg("calling array pop, result:%s, new 
array size:%zd\n",fn.result->to_string(),array->size()));
+               log_action("calling array pop, result:%s, new array 
size:%zd\n",fn.result->to_string(),array->size());
        }
 
        // Callback to pop a value from the front of an array
@@ -354,7 +350,7 @@
 
                // Get our index, log, then return result
                (*fn.result) = array->shift();
-               IF_VERBOSE_ACTION(log_msg("calling array shift, result:%s, new 
array size:%zd\n",fn.result->to_string(),array->size()));
+               log_action("calling array shift, result:%s, new array 
size:%zd\n",fn.result->to_string(),array->size());
        }
 
        // Callback to reverse the position of the elements in an array
@@ -368,7 +364,7 @@
 
                fn.result->set_as_object(array);
 
-               IF_VERBOSE_ACTION(log_msg("called array reverse, result:%s, new 
array size:%zd\n",fn.result->to_string(),array->size()));
+               log_action("called array reverse, result:%s, new array 
size:%zd\n",fn.result->to_string(),array->size());
                
        }
 
@@ -392,11 +388,9 @@
        // Callback to convert array to a string
        void array_to_string(const fn_call& fn)
        {
-               IF_VERBOSE_ACTION(
-                       log_msg("array_to_string called, nargs = %d, "
+               log_action("array_to_string called, nargs = %d, "
                                "this_ptr = %p",
-                               fn.nargs, (void*)fn.this_ptr)
-               );
+                               fn.nargs, (void*)fn.this_ptr);
 
                assert(dynamic_cast<as_array_object*>(fn.this_ptr));
                as_array_object* array = \
@@ -404,9 +398,7 @@
 
                std::string ret = array->toString();
 
-               IF_VERBOSE_ACTION(
-                       log_msg("to_string result is: %s", ret.c_str())
-               );
+               log_action("to_string result is: %s", ret.c_str());
 
                fn.result->set_string(ret.c_str());
        }
@@ -455,8 +447,8 @@
 
                if (fn.nargs > 2)
                {
-                       IF_VERBOSE_ACTION(log_error("More than 2 arguments sent 
to slice, and I don't know what to do with them!\n"));
-                       IF_VERBOSE_ACTION(log_error("Ignoring them as we 
continue...\n"));
+                       log_action("ERROR: More than 2 arguments sent to slice, 
and I don't know what to do with them!\n");
+                       log_action("ERROR: Ignoring them as we continue...\n");
                }
 
                // They passed no arguments: simply duplicate the array
@@ -477,8 +469,8 @@
                // if it's still negative, this is a problem
                if (startindex < 0 || (unsigned int)startindex > array->size())
                {
-                       IF_VERBOSE_ACTION(log_error("bad startindex sent to 
array_slice! startindex: %s, Length: %zd",
-                               fn.arg(0).to_string(),array->size()));
+                       log_action("ERROR: bad startindex sent to array_slice! 
startindex: %s, Length: %zd",
+                               fn.arg(0).to_string(),array->size());
                        return;                         
                }
                // if we sent at least two arguments, setup endindex
@@ -492,8 +484,8 @@
                        endindex++;
                        if (endindex < 0)
                        {
-                               IF_VERBOSE_ACTION(log_error("bad endindex sent 
to array_slice! endindex: %s, length: %zd",
-                                       fn.arg(1).to_string(),array->size()));
+                               log_action("ERROR: bad endindex sent to 
array_slice! endindex: %s, length: %zd",
+                                       fn.arg(1).to_string(),array->size());
                                return;                         
                        }
                        // If they overshoot the end of the array,
@@ -516,7 +508,7 @@
 
        void    array_new(const fn_call& fn)
        {
-               IF_VERBOSE_ACTION(log_msg("array_new called, nargs = %d", 
fn.nargs));
+            log_action("array_new called, nargs = %d", fn.nargs);
 
                //smart_ptr<as_array_object>    ao = new as_array_object;
                as_array_object* ao = new as_array_object;
@@ -549,9 +541,7 @@
                        }
                }
 
-               IF_VERBOSE_ACTION(
-                       log_msg("array_new setting object %p in result", 
(void*)ao)
-               );
+                        log_action("array_new setting object %p in result", 
(void*)ao);
 
                //fn.result->set_as_object(ao.get_ptr());
                fn.result->set_as_object(ao);

Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/as_environment.cpp   19 May 2006 18:09:03 -0000      1.1
+++ server/as_environment.cpp   7 Jun 2006 03:03:21 -0000       1.2
@@ -43,6 +43,9 @@
 #include "as_value.h"
 #include "log.h"
 
+#include <iostream>
+using namespace std;
+
 namespace gnash {
 
 // Return the value of the given var, if it's defined.
@@ -120,8 +123,9 @@
     }
     
     // Fallback.
-    IF_VERBOSE_ACTION(dbglogfile << "get_variable_raw(\"" << varname.c_str()
-                     << "\" failed, returning UNDEFINED." << std::endl);
+    log_action("get_variable_raw(\"%s\" failed, returning UNDEFINED.",
+              varname.c_str());
+
     return as_value();
 }
 
@@ -132,8 +136,8 @@
     const as_value& val,
     const std::vector<with_stack_entry>& with_stack)
 {
-    IF_VERBOSE_ACTION(dbglogfile << "-------------- "
-                     << varname.c_str() << " = " << val.to_string());
+    log_action("-------------- %s = %s",
+              varname.c_str(), val.to_string());
 
     // Path lookup rigamarole.
     movie*     target = m_target;

Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- server/as_object.cpp        15 May 2006 23:08:34 -0000      1.2
+++ server/as_object.cpp        7 Jun 2006 03:03:21 -0000       1.3
@@ -59,9 +59,7 @@
 bool
 as_object::get_member_default(const tu_stringi& name, as_value* val)
 {
-       IF_VERBOSE_ACTION(
-               log_msg("  get member: %s (at %p) for object %p\n", 
name.c_str(), (void*)val, (void*)this);
-       );
+    log_action("  get member: %s (at %p) for object %p\n", name.c_str(), 
(void*)val, (void*)this);
        if (name == "__proto__")
        {
                if ( m_prototype == NULL ) log_msg("as_object %p has no 
prototype\n", (void*)this);
@@ -73,19 +71,19 @@
 
                if (m_members.get(name, &m) == false)
                {
-                       IF_VERBOSE_ACTION(log_msg("  not found on first 
level\n"));
+                       log_action("  not found on first level\n");
                        if (m_prototype == NULL)
                        {
-                               IF_VERBOSE_ACTION(log_msg("  no __proto__ 
(m_prototype) defined\n"));
+                               log_action("  no __proto__ (m_prototype) 
defined\n");
                                return false;
                        }
                        else
                        {
-                               IF_VERBOSE_ACTION(log_msg("  checkin in 
__proto__ (m_prototype) %p\n", (void*)m_prototype));
+                               log_action("  checkin in __proto__ 
(m_prototype) %p\n", (void*)m_prototype);
                                return m_prototype->get_member(name, val);
                        }
                } else {
-                       IF_VERBOSE_ACTION(log_msg("  found on first level\n"));
+                       log_action("  found on first level\n");
                        *val=m.get_member_value();
                        return true;
                }

Index: server/button.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/button.cpp   27 May 2006 18:26:29 -0000      1.13
+++ server/button.cpp   7 Jun 2006 03:03:21 -0000       1.14
@@ -830,7 +830,7 @@
                }
 
                // Read actions.
-               IF_VERBOSE_ACTION(log_msg("-- actions in button\n")); // @@ 
need more info about which actions
+               log_action("-- actions in button\n"); // @@ need more info 
about which actions
                action_buffer*  a = new action_buffer;
                a->read(in);
                m_actions.push_back(a);
@@ -882,17 +882,15 @@
                {
                        m_envelopes.resize(0);
                }
-               IF_VERBOSE_PARSE(
-                       log_msg("       has_envelope = %d\n", m_has_envelope);
-                       log_msg("       has_loops = %d\n", m_has_loops);
-                       log_msg("       has_out_point = %d\n", m_has_out_point);
-                       log_msg("       has_in_point = %d\n", m_has_in_point);
-                       log_msg("       in_point = %d\n", m_in_point);
-                       log_msg("       out_point = %d\n", m_out_point);
-
-                       log_msg("       loop_count = %d\n", m_loop_count);
-                       log_msg("       envelope size = %zd\n", 
m_envelopes.size());
-               );
+               log_parse("     has_envelope = %d\n", m_has_envelope);
+               log_parse("     has_loops = %d\n", m_has_loops);
+               log_parse("     has_out_point = %d\n", m_has_out_point);
+               log_parse("     has_in_point = %d\n", m_has_in_point);
+               log_parse("     in_point = %d\n", m_in_point);
+               log_parse("     out_point = %d\n", m_out_point);
+               
+               log_parse("     loop_count = %d\n", m_loop_count);
+               log_parse("     envelope size = %zd\n", m_envelopes.size());
        }
 
 
@@ -926,7 +924,7 @@
                {
                        assert(m_sound == NULL);        // redefinition button 
sound is error
                        m_sound = new button_sound_def();
-                       IF_VERBOSE_PARSE(log_msg("button sound options:\n"));
+                       log_parse("button sound options: ");
                        for (int i = 0; i < 4; i++)
                        {
                                button_sound_info& bs = 
m_sound->m_button_sounds[i];
@@ -938,7 +936,7 @@
                                        {
 //                                             printf("sound tag not found, 
sound_id=%d, button state #=%i", bs.sound_id, i);
                                        }
-                                       IF_VERBOSE_PARSE(log_msg("\n    
sound_id = %d\n", bs.m_sound_id));
+                                       log_parse("\n   sound_id = %d\n", 
bs.m_sound_id);
                                        bs.m_sound_style.read(in);
                                }
                        }

Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/dlist.cpp    29 May 2006 12:49:34 -0000      1.10
+++ server/dlist.cpp    7 Jun 2006 03:03:21 -0000       1.11
@@ -166,7 +166,7 @@
        float ratio,
        uint16_t clip_depth)
 {
-       GNASH_REPORT_FUNCTION;
+//     GNASH_REPORT_FUNCTION;
        //IF_VERBOSE_DEBUG(log_msg("dl::add(%d, '%s')\n", depth, 
ch->get_name()));//xxxxx
 
        //log_msg("Before adding, list is:");
@@ -286,7 +286,7 @@
        character* ch = get_character_at_depth(depth);
        if ( ! ch )
        {
-               log_error("error: move_display_object() -- "
+               log_error("move_display_object() -- "
                        "can't find object at depth %d\n",
                        depth);
                return;

Index: server/edit_text_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character_def.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- server/edit_text_character_def.cpp  20 May 2006 19:36:30 -0000      1.4
+++ server/edit_text_character_def.cpp  7 Jun 2006 03:03:21 -0000       1.5
@@ -84,17 +84,15 @@
                delete [] str;
        }
 
-       IF_VERBOSE_PARSE(
-               log_msg("edit_text_char:\n"
+       log_parse("edit_text_char:\n"
                        " default varname = %s\n"
                        " text = ``%s''\n",
                        m_default_name.c_str(),
                        m_default_text.c_str());
-               log_msg(" font_id: %d\n"
+       log_parse(" font_id: %d\n"
                        " text_height: %d\n",
                        m_font_id,
                        m_text_height);
-       );
 }
 
 const font*

Index: server/font.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/font.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/font.cpp     19 May 2006 14:52:23 -0000      1.12
+++ server/font.cpp     7 Jun 2006 03:03:21 -0000       1.13
@@ -110,7 +110,7 @@
 
                if (tag_type == SWF::DEFINEFONT)
                {
-                       IF_VERBOSE_PARSE(log_msg("reading DefineFont\n"));
+                       log_parse("reading DefineFont");
 
                        int     table_base = in->get_position();
 
@@ -119,12 +119,12 @@
                        // offset table.
                        std::vector<int>        offsets;
                        offsets.push_back(in->read_u16());
-                       IF_VERBOSE_PARSE(log_msg("offset[0] = %d\n", 
offsets[0]));
+                       log_parse("offset[0] = %d", offsets[0]);
                        int     count = offsets[0] >> 1;
                        for (int i = 1; i < count; i++)
                        {
                                offsets.push_back(in->read_u16());
-                               IF_VERBOSE_PARSE(log_msg("offset[%d] = %d\n", 
i, offsets[i]));
+                               log_parse("offset[%d] = %d", i, offsets[i]);
                        }
 
                        m_glyphs.resize(count);
@@ -149,7 +149,7 @@
                }
                else if (tag_type == SWF::DEFINEFONT2)
                {
-                       IF_VERBOSE_PARSE(log_msg("reading DefineFont2\n"));
+                       log_parse("reading DefineFont2");
 
                        bool    has_layout = (in->read_uint(1) != 0);
                        m_shift_jis_chars = (in->read_uint(1) != 0);
@@ -286,7 +286,7 @@
                                        if (m_kerning_pairs.find(k) == 
m_kerning_pairs.end())
                                                m_kerning_pairs.add(k, 
adjustment);
                                        else
-                                               
IF_VERBOSE_PARSE(log_error("Error in font::read() -- Repeated kerning pair 
found - ignoring\n"));
+                                               log_parse("ERROR: Repeated 
kerning pair found - ignoring\n");
                                }}
                        }
                }
@@ -318,7 +318,7 @@
        // Read the table that maps from glyph indices to character
        // codes.
        {
-               IF_VERBOSE_PARSE(log_msg("reading code table at offset %d\n", 
in->get_position()));
+               log_parse("reading code table at offset %d", 
in->get_position());
 
                assert(m_code_table.empty());
 
@@ -365,7 +365,7 @@
                        if (s_logged == false)
                        {
                                s_logged = true;
-                               log_error("error: empty advance table in font 
%s\n", get_name());
+                               log_error("empty advance table in font %s\n", 
get_name());
                        }
                        return 0;
                }

Index: server/fontlib.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/fontlib.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/fontlib.cpp  8 May 2006 21:12:24 -0000       1.10
+++ server/fontlib.cpp  7 Jun 2006 03:03:21 -0000       1.11
@@ -1143,7 +1143,7 @@
                if (nf != (int) fonts.size())
                {
                        // Font counts must match!
-                       log_error("error: mismatched font count (read %d, 
expected %zd) in cached font data\n", nf, fonts.size());
+                       log_error("mismatched font count (read %d, expected 
%zd) in cached font data\n", nf, fonts.size());
                        in->go_to_end();
                        goto error_exit;
                }
@@ -1184,7 +1184,7 @@
                                if (bi + bitmaps_used_base >= 
owner->get_bitmap_info_count())
                                {
                                        // Bad data; give up.
-                                       log_error("error: invalid bitmap index 
%d in cached font data\n", bi);
+                                       log_error("invalid bitmap index %d in 
cached font data\n", bi);
                                        in->go_to_end();
                                        goto error_exit;
                                }
@@ -1202,7 +1202,7 @@
                                if (glyph_index < 0 || glyph_index >= 
fnt->get_glyph_count())
                                {
                                        // Cached data doesn't match this font!
-                                       log_error("error: invalid glyph index 
%d in cached font data, limit is %d, font is '%s'\n",
+                                       log_error("invalid glyph index %d in 
cached font data, limit is %d, font is '%s'\n",
                                                  glyph_index,
                                                  fnt->get_glyph_count(),
                                                  fnt->get_name());

Index: server/impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/impl.cpp,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- server/impl.cpp     1 Jun 2006 07:31:06 -0000       1.41
+++ server/impl.cpp     7 Jun 2006 03:03:21 -0000       1.42
@@ -99,20 +99,6 @@
 bool   s_verbose_debug = false;
 #endif
 
-// Enable/disable log messages re: actions.
-void
-set_verbose_action(bool verbose)
-{
-    s_verbose_action = verbose;
-}
-
-// Enable/disable log messages re: parsing the movie.
-void
-set_verbose_parse(bool verbose)
-{
-    s_verbose_parse = verbose;
-}
-
 static bool
 s_use_cache_files = true;
 
@@ -297,7 +283,7 @@
 
     tu_file*   in = globals::streamProvider.getStream(url);
     if (in == NULL || in->get_error() != TU_FILE_NO_ERROR) {
-       log_error("error: get_movie_info(): can't open '%s'\n", 
url.str().c_str());
+       log_error("get_movie_info(): can't open '%s'\n", url.str().c_str());
        if (version) *version = 0;
        delete in;
        return;
@@ -312,7 +298,7 @@
     if ((header & 0x0FFFFFF) != 0x00535746
        && (header & 0x0FFFFFF) != 0x00535743) {
        // ERROR
-       log_error("error: get_movie_info(): file '%s' does not start with a SWF 
header!\n", url.str().c_str());
+       log_error("get_movie_info(): file '%s' does not start with a SWF 
header!\n", url.str().c_str());
        if (version) *version = 0;
        delete in;
        return;
@@ -455,7 +441,7 @@
        }
        else if (in->get_error())
        {
-           log_error("error: streamProvider opener can't open '%s'\n", c_url);
+           log_error("streamProvider opener can't open '%s'\n", c_url);
            return NULL;
        }
 
@@ -499,10 +485,8 @@
                        || cache_in->get_error() != TU_FILE_NO_ERROR)
                {
                        // Can't open cache file; don't sweat it.
-                       IF_VERBOSE_PARSE(
-                               log_msg("note: couldn't open cache file '%s'\n",
-                                       cache_filename.c_str())
-                       );
+                       log_parse("note: couldn't open cache file '%s'\n",
+                                       cache_filename.c_str());
 
                        // can't read cache, so generate font texture data.
                        ret->generate_font_bitmaps();
@@ -637,7 +621,7 @@
       
            if (m->get_ref_count() < 2)
                {
-                   IF_VERBOSE_ACTION(log_msg("extern movie deleted\n"));
+                   log_action("extern movie deleted");
                    s_extern_sprites.erase(s_extern_sprites.begin() + i);
                    i--;
                    root_m->drop_ref();
@@ -682,14 +666,14 @@
 // return a pointer to it.
 movie_definition* create_library_movie(const URL& url)
 {
-    log_msg("%s: url is %s\n", __PRETTY_FUNCTION__, url.str().c_str());
+//    log_msg("%s: url is %s", __PRETTY_FUNCTION__, url.str().c_str());
 
     // Is the movie already in the library?
     {
        smart_ptr<movie_definition>     m;
        if ( s_movie_library.get(url.str(), &m) )
            {
-               log_msg(" movie already in library\n");
+               log_msg(" movie already in library");
                // Return cached movie.
                m->add_ref();
                return m.get_ptr();
@@ -701,7 +685,7 @@
 
     if (mov == NULL)
        {
-           log_error("error: couldn't load library movie '%s'\n", 
url.str().c_str());
+           log_error("couldn't load library movie '%s'\n", url.str().c_str());
            return NULL;
        }
     else
@@ -732,7 +716,7 @@
 
     if (mov == NULL)
        {
-           log_error("error: couldn't create instance\n");
+           log_error("couldn't create instance\n");
 
            return NULL;
        }
@@ -783,7 +767,7 @@
     gnash::movie_interface*    m = movie_def->create_instance();
     if (m == NULL)
        {
-           log_error("error: precompute_cached_data can't create instance of 
movie\n");
+           log_error("precompute_cached_data can't create instance of 
movie\n");
            return;
        }
                

Index: server/morph.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/morph.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/morph.cpp    26 Feb 2006 21:44:53 -0000      1.3
+++ server/morph.cpp    7 Jun 2006 03:03:21 -0000       1.4
@@ -34,8 +34,8 @@
        void shape_morph_def::display(character *inst)
        {
                float ratio = inst->m_ratio;
-               IF_VERBOSE_ACTION(log_msg("smd: displaying %d at ratio %g\n",
-                                         inst->m_id, ratio));
+               log_action("smd: displaying %d at ratio %g\n",
+                                         inst->m_id, ratio);
                matrix mat = inst->get_world_matrix();
                cxform cx = inst->get_world_cxform();
 
@@ -55,8 +55,8 @@
                                                      float ratio)
                const
        {
-               IF_VERBOSE_ACTION(log_msg("smd: tesselating at ratio %g\n",
-                                         ratio));
+               log_action("smd: tesselating at ratio %g\n",
+                                         ratio);
                
                // XXX sharing
                tesselate::begin_shape(accepter, error_tolerance);
@@ -76,14 +76,16 @@
        {
                assert(tag_type == 46);
                int pos = in->get_underlying_stream()->get_position();
-               IF_VERBOSE_PARSE(log_msg("smd: initial pos %d\n", pos));
+               log_parse("smd: initial pos %d\n", pos);
                m_bound_orig.read(in);
                m_bound_target.read(in);
 
-               IF_VERBOSE_PARSE(log_msg("smd: orig bounds ");
+               if (dbglogfile.getParserDump()) {
+                       log_parse("smd: orig bounds ");
                                 m_bound_orig.print();
-                                log_msg("smd: target bounds ");
+                       log_parse("smd: target bounds ");
                                 m_bound_target.print());
+               }
 
                int offset = in->read_u32();
                UNUSED(offset);
@@ -323,10 +325,12 @@
                case 0x00: {
                        m_color[0].read_rgba(in);
                        m_color[1].read_rgba(in);
-                       IF_VERBOSE_PARSE(log_msg("fsr: color1 ");
+                       if (dbglogfile.getParserDump()) {
+                               log_parse("fsr: color1 ");
                                         m_color[0].print();
-                                        log_msg("fsr: color2 ");
-                                        m_color[1].print());
+                               log_parse("fsr: color2 ");
+                               m_color[1].print();
+                       }
                        return;
                }
                case 0x10: { // linear gradient fill
@@ -422,10 +426,12 @@
                m_color[0].read_rgba(in);
                m_color[1].read_rgba(in);
 
-               IF_VERBOSE_PARSE(log_msg("mls 1: width %d color ", m_width[0]);
+               if (dbglogfile.getParserDump()) {
+                       log_parser("mls 1: width %d color ", m_width[0]);
                                 m_color[0].print();
-                                log_msg("mls 2: width %d color ", m_width[1]);
-                                m_color[1].print());
+                       log_parse("mls 2: width %d color ", m_width[1]);
+                       m_color[1].print();
+               }
        }
 
        void morph_line_style::apply(float ratio) const

Index: server/morph2.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/morph2.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/morph2.cpp   8 May 2006 21:12:24 -0000       1.11
+++ server/morph2.cpp   7 Jun 2006 03:03:21 -0000       1.12
@@ -135,15 +135,15 @@
                        fs1.m_type = in->read_u8();
                        fs2.m_type = fs1.m_type;
 
-                       IF_VERBOSE_PARSE(log_msg("morph fill style type = 
0x%X\n", fs1.m_type));
+                       log_parse("morph fill style type = 0x%X\n", fs1.m_type);
 
                        if (fs1.m_type == 0x00)
                        {
                                fs1.m_color.read_rgba(in);
                                fs2.m_color.read_rgba(in);
 
-                               IF_VERBOSE_PARSE(log_msg("morph fill style 
begin color: "); fs1.m_color.print());
-                               IF_VERBOSE_PARSE(log_msg("morph fill style end 
color: "); fs2.m_color.print());
+                               log_parse("morph fill style begin color: "); 
fs1.m_color.print();
+                               log_parse("morph fill style end color: "); 
fs2.m_color.print();
                        }
                        else if (fs1.m_type == 0x10 || fs1.m_type == 0x12)
                        {
@@ -188,7 +188,7 @@
                                        fs2.m_gradients[j].read(in, tag_type);
                                }
 
-                               IF_VERBOSE_PARSE(log_msg("morph fsr: 
num_gradients = %d\n", num_gradients));
+                               log_parse("morph fsr: num_gradients = %d\n", 
num_gradients);
 
                                // @@ hack.
                                if (num_gradients > 0)
@@ -201,7 +201,7 @@
                        {
 
                                int     bitmap_char_id = in->read_u16();
-                               IF_VERBOSE_PARSE(log_msg("morph fsr bitmap_char 
= %d\n", bitmap_char_id));
+                               log_parse("morph fsr bitmap_char = %d\n", 
bitmap_char_id);
 
                                // Look up the bitmap character.
                                fs1.m_bitmap_character = 
md->get_bitmap_character(bitmap_char_id);

Index: server/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_def_impl.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/movie_def_impl.cpp   16 May 2006 08:02:18 -0000      1.8
+++ server/movie_def_impl.cpp   7 Jun 2006 03:03:21 -0000       1.9
@@ -332,7 +332,7 @@
         }
     bool       compressed = (header & 255) == 'C';
 
-    IF_VERBOSE_PARSE(log_msg("version = %d, file_length = %d\n", m_version, 
m_file_length));
+    log_parse("version = %d, file_length = %d\n", m_version, m_file_length);
 
     tu_file*   original_in = NULL;
     if (compressed)
@@ -342,7 +342,7 @@
             return false;
 #endif
 
-            IF_VERBOSE_PARSE(log_msg("file is compressed.\n"));
+            log_parse("file is compressed.\n");
             original_in = in;
 
             // Uncompress the input as we read it.
@@ -363,8 +363,10 @@
     m_playlist.resize(m_frame_count);
     m_init_action_list.resize(m_frame_count);
 
-    IF_VERBOSE_PARSE(m_frame_size.print());
-    IF_VERBOSE_PARSE(log_msg("frame rate = %f, frames = %d\n", m_frame_rate, 
m_frame_count));
+    if (dbglogfile.getParserDump()) {
+        m_frame_size.print();
+    }
+    log_parse("frame rate = %f, frames = %d\n", m_frame_rate, m_frame_count);
 
     while ((uint32_t) str.get_position() < file_end_pos)
         {
@@ -376,11 +378,11 @@
                 }
 
             SWF::TagLoadersTable::loader_function lf = NULL;
-            //IF_VERBOSE_PARSE(log_msg("tag_type = %d\n", tag_type));
+            //log_parse("tag_type = %d\n", tag_type);
             if (tag_type == SWF::SHOWFRAME)
                 {
                     // show frame tag -- advance to the next frame.
-                    IF_VERBOSE_PARSE(log_msg("  show_frame\n"));
+                    log_parse("  show_frame\n");
                     m_loading_frame++;
                 }
             else if (_tag_loaders.get(tag_type, &lf))
@@ -391,8 +393,10 @@
 
                 } else {
                     // no tag loader for this tag type.
-                    IF_VERBOSE_PARSE(log_msg("*** no tag loader for type 
%d\n", tag_type));
-                    IF_VERBOSE_PARSE(dump_tag_bytes(&str));
+                    log_parse("*** no tag loader for type %d\n", tag_type);
+                    if (dbglogfile.getParserDump()) {
+                        dump_tag_bytes(&str);
+                }
                 }
 
             str.close_tag();

Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/movie_root.cpp       7 May 2006 12:02:39 -0000       1.1
+++ server/movie_root.cpp       7 Jun 2006 03:03:21 -0000       1.2
@@ -269,8 +269,7 @@
         }
     else
         {
-            IF_VERBOSE_ACTION(
-                log_error("error: movie_impl::goto_labeled_frame('%s') unknown 
label\n", label));
+            log_action("ERROR: movie_impl::goto_labeled_frame('%s') unknown 
label\n", label);
             return false;
         }
 }

Index: server/shape_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/shape_character_def.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/shape_character_def.cpp      8 May 2006 13:59:07 -0000       1.1
+++ server/shape_character_def.cpp      7 Jun 2006 03:03:21 -0000       1.2
@@ -65,7 +65,7 @@
            }
     }
 
-    IF_VERBOSE_PARSE(log_msg("  read_fill_styles: count = %d\n", 
fill_style_count));
+    log_parse("  read_fill_styles: count = %d\n", fill_style_count);
 
     // Read the styles.
     for (int i = 0; i < fill_style_count; i++) {
@@ -82,14 +82,14 @@
     // Get the count.
     int        line_style_count = in->read_u8();
 
-    IF_VERBOSE_PARSE(log_msg("  read_line_styles: count = %d\n", 
line_style_count));
+    log_parse("  read_line_styles: count = %d\n", line_style_count);
 
     // @@ does the 0xFF flag apply to all tag types?
     // if (tag_type > 2)
     // {
     if (line_style_count == 0xFF) {
        line_style_count = in->read_u16();
-       IF_VERBOSE_PARSE(log_msg("  read_line_styles: count2 = %d\n", 
line_style_count));
+       log_parse("  read_line_styles: count2 = %d\n", line_style_count);
     }
     // }
 
@@ -131,7 +131,7 @@
     int        num_fill_bits = in->read_uint(4);
     int        num_line_bits = in->read_uint(4);
 
-    IF_VERBOSE_PARSE(log_msg("  shape_character_def read: nfillbits = %d, 
nlinebits = %d\n", num_fill_bits, num_line_bits));
+    log_parse("  shape_character_def read: nfillbits = %d, nlinebits = %d\n", 
num_fill_bits, num_line_bits);
 
     // These are state variables that keep the
     // current position & style of the shape
@@ -184,7 +184,9 @@
                current_path.m_ax = x;
                current_path.m_ay = y;
 
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  shape_character 
read: moveto %4g %4g\n", x, y));
+               if (SHAPE_LOG) {
+                   log_parse("  shape_character read: moveto %4g %4g\n", x, y);
+               }
            }
            if ((flags & 0x02) && num_fill_bits > 0) {
                // fill_style_0_change = 1;
@@ -199,7 +201,10 @@
                    style += fill_base;
                }
                current_path.m_fill0 = style;
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  shape_character 
read: fill0 = %d\n", current_path.m_fill0));
+               if (SHAPE_LOG) {
+                   log_parse("  shape_character read: fill0 = %d\n", 
current_path.m_fill0);
+               }
+               
            }
            if ((flags & 0x04) && num_fill_bits > 0) {
                // fill_style_1_change = 1;
@@ -214,7 +219,8 @@
                    style += fill_base;
                }
                current_path.m_fill1 = style;
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  shape_character 
read: fill1 = %d\n", current_path.m_fill1));
+               if (SHAPE_LOG)
+                   log_parse("  shape_character read: fill1 = %d\n", 
current_path.m_fill1);
            }
            if ((flags & 0x08) && num_line_bits > 0) {
                // line_style_change = 1;
@@ -229,7 +235,8 @@
                    style += line_base;
                }
                current_path.m_line = style;
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  
shape_character_read: line = %d\n", current_path.m_line));
+               if (SHAPE_LOG)
+                   log_parse("  shape_character_read: line = %d\n", 
current_path.m_line);
            }
            if (flags & 0x10) {
                if (tag_type == 2) {
@@ -237,7 +244,7 @@
                }
                assert(tag_type >= 22);
 
-               IF_VERBOSE_PARSE(log_msg("  shape_character read: more fill 
styles\n"));
+               log_parse("  shape_character read: more fill styles\n");
 
                // Store the current path if any.
                if (! current_path.is_empty()) {
@@ -273,7 +280,8 @@
                float   ax = cx + in->read_sint(num_bits);
                float   ay = cy + in->read_sint(num_bits);
 
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  shape_character 
read: curved edge   = %4g %4g - %4g %4g - %4g %4g\n", x, y, cx, cy, ax, ay));
+               if (SHAPE_LOG)
+                   log_parse("  shape_character read: curved edge   = %4g %4g 
- %4g %4g - %4g %4g\n", x, y, cx, cy, ax, ay);
 
                current_path.m_edges.push_back(edge(cx, cy, ax, ay));
 
@@ -299,7 +307,8 @@
                    }
                }
 
-               if (SHAPE_LOG) IF_VERBOSE_PARSE(log_msg("  
shape_character_read: straight edge = %4g %4g - %4g %4g\n", x, y, x + dx, y + 
dy));
+               if (SHAPE_LOG)
+                   log_parse("  shape_character_read: straight edge = %4g %4g 
- %4g %4g\n", x, y, x + dx, y + dy);
 
                current_path.m_edges.push_back(edge(x + dx, y + dy, x + dx, y + 
dy));
 

Index: server/sound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sound.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/sound.cpp    27 May 2006 18:29:32 -0000      1.8
+++ server/sound.cpp    7 Jun 2006 03:03:21 -0000       1.9
@@ -351,8 +351,8 @@
 
        static int      s_sample_rate_table[] = { 5512, 11025, 22050, 44100 };
 
-       IF_VERBOSE_PARSE(log_msg("define sound: ch=%d, format=%d, rate=%d, 
16=%d, stereo=%d, ct=%d\n",
-                                character_id, int(format), sample_rate, 
int(sample_16bit), int(stereo), sample_count));
+       log_parse("define sound: ch=%d, format=%d, rate=%d, 16=%d, stereo=%d, 
ct=%d\n",
+                 character_id, int(format), sample_rate, int(sample_16bit), 
int(stereo), sample_count);
 
        // If we have a sound_handler, ask it to init this sound.
        if (s_sound_handler)
@@ -424,8 +424,8 @@
                start_sound_tag*        sst = new start_sound_tag();
                sst->read(in, tag, m, sam);
 
-               IF_VERBOSE_PARSE(log_msg("start_sound tag: id=%d, stop = %d, 
loop ct = %d\n",
-                                        sound_id, int(sst->m_stop_playback), 
sst->m_loop_count));
+               log_parse("start_sound tag: id=%d, stop = %d, loop ct = %d\n",
+                         sound_id, int(sst->m_stop_playback), 
sst->m_loop_count);
        }
        else
        {

Index: server/sound_handler_mp3.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sound_handler_mp3.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/sound_handler_mp3.cpp        8 May 2006 21:12:24 -0000       1.8
+++ server/sound_handler_mp3.cpp        7 Jun 2006 03:03:21 -0000       1.9
@@ -23,16 +23,6 @@
 #include "gnash.h"
 #include "container.h"
 
-// @@ These macros are internal to gnash; maybe should expose them for
-// use by external handler code like this...
-#ifndef IF_VERBOSE_PARSE
-#define IF_VERBOSE_PARSE(x)
-#endif
-
-#ifndef log_error
-#define log_error(x,y) /* ? */
-#endif
-
 #include <SDL_mixer.h>
 
 #include <mad.h>

Index: server/sprite_definition.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_definition.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/sprite_definition.cpp        9 May 2006 16:07:52 -0000       1.5
+++ server/sprite_definition.cpp        7 Jun 2006 03:03:21 -0000       1.6
@@ -98,7 +98,7 @@
        // need a playlist for each frame
        m_playlist.resize(m_frame_count);
 
-       IF_VERBOSE_PARSE(log_msg("  frames = %d\n", m_frame_count));
+       log_parse("  frames = %d\n", m_frame_count);
 
        m_loading_frame = 0;
 
@@ -110,7 +110,7 @@
                if (tag_type == SWF::SHOWFRAME)
                {
                    // show frame tag -- advance to the next frame.
-                   IF_VERBOSE_PARSE(log_msg("  show_frame (sprite)\n"));
+                   log_parse("  show_frame (sprite)\n");
                    m_loading_frame++;
                }
                else if (_tag_loaders.get(tag_type, &lf))
@@ -122,16 +122,14 @@
                else
                {
                        // no tag loader for this tag type.
-                       IF_VERBOSE_PARSE(
-                               log_msg("*** no tag loader for type %d\n",
-                                       tag_type)
-                       );
+                    log_parse("*** no tag loader for type %d\n",
+                              tag_type);
                }
 
                in->close_tag();
        }
 
-       IF_VERBOSE_PARSE(log_msg("  -- sprite END --\n"));
+       log_parse("  -- sprite END --\n");
 }
 
 /*virtual*/

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- server/sprite_instance.cpp  29 May 2006 12:49:34 -0000      1.7
+++ server/sprite_instance.cpp  7 Jun 2006 03:03:21 -0000       1.8
@@ -115,7 +115,7 @@
 
     if (fn.nargs < 1)
        {
-           log_error("error: sprite_goto_and_play needs one arg\n");
+           log_error("sprite_goto_and_play needs one arg\n");
            return;
        }
 
@@ -136,7 +136,7 @@
 
     if (fn.nargs < 1)
        {
-           log_error("error: sprite_goto_and_stop needs one arg\n");
+           log_error("sprite_goto_and_stop needs one arg\n");
            return;
        }
 
@@ -719,7 +719,7 @@
        if (frame_number < 0 || frame_number >= m_def->get_frame_count())
        {
                    // No dice.
-                   log_error("error: call_frame('%s') -- unknown frame\n", 
frame_spec.to_string());
+                   log_error("call_frame('%s') -- unknown frame\n", 
frame_spec.to_string());
                    return;
        }
 
@@ -1060,12 +1060,12 @@
 {
        if (path_to_var == NULL)
        {
-               log_error("error: NULL path_to_var passed to set_variable()\n");
+               log_error("NULL path_to_var passed to set_variable()\n");
                return;
        }
        if (new_value == NULL)
        {
-               log_error("error: NULL passed to set_variable('%s',"
+               log_error("NULL passed to set_variable('%s',"
                        " NULL)\n", path_to_var);
                return;
        }
@@ -1087,12 +1087,12 @@
 
            if (path_to_var == NULL)
                {
-                   log_error("error: NULL path_to_var passed to 
set_variable()\n");
+                   log_error("NULL path_to_var passed to set_variable()\n");
                    return;
                }
            if (new_value == NULL)
                {
-                   log_error("error: NULL passed to set_variable('%s', 
NULL)\n", path_to_var);
+                   log_error("NULL passed to set_variable('%s', NULL)\n", 
path_to_var);
                    return;
                }
 
@@ -1105,7 +1105,7 @@
 
 void sprite_instance::advance(float delta_time)
 {
-       GNASH_REPORT_FUNCTION;
+//     GNASH_REPORT_FUNCTION;
 
 // Keep this (particularly m_as_environment) alive during execution!
        smart_ptr<as_object>    this_ptr(this);
@@ -1308,8 +1308,7 @@
        }
     else
        {
-           IF_VERBOSE_ACTION(
-               log_error("error: movie_impl::goto_labeled_frame('%s') unknown 
label\n", label));
+            log_action("ERROR: movie_impl::goto_labeled_frame('%s') unknown 
label\n", label);
            return false;
        }
 }
@@ -1338,7 +1337,7 @@
                const cxform& color_transform, const matrix& matrix,
                float ratio, uint16_t clip_depth)
 {
-           GNASH_REPORT_FUNCTION;
+//         GNASH_REPORT_FUNCTION;
            assert(m_def != NULL);
 
            character_def*      cdef = m_def->get_character_def(character_id);

Index: server/stream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/stream.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/stream.cpp   9 May 2006 16:55:39 -0000       1.5
+++ server/stream.cpp   7 Jun 2006 03:03:21 -0000       1.6
@@ -230,7 +230,7 @@
                        tag_length = m_input->read_le32();
                }
 
-               IF_VERBOSE_PARSE(log_msg("---------------tag type = %d, tag 
length = %d\n", tag_type, tag_length));
+               log_parse("---------------tag type = %d, tag length = %d\n", 
tag_type, tag_length);
                        
                // Remember where the end of the tag is, so we can
                // fast-forward past it when we're done reading it.

Index: server/styles.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/styles.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/styles.cpp   8 May 2006 21:12:24 -0000       1.10
+++ server/styles.cpp   7 Jun 2006 03:03:21 -0000       1.11
@@ -57,7 +57,7 @@
 {
     m_type = in->read_u8();
 
-    IF_VERBOSE_PARSE(log_msg("  fill_style read type = 0x%X\n", m_type));
+    log_parse("  fill_style read type = 0x%X\n", m_type);
 
     if (m_type == 0x00) {
         // 0x00: solid fill
@@ -67,8 +67,8 @@
             m_color.read_rgba(in);
         }
 
-        IF_VERBOSE_PARSE(log_msg("  color: ");
-                         m_color.print());
+        log_parse("  color: ");
+        m_color.print();
     } else if (m_type == 0x10 || m_type == 0x12) {
         // 0x10: linear gradient fill
         // 0x12: radial gradient fill
@@ -103,7 +103,7 @@
             m_gradients[i].read(in, tag_type);
         }
 
-        IF_VERBOSE_PARSE(log_msg("  gradients: num_gradients = %d\n", 
num_gradients));
+        log_parse("  gradients: num_gradients = %d\n", num_gradients);
 
         // @@ hack.
         if (num_gradients > 0) {
@@ -123,7 +123,7 @@
         // 0x41: clipped bitmap fill
 
         int    bitmap_char_id = in->read_u16();
-        IF_VERBOSE_PARSE(log_msg("  bitmap_char = %d\n", bitmap_char_id));
+        log_parse("  bitmap_char = %d\n", bitmap_char_id);
 
         // Look up the bitmap character.
         m_bitmap_character = md->get_bitmap_character(bitmap_char_id);
@@ -134,7 +134,10 @@
         // For some reason, it looks like they store the inverse of the
         // TWIPS-to-texcoords matrix.
         m_bitmap_matrix.set_inverse(m);
-        IF_VERBOSE_PARSE(m_bitmap_matrix.print());
+
+        if (dbglogfile.getActionDump()) {
+            m_bitmap_matrix.print();
+        }
     }
 }
 

Index: server/text.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/text.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- server/text.cpp     18 May 2006 15:17:57 -0000      1.20
+++ server/text.cpp     7 Jun 2006 03:03:21 -0000       1.21
@@ -189,7 +189,7 @@
                int     glyph_bits = in->read_u8();
                int     advance_bits = in->read_u8();
 
-               IF_VERBOSE_PARSE(log_msg("begin text records\n"));
+               log_parse("begin text records\n");
 
                bool    last_record_was_style_change = false;
 
@@ -201,7 +201,7 @@
                        if (first_byte == 0)
                        {
                                // This is the end of the text records.
-                               IF_VERBOSE_PARSE(log_msg("end text records\n"));
+                           log_parse("end text records\n");
                                break;
                        }
 
@@ -218,13 +218,13 @@
                                bool    has_y_offset = (first_byte >> 1) & 1;
                                bool    has_x_offset = (first_byte >> 0) & 1;
 
-                               IF_VERBOSE_PARSE(log_msg("  text style 
change\n"));
+                               log_parse("  text style change\n");
 
                                if (has_font)
                                {
                                        uint16_t        font_id = 
in->read_u16();
                                        style.m_font_id = font_id;
-                                       IF_VERBOSE_PARSE(log_msg("  has_font: 
font id = %d\n", font_id));
+                                       log_parse("  has_font: font id = %d\n", 
font_id);
                                }
                                if (has_color)
                                {
@@ -237,13 +237,13 @@
                                                assert(tag_type == 33);
                                                style.m_color.read_rgba(in);
                                        }
-                                       IF_VERBOSE_PARSE(log_msg("  
has_color\n"));
+                                       log_parse("  has_color\n");
                                }
                                if (has_x_offset)
                                {
                                        style.m_has_x_offset = true;
                                        style.m_x_offset = in->read_s16();
-                                       IF_VERBOSE_PARSE(log_msg("  
has_x_offset = %g\n", style.m_x_offset));
+                                       log_parse("  has_x_offset = %g\n", 
style.m_x_offset);
                                }
                                else
                                {
@@ -254,7 +254,7 @@
                                {
                                        style.m_has_y_offset = true;
                                        style.m_y_offset = in->read_s16();
-                                       IF_VERBOSE_PARSE(log_msg("  
has_y_offset = %g\n", style.m_y_offset));
+                                       log_parse("  has_y_offset = %g\n", 
style.m_y_offset);
                                }
                                else
                                {
@@ -264,7 +264,7 @@
                                if (has_font)
                                {
                                        style.m_text_height = in->read_u16();
-                                       IF_VERBOSE_PARSE(log_msg("  text_height 
= %g\n", style.m_text_height));
+                                       log_parse("  text_height = %g\n", 
style.m_text_height);
                                }
                        }
                        else
@@ -285,7 +285,7 @@
                                m_text_glyph_records.back().m_style = style;
                                m_text_glyph_records.back().read(in, 
glyph_count, glyph_bits, advance_bits);
 
-                               IF_VERBOSE_PARSE(log_msg("  glyph_records: 
count = %d\n", glyph_count));
+                               log_parse("  glyph_records: count = %d\n", 
glyph_count);
                        }
                }
        }

Index: server/types.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/types.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/types.cpp    8 May 2006 21:12:24 -0000       1.5
+++ server/types.cpp    7 Jun 2006 03:03:21 -0000       1.6
@@ -168,8 +168,8 @@
        void    matrix::print() const
        // Debug log.
        {
-               log_msg("| %4.4f %4.4f %4.4f |\n", m_[0][0], m_[0][1], 
TWIPS_TO_PIXELS(m_[0][2]));
-               log_msg("| %4.4f %4.4f %4.4f |\n", m_[1][0], m_[1][1], 
TWIPS_TO_PIXELS(m_[1][2]));
+               log_parse("| %4.4f %4.4f %4.4f |\n", m_[0][0], m_[0][1], 
TWIPS_TO_PIXELS(m_[0][2]));
+               log_parse("| %4.4f %4.4f %4.4f |\n", m_[1][0], m_[1][1], 
TWIPS_TO_PIXELS(m_[1][2]));
        }
 
        void    matrix::transform(point* result, const point& p) const
@@ -425,11 +425,11 @@
        void    cxform::print() const
        // Debug log.
        {
-               log_msg("    *         +\n");
-               log_msg("| %4.4f %4.4f|\n", m_[0][0], m_[0][1]);
-               log_msg("| %4.4f %4.4f|\n", m_[1][0], m_[1][1]);
-               log_msg("| %4.4f %4.4f|\n", m_[2][0], m_[2][1]);
-               log_msg("| %4.4f %4.4f|\n", m_[3][0], m_[3][1]);
+               log_parse("    *         +\n");
+               log_parse("| %4.4f %4.4f|\n", m_[0][0], m_[0][1]);
+               log_parse("| %4.4f %4.4f|\n", m_[1][0], m_[1][1]);
+               log_parse("| %4.4f %4.4f|\n", m_[2][0], m_[2][1]);
+               log_parse("| %4.4f %4.4f|\n", m_[3][0], m_[3][1]);
        }
 
 
@@ -466,7 +466,7 @@
        void    rgba::print()
        // For debugging.
        {
-               log_msg("rgba: %d %d %d %d\n", m_r, m_g, m_b, m_a);
+               log_parse("rgba: %d %d %d %d\n", m_r, m_g, m_b, m_a);
        }
 
        
@@ -499,7 +499,7 @@
        void    rect::print() const
        // Debug spew.
        {
-               log_msg("xmin = %g, ymin = %g, xmax = %g, ymax = %g\n",
+               log_parse("xmin = %g, ymin = %g, xmax = %g, ymax = %g\n",
                        TWIPS_TO_PIXELS(m_x_min),
                        TWIPS_TO_PIXELS(m_y_min),
                        TWIPS_TO_PIXELS(m_x_max),

Index: server/types.h
===================================================================
RCS file: /sources/gnash/gnash/server/types.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/types.h      8 May 2006 21:12:24 -0000       1.5
+++ server/types.h      7 Jun 2006 03:03:21 -0000       1.6
@@ -19,10 +19,6 @@
        extern bool     s_verbose_debug;
 };
 
-#define IF_VERBOSE_ACTION(exp) if (gnash::s_verbose_action) { exp; }
-#define IF_VERBOSE_PARSE(exp) if (gnash::s_verbose_parse) { exp; }
-#define IF_VERBOSE_DEBUG(exp) if (gnash::s_verbose_debug) { exp; }
-
 
 #define TWIPS_TO_PIXELS(x)     ((x) / 20.f)
 #define PIXELS_TO_TWIPS(x)     ((x) * 20.f)

Index: server/swf/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/swf/ASHandlers.cpp   27 May 2006 18:23:12 -0000      1.5
+++ server/swf/ASHandlers.cpp   7 Jun 2006 03:03:22 -0000       1.6
@@ -614,14 +614,14 @@
     as_value variable = env.get_variable(var_string, with_stack);
     env.push(variable);
     if (variable.to_object() == NULL) {
-        IF_VERBOSE_ACTION(log_msg("-- get var: %s=%s\n",
+        log_action("-- get var: %s=%s\n",
                                   var_string.c_str(),
-                                  variable.to_tu_string().c_str()));
+                   variable.to_tu_string().c_str());
     } else {
-        IF_VERBOSE_ACTION(log_msg("-- get var: %s=%s at %p\n",
+        log_action("-- get var: %s=%s at %p\n",
                                   var_string.c_str(),
                                   variable.to_tu_string().c_str(),
-                               (void*)variable.to_object()));
+                   (void*)variable.to_object());
     }
     
     return true;
@@ -633,8 +633,7 @@
 //    GNASH_REPORT_FUNCTION;
     std::vector<with_stack_entry> with_stack;
     env.set_variable(env.top(1).to_tu_string(), env.top(0), with_stack);
-    IF_VERBOSE_ACTION(dbglogfile << "\n-- set var: "
-                      << env.top(1).to_string() << endl);
+    log_action("\n-- set var: %s", env.top(1).to_string());
     
     env.drop(2);
     return true;
@@ -657,10 +656,9 @@
     }
     
     if (new_target == NULL) {
-        IF_VERBOSE_ACTION(log_error(
-                              "Couldn't find movie \"%s\" to set target to!"
+        log_action("ERROR: Couldn't find movie \"%s\" to set target to!"
                               " Not setting target at all...",
-                              (const char *)target_name));
+                   (const char *)target_name);
     } else {
         env.set_target(new_target);
     }
@@ -691,7 +689,7 @@
             target->get_member(_property_names[prop_number].c_str(), &val);
             env.top(1) = val;
         } else {
-           log_error("error: invalid property query, property number %d\n", 
prop_number);
+           log_error("invalid property query, property number %d\n", 
prop_number);
        }
     } else {
         env.top(1) = as_value();
@@ -714,7 +712,7 @@
         if ((prop_number >= 0) && prop_number < (int)_property_names.size()) {
            target->set_member(_property_names[prop_number].c_str(), prop_val);
        } else {
-           log_error("error: invalid set_property, property number %d\n", 
prop_number);
+           log_error("invalid set_property, property number %d\n", 
prop_number);
        }
         
     }
@@ -761,7 +759,7 @@
     
     st.m_character = env.find_target(env.top(0));
     if (st.m_character == NULL) {
-        log_error("error: start_drag of invalid target '%s'.\n",
+        log_error("start_drag of invalid target '%s'.\n",
                   env.top(0).to_string());
     }
     
@@ -825,7 +823,7 @@
     // Invalid args!
     if (!super || ! instance) {
         //IF_VERBOSE_ACTION(
-        log_msg("-- %s instance_of %s (invalid args?)\n",
+        log_action("-- %s instance_of %s (invalid args?)\n",
                 env.top(1).to_string(),
                 env.top(0).to_string());
         //);
@@ -1098,24 +1096,24 @@
 //    doActionNew(env, with_stack);
 
     as_value   classname = env.pop();
-    IF_VERBOSE_ACTION(log_msg("---new object: %s\n",
-                             classname.to_tu_string().c_str()));
+    log_action("---new object: %s\n",
+               classname.to_tu_string().c_str());
     int        nargs = (int) env.pop().to_number();
 
     as_value constructor = env.get_variable(classname.to_tu_string(), 
with_stack);
     as_value new_obj;
     if (constructor.get_type() == as_value::C_FUNCTION)        {
-        IF_VERBOSE_ACTION(log_msg("Constructor is a C_FUNCTION\n"));
+        log_action("Constructor is a C_FUNCTION\n");
         // C function is responsible for creating the new object and setting 
members.
         (constructor.to_c_function())(fn_call(&new_obj, NULL, &env, nargs, 
env.get_top_index()));
     } else if (function_as_object* ctor_as_func = 
constructor.to_as_function())        {
         // This function is being used as a constructor; make sure
         // it has a prototype object.
-        IF_VERBOSE_ACTION(log_msg("Constructor is an AS_FUNCTION\n"));
+        log_action("Constructor is an AS_FUNCTION\n");
         
         // a built-in class takes care of assigning a prototype
         if ( ctor_as_func->isBuiltin() ) {
-            IF_VERBOSE_ACTION(log_msg("it's a built-in class"));
+            log_action("it's a built-in class");
             (*ctor_as_func)(fn_call(&new_obj, NULL, &env, nargs, 
env.get_top_index()));
         } else {
             // Set up the prototype.
@@ -1123,7 +1121,7 @@
             bool func_has_prototype = ctor_as_func->get_member("prototype", 
&proto);
             assert(func_has_prototype);
             
-            IF_VERBOSE_ACTION(log_msg("constructor prototype is %s\n", 
proto.to_string()));
+            log_action("constructor prototype is %s\n", proto.to_string());
             
             // Create an empty object, with a ref to the constructor's 
prototype.
             smart_ptr<as_object>       new_obj_ptr(new 
as_object(proto.to_object()));
@@ -1289,7 +1287,7 @@
     as_value nullvalue;
     nullvalue.set_null();
     env.push(nullvalue);
-    IF_VERBOSE_ACTION(log_msg("---enumerate - push: NULL\n"));
+    log_action("---enumerate - push: NULL\n");
     
     stringi_hash<as_member>::const_iterator it = object->m_members.begin();
     while (it != object->m_members.end()) {
@@ -1298,8 +1296,8 @@
         if (! member.get_member_flags().get_dont_enum()) {
             env.push(as_value(it->first.c_str()));
             
-            IF_VERBOSE_ACTION(log_msg("---enumerate - push: %s\n",
-                                      it->first.c_str()));
+            log_action("---enumerate - push: %s\n",
+                                      it->first.c_str());
         }
         
         ++it;
@@ -1314,8 +1312,8 @@
             if (! member.get_member_flags().get_dont_enum()) {
                 env.push(as_value(it->first.c_str()));
                 
-                IF_VERBOSE_ACTION(log_msg("---enumerate - push: %s\n",
-                                          it->first.c_str()));
+                log_action("---enumerate - push: %s\n",
+                           it->first.c_str());
             }
             
             ++it;
@@ -1412,16 +1410,16 @@
     
     as_object* obj = target.to_object();
     if (!obj) {
-        IF_VERBOSE_DEBUG(log_msg("getMember called against "
-                                 "a value that does not cast "
-                                 "to an as_object: %s\n", target.to_string()));
+//         IF_VERBOSE_DEBUG(log_msg("getMember called against "
+//                                  "a value that does not cast "
+//                                  "to an as_object: %s\n", 
target.to_string()));
         env.top(1).set_undefined();
         env.drop(1);
         return false;
     }
 
-    IF_VERBOSE_ACTION(log_msg(" ActionGetMember: target: %s (object %p)\n",
-               target.to_string(), (void*)obj));
+    log_action(" ActionGetMember: target: %s (object %p)\n",
+               target.to_string(), (void*)obj);
     
     // Special case: String has a member "length"
     // @@ FIXME: we shouldn't have all this "special" cases --strk;
@@ -1433,9 +1431,9 @@
             env.top(1).set_undefined();
         }
         
-        IF_VERBOSE_ACTION(log_msg("-- get_member %s=%s\n",
+        log_action("-- get_member %s=%s\n",
                                   member_name.to_tu_string().c_str(),
-                                  env.top(1).to_tu_string().c_str()));
+                   env.top(1).to_tu_string().c_str());
     }
     env.drop(1);
     
@@ -1449,18 +1447,16 @@
     as_object* obj = env.top(2).to_object();
     if (obj) {
         obj->set_member(env.top(1).to_tu_string(), env.top(0));
-        IF_VERBOSE_ACTION(
-            log_msg("-- set_member %s.%s=%s\n",
+        log_action("-- set_member %s.%s=%s\n",
                     env.top(2).to_tu_string().c_str(),
                     env.top(1).to_tu_string().c_str(),
-                    env.top(0).to_tu_string().c_str()));
+                   env.top(0).to_tu_string().c_str());
     } else {
         // Invalid object, can't set.
-        IF_VERBOSE_ACTION(
-            log_msg("-- set_member %s.%s=%s on invalid object!\n",
+        log_action("-- set_member %s.%s=%s on invalid object!\n",
                     env.top(2).to_tu_string().c_str(),
                     env.top(1).to_tu_string().c_str(),
-                    env.top(0).to_tu_string().c_str()));
+                   env.top(0).to_tu_string().c_str());
     }
     env.drop(3);
     return true;
@@ -1494,19 +1490,19 @@
 
     // Get name of the method
     const tu_string &method_name = env.top(0).to_tu_string();
-    IF_VERBOSE_ACTION(log_msg(" method name: %s\n", method_name.c_str()));
+    log_action(" method name: %s\n", method_name.c_str());
 
     // Get an object
     as_value& obj_value = env.top(1);
     as_object *obj = obj_value.to_object();
-    IF_VERBOSE_ACTION(log_msg(" method object: %p\n", (void*)obj));
+    log_action(" method object: %p\n", (void*)obj);
 
     // Get number of arguments
     int        nargs = (int) env.top(2).to_number();
-    IF_VERBOSE_ACTION(log_msg(" method nargs: %d\n", nargs));
+    log_action(" method nargs: %d\n", nargs);
 
     if (!obj) {
-        log_error("error: call_method invoked in something that "
+        log_error("call_method invoked in something that "
                   "doesn't cast to an as_object: %s\n",
                   obj_value.to_string());
     } else {
@@ -1514,14 +1510,14 @@
         if (obj->get_member(method_name, &method)) {
             if (method.get_type() != as_value::AS_FUNCTION &&
                 method.get_type() != as_value::C_FUNCTION) {
-                log_error("error: call_method: '%s' is not a method\n",
+                log_error("call_method: '%s' is not a method\n",
                           method_name.c_str());
             } else {
                 result = call_method( method, &env, obj, nargs,
                                       env.get_top_index() - 3);
             }
         } else {
-            log_error("error: call_method can't find method %s "
+            log_error("call_method can't find method %s "
                       "for object %s (%p)\n", method_name.c_str(), 
                       typeid(*obj).name(), (void*)obj);
         }
@@ -1557,7 +1553,7 @@
     // Invalid args!
     if (!super || ! instance) {
         //IF_VERBOSE_ACTION(
-        log_msg("-- %s instance_of %s (invalid args?)\n",
+        log_action("-- %s instance_of %s (invalid args?)\n",
                 env.top(1).to_string(),
                 env.top(0).to_string());
         //);

Index: server/swf/tag_loaders.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/swf/tag_loaders.cpp  20 May 2006 19:34:11 -0000      1.8
+++ server/swf/tag_loaders.cpp  7 Jun 2006 03:03:22 -0000       1.9
@@ -153,8 +153,8 @@
        {
            m_color.read_rgb(in);
 
-           IF_VERBOSE_PARSE(log_msg("  set_background_color: (%d %d %d)\n",
-                                    m_color.m_r, m_color.m_g, m_color.m_b));
+           log_parse("  set_background_color: (%d %d %d)\n",
+                     m_color.m_r, m_color.m_g, m_color.m_b);
        }
 };
 
@@ -237,7 +237,7 @@
                
     uint16_t   character_id = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  define_bits_jpeg2_loader: charid = %d pos = 
0x%x\n", character_id, in->get_position()));
+    log_parse("  define_bits_jpeg2_loader: charid = %d pos = 0x%x\n", 
character_id, in->get_position());
 
     //
     // Read the image data.
@@ -294,7 +294,7 @@
 
     err = inflateInit(&d_stream);
     if (err != Z_OK) {
-       log_error("error: inflate_wrapper() inflateInit() returned %d\n", err);
+       log_error("inflate_wrapper() inflateInit() returned %d\n", err);
        return;
     }
 
@@ -310,14 +310,14 @@
        if (err == Z_STREAM_END) break;
        if (err != Z_OK)
            {
-               log_error("error: inflate_wrapper() inflate() returned %d\n", 
err);
+               log_error("inflate_wrapper() inflate() returned %d\n", err);
            }
     }
 
     err = inflateEnd(&d_stream);
     if (err != Z_OK)
        {
-           log_error("error: inflate_wrapper() inflateEnd() return %d\n", err);
+           log_error("inflate_wrapper() inflateEnd() return %d\n", err);
        }
 }
 #endif // TU_CONFIG_LINK_TO_ZLIB
@@ -332,7 +332,7 @@
 
     uint16_t   character_id = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  define_bits_jpeg3_loader: charid = %d pos = 
0x%x\n", character_id, in->get_position()));
+    log_parse("  define_bits_jpeg3_loader: charid = %d pos = 0x%x\n", 
character_id, in->get_position());
 
     uint32_t   jpeg_size = in->read_u32();
     uint32_t   alpha_position = in->get_position() + jpeg_size;
@@ -395,12 +395,12 @@
     uint16_t   width = in->read_u16();
     uint16_t   height = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  defbitslossless2: tag = %d, id = %d, fmt = %d, 
w = %d, h = %d\n",
+    log_parse("  defbitslossless2: tag = %d, id = %d, fmt = %d, w = %d, h = 
%d\n",
                             tag,
                             character_id,
                             bitmap_format,
                             width,
-                            height));
+                            height);
 
     bitmap_info*       bi = NULL;
     if (m->get_create_bitmaps() == DO_LOAD_BITMAPS)
@@ -637,7 +637,7 @@
 void
 fixme_loader(stream* in, tag_type tag, movie_definition* m)
 {
-    IF_VERBOSE_PARSE(log_msg("  FIXME: tagtype = %d\n", tag));
+    log_parse("  FIXME: tagtype = %d\n", tag);
 }
 
 void define_shape_loader(stream* in, tag_type tag, movie_definition* m)
@@ -647,12 +647,12 @@
           || tag == SWF::DEFINESHAPE3);
 
     uint16_t   character_id = in->read_u16();
-    IF_VERBOSE_PARSE(log_msg("  shape_loader: id = %d\n", character_id));
+    log_parse("  shape_loader: id = %d\n", character_id);
 
     shape_character_def*       ch = new shape_character_def;
     ch->read(in, tag, true, m);
 
-    IF_VERBOSE_PARSE(log_msg("  bound rect:"); ch->get_bound().print());
+    log_parse("  bound rect:"); ch->get_bound().print();
 
     m->add_character(character_id, ch);
 }
@@ -661,7 +661,7 @@
 {
     assert(tag == 46);
     uint16_t character_id = in->read_u16();
-    IF_VERBOSE_PARSE(log_msg("  shape_morph_loader: id = %d\n", character_id));
+    log_parse("  shape_morph_loader: id = %d\n", character_id);
     morph2_character_def* morph = new morph2_character_def;
     morph->read(in, tag, true, m);
     m->add_character(character_id, morph);
@@ -773,18 +773,17 @@
                    m_depth = in->read_u16();
                    m_matrix.read(in);
 
-                   IF_VERBOSE_PARSE(
-                       log_msg("  char_id = %d\n"
+                   log_parse("  char_id = %d\n"
                                "  depth = %d\n"
                                "  mat = \n",
                                m_character_id,
                                m_depth);
-                       m_matrix.print());
+                   m_matrix.print();
 
                    if (in->get_position() < in->get_tag_end_position())
                        {
                            m_color_transform.read_rgb(in);
-                           IF_VERBOSE_PARSE(log_msg("  cxform:\n"); 
m_color_transform.print());
+                           log_parse("  cxform:\n"); m_color_transform.print();
                        }
                }
            else if (tag == 26)
@@ -801,36 +800,36 @@
                    bool        flag_move = in->read_uint(1) ? true : false;
 
                    m_depth = in->read_u16();
-                   IF_VERBOSE_PARSE(log_msg("  depth = %d\n", m_depth));
+                   log_parse("  depth = %d\n", m_depth);
 
                    if (has_char) {
                        m_character_id = in->read_u16();
-                       IF_VERBOSE_PARSE(log_msg("  char id = %d\n", 
m_character_id));
+                       log_parse("  char id = %d\n", m_character_id);
                    }
 
                    if (has_matrix) {
                        m_has_matrix = true;
                        m_matrix.read(in);
-                       IF_VERBOSE_PARSE(log_msg("  mat:\n"); m_matrix.print());
+                       log_parse("  mat:\n"); m_matrix.print();
                    }
                    if (has_cxform) {
                        m_has_cxform = true;
                        m_color_transform.read_rgba(in);
-                       IF_VERBOSE_PARSE(log_msg("  cxform:\n"); 
m_color_transform.print());
+                       log_parse("  cxform:\n"); m_color_transform.print();
                    }
                                
                    if (has_ratio) {
                        m_ratio = (float)in->read_u16() / (float)65535;
-                       IF_VERBOSE_PARSE(log_msg("  ratio: %f\n", m_ratio));
+                       log_parse("  ratio: %f\n", m_ratio);
                    }
                                
                    if (has_name) {
                        m_name = in->read_string();
-                       IF_VERBOSE_PARSE(log_msg("  name = %s\n", m_name ? 
m_name : "<null>"));
+                       log_parse("  name = %s\n", m_name ? m_name : "<null>");
                    }
                    if (has_clip_bracket) {
                        m_clip_depth = in->read_u16(); 
-                       IF_VERBOSE_PARSE(log_msg("  clip_depth = %d\n", 
m_clip_depth));
+                       log_parse("  clip_depth = %d\n", m_clip_depth);
                    }
                    if (has_actions)
                        {
@@ -850,7 +849,7 @@
                                }
                            UNUSED(all_flags);
 
-                           IF_VERBOSE_PARSE(log_msg("  actions: flags = 
0x%X\n", all_flags));
+                           log_parse("  actions: flags = 0x%X\n", all_flags);
 
                            // Read swf_events.
                            for (;;)
@@ -1014,7 +1013,7 @@
 {
     assert(tag == 4 || tag == 26);
 
-    IF_VERBOSE_PARSE(log_msg("  place_object_2\n"));
+    log_parse("  place_object_2\n");
 
     place_object_2*    ch = new place_object_2;
     ch->read(in, tag, m->get_version());
@@ -1030,7 +1029,7 @@
                 
        int     character_id = in->read_u16();
 
-       IF_VERBOSE_PARSE(log_msg("  sprite\n  char id = %d\n", character_id));
+       log_parse("  sprite\n  char id = %d\n", character_id);
 
        /// A DEFINESPRITE tag as part of a DEFINESPRITE
        /// would be a malformed SWF
@@ -1119,7 +1118,7 @@
     remove_object_2*   t = new remove_object_2;
     t->read(in, tag);
 
-    IF_VERBOSE_PARSE(log_msg("  remove_object_2(%d)\n", t->m_depth));
+    log_parse("  remove_object_2(%d)\n", t->m_depth);
 
     m->add_execute_tag(t);
 }
@@ -1143,7 +1142,7 @@
 
     int        character_id = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  button character loader: char_id = %d\n", 
character_id));
+    log_parse("  button character loader: char_id = %d\n", character_id);
 
     button_character_definition*       ch = new button_character_definition;
     ch->read(in, tag, m);
@@ -1164,14 +1163,14 @@
 
     int        count = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  export: count = %d\n", count));
+    log_parse("  export: count = %d\n", count);
 
     // Read the exports.
     for (int i = 0; i < count; i++)
        {
            uint16_t    id = in->read_u16();
            char*       symbol_name = in->read_string();
-           IF_VERBOSE_PARSE(log_msg("  export: id = %d, name = %s\n", id, 
symbol_name));
+           log_parse("  export: id = %d, name = %s\n", id, symbol_name);
 
            if (font* f = m->get_font(id))
                {
@@ -1210,7 +1209,7 @@
     char*      source_url = in->read_string();
     int        count = in->read_u16();
 
-    IF_VERBOSE_PARSE(log_msg("  import: source_url = %s, count = %d\n", 
source_url, count));
+    log_parse("  import: source_url = %s, count = %d\n", source_url, count);
 
     // Try to load the source movie into the movie library.
     movie_definition*  source_movie = NULL;
@@ -1236,7 +1235,7 @@
        {
            uint16_t    id = in->read_u16();
            char*       symbol_name = in->read_string();
-           IF_VERBOSE_PARSE(log_msg("  import: id = %d, name = %s\n", id, 
symbol_name));
+           log_parse("  import: id = %d, name = %s\n", id, symbol_name);
 
            if (s_no_recurse_while_loading)
                {
@@ -1285,7 +1284,7 @@
        uint16_t        character_id = in->read_u16();
 
        edit_text_character_def* ch = new edit_text_character_def(m);
-       IF_VERBOSE_PARSE(log_msg("edit_text_char, id = %d\n", character_id));
+       log_parse("edit_text_char, id = %d\n", character_id);
        ch->read(in, tag, m);
 
        m->add_character(character_id, ch);
@@ -1300,7 +1299,7 @@
        uint16_t        character_id = in->read_u16();
        
        text_character_def* ch = new text_character_def(m);
-       IF_VERBOSE_PARSE(log_msg("text_character, id = %d\n", character_id));
+       log_parse("text_character, id = %d\n", character_id);
        ch->read(in, tag, m);
 
        // IF_VERBOSE_PARSE(print some stuff);
@@ -1318,10 +1317,9 @@
 void
 do_action_loader(stream* in, tag_type tag, movie_definition* m)
 {
-       IF_VERBOSE_PARSE(log_msg("tag %d: do_action_loader\n", tag));
-
-       IF_VERBOSE_ACTION(log_msg("-- actions in frame %d\n",
-               m->get_loading_frame()));
+    log_parse("tag %d: do_action_loader\n", tag);
+    log_action("-- actions in frame %d\n",
+              m->get_loading_frame());
 
        assert(in);
        assert(tag == 12);
@@ -1340,9 +1338,9 @@
 
        int sprite_character_id = in->read_u16();
 
-       IF_VERBOSE_PARSE(log_msg("  tag %d: do_init_action_loader\n", tag));
-       IF_VERBOSE_ACTION(log_msg("  -- init actions for sprite %d\n",
-               sprite_character_id));
+       log_parse("  tag %d: do_init_action_loader\n", tag);
+       log_action("  -- init actions for sprite %d\n",
+                  sprite_character_id);
 
        do_action* da = new do_action;
        da->read(in);
@@ -1362,7 +1360,7 @@
     // so it's important to know if this ever occurs in the wild.
     if (flags & (flags - 1))
        {
-           log_error("error: swf_event::read() -- more than one event type 
encoded!  "
+           log_error("swf_event::read() -- more than one event type encoded!  "
                      "unexpected! flags = 0x%x\n", flags);
        }
 
@@ -1392,7 +1390,7 @@
     // Let's see if the event flag we received is for an event that we know of
     if ((pow(2.0,int(sizeof(s_code_bits)/sizeof(s_code_bits[0])))-1) < flags)
        {
-           log_error("error: swf_event::read() -- unknown / unhandled event 
type received, flags = 0x%x\n", flags);
+           log_error("swf_event::read() -- unknown / unhandled event type 
received, flags = 0x%x\n", flags);
        }
 
     for (int i = 0, mask = 1; i < 
int(sizeof(s_code_bits)/sizeof(s_code_bits[0])); i++, mask <<= 1)
@@ -1414,7 +1412,7 @@
     UNUSED(event_length);
 
     // Read the actions.
-    IF_VERBOSE_ACTION(log_msg("---- actions for event %s\n", 
m_event.get_function_name().c_str()));
+    log_action("---- actions for event %s\n", 
m_event.get_function_name().c_str());
     m_action_buffer.read(in);
 
     if (m_action_buffer.get_length() != (int) event_length)

Index: libbase/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/libbase/Makefile.am,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- libbase/Makefile.am 29 May 2006 14:22:05 -0000      1.29
+++ libbase/Makefile.am 7 Jun 2006 03:03:22 -0000       1.30
@@ -93,7 +93,9 @@
 libgnashbase_la_LIBADD = \
        $(JPEG_LIBS)    \
        $(ZLIB_LIBS)    \
-       $(CURL_LIBS)
+       $(CURL_LIBS) \
+       $(SDL_LIBS)
+#      $(OPENGL_LIBS)
 
 noinst_HEADERS = \
        container.h \

Index: libbase/log.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/log.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libbase/log.cpp     27 May 2006 18:27:54 -0000      1.8
+++ libbase/log.cpp     7 Jun 2006 03:03:22 -0000       1.9
@@ -75,6 +75,8 @@
 // static data to be hared amongst all classes.
 ofstream LogFile::_console;
 int LogFile::_verbose = 0;
+bool LogFile::_actiondump = false;
+bool LogFile::_parserdump = false;
 
 // Workspace for vsnprintf formatting.
 static const int BUFFER_SIZE = 500;
@@ -190,6 +192,42 @@
     va_end (ap);
 }
 
+void
+log_action(const char* fmt, ...)
+{
+    va_list ap;
+    char tmp[BUFFER_SIZE];
+    memset(tmp, 0, BUFFER_SIZE);
+
+    va_start (ap, fmt);
+    vsprintf (tmp, fmt, ap);
+
+    bool stamp = dbglogfile.getStamp();
+    dbglogfile.setStamp(false);
+    if (dbglogfile.getActionDump()) {
+       dbglogfile << tmp << endl;
+    }
+    dbglogfile.setStamp(stamp);
+    
+    va_end (ap);    
+}
+
+void
+log_parse(const char* fmt, ...)
+{
+    va_list ap;
+    char tmp[BUFFER_SIZE];
+    memset(tmp, 0, BUFFER_SIZE);
+
+    va_start (ap, fmt);
+    vsprintf (tmp, fmt, ap);
+
+    if (dbglogfile.getParserDump()) {
+       dbglogfile << tmp << endl;
+    }
+    
+    va_end (ap);    
+}
 
 // Printf-style error log.
 void
@@ -228,7 +266,10 @@
 }
 
 // Default constructor
-LogFile::LogFile (void): _state(OPEN), _stamp(true), _write(true), 
_trace(false)
+LogFile::LogFile (void): _state(OPEN),
+                        _stamp(true),
+                        _write(true),
+                        _trace(false)
 {
     string loadfile;
     

Index: libbase/log.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/log.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- libbase/log.h       18 May 2006 19:09:14 -0000      1.7
+++ libbase/log.h       7 Jun 2006 03:03:22 -0000       1.8
@@ -123,6 +123,20 @@
        return _verbose;
     }
     
+    void setActionDump (int x) {
+       _actiondump = x;
+    }
+    int getActionDump (void) {
+       return _actiondump;
+    }
+    
+    void setParserDump (int x) {
+       _parserdump = x;
+    }
+    int getParserDump (void) {
+       return _parserdump;
+    }
+    
     void setStamp (bool b) {
        _stamp = b;
     }
@@ -140,6 +154,8 @@
     static std::ofstream _console;
     std::ofstream       _outstream;
     static int          _verbose;
+    static bool                 _actiondump;
+    static bool                 _parserdump;
     bool                _stamp;
     bool                _write;
     bool                _trace;
@@ -157,15 +173,22 @@
 void log_error(const char* fmt, ...);
 void log_warning(const char* fmt, ...);
 void log_trace(const char* fmt, ...);
+void log_action(const char* fmt, ...);
+void log_parse(const char* fmt, ...);
 #else
 void log_msg(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
 void log_error(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
 void log_warning(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
 void log_trace(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
+void log_action(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
+void log_parse(const char* fmt, ...) __attribute__((format (printf, 1, 2)));
 #endif
 
 extern LogFile dbglogfile;
 
+// #define IF_VERBOSE_ACTION(exp) log_action(exp);
+// #define IF_VERBOSE_PARSE(exp)  log_parse(exp);
+
 struct __Host_Function_Report__ {
     const char *func;
 

Index: libbase/rc.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/rc.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- libbase/rc.cpp      29 May 2006 15:45:36 -0000      1.2
+++ libbase/rc.cpp      7 Jun 2006 03:03:22 -0000       1.3
@@ -54,21 +54,31 @@
 using namespace std;
 namespace gnash {
   
-RcInitFile::RcInitFile() : _splash_screen(true),
+
+RcInitFile::RcInitFile() : _delay(31),
+                           _debug(false),
+                           _debugger(false),
+                           _verbosity(-1),
+                           _actiondump(false),
+                           _parserdump(false),
+                           _splash_screen(true),
                            _localdomain_only(false),
                            _localhost_only(true)
 {
+//    GNASH_REPORT_FUNCTION;
+//    loadFiles();
 }
 
 RcInitFile::~RcInitFile()
 {
-    
+//    GNASH_REPORT_FUNCTION;    
 }
 
 // Look for a config file in the likely places.
 bool
 RcInitFile::loadFiles()
 {
+//    GNASH_REPORT_FUNCTION;
   char *home;
   string loadfile;
   
@@ -92,28 +102,42 @@
 }
 
 bool
-RcInitFile::extractSetting(const char *pattern, std::string &variable,
+RcInitFile::extractSetting(bool *var, const char *pattern, std::string 
&variable,
                            std::string &value)
 {
-//    dbglogfile << variable << ":" << ":" << value << endl;
+//    GNASH_REPORT_FUNCTION;
+//    dbglogfile << variable << ": " << value << endl;
       
     if (variable == pattern) {
         if ((value == "on") || (value == "yes") || (value == "true")) {
-            dbglogfile << variable << ": Enabled " << endl;
-            return true;
+//            dbglogfile << variable << ": Enabled " << endl;
+            *var = true;
         }
         if ((value == "off") || (value == "no") || (value == "false")) {
-            dbglogfile << variable << ": Disabled " << endl;
-            return false;
+//            dbglogfile << variable << ": Disabled " << endl;
+            *var = false;
         }
     }
-    return false;
+    return *var;
+}
+
+int
+RcInitFile::extractNumber(int *num, const char *pattern, std::string &variable,
+                           std::string &value)
+{      
+//    GNASH_REPORT_FUNCTION;
+//        dbglogfile << variable.c_str() << ": " << value.c_str() << endl;
+    if (variable == pattern) {
+        *num = strtol(value.c_str(), NULL, 0);
+    }
+    return *num;
 }
 
 // Parse the config file and set the variables.
 bool
 RcInitFile::parseFile(string filespec)
 {
+//    GNASH_REPORT_FUNCTION;
   struct stat stats;
   string action;
   string variable;
@@ -150,9 +174,16 @@
       //      dbglogfile << action << variable << value << endl;
 
       if (action == "set") {
-          _splash_screen = extractSetting("splash_screen", variable, value);
-          _localhost_only = extractSetting("localhost", variable, value);
-          _localdomain_only = extractSetting("localdomain", variable, value);
+                extractSetting(&_splash_screen, "splash_screen", variable, 
value);
+                extractSetting(&_localhost_only, "localhost", variable, value);
+                extractSetting(&_localdomain_only, "localdomain", variable, 
value);
+                extractSetting(&_debugger, "debugger", variable, value);
+                extractSetting(&_actiondump, "actionDump", variable, value);
+                extractSetting(&_parserdump, "parserDump", variable, value);
+                extractSetting(&_writelog, "writelog", variable, value);
+                
+                extractNumber(&_delay, "delay", variable, value);
+                extractNumber(&_verbosity, "verbosity", variable, value);
           
           if (variable == "blacklist") {
               string::size_type pos;
@@ -184,6 +215,8 @@
   if (in) {
       in.close();
   }
+    
+    
   return true;
 }
 
@@ -213,7 +246,62 @@
     _localhost_only = value;
 }
 
-} // end of namespace gnash
+void
+RcInitFile::useActionDump(bool value)
+{
+//    GNASH_REPORT_FUNCTION;
+    _actiondump = value;
+    if (value) {
+        _verbosity++;
+    }
+}
+
+void
+RcInitFile::useParserDump(bool value)
+{
+//    GNASH_REPORT_FUNCTION;
+    
+    _parserdump = value;
+    if (value) {
+        _verbosity++;
+    }
+}
+
+void
+RcInitFile::useWriteLog(bool value)
+{
+//    GNASH_REPORT_FUNCTION;
 
+    _writelog = value;
+}
 
+void
+RcInitFile::dump()
+{
+    cerr << endl << "Dump RcInitFile:" << endl;
+    cerr << "\tTimer interupt delay value: " << _delay << endl;
+    cerr << "\tFlash debugger: "
+         << ((_debugger)?"enabled":"disabled") << endl;
+    cerr << "\tVerbosity Level: " << _verbosity << endl;
+    cerr << "\tDump ActionScript processing: "
+         << ((_actiondump)?"enabled":"disabled") << endl;
+    cerr << "\tDump parser info: "
+         << ((_parserdump)?"enabled":"disabled") << endl;
+    cerr << "\tUse Splash Screen: "
+         << ((_splash_screen)?"enabled":"disabled") << endl;
+    cerr << "\tUse Local Domain Only: "
+         << ((_localdomain_only)?"enabled":"disabled") << endl;
+    cerr << "\tUse Localhost Only: "
+         << ((_localhost_only)?"enabled":"disabled") << endl;
+    cerr << "\tWrite Debug Log To Disk: "
+         << ((_writelog)?"enabled":"disabled") << endl;
+    if (_log.size()) {
+        cerr << "\tDebug Log name is: " << _log << endl;
+    }
 
+//     std::vector<std::string> _whitelist;
+//     std::vector<std::string> _blacklist;
+}
+
+
+} // end of namespace gnash

Index: libbase/rc.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/rc.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- libbase/rc.h        29 May 2006 15:45:36 -0000      1.2
+++ libbase/rc.h        7 Jun 2006 03:03:22 -0000       1.3
@@ -60,18 +60,51 @@
     bool useSplashScreen() { return _splash_screen; };
     void useSplashScreen(bool value);
 
+    bool useActionDump() { return _actiondump; };
+    void useActionDump(bool value);
+
+    bool useParserDump() { return _parserdump; };
+    void useParserDump(bool value);
+
+    bool useWriteLog() { return _writelog; };
+    void useWriteLog(bool value);
+
+    int getTimerDelay() { return _delay; };
+    void setTimerDelay(int x) { _delay = x; };
+    
+    int verbosityLevel() { return _verbosity; };
+    void verbosityLevel(int value) { _verbosity = value; };
+    
+    std::string getDebugLog() { return _log; };
+    
+    bool useDebugger() { return _debugger; };
+    void useDebugger(bool value) { _debugger = value; }
+
     bool useLocalDomain() { return _localdomain_only; };
     void useLocalDomain(bool value);
     
     bool useLocalHost() { return _localhost_only; };
     void useLocalHost(bool value);
 
-    bool extractSetting(const char *pattern, std::string &variable,
+    bool extractSetting(bool *var, const char *pattern, std::string &variable,
+                        std::string &value);
+    
+    int extractNumber(int *num, const char *pattern, std::string &variable,
                         std::string &value);
 
     std::vector<std::string> getWhiteList() { return _whitelist; };
     std::vector<std::string> getBlackList() { return _blacklist; };
+
+    void dump();
+    
 private:
+    int  _delay;                // the timer delay
+    bool _debug;                // enable debugging of this class
+    bool _debugger;             // enable the Flash movie debugger
+    int  _verbosity;
+    bool _actiondump;           // enable dumping actionscript classes
+    bool _parserdump;           // enable dumping parser data
+    
     // End user Features
     bool _splash_screen;        // display a splash screen when
                                 // loading a movie
@@ -81,6 +114,8 @@
     bool _localhost_only;       // only access network resources 
     std::vector<std::string> _whitelist; // domains we allow
     std::vector<std::string> _blacklist; // domains we don't allow
+    std::string _log;           // the name of the debug log
+    bool _writelog;             // enable writing the debug log to disk
 }; 
 
 // End of gnash namespace 

Index: testsuite/libbase/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/testsuite/libbase/Makefile.am,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- testsuite/libbase/Makefile.am       29 May 2006 14:22:05 -0000      1.3
+++ testsuite/libbase/Makefile.am       7 Jun 2006 03:03:22 -0000       1.4
@@ -88,6 +88,6 @@
 RcTest_SOURCES = TCXXRc.cpp
 RcTest_CPPFLAGS = -DSRCDIR="$(srcdir)"
 
-LogTest_SOURCES = TCXXLog.cpp
-LogTest_CPPFLAGS = '-DBUILDDIR="$(abs_builddir)"'
+# LogTest_SOURCES = TCXXLog.cpp
+# LogTest_CPPFLAGS = '-DBUILDDIR="$(abs_builddir)"'
 

Index: testsuite/libbase/TCXXRc.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/libbase/TCXXRc.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- testsuite/libbase/TCXXRc.cpp        29 May 2006 14:22:05 -0000      1.1
+++ testsuite/libbase/TCXXRc.cpp        7 Jun 2006 03:03:22 -0000       1.2
@@ -92,6 +92,13 @@
 
     dbglogfile.setVerbosity();
     
+    // Parse the test config file
+    if (rc.parseFile("gnashrc")) {
+        runtest.pass ("rc.parseFile()");
+    } else {
+        runtest.fail ("rc.parseFile()");
+    }
+    
     // By default, use a splash screen
     if (rc.useSplashScreen()) {
         runtest.pass ("useSplashScreen default");
@@ -101,9 +108,9 @@
 
     // By default, limit access to the local host only
     if (rc.useLocalDomain()) {
-        runtest.fail ("useLocalDomain default");
-    } else {
         runtest.pass ("useLocalDomain default");
+    } else {
+        runtest.fail ("useLocalDomain default");
     }
     if (rc.useLocalHost()) {
         runtest.pass ("useLocalHost default");
@@ -111,11 +118,40 @@
         runtest.fail ("useLocalHost default");
     }
 
-    // Parse the test config file
-    if (rc.parseFile("gnashrc")) {
-        runtest.pass ("rc.parseFile()");
+    if (rc.useActionDump()) {
+        runtest.fail ("useActionDump");
     } else {
-        runtest.fail ("rc.parseFile()");
+        runtest.pass ("useActionDump");
+    }
+
+    if (rc.useParserDump()) {
+        runtest.fail ("useParserDump");
+    } else {
+        runtest.pass ("useParserDump");
+    }
+
+    if (rc.useWriteLog()) {
+        runtest.pass ("useWriteLog");
+    } else {
+        runtest.fail ("useWriteLog");
+    }
+
+    if (rc.useDebugger()) {
+        runtest.fail ("useDebugger");
+    } else {
+        runtest.pass ("useDebugger");
+    }
+
+    if (rc.getTimerDelay() == 50) {
+        runtest.pass ("getTimerDelay");
+    } else {
+        runtest.fail ("getTimerDelay");
+    }
+
+    if (rc.verbosityLevel() == 1) {
+        runtest.pass ("verbosityLevel");
+    } else {
+        runtest.fail ("verbosityLevel");
     }
     
     std::vector<std::string> whitelist = rc.getWhiteList();

Index: testsuite/libbase/gnashrc.in
===================================================================
RCS file: /sources/gnash/gnash/testsuite/libbase/gnashrc.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- testsuite/libbase/gnashrc.in        29 May 2006 14:22:05 -0000      1.1
+++ testsuite/libbase/gnashrc.in        7 Jun 2006 03:03:22 -0000       1.2
@@ -1,9 +1,36 @@
+# Display a splash screen when starting
 set splash_screen on
-set local_domain on
-set localhost off
 
-# sites we allow
+# Only access remote content from our local domain
+set localdomain on
+
+# Only access content from our local host
+set localhost on
+
+# These sites are OK
 set whitelist www.doonesbury.com:www.cnn.com:www.9news.com
 
-# sites we don't allow
+# Don't access content from these sites
 set blacklist www.doubleclick.com:www.ebay.com
+
+# The delay between timer interupts
+set delay 50
+
+# The default verbosity level
+set verbosity 1
+
+# Print debug info about the ActionScript classes as they are processed
+set actionDump off
+
+# Print debug info about how Gnash is parsing the file
+set parserDump off
+
+# The full path to the debug log
+set debuglog ~/gnash-dbg.log
+
+# Enable the debugger
+set debugger off
+
+# Write a debug log to disk
+set writelog on
+

Index: utilities/parser.cpp
===================================================================
RCS file: /sources/gnash/gnash/utilities/parser.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- utilities/parser.cpp        8 May 2006 21:12:24 -0000       1.6
+++ utilities/parser.cpp        7 Jun 2006 03:03:22 -0000       1.7
@@ -51,6 +51,7 @@
 #include "stream.h"
 #include "log.h"
 #include "gnash.h"
+#include "rc.h"
 
 #define TWIPS_TO_PIXELS(x) ((x) / 20.f)
 #define PIXELS_TO_TWIPS(x) ((x) * 20.f)
@@ -82,27 +83,28 @@
 using namespace gnash;
 
 static void usage (const char *);
+static RcInitFile rcfile;
 
 namespace parser
 {
-  static int ident = 0;
-  static int current_frame = 0;
-  tu_file* out;
+static int ident = 0;
+static int current_frame = 0;
+tu_file* out;
 
-  typedef void (*loader_function)(stream* input, int tag_type);
-  static hash<int, loader_function> tag_loaders;
+typedef void (*loader_function)(stream* input, int tag_type);
+static hash<int, loader_function> tag_loaders;
   
-  void
-    register_tag_loader(int tag_type, loader_function lf)
-    {
+void
+register_tag_loader(int tag_type, loader_function lf)
+{
       assert(tag_loaders.get(tag_type, NULL) == false);
       assert(lf != NULL);
       tag_loaders.add(tag_type, lf);
-    }
+}
   
-  // parse a matrix
-  struct matrix
-  {
+// parse a matrix
+struct matrix
+{
     static float m_[2][3];
     static bool has_scale, has_rotate;
     static void parse(stream* in)
@@ -141,12 +143,12 @@
       ident--;
     }
     
-  };
-  float matrix::m_[2][3];
-  bool matrix::has_scale, matrix::has_rotate;
+};
+float matrix::m_[2][3];
+bool matrix::has_scale, matrix::has_rotate;
 
-  struct rect
-  {
+struct rect
+{
     static uint32_t x_min,x_max,y_min,y_max;
     static void parse(stream* in)
     {
@@ -164,14 +166,14 @@
       log_msg("y_min: %i, y_max: %i, height: %i twips, %4.0f pixels\n", y_min, 
y_max, y_max - y_min, TWIPS_TO_PIXELS(y_max - y_min));
       ident--;
     }
-  };
-  uint32_t rect::x_min;
-  uint32_t rect::y_min;
-  uint32_t rect::x_max;
-  uint32_t rect::y_max;
+};
+uint32_t rect::x_min;
+uint32_t rect::y_min;
+uint32_t rect::x_max;
+uint32_t rect::y_max;
 
-  struct rgb
-  {
+struct rgb
+{
     static uint8_t m_r, m_g, m_b;
     static void parse(stream* in)
     {
@@ -185,13 +187,13 @@
       log_msg("rgb: %d %d %d \n", m_r, m_g, m_b);
       ident--;
     }
-  };
-  uint8_t rgb::m_r;
-  uint8_t rgb::m_g;
-  uint8_t rgb::m_b;
+};
+uint8_t rgb::m_r;
+uint8_t rgb::m_g;
+uint8_t rgb::m_b;
 
-  struct rgba
-  {
+struct rgba
+{
     static uint8_t m_r, m_g, m_b, m_a;
     static void parse(stream* in)
     {
@@ -206,14 +208,14 @@
       log_msg("rgba: %d %d %d %d\n", m_r, m_g, m_b, m_a);
       ident--;
     }
-  };
-  uint8_t rgba::m_r;
-  uint8_t rgba::m_g;
-  uint8_t rgba::m_b;
-  uint8_t rgba::m_a;
+};
+uint8_t rgba::m_r;
+uint8_t rgba::m_g;
+uint8_t rgba::m_b;
+uint8_t rgba::m_a;
 
-  struct cxform
-  {
+struct cxform
+{
     static float m_[4][2];
     static bool has_add, has_mult;
     
@@ -284,34 +286,34 @@
       log_msg("| %4.4f %4.4f |\n", m_[3][0], m_[3][1]);
       ident--;
     }
-  };
-  float cxform::m_[4][2];
-  bool cxform::has_add;
-  bool cxform::has_mult;
+};
+float cxform::m_[4][2];
+bool cxform::has_add;
+bool cxform::has_mult;
 
-  // tag 0
-  void parse_end_movie(stream* input, int tag_type)
-    {
+// tag 0
+void parse_end_movie(stream* input, int tag_type)
+{
       assert(tag_type == 0);
       ident--;
       log_msg("\n");
       log_msg("Movie ended\n\n");
-    }
+}
 
-  // tag 1
-  void parse_show_frame(stream* input, int tag_type)
-    {
+// tag 1
+void parse_show_frame(stream* input, int tag_type)
+{
       assert(tag_type == 1);
       ident--;
       current_frame++;
       log_msg("\n");
       log_msg("show frame %i\n\n", current_frame);
       ident++;
-    }
+}
 
-  // tag 2, 22, 32
-  void parse_define_shape123(stream* input, int tag_type)
-    {
+// tag 2, 22, 32
+void parse_define_shape123(stream* input, int tag_type)
+{
       assert(tag_type == 2 || tag_type == 22 || tag_type == 32);
       if(tag_type == 2) {
        log_msg("define_shape:\n");
@@ -326,11 +328,11 @@
       ident++;
       log_msg("character ID: %i\n", input->read_u16());
       ident--;
-    }
+}
 
-  // tag 4, 26
-  void parse_place_object12(stream* input, int tag_type)
-    {
+// tag 4, 26
+void parse_place_object12(stream* input, int tag_type)
+{
       assert(tag_type == 4 || tag_type == 26);
     
       if (tag_type == 4) {
@@ -403,11 +405,11 @@
        
        ident--;
       }
-    }
+}
 
-  // tag 5, 28
-  void parse_remove_object12(stream* input, int tag_type)
-    {
+// tag 5, 28
+void parse_remove_object12(stream* input, int tag_type)
+{
       assert(tag_type == 5 || tag_type == 28);
       if (tag_type==5) {
        log_msg("remove_object\n");
@@ -422,53 +424,53 @@
        log_msg("depth: %i\n", input->read_u16());
        ident--;
       }
-    }
+}
 
-  // tag 46
-  void parse_define_shape_morph(stream *input, int tag_type)
-    {
+// tag 46
+void parse_define_shape_morph(stream *input, int tag_type)
+{
       assert(tag_type == 46);
       log_msg("define_shape_morph\n");
       ident++;
       log_msg("character ID: %i\n", input->read_u16());
       ident--;
-    }
+}
 
-  // tag 6
-  void parse_define_bits(stream* input, int tag_type)
-    {
+// tag 6
+void parse_define_bits(stream* input, int tag_type)
+{
       assert(tag_type==6);
       log_msg("define jpeg bits\n");
       ident++;
       log_msg("character ID: %i\n", input->read_u16());
       ident--;
-    }
+}
 
-  void parse_jpeg_tables(stream* input, int tag_type)
-    {
+void parse_jpeg_tables(stream* input, int tag_type)
+{
       assert(tag_type==8);
       log_msg("define jpeg table\n\n");
-    }  
+}      
 
-  void parse_set_background_color(stream* input, int tag_type)
-    {
+void parse_set_background_color(stream* input, int tag_type)
+{
       assert(tag_type==9);
       rgb::parse(input);
       log_msg("set background color to:\n");
       rgb::write();            
-    }
+}
 
-  void parse_do_action(stream* input, int tag_type)
-    {
+void parse_do_action(stream* input, int tag_type)
+{
       assert(tag_type==12);
       log_msg("do action:\n");
       ident++;
       log_msg("to be implemented\n");
       ident--;
-    }          
+}              
 
-  void parse_define_sprite(stream* input, int tag_type)
-    {
+void parse_define_sprite(stream* input, int tag_type)
+{
       assert(tag_type==39);
       log_msg("define a new sprite:\n");
       ident++;
@@ -502,10 +504,10 @@
        input->close_tag();
       }
       current_frame = old_current_frame;
-    }  
+}      
 
-  void parse_set_framelabel(stream* input, int tag_type)
-    {
+void parse_set_framelabel(stream* input, int tag_type)
+{
       assert(tag_type==43);
       log_msg("current framelabel:\n");
       ident++;
@@ -517,10 +519,10 @@
        //TODOm_color_transform.read_rgb(in);
       }
       ident--;
-    }  
+}      
 
-    void register_all_loaders(void)
-      {
+void register_all_loaders(void)
+{
       register_tag_loader(0,parse_end_movie);          
       register_tag_loader(1,parse_show_frame);
       register_tag_loader(2,parse_define_shape123);
@@ -537,10 +539,10 @@
       register_tag_loader(39,parse_define_sprite);     
       register_tag_loader(43,parse_set_framelabel);            
       register_tag_loader(46,parse_define_shape_morph);  
-    }
+}
     
-  void parse_swf(tu_file* file)
-    {
+void parse_swf(tu_file* file)
+{
       ident = 1;
     
       uint32_t header = file->read_le32();
@@ -606,7 +608,7 @@
       if (original_file) {
        delete file;
       }
-    }
+}
 }
 
 int
@@ -629,6 +631,21 @@
     }
   }
   
+    rcfile.loadFiles();
+    if (rcfile.verbosityLevel() > 0) {
+        dbglogfile.setVerbosity(rcfile.verbosityLevel());
+    }
+    
+    if (rcfile.useActionDump()) {
+        dbglogfile.setActionDump(true);
+        dbglogfile.setVerbosity();
+    }
+    
+    if (rcfile.useParserDump()) {
+        dbglogfile.setParserDump(true);
+        dbglogfile.setVerbosity();
+    }
+    
   while ((c = getopt (argc, argv, "h")) != -1) {
     switch (c) {
     case 'h':

Index: utilities/processor.cpp
===================================================================
RCS file: /sources/gnash/gnash/utilities/processor.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- utilities/processor.cpp     16 May 2006 13:56:56 -0000      1.10
+++ utilities/processor.cpp     7 Jun 2006 03:03:22 -0000       1.11
@@ -48,6 +48,7 @@
 #include "movie_definition.h"
 #include "movie_interface.h"
 #include "log.h"
+#include "rc.h"
 #include "URL.h"
 #include "GnashException.h"
 
@@ -77,6 +78,7 @@
 using namespace std;
 using namespace gnash;
 
+static RcInitFile rcfile;
 static void usage (const char *);
 
 struct movie_data
@@ -111,6 +113,22 @@
       }
     }
     
+    rcfile.loadFiles();
+    
+    if (rcfile.verbosityLevel() > 0) {
+        dbglogfile.setVerbosity(rcfile.verbosityLevel());
+    }
+    
+    if (rcfile.useActionDump()) {
+        dbglogfile.setActionDump(true);
+        dbglogfile.setVerbosity();
+    }
+    
+    if (rcfile.useParserDump()) {
+        dbglogfile.setParserDump(true);
+        dbglogfile.setVerbosity();
+    }
+
     while ((c = getopt (argc, argv, "hwvap")) != -1) {
        switch (c) {
          case 'h':
@@ -124,10 +142,10 @@
              dbglogfile << "Verbose output turned on" << endl;
              break;
          case 'a':
-             gnash::set_verbose_action(true);
+             dbglogfile.setActionDump(true);
              break;
          case 'p':
-             gnash::set_verbose_parse(true);
+             dbglogfile.setParserDump(true);
              break;
        }
     }

Index: backend/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/backend/Makefile.am,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- backend/Makefile.am 12 May 2006 22:17:29 -0000      1.22
+++ backend/Makefile.am 7 Jun 2006 03:03:22 -0000       1.23
@@ -90,8 +90,6 @@
 
 gnash_SOURCES = gnash.cpp
 gnash_LDFLAGS = -module -avoid-version -no-undefined #-Wl,-z,defs
-
-
 gnash_LDADD =  $(AM_LDFLAGS) \
        libgnashbackend.la \
        ../server/libgnashserver.la \

Index: backend/gnash.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/gnash.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- backend/gnash.cpp   25 May 2006 19:48:03 -0000      1.39
+++ backend/gnash.cpp   7 Jun 2006 03:03:22 -0000       1.40
@@ -149,18 +149,18 @@
 # endif
 #endif
 
-#include "gnash.h"
 #include "log.h"
+#include "gnash.h"
 #include "ogl.h"
 #include "utility.h"
 #include "container.h"
 #include "tu_file.h"
 #include "tu_types.h"
 #include "xmlsocket.h"
-//#include "Movie.h"
 #include "movie_definition.h"
 #include "URL.h"
 #include "GnashException.h"
+#include "rc.h"
 
 using namespace std;
 using namespace gnash;
@@ -180,13 +180,15 @@
 static int doneYet = 0;
 
 static float   s_scale = 1.0f;
-static bool    s_antialiased = false;
+//static bool  s_antialiased = false;
 static int     s_bit_depth = 16;
 static bool    s_background = true;
 static bool    s_measure_performance = false;
 static bool    s_event_thread = false;
 static bool    s_start_waiting = false;
 
+static RcInitFile rcfile;
+
 #ifdef GUI_GTK
 extern movie_state_e movie_menu_state;
 #else
@@ -328,6 +330,32 @@
 
     dbglogfile.setWriteDisk(false);
     
+    rcfile.loadFiles();
+//    rcfile.dump();
+
+    if (rcfile.useWriteLog()) {
+        dbglogfile.setWriteDisk(true);
+    }
+    
+    if (rcfile.verbosityLevel() > 0) {
+        dbglogfile.setVerbosity(rcfile.verbosityLevel());
+    }
+    
+    if (rcfile.useActionDump()) {
+        dbglogfile.setActionDump(true);
+        dbglogfile.setVerbosity();
+    }
+    
+    if (rcfile.useParserDump()) {
+        dbglogfile.setParserDump(true);
+        dbglogfile.setVerbosity();
+    }
+    
+    if (rcfile.getTimerDelay() > 0) {
+        delay = rcfile.getTimerDelay();
+        dbglogfile << "Timer delay set to " << delay << "milliseconds" << endl;
+    }
+    
     while ((c = getopt (argc, argv, "hvaps:cfd:m:x:r:t:b:1ewj:k:u:")) != -1) {
        switch (c) {
          case 'h':
@@ -342,10 +370,10 @@
              dbglogfile << "Logging to disk enabled." << endl;
              break;
          case 'a':
-             gnash::set_verbose_action(true);
+             dbglogfile.setActionDump(true);
              break;
          case 'p':
-             gnash::set_verbose_parse(true);
+             dbglogfile.setParserDump(true);
              break;
           case 'f':
               s_measure_performance = true;

Index: backend/gtksup.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/gtksup.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- backend/gtksup.cpp  29 Apr 2006 17:39:11 -0000      1.4
+++ backend/gtksup.cpp  7 Jun 2006 03:03:22 -0000       1.5
@@ -57,6 +57,9 @@
 using namespace std;
 using namespace gnash;
 
+GdkGLConfig *glconfig = NULL;
+GdkGLContext *glcontext = NULL;
+
 int mouse_x = 0;
 int mouse_y = 0;
 int mouse_buttons = 0;
@@ -401,6 +404,8 @@
                 const gpointer data)
 {
 //    GNASH_REPORT_FUNCTION;
+    static bool shift_state = false;
+    static bool control_state = false;    
 
     switch (event->keyval) {
     case XK_Home:
@@ -437,6 +442,7 @@
         }
         char key = gdk_unicode_to_keyval(event->keyval);
         if (event->state == GDK_SHIFT_MASK) {
+            shift_state = true;
             dbglogfile << "Got Shift-key: " << key << endl;
         }
         if (event->state == GDK_CONTROL_MASK) {
@@ -449,6 +455,7 @@
                   break;
               default:
                   dbglogfile << "Got Control-key: " << key << endl;
+                  control_state = true;
                   break;
             }
         }
@@ -460,11 +467,15 @@
         
         if (key >= 'a' && key <= 'z') {
             c = (gnash::key::code) ((key - 'a') + gnash::key::A);
-//         } else if (key >= SDLK_F1 && key <= SDLK_F15)       {
-//             c = (gnash::key::code) ((key - SDLK_F1) + gnash::key::F1);
-//         } else if (key >= SDLK_KP0 && key <= SDLK_KP9) {
-//             c = (gnash::key::code) ((key - SDLK_KP0) + gnash::key::KP_0);
         }
+        // FIXME: we don't do anything with the state for now
+        if (control_state) {
+            control_state = false;
+        }
+        if (shift_state) {
+            shift_state = false;
+        }
+        
         switch (key) {
           case '[':
               movie_menu_state = STEP_FORWARD;

Index: backend/gtksup.h
===================================================================
RCS file: /sources/gnash/gnash/backend/gtksup.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- backend/gtksup.h    17 May 2006 09:47:16 -0000      1.3
+++ backend/gtksup.h    7 Jun 2006 03:03:22 -0000       1.4
@@ -57,8 +57,8 @@
 // void xt_event_handler(Widget xtwidget, gpointer instance,
 //              XEvent *xevent, Boolean *b);
 
-extern GdkGLConfig *glconfig = NULL;
-extern GdkGLContext *glcontext = NULL;
+extern GdkGLConfig *glconfig;
+extern GdkGLContext *glcontext;
 
 typedef enum {IDLE_MOVIE, PLAY_MOVIE, RESTART_MOVIE, PAUSE_MOVIE, STOP_MOVIE, 
STEP_FORWARD, STEP_BACKWARD, JUMP_FORWARD, JUMP_BACKWARD, QUIT_MOVIE} 
movie_state_e;
 

Index: backend/sound_handler_sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/backend/sound_handler_sdl.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- backend/sound_handler_sdl.cpp       27 May 2006 18:30:39 -0000      1.10
+++ backend/sound_handler_sdl.cpp       7 Jun 2006 03:03:22 -0000       1.11
@@ -16,6 +16,7 @@
 #include "log.h"
 #include "types.h"     // for IF_VERBOSE_* macros
 
+using namespace gnash;
 
 // Use SDL_mixer to handle sounds.
 struct SDL_sound_handler : gnash::sound_handler
@@ -146,13 +147,13 @@
                                convert_mp3_data(&adjusted_data, 
&adjusted_size, data, sample_count, 0, sample_rate, stereo);
                        }
 #else
-                       IF_VERBOSE_DEBUG(gnash::log_error("mp3 format sound 
requested; this demo does not handle mp3\n"));
+                       log_error("mp3 format sound requested; this demo does 
not handle mp3\n");
 #endif
                        break;
 
                default:
                        // Unhandled format.
-                       IF_VERBOSE_DEBUG(gnash::log_error("unknown format sound 
requested; this demo does not handle it\n"));
+                       log_error("unknown format sound requested; this demo 
does not handle it\n");
                        break;
                }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]