[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso... |
Date: |
Mon, 18 Feb 2008 23:13:53 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/02/18 23:13:53
Modified files:
. : ChangeLog
server/asobj : xml.cpp xml.h
Log message:
better compatibility for XML AS class:
return undefined from XML.getBytesTotal() when not
loading, return last-load info when load ends.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5682&r2=1.5683
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.72&r2=1.73
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.h?cvsroot=gnash&r1=1.28&r2=1.29
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5682
retrieving revision 1.5683
diff -u -b -r1.5682 -r1.5683
--- ChangeLog 18 Feb 2008 22:35:30 -0000 1.5682
+++ ChangeLog 18 Feb 2008 23:13:51 -0000 1.5683
@@ -1,5 +1,11 @@
2008-02-18 Sandro Santilli <address@hidden>
+ * server/asobj/xml.{cpp,h}: better compatibility:
+ return undefined from XML.getBytesTotal() when not
+ loading, return last-load info when load ends.
+
+2008-02-18 Sandro Santilli <address@hidden>
+
* libbase/LoadThread.cpp: update _streamSize on eof, as the
http-advertised stream size can't be relied upon.
Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -b -r1.72 -r1.73
--- server/asobj/xml.cpp 18 Feb 2008 18:13:14 -0000 1.72
+++ server/asobj/xml.cpp 18 Feb 2008 23:13:52 -0000 1.73
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: xml.cpp,v 1.72 2008/02/18 18:13:14 strk Exp $ */
+/* $Id: xml.cpp,v 1.73 2008/02/18 23:13:52 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "gnashconfig.h"
@@ -90,7 +90,9 @@
_loaded(-1),
_status(sOK),
_loadThreads(),
- _loadCheckerTimer(0)
+ _loadCheckerTimer(0),
+ _bytesTotal(0),
+ _bytesLoaded(0)
{
//GNASH_REPORT_FUNCTION;
#ifdef DEBUG_MEMORY_ALLOCATION
@@ -110,7 +112,9 @@
_loaded(-1),
_status(sOK),
_loadThreads(),
- _loadCheckerTimer(0)
+ _loadCheckerTimer(0),
+ _bytesTotal(0),
+ _bytesLoaded(0)
{
//GNASH_REPORT_FUNCTION;
#ifdef DEBUG_MEMORY_ALLOCATION
@@ -425,12 +429,18 @@
#endif
}
+ _bytesLoaded = _bytesTotal = 0;
+
}
size_t
XML::getBytesLoaded() const
{
- if ( _loadThreads.empty() ) return 0;
+ if ( _loadThreads.empty() )
+ {
+ return _bytesLoaded;
+ return 0;
+ }
LoadThread* lt = _loadThreads.front();
return lt->getBytesLoaded();
}
@@ -438,7 +448,10 @@
size_t
XML::getBytesTotal() const
{
- if ( _loadThreads.empty() ) return 0;
+ if ( _loadThreads.empty() )
+ {
+ return _bytesTotal;
+ }
LoadThread* lt = _loadThreads.front();
return lt->getBytesTotal();
}
@@ -468,7 +481,7 @@
#endif
if ( lt->completed() )
{
- size_t xmlsize = lt->getBytesTotal();
+ size_t xmlsize = lt->getBytesLoaded();
boost::scoped_array<char> buf(new char[xmlsize+1]);
size_t actuallyRead = lt->read(buf.get(), xmlsize);
if ( actuallyRead != xmlsize )
@@ -477,13 +490,15 @@
// possibility which lacks documentation (thus
a bug in documentation)
//
#ifdef DEBUG_XML_LOADS
- log_debug("LoadThread::getBytesTotal() returned
%d but ::read(%d) returned %d",
+ log_debug("LoadThread::getBytesLoaded()
returned %d but ::read(%d) returned %d",
xmlsize, xmlsize, actuallyRead);
#endif
}
buf[actuallyRead] = '\0';
as_value dataVal(buf.get()); // memory copy here (optimize?)
+ _bytesTotal = lt->getBytesTotal();
+ _bytesLoaded = lt->getBytesLoaded();
it = _loadThreads.erase(it);
delete lt; // supposedly joins the thread...
@@ -826,7 +841,7 @@
}
else
{
- return as_value();
+ return as_value(0);
}
}
Index: server/asobj/xml.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- server/asobj/xml.h 18 Feb 2008 18:13:15 -0000 1.28
+++ server/asobj/xml.h 18 Feb 2008 23:13:53 -0000 1.29
@@ -231,6 +231,9 @@
/// Scan the LoadThread queue (_loadThreads) to see if any of
/// them completed. If any did, invoke the onData event
void checkLoads();
+
+ size_t _bytesTotal;
+ size_t _bytesLoaded;
};