mirror of
https://github.com/JannisX11/blockbench.git
synced 2024-11-27 04:21:46 +08:00
Improve memory cleanup no project close
Rename 16x MC skin resolution to "default" Show more of JSON file when displaying error
This commit is contained in:
parent
fac7c26b33
commit
2d792137e1
@ -264,7 +264,7 @@ const skin_dialog = new Dialog({
|
||||
}
|
||||
},
|
||||
resolution: {label: 'dialog.create_texture.resolution', type: 'select', value: 16, options: {
|
||||
16: '16x',
|
||||
16: 'generic.default',
|
||||
32: '32x',
|
||||
64: '64x',
|
||||
128: '128x',
|
||||
|
@ -515,12 +515,12 @@ function autoParseJSON(data, feedback) {
|
||||
var length = err.toString().split('at position ')[1]
|
||||
if (length) {
|
||||
length = parseInt(length)
|
||||
var start = limitNumber(length-20, 0, Infinity)
|
||||
var start = limitNumber(length-32, 0, Infinity)
|
||||
|
||||
logErrantPart(data, start, 1+length-start)
|
||||
} else if (err.toString().includes('Unexpected end of JSON input')) {
|
||||
|
||||
logErrantPart(data, data.length-10, 10)
|
||||
logErrantPart(data, data.length-16, 10)
|
||||
}
|
||||
Blockbench.showMessageBox({
|
||||
translateKey: 'invalid_file',
|
||||
|
@ -376,6 +376,16 @@ class ModelProject {
|
||||
this.unselect(true);
|
||||
Texture.all.forEach(tex => tex.stopWatcher());
|
||||
|
||||
// Clear memory
|
||||
for (let uuid in ProjectData[this.uuid].nodes_3d) {
|
||||
let node_3d = ProjectData[this.uuid].nodes_3d[uuid];
|
||||
if (node_3d.parent) node_3d.parent.remove(node_3d);
|
||||
if (node_3d.geometry) node_3d.geometry.dispose();
|
||||
if (node_3d.outline && node_3d.outline.geometry) {
|
||||
node_3d.outline.geometry.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
let index = ModelProject.all.indexOf(this);
|
||||
ModelProject.all.remove(this);
|
||||
delete ProjectData[this.uuid];
|
||||
|
Loading…
Reference in New Issue
Block a user