Fix crash with Esc on editable list
issue2123
This commit is contained in:
1 parent
d2a4d1e89f
commit
25a3c46af2
2 files changed
+10
-15
No files matched your search
@@ -560,20 +560,21 @@ class Screen(SignalEvent):
|
||||
res = True
|
||||
if self.current_view.view_type == 'tree':
|
||||
records = self.current_view.selected_records()
|
||||
if delete and records:
|
||||
saved_records = [r for r in records if r.id >= 0]
|
||||
if delete and saved_records:
|
||||
context = {}
|
||||
context.update(rpc.CONTEXT)
|
||||
context.update(self.context)
|
||||
context['_timestamp'] = {}
|
||||
for record in records:
|
||||
for record in saved_records:
|
||||
context['_timestamp'].update(record.get_timestamp())
|
||||
reload_ids = self.group.on_write_ids([x.id for x in records])
|
||||
reload_ids = self.group.on_write_ids([x.id for x in saved_records])
|
||||
if reload_ids:
|
||||
for record in records:
|
||||
for record in saved_records:
|
||||
if record.id in reload_ids:
|
||||
reload_ids.remove(record.id)
|
||||
args = ('model', self.model_name, 'delete',
|
||||
[x.id for x in records], context)
|
||||
[x.id for x in saved_records], context)
|
||||
try:
|
||||
res = rpc.execute(*args)
|
||||
except TrytonServerError, exception:
|
||||
|
||||
@@ -209,16 +209,10 @@ class EditableTreeView(gtk.TreeView):
|
||||
self.on_editing_done)
|
||||
elif event.keyval == gtk.keysyms.Escape:
|
||||
if record.id < 0:
|
||||
model.remove(model.get_iter(path))
|
||||
self.screen.current_record = False
|
||||
if not path[0]:
|
||||
self.screen.current_record = False
|
||||
if path[0] == len(self.screen.group) \
|
||||
and path[0]:
|
||||
path = (path[0] - 1,)
|
||||
self.screen.display()
|
||||
if len(self.screen.group):
|
||||
self.set_cursor(path, column, False)
|
||||
self.screen.remove(delete=False, remove=True,
|
||||
force_remove=True)
|
||||
else:
|
||||
return False
|
||||
elif event.keyval in (gtk.keysyms.F3, gtk.keysyms.F2):
|
||||
if isinstance(entry, gtk.Entry):
|
||||
value = entry.get_text()
|
||||
|
||||
Reference in new issue
Block a user