summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/addons/base/ir/ir_model.py4
-rw-r--r--bin/addons/base/ir/ir_ui_menu.py4
2 files changed, 3 insertions, 5 deletions
diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py
index 25ee8e2cc97..5ce50370c77 100644
--- a/bin/addons/base/ir/ir_model.py
+++ b/bin/addons/base/ir/ir_model.py
@@ -531,7 +531,9 @@ class ir_model_access(osv.osv):
def call_cache_clearing_methods(self, cr):
self.check.clear_cache(cr.dbname) # clear the cache of check function
for model, method in self.__cache_clearing_methods:
- getattr(self.pool.get(model), method)()
+ object_ = self.pool.get(model)
+ if object_:
+ getattr(object_, method)()
#
# Check rights on actions
diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py
index 6733b3d83ff..5bdef4feecc 100644
--- a/bin/addons/base/ir/ir_ui_menu.py
+++ b/bin/addons/base/ir/ir_ui_menu.py
@@ -44,10 +44,6 @@ class ir_ui_menu(osv.osv):
self.pool.get('ir.model.access').register_cache_clearing_method(self._name, 'clear_cache')
return r
- def __del__(self):
- self.pool.get('ir.model.access').unregister_cache_clearing_method(self._name, 'clear_cache')
- return super(ir_ui_menu, self).__del__()
-
def clear_cache(self):
# radical but this doesn't frequently happen
self._cache = {}