• Nicolas Dumazet's avatar
    Change ghost behavior so that a ghost always derives from the old bases. · 568ad1bf
    Nicolas Dumazet authored
    When a portal type class is reset, the ghost that will be used should not
    be a "basic" ghost (InitGhostBase) only deriving from Base, or we will have
    a lot of code breaking. This ghost should of course have a __getattribute__
    method making sure that we get out of ghost state as soon as possible, but most
    of all, the __bases__ of this ghost should be the __bases__ of the old portal
    type.
    
    In this way, the class behavior before and after a restoreGhostState should not
    change, pending un-ghostification. In particular, class attribute lookups will
    still return the correct values. (only instance attribute lookups can trigger
    a loadClass call)
    
    
    git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@40827 20353a03-c40f-0410-a6d1-a30d3c3de9de
    568ad1bf
lazy_class.py 7.17 KB