From 829512ded4ee1d2307735a8c61eb580ccfabc55e Mon Sep 17 00:00:00 2001
From: scrawl <scrawl@baseoftrash.de>
Date: Fri, 22 Nov 2013 01:02:12 +0100
Subject: [PATCH 1/2] Fix container scripts not getting re-added when the
 player changes cells

---
 apps/openmw/mwworld/worldimp.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp
index 0ad06cf265..0439958f24 100644
--- a/apps/openmw/mwworld/worldimp.cpp
+++ b/apps/openmw/mwworld/worldimp.cpp
@@ -882,6 +882,7 @@ namespace MWWorld
                     int cellY = newCell.mCell->getGridY();
                     mWorldScene->changeCell(cellX, cellY, pos, false);
                 }
+                addContainerScripts (ptr, &newCell);
             }
             else
             {

From 39de0510a00b8f566701178740d38acacf4cdb1e Mon Sep 17 00:00:00 2001
From: scrawl <scrawl@baseoftrash.de>
Date: Fri, 22 Nov 2013 02:12:37 +0100
Subject: [PATCH 2/2] Fix another case of container scripts not getting
 re-added

---
 apps/openmw/mwworld/worldimp.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp
index 0439958f24..fba08db951 100644
--- a/apps/openmw/mwworld/worldimp.cpp
+++ b/apps/openmw/mwworld/worldimp.cpp
@@ -749,12 +749,16 @@ namespace MWWorld
 
     void World::changeToInteriorCell (const std::string& cellName, const ESM::Position& position)
     {
-        return mWorldScene->changeToInteriorCell(cellName, position);
+        removeContainerScripts(getPlayer().getPlayer());
+        mWorldScene->changeToInteriorCell(cellName, position);
+        addContainerScripts(getPlayer().getPlayer(), getPlayer().getPlayer().getCell());
     }
 
     void World::changeToExteriorCell (const ESM::Position& position)
     {
-        return mWorldScene->changeToExteriorCell(position);
+        removeContainerScripts(getPlayer().getPlayer());
+        mWorldScene->changeToExteriorCell(position);
+        addContainerScripts(getPlayer().getPlayer(), getPlayer().getPlayer().getCell());
     }
 
     void World::markCellAsUnchanged()