fix long standing layout-on-load bug

This commit is contained in:
Stewart Allen 2024-06-11 18:19:25 -07:00
commit 8d66083409
2 changed files with 6 additions and 5 deletions

View file

@ -2482,7 +2482,6 @@ gapp.register("kiri.init", [], (root, exports) => {
}); });
api.space.restore(init_two) || checkSeed(init_two) || init_two(); api.space.restore(init_two) || checkSeed(init_two) || init_two();
}; };
// SECOND STAGE INIT AFTER UI RESTORED // SECOND STAGE INIT AFTER UI RESTORED

View file

@ -423,7 +423,7 @@ function platformAdd(widget, shift, nolayout, defer) {
return; return;
} }
if (!grouping) { if (!grouping) {
platformGroupDone(); platformGroupDone(nolayout);
if (!current().controller.autoLayout) { if (!current().controller.autoLayout) {
positionNewWidget(widget); positionNewWidget(widget);
} }
@ -432,15 +432,17 @@ function platformAdd(widget, shift, nolayout, defer) {
} }
function platformAddDeferred() { function platformAddDeferred() {
let skiplayout = false;
for (let rec of deferred) { for (let rec of deferred) {
let { widget, shift, nolayout } = rec; let { widget, shift, nolayout } = rec;
skiplayout |= nolayout;
// platform.select(widget, shift); // platform.select(widget, shift);
if (!nolayout && !current().controller.autoLayout) { if (!nolayout && !current().controller.autoLayout) {
positionNewWidget(widget); positionNewWidget(widget);
} }
} }
if (!grouping) { if (!grouping) {
platformGroupDone(); platformGroupDone(skiplayout);
} }
api.event.emit('widget.add', deferred.map(r => r.widget)); api.event.emit('widget.add', deferred.map(r => r.widget));
platform.update_bounds(); platform.update_bounds();
@ -622,7 +624,7 @@ function platformSelectAll() {
}); });
} }
function platformLayout(event, gap) { function platformLayout() {
const MODE = get_mode(); const MODE = get_mode();
const settings = current(); const settings = current();
const { process, device, controller } = settings; const { process, device, controller } = settings;
@ -633,7 +635,7 @@ function platformLayout(event, gap) {
isArrange = api.view.is_arrange(), isArrange = api.view.is_arrange(),
layout = isArrange && auto; layout = isArrange && auto;
gap = gap || controller.spaceLayout; let gap = controller.spaceLayout;
switch (MODE) { switch (MODE) {
case MODES.SLA: case MODES.SLA: