[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/NetConnection.cpp ...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/NetConnection.cpp ... |
Date: |
Tue, 30 Jan 2007 10:52:16 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/01/30 10:52:16
Modified files:
. : ChangeLog
server/asobj : NetConnection.cpp NetStream.cpp
Log message:
* server/asobj/: NetConnection.cpp, NetStream.cpp:
Cleanups and robustness improvements.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2194&r2=1.2195
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetConnection.cpp?cvsroot=gnash&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.23&r2=1.24
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2194
retrieving revision 1.2195
diff -u -b -r1.2194 -r1.2195
--- ChangeLog 30 Jan 2007 10:25:21 -0000 1.2194
+++ ChangeLog 30 Jan 2007 10:52:15 -0000 1.2195
@@ -1,5 +1,7 @@
2007-01-30 Sandro Santilli <address@hidden>
+ * server/asobj/: NetConnection.cpp, NetStream.cpp:
+ Cleanups and robustness improvements.
* server/parser/movie_def_impl.cpp (read_all_swf):
Don't discard anything past the last SHOWFRAME,
as Ming seems to still put EXPORTASSETS after it
Index: server/asobj/NetConnection.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetConnection.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- server/asobj/NetConnection.cpp 27 Jan 2007 16:55:05 -0000 1.18
+++ server/asobj/NetConnection.cpp 30 Jan 2007 10:52:15 -0000 1.19
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: NetConnection.cpp,v 1.18 2007/01/27 16:55:05 tgc Exp $ */
+/* $Id: NetConnection.cpp,v 1.19 2007/01/30 10:52:15 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -157,7 +157,18 @@
}
}
-NetConnection::NetConnection() {
+NetConnection::NetConnection()
+ :
+ _cache(NULL),
+ _cachefd(0),
+ _url(),
+ _handle(NULL),
+ _mhandle(NULL),
+ _running(false),
+ localFile(true),
+ netStreamObj(NULL),
+ totalSize(0)
+{
}
NetConnection::~NetConnection() {
@@ -353,6 +364,19 @@
{
}
+// Wrapper around dynamic_cast to implement user warning.
+// To be used by builtin properties and methods.
+static netconnection_as_object*
+ensure_netconnection(as_object* obj)
+{
+ netconnection_as_object* ret =
dynamic_cast<netconnection_as_object*>(obj);
+ if ( ! ret )
+ {
+ throw ActionException("builtin method or gettersetter for
NetConnection objects called against non-NetConnection instance");
+ }
+ return ret;
+}
+
/// \brief callback to instantiate a new NetConnection object.
/// \param fn the parameters from the Flash movie
@@ -374,11 +398,10 @@
GNASH_REPORT_FUNCTION;
string filespec;
- netconnection_as_object *ptr = (netconnection_as_object*)fn.this_ptr;
+ netconnection_as_object *ptr = ensure_netconnection(fn.this_ptr);
- assert(ptr);
- if (fn.nargs != 0) {
-
ptr->obj.addToURL(fn.env->bottom(fn.first_arg_bottom_index).to_string());
+ if (fn.nargs > 0) {
+ ptr->obj.addToURL(fn.arg(0).to_string());
}
}
Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- server/asobj/NetStream.cpp 23 Jan 2007 16:41:27 -0000 1.23
+++ server/asobj/NetStream.cpp 30 Jan 2007 10:52:15 -0000 1.24
@@ -18,7 +18,7 @@
//
//
-/* $Id: NetStream.cpp,v 1.23 2007/01/23 16:41:27 tgc Exp $ */
+/* $Id: NetStream.cpp,v 1.24 2007/01/30 10:52:15 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -28,6 +28,7 @@
#include "NetStream.h"
#include "fn_call.h"
#include "builtin_function.h"
+#include "GnashException.h"
#include "movie_root.h"
@@ -66,7 +67,7 @@
else
{
IF_VERBOSE_ASCODING_ERRORS(
- log_warning("First argument "
+ log_aserror("First argument "
"to NetConnection constructor "
"doesn't cast to an Object (%s)",
fn.arg(0).to_string());
@@ -77,18 +78,29 @@
}
+// Wrapper around dynamic_cast to implement user warning.
+// To be used by builtin properties and methods.
+static netstream_as_object*
+ensure_netstream(as_object* obj)
+{
+ netstream_as_object* ret = dynamic_cast<netstream_as_object*>(obj);
+ if ( ! ret )
+ {
+ throw ActionException("builtin method or gettersetter for
NetStream objects called against non-NetStream instance");
+ }
+ return ret;
+}
+
static void netstream_close(const fn_call& fn)
{
- assert(dynamic_cast<netstream_as_object*>(fn.this_ptr));
- netstream_as_object* ns =
static_cast<netstream_as_object*>(fn.this_ptr);
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
ns->obj.close();
}
static void netstream_pause(const fn_call& fn)
{
- assert(dynamic_cast<netstream_as_object*>(fn.this_ptr));
- netstream_as_object* ns =
static_cast<netstream_as_object*>(fn.this_ptr);
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
// mode: -1 ==> toogle, 0==> pause, 1==> play
int mode = -1;
@@ -101,12 +113,13 @@
static void netstream_play(const fn_call& fn)
{
- assert(dynamic_cast<netstream_as_object*>(fn.this_ptr));
- netstream_as_object* ns =
static_cast<netstream_as_object*>(fn.this_ptr);
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
if (fn.nargs < 1)
{
- log_error("NetStream play needs args\n");
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror("NetStream play needs args");
+ );
return;
}
@@ -117,8 +130,7 @@
}
static void netstream_seek(const fn_call& fn) {
- assert(dynamic_cast<netstream_as_object*>(fn.this_ptr));
- netstream_as_object* ns =
static_cast<netstream_as_object*>(fn.this_ptr);
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
double time = 0;
if (fn.nargs > 0)
@@ -128,7 +140,9 @@
ns->obj.seek(time);
}
-static void netstream_setbuffertime(const fn_call& /*fn*/) {
+static void netstream_setbuffertime(const fn_call& fn) {
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
+ UNUSED(ns);
log_msg("%s:unimplemented \n", __FUNCTION__);
}
@@ -137,12 +151,11 @@
netstream_time(const fn_call& fn)
{
- assert(dynamic_cast<netstream_as_object*>(fn.this_ptr));
- netstream_as_object* ns =
static_cast<netstream_as_object*>(fn.this_ptr);
+ netstream_as_object* ns = ensure_netstream(fn.this_ptr);
if ( fn.nargs == 0 )
{
- fn.result->set_double((double)ns->obj.time());
+ fn.result->set_double(ns->obj.time());
}
else
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/NetConnection.cpp ...,
Sandro Santilli <=