fix: can't send functions over ipc

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
This commit is contained in:
Jacob Schlecht 2026-04-14 23:39:22 -06:00
parent 1065f23636
commit 3d02f30a90
2 changed files with 13 additions and 13 deletions

View File

@ -205,12 +205,9 @@ export function createMainWindow() {
}); });
return; return;
} }
mainWindow.webContents.send( ipcMain.once(
"screenPicker", "screenPickerCallback",
sources.map((source, idx) => { (_, idx: number, audio: boolean) => {
return { idx: idx, name: source.name };
}),
(idx: number, audio: boolean) => {
if (idx < 0 || idx > sources.length) { if (idx < 0 || idx > sources.length) {
callback({}); callback({});
} else { } else {
@ -221,6 +218,12 @@ export function createMainWindow() {
} }
}, },
); );
mainWindow.webContents.send(
"screenPicker",
sources.map((source, idx) => {
return { idx: idx, name: source.name };
}),
);
}); });
}, },
{ useSystemPicker: true }, { useSystemPicker: true },

View File

@ -18,13 +18,10 @@ contextBridge.exposeInMainWorld("native", {
// Wrapped in braces to return void // Wrapped in braces to return void
onceScreenPicker: ( onceScreenPicker: (
onScreenPick: ( onScreenPick: (sources: { idx: number; name: string }[]) => void,
sources: { idx: number; name: string }[],
callback: (idx: number, audio: boolean) => void,
) => void,
) => { ) => {
ipcRenderer.once("screenPicker", (_, sources, callback) => ipcRenderer.once("screenPicker", (_, sources) => onScreenPick(sources));
onScreenPick(sources, callback),
);
}, },
screenPickerCallback: (idx: number, audio: boolean) =>
ipcRenderer.send("screenPickerCallback", idx, audio),
}); });