From 008b9ad8964674d898367e87b65b5552c47eba90 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Sat, 26 Feb 2005 14:04:25 +0000 Subject: [PATCH] When a new default access controller is set, switch any objects that were using the old default (usually null) to use the new default. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3369 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/presents/server/PresentsDObjectMgr.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/java/com/threerings/presents/server/PresentsDObjectMgr.java b/src/java/com/threerings/presents/server/PresentsDObjectMgr.java index 16def2970..98c158632 100644 --- a/src/java/com/threerings/presents/server/PresentsDObjectMgr.java +++ b/src/java/com/threerings/presents/server/PresentsDObjectMgr.java @@ -79,7 +79,17 @@ public class PresentsDObjectMgr */ public void setDefaultAccessController (AccessController controller) { + AccessController oldDefault = _defaultController; _defaultController = controller; + + // switch all objects from the old default (null, usually) + // to the new default + for (Iterator itr = _objects.elements(); itr.hasNext(); ) { + DObject obj = (DObject) itr.next(); + if (oldDefault == obj.getAccessController()) { + obj.setAccessController(controller); + } + } } // documentation inherited from interface