From 5001300a3b33011c30ade7f509e1bf831ffda3c5 Mon Sep 17 00:00:00 2001 From: Kaitlyn <87152313+kaitlynkittyy@users.noreply.github.com> Date: Thu, 28 Sep 2023 17:12:27 -0400 Subject: [PATCH] fixed crash when cancelling screenshare --- src/main/screenShare.ts | 10 +++++++--- src/renderer/components/ScreenSharePicker.tsx | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/screenShare.ts b/src/main/screenShare.ts index 41ee02c..505a2fd 100644 --- a/src/main/screenShare.ts +++ b/src/main/screenShare.ts @@ -52,9 +52,12 @@ export function registerScreenShareHandler() { if (isWayland) { const video = data[0]; if (video) - await request.frame.executeJavaScript( - `Vesktop.Components.ScreenShare.openScreenSharePicker(${JSON.stringify([video])}, true)` - ); + var stream = await request.frame + .executeJavaScript( + `Vesktop.Components.ScreenShare.openScreenSharePicker(${JSON.stringify([video])}, true)` + ) + .catch(() => null); + if (stream === null) return callback({}); callback(video ? { video: sources[0] } : {}); return; @@ -71,6 +74,7 @@ export function registerScreenShareHandler() { if (!choice) return callback({}); const source = sources.find(s => s.id === choice.id); + if (!source) return callback({}); const streams: Streams = { diff --git a/src/renderer/components/ScreenSharePicker.tsx b/src/renderer/components/ScreenSharePicker.tsx index fc0cd0c..a6d0326 100644 --- a/src/renderer/components/ScreenSharePicker.tsx +++ b/src/renderer/components/ScreenSharePicker.tsx @@ -71,7 +71,7 @@ addPatch({ } }); -export function openScreenSharePicker(screens: Source[], skipPicker: boolean) { +export async function openScreenSharePicker(screens: Source[], skipPicker: boolean) { let didSubmit = false; return new Promise((resolve, reject) => { const key = openModal( @@ -98,7 +98,7 @@ export function openScreenSharePicker(screens: Source[], skipPicker: boolean) { } } ); - }); + }).catch(null); } function ScreenPicker({ screens, chooseScreen }: { screens: Source[]; chooseScreen: (id: string) => void }) {