[KSS-checkins] r35832 - kukit/kss.core/trunk

jvloothuis at codespeak.net jvloothuis at codespeak.net
Sat Dec 16 12:11:13 CET 2006


Author: jvloothuis
Date: Sat Dec 16 12:11:08 2006
New Revision: 35832

Modified:
   kukit/kss.core/trunk/azaxview.py
Log:
Made the stop event listening method set the hook to the previous one instead of resitting it. This should make sure that it doesn't break other overrides.


Modified: kukit/kss.core/trunk/azaxview.py
==============================================================================
--- kukit/kss.core/trunk/azaxview.py	(original)
+++ kukit/kss.core/trunk/azaxview.py	Sat Dec 16 12:11:08 2006
@@ -63,11 +63,11 @@
     def __init__(self, context, request):
         super(SiteView, self).__init__(context, request)
 
-        next_sitemanager = component.getSiteManager()
+        _next_sitemanager = component.getSiteManager()
 
         self._sitemanager = ViewSiteManager('siteview')
 
-        self._sitemanager.__bases__ = (next_sitemanager, )
+        self._sitemanager.__bases__ = (_next_sitemanager, )
 
         # On Five, we should wrap it in the acquisition context
         # see, if self has aq_parent, it is done obligatoraly
@@ -82,7 +82,10 @@
         # register object event handler
         self._sitemanager.registerHandler(wrapped_view._eventRedispatcher)
 
-        # make ourselve the default site manager
+
+        # first get a reference to the old implementation before making
+        # ourselves the new default site manager
+        self._getSiteManagerHook = getSiteManager.implementation
         getSiteManager.sethook(self.getSiteManager)
 
     def getSiteManager(self, context=None):
@@ -96,8 +99,7 @@
 
     def stopEventListening(self):
         # reset the site manager to its original one
-        if self.getSiteManager() is component.getSiteManager():
-            getSiteManager.reset()
+        getSiteManager.sethook(self._getSiteManagerHook)
 
     def render(self):
         self.stopEventListening()


More information about the Kukit-checkins mailing list