Skip to content

Commit b3bdbbb

Browse files
committed
Line: don't actually deep copy every field.
This is bad and dumb.
1 parent cbb6f0c commit b3bdbbb

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

src/Line.moon

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@ Transform = require 'a-mo.Transform'
55
util = require 'aegisub.util'
66

77
class Line
8+
fieldsToDeepCopy: {
9+
'extra'
10+
}
11+
812
fieldsToCopy: {
9-
-- Built in line fields
10-
'actor', 'class', 'comment', 'effect', 'end_time', 'extra', 'layer', 'margin_l', 'margin_r', 'margin_t', 'section', 'start_time', 'style', 'text'
13+
-- Line fields
14+
'actor', 'class', 'comment', 'effect', 'end_time', 'layer', 'margin_l', 'margin_r', 'margin_t', 'section', 'start_time', 'style', 'text'
1115
-- Our fields
12-
'number', 'transforms', 'transformsAreTokenized', 'properties', 'styleRef', 'wasLinear'
16+
'number', 'transforms', 'transformShift', 'transformsAreTokenized', 'properties', 'styleRef', 'wasLinear'
1317
}
1418

1519
splitChar: "\\\6"
@@ -40,11 +44,15 @@ class Line
4044
}
4145

4246
new: ( line, @parentCollection, overrides = { } ) =>
43-
for field in *@fieldsToCopy
47+
for field in *@fieldsToDeepCopy
4448
if "table" == type line[field]
4549
@[field] = util.deep_copy overrides[field] or line[field]
4650
else
4751
@[field] = overrides[field] or line[field]
52+
53+
for field in *@fieldsToCopy
54+
@[field] = overrides[field] or line[field]
55+
4856
@duration = @end_time - @start_time
4957

5058
-- Gathers extra line metrics: the alignment and position.

0 commit comments

Comments
 (0)