gnash-commit
[Top][All Lists]
Advanced

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

Re: [Gnash-commit] gnash/server/swf ASHandlers.cpp ASHandlers.h


From: strk
Subject: Re: [Gnash-commit] gnash/server/swf ASHandlers.cpp ASHandlers.h
Date: Mon, 18 Sep 2006 09:31:16 +0200

On Mon, Sep 11, 2006 at 02:25:27PM +0000, Vitaly Alexeev wrote:
> CVSROOT:      /sources/gnash
> Module name:  gnash
> Changes by:   Vitaly Alexeev <alexeev>        06/09/11 14:25:27
> 
> Modified files:
>       server/swf     : ASHandlers.cpp ASHandlers.h 
> 
> Log message:
>       loadMovie() should be compatible with Flash

The patch you applied doesn't modify code for loadMovie() but for
getURL. I don't think load of an external movie is what we need here
except (maybe) if the Method has value = 64.
See https://savannah.gnu.org/bugs/?17616

I suggest we add a list of testcases URLs inside comments of that
CommonGetUrl function so for every change we can test them all before
committing.

--strk;

> 
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.60&r2=1.61
> http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.h?cvsroot=gnash&r1=1.8&r2=1.9
> 
> Patches:
> Index: ASHandlers.cpp
> ===================================================================
> RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
> retrieving revision 1.60
> retrieving revision 1.61
> diff -u -b -r1.60 -r1.61
> --- ASHandlers.cpp    2 Sep 2006 12:27:15 -0000       1.60
> +++ ASHandlers.cpp    11 Sep 2006 14:25:27 -0000      1.61
> @@ -1552,13 +1552,12 @@
>  // http://sswf.sourceforge.net/SWFalexref.html#action_get_url2
>  void 
>  SWFHandlers::CommonGetUrl(as_environment& env,
> -             const char* target, // the target window, or _level1..10
> +             as_value target, // the target window, or _level1..10
>               const char* url_c,
>                  uint8_t /* method */ // 0:NONE, 1:GET, 2:POST
>               )
>  {
>  
> -     assert(target);
>       assert(url_c);
>  
>       if ( *url_c == '\0' )
> @@ -1574,7 +1573,7 @@
>               if (s_fscommand_handler)
>               {
>                       // Call into the app.
> -                     
> (*s_fscommand_handler)(env.get_target()->get_root_interface(), url_c + 10, 
> target);
> +                     
> (*s_fscommand_handler)(env.get_target()->get_root_interface(), url_c + 10, 
> target.to_string());
>               }
>       }
>       else
> @@ -1590,7 +1589,7 @@
>               URL target_url(tgt_sprt->get_movie_definition()->get_url());
>               URL url(url_s, target_url);
>  
> -             log_msg("get url: target=%s, url=%s (%s)", target,
> +             log_msg("get url: target=%s, url=%s (%s)", target.to_string(),
>                       url.str().c_str(), url_c);
>  
>                  // Check host security
> @@ -1599,7 +1598,8 @@
>                       return;
>               }
>  
> -#ifdef EXTERN_MOVIE
> +#define USE_FLASH_LOAD_MOVIE
> +#ifdef USE_FLASH_LOAD_MOVIE
>  //           log_msg("get url: target=%s, url=%s", target, url_c);
>                     
>               character* target_movie = env.find_target(target);
> @@ -1619,7 +1619,7 @@
>                  command += ")\"";
>                  dbglogfile << "Launching URL... " << command << endl;
>                  system(command.c_str());
> -#endif // EXTERN_MOVIE
> +#endif // USE_FLASH_LOAD_MOVIE
>       }
>  }
>  
> @@ -1644,9 +1644,6 @@
>               method=0;
>       }
>  
> -
> -     const char*     target = env.top(0).to_string();
> -
>       as_value url_val = env.top(1);
>       if ( url_val.is_undefined() )
>       {
> @@ -1655,7 +1652,7 @@
>       else
>       {
>               const char* url = url_val.to_string();
> -             CommonGetUrl(env, target, url, method);
> +             CommonGetUrl(env, env.top(0), url, method);
>       }
>                 
>       env.drop(2);
> 
> Index: ASHandlers.h
> ===================================================================
> RCS file: /sources/gnash/gnash/server/swf/ASHandlers.h,v
> retrieving revision 1.8
> retrieving revision 1.9
> diff -u -b -r1.8 -r1.9
> --- ASHandlers.h      26 Aug 2006 13:09:53 -0000      1.8
> +++ ASHandlers.h      11 Sep 2006 14:25:27 -0000      1.9
> @@ -173,7 +173,7 @@
>       ///     0:NONE, 1:GET, 2:POST
>       ///
>       static void CommonGetUrl(as_environment& env, 
> -                     const char* target, const char* url,
> +                     as_value target, const char* url,
>                       uint8_t method);
>  
>       static void ActionEnd(ActionExec& thread);
> 
> 
> _______________________________________________
> Gnash-commit mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-commit

-- 

 /"\    ASCII Ribbon Campaign
 \ /    Respect for low technology.
  X     Keep e-mail messages readable by any computer system.
 / \    Keep it ASCII. 





reply via email to

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