From e07752d65ade3240da15d237d1f8f0383933d3c3 Mon Sep 17 00:00:00 2001 From: Radon Rosborough Date: Sun, 15 Aug 2021 17:32:20 -0700 Subject: [PATCH] "Fix" double editor allocation --- frontend/src/app.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/frontend/src/app.js b/frontend/src/app.js index 3ccc2ac..1036ed0 100644 --- a/frontend/src/app.js +++ b/frontend/src/app.js @@ -230,13 +230,20 @@ async function main() { rootUri: `file://${message.root}`, }); servicesDisposable = Services.install(services); - editor.setModel( - monaco.editor.createModel( - editor.getModel().getValue(), - undefined, - monaco.Uri.parse(`file://${message.root}/${config.main}`) - ) - ); + const newURI = `file://${message.root}/${config.main}`; + const oldModel = editor.getModel(); + if (oldModel.uri.toString() !== newURI) { + // This code is likely to be buggy as it will probably + // never run and has thus never been tested. + editor.setModel( + monaco.editor.createModel( + oldModel.getValue(), + undefined, + monaco.Uri.parse(newURI) + ) + ); + oldModel.dispose(); + } const connection = createMessageConnection( new RijuMessageReader(socket), new RijuMessageWriter(socket)