[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/character.cpp server/cha...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/character.cpp server/cha... |
Date: |
Sun, 13 Aug 2006 12:19:16 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/08/13 12:19:16
Modified files:
. : ChangeLog
server : character.cpp character.h
Log message:
* server/character.cpp, server/character.h:
safely handle ActionScript code referencing '..'
from the root character.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.629&r2=1.630
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.11&r2=1.12
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.629
retrieving revision 1.630
diff -u -b -r1.629 -r1.630
--- ChangeLog 12 Aug 2006 22:24:53 -0000 1.629
+++ ChangeLog 13 Aug 2006 12:19:15 -0000 1.630
@@ -1,3 +1,9 @@
+2006-08-13 Sandro Santilli <address@hidden>
+
+ * server/character.cpp, server/character.h:
+ safely handle ActionScript code referencing '..'
+ from the root character.
+
2006-08-12 Sandro Santilli <address@hidden>
* server/Makefile.am, server/thread.h: removed duplicated code
Index: server/character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/character.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/character.cpp 7 Jul 2006 01:01:11 -0000 1.3
+++ server/character.cpp 13 Aug 2006 12:19:15 -0000 1.4
@@ -150,8 +150,10 @@
}
else if (name == "..")
{
- // this is possibly NULL, it seems
- return get_parent();
+ // Never NULL
+ character* parent = get_parent();
+ assert(parent);
+ return parent;
}
else if (name == "_level0"
|| name == "_root")
Index: server/character.h
===================================================================
RCS file: /sources/gnash/gnash/server/character.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/character.h 4 Aug 2006 15:30:36 -0000 1.11
+++ server/character.h 13 Aug 2006 12:19:16 -0000 1.12
@@ -114,7 +114,25 @@
// Accessors for basic display info.
int get_id() const { return m_id; }
- character* get_parent() const { return m_parent; }
+
+ /// \brief
+ /// Return the parent of this character, or 'this' if
+ /// the character has no parent.
+ character* get_parent() const
+ {
+ if ( m_parent )
+ {
+ return m_parent;
+ }
+ else
+ {
+ // AS code trying to access something before the root
+ log_warning("ActionScript code trying to refrence"
+ " before the root MovieClip");
+ return this;
+ }
+ }
+
// for extern movie
void set_parent(character* parent) { m_parent = parent; }
int get_depth() const { return m_depth; }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/character.cpp server/cha...,
Sandro Santilli <=