Hello XRG,
Yes it's good that the GTK client warn's the developer about the duplicate IDS
and to fix the search method defined.
I tried the fix with just a simple example I overridden the search method of
Sale_order and returned the ID'S as [IDS] + [IDS] and there was no change. the
duplicated Ids were shown by the client.
BTW your FIX will not allow to do so because you are comparing the Instance of
'Model Record' i.e by writing
"if l in self.lst:" here 'l' is the instance. So this will always be False
because each search will rebuild the Model Record with the IDS returned
in-spite of their duplication. I think you should compare them through their
ID.
Let me know If I am missing something.
Thanks,
** Changed in: openobject-client
Status: Fix Committed => Confirmed
--
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/728275
Title:
view/list: Fix handling of duplicate IDs from search()
Status in OpenERP GTK Client:
Confirmed
Bug description:
A /broken/ model (report.membership) at the server happened to return
duplicate ids of records (using a badly migrated dataset, too). This
propagated to the Gtk client, which inserted the ids at duplicate
positions of the list view. When iterating over them, the client was
trapped into an OOM, which is critical and DoSes the host desktop.
The server should never have done that, agreed. But, the network principle
says "send clean, accept garbage", so we'd better not die if such data
ever come again.
Gently logging the case was the way to go. If we raise an exception (tried
that), the Gtk framework will come back asking for the list item again,
which ends up in an ugly full-load (but not lethal) of the client (and a
few more calls to the server).
_______________________________________________
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