Skip to content

Commit 2da4e37

Browse files
authored
Merge pull request #33 from oslabs-beta/FL/RL-42-43-44/Memory-Leak_Cleanup
Fl/rl 42 43 44/memory leak cleanup
2 parents 542ee2b + 82c284a commit 2da4e37

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

src/extension.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,14 @@ let panel: vscode.WebviewPanel | undefined = undefined
1212
function activate(context: vscode.ExtensionContext) {
1313

1414
// This is the column where Webview will be revealed to
15-
const columnToShowIn : vscode.ViewColumn | undefined = vscode.window.activeTextEditor
15+
let columnToShowIn : vscode.ViewColumn | undefined = vscode.window.activeTextEditor
1616
? vscode.window.activeTextEditor.viewColumn
1717
: undefined;
1818

1919

2020
// Command that allows for User to select the root file of their React application.
2121
const pickFile: vscode.Disposable = vscode.commands.registerCommand('myExtension.pickFile', async () => {
2222

23-
2423
// Check if there is an existing webview panel, if so display it.
2524
if(panel) {
2625
panel.reveal(columnToShowIn)
@@ -52,6 +51,19 @@ function activate(context: vscode.ExtensionContext) {
5251
panel.dispose()
5352
panel = createPanel(context, data, columnToShowIn);
5453
}
54+
55+
// Listens for when webview is closed and disposes of webview resources
56+
panel.onDidDispose(
57+
() => {
58+
console.log("Before: ", panel)
59+
panel.dispose()
60+
panel = undefined;
61+
columnToShowIn = undefined;
62+
console.log("After: ", panel)
63+
},
64+
null,
65+
context.subscriptions
66+
);
5567
});
5668

5769

src/panel.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,6 @@ export function createPanel(context: vscode.ExtensionContext, data: Tree, column
3535
// render html of webview here
3636
panel.webview.html = createWebviewHTML(bundleURI, data);
3737

38-
39-
// Listens for when webview is closed and disposes of webview resources
40-
panel.onDidDispose(
41-
() => {
42-
panel = undefined;
43-
},
44-
null,
45-
context.subscriptions
46-
);
47-
4838

4939
// Sends data to Flow.tsx to be displayed after parsed data is received
5040
panel.webview.onDidReceiveMessage(

0 commit comments

Comments
 (0)