[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/trunk r12298: Memory fixes.
From: |
Benjamin Wolsey |
Subject: |
[Gnash-commit] /srv/bzr/gnash/trunk r12298: Memory fixes. |
Date: |
Mon, 12 Jul 2010 12:16:02 +0200 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 12298 [merge]
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Mon 2010-07-12 12:16:02 +0200
message:
Memory fixes.
modified:
libbase/SharedMem.cpp
libcore/movie_root.cpp
=== modified file 'libbase/SharedMem.cpp'
--- a/libbase/SharedMem.cpp 2010-05-18 07:51:05 +0000
+++ b/libbase/SharedMem.cpp 2010-07-12 08:43:18 +0000
@@ -73,6 +73,8 @@
SharedMem::~SharedMem()
{
+ // Nothing to do if we were never attached.
+ if (!_addr) return;
#ifndef _WIN32
if (::shmdt(_addr) < 0) {
const int err = errno;
=== modified file 'libcore/movie_root.cpp'
--- a/libcore/movie_root.cpp 2010-07-12 07:59:56 +0000
+++ b/libcore/movie_root.cpp 2010-07-12 10:05:25 +0000
@@ -109,12 +109,17 @@
// Utility classes
namespace {
-class FindTarget
+/// Identify and delete ExecutableCode that matches a particular target.
+class RemoveTargetCode
{
public:
- FindTarget(DisplayObject* target) : _target(target) {}
+ RemoveTargetCode(DisplayObject* target) : _target(target) {}
bool operator()(ExecutableCode* c) const {
- return _target == c->target();
+ if (_target == c->target()) {
+ delete c;
+ return true;
+ }
+ return false;
}
private:
DisplayObject* _target;
@@ -1462,7 +1467,7 @@
{
ActionQueue& pr = _actionQueue[PRIORITY_CONSTRUCT];
- pr.erase(std::remove_if(pr.begin(), pr.end(), FindTarget(target)),
+ pr.erase(std::remove_if(pr.begin(), pr.end(), RemoveTargetCode(target)),
pr.end());
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/trunk r12298: Memory fixes.,
Benjamin Wolsey <=