gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r10854: Support file:// uris in Gnas


From: Tomeu Vizoso
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r10854: Support file:// uris in GnashView.
Date: Tue, 28 Apr 2009 11:44:25 +0200
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 10854
committer: Tomeu Vizoso <address@hidden>
branch nick: gnash
timestamp: Tue 2009-04-28 11:44:25 +0200
message:
  Support file:// uris in GnashView.
modified:
  gui/pythonmod/gnash-view.cpp
=== modified file 'gui/pythonmod/gnash-view.cpp'
--- a/gui/pythonmod/gnash-view.cpp      2009-04-26 17:26:09 +0000
+++ b/gui/pythonmod/gnash-view.cpp      2009-04-28 09:44:25 +0000
@@ -399,32 +399,37 @@
 }
 
 static void
-gnash_view_load_movie(GnashView *view, const gchar *path)
+gnash_view_load_movie(GnashView *view, const gchar *uri)
 {
     GNASH_REPORT_FUNCTION;
 
+    gnash::URL url(uri);
+
     // The RunInfo should be populated before parsing.
-    view->run_info.reset(new gnash::RunInfo(path));
+    view->run_info.reset(new gnash::RunInfo(url.str()));
     view->run_info->setSoundHandler(view->sound_handler);
 
-    std::auto_ptr<gnash::NamingPolicy> np(new 
gnash::IncrementalRename(gnash::URL(path)));
+    std::auto_ptr<gnash::NamingPolicy> np(new gnash::IncrementalRename(url));
     boost::shared_ptr<gnash::StreamProvider> sp(new gnash::StreamProvider(np));
     view->run_info->setStreamProvider(sp);
 
+    gnash::RcInitFile& rcfile = gnash::RcInitFile::getDefaultInstance();
+
+    if ( url.protocol() == "file" ) {
+        const std::string& str_path(url.path());
+
+        size_t lastSlash = str_path.find_last_of('/');
+        std::string dir = str_path.substr(0, lastSlash + 1);
+        rcfile.addLocalSandboxPath(dir);
+        gnash::log_debug(_("%s appended to local sandboxes"), dir.c_str());
+
+        rcfile.addLocalSandboxPath(str_path);
+        gnash::log_debug(_("%s appended to local sandboxes"), 
str_path.c_str());
+    }
+
     // Load the actual movie.
-    gnash::RcInitFile& rcfile = gnash::RcInitFile::getDefaultInstance();
-
-    const std::string& str_path(path);
-    size_t lastSlash = str_path.find_last_of('/');
-    std::string dir = str_path.substr(0, lastSlash+1);
-    rcfile.addLocalSandboxPath(dir);
-    gnash::log_debug(_("%s appended to local sandboxes"), dir.c_str());
-
-    rcfile.addLocalSandboxPath(str_path);
-    gnash::log_debug(_("%s appended to local sandboxes"), path);
-
-    view->movie_definition.reset(gnash::create_library_movie(gnash::URL(path),
-            *view->run_info, path, false));
+    view->movie_definition.reset(gnash::create_library_movie(url,
+            *view->run_info, url.str().c_str(), false));
 
     g_return_if_fail(view->movie_definition.get() != NULL);
 


reply via email to

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