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

View File

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