Commit cf7d886f authored by Martin v. Löwis's avatar Martin v. Löwis

Properly generate logical file ids. Fixes #1515998.

Also correct typo in Control.mapping.
parent 355ee172
...@@ -187,7 +187,7 @@ class CAB: ...@@ -187,7 +187,7 @@ class CAB:
self.filenames = sets.Set() self.filenames = sets.Set()
self.index = 0 self.index = 0
def gen_id(self, dir, file): def gen_id(self, file):
logical = _logical = make_id(file) logical = _logical = make_id(file)
pos = 1 pos = 1
while logical in self.filenames: while logical in self.filenames:
...@@ -196,9 +196,11 @@ class CAB: ...@@ -196,9 +196,11 @@ class CAB:
self.filenames.add(logical) self.filenames.add(logical)
return logical return logical
def append(self, full, logical): def append(self, full, file, logical):
if os.path.isdir(full): if os.path.isdir(full):
return return
if not logical:
logical = self.gen_id(file)
self.index += 1 self.index += 1
self.files.append((full, logical)) self.files.append((full, logical))
return self.index, logical return self.index, logical
...@@ -328,7 +330,7 @@ class Directory: ...@@ -328,7 +330,7 @@ class Directory:
logical = self.keyfiles[file] logical = self.keyfiles[file]
else: else:
logical = None logical = None
sequence, logical = self.cab.append(absolute, logical) sequence, logical = self.cab.append(absolute, file, logical)
assert logical not in self.ids assert logical not in self.ids
self.ids.add(logical) self.ids.add(logical)
short = self.make_short(file) short = self.make_short(file)
...@@ -403,7 +405,7 @@ class Control: ...@@ -403,7 +405,7 @@ class Control:
[(self.dlg.name, self.name, event, argument, [(self.dlg.name, self.name, event, argument,
condition, ordering)]) condition, ordering)])
def mapping(self, mapping, attribute): def mapping(self, event, attribute):
add_data(self.dlg.db, "EventMapping", add_data(self.dlg.db, "EventMapping",
[(self.dlg.name, self.name, event, attribute)]) [(self.dlg.name, self.name, event, attribute)])
......
...@@ -25,6 +25,8 @@ Core and builtins ...@@ -25,6 +25,8 @@ Core and builtins
Library Library
------- -------
- Bug #1515998: Properly generate logical ids for files in bdist_msi.
- warnings.py now ignores ImportWarning by default - warnings.py now ignores ImportWarning by default
- Patch #1517790: It is now possible to use custom objects in the ctypes - Patch #1517790: It is now possible to use custom objects in the ctypes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment