Thanks for your comments. I totally we shouldn't copy the context if it's not needed. I'll make dedicated merge proposals when I stumble upon a suspect context mutation, to either make a copy or add an explicit comment. Lionel.
-- You received this bug notification because you are a member of OpenERP sa GTK client R&D, which is a bug assignee. https://bugs.launchpad.net/bugs/525808 Title: Default values should be immutable Status in OpenERP Addons (modules): Opinion Status in OpenERP Addons extra-trunk series: Opinion Status in OpenERP Addons trunk series: Opinion Status in OpenERP GTK Client: Opinion Status in OpenERP Server: Fix Released Status in OpenERP Server trunk series: Fix Released Bug description: Often in the code base we have: def foo(...., context={},....): .... As explained in comment #1, this should be changed to def foo(...., context=None,....): # you should add this test only if the context is actually used if context is None: context={} .... (This bug originally proposed the other way round hence the "nope" in comment #1.) (xmo) Complements of information: * The test should be `context is None` rather than `not context`: the caller could provide an empty dict argument {} and expect to have data in it after the call, if a test is done using `not context` an empty dict will match and the function will be creating a brand new context. * The test should *only ever* performed when the current function fetches data from the context. If you don't do anything with the context but forward it to other functions and methods (e.g. read() or create()), no need to test for anything. To manage notifications about this bug go to: https://bugs.launchpad.net/openobject-addons/+bug/525808/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~openerp-dev-gtk Post to : [email protected] Unsubscribe : https://launchpad.net/~openerp-dev-gtk More help : https://help.launchpad.net/ListHelp

