summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2024-03-20 11:05:18 +0100
committerOskar Nyberg <oskar@mullvad.net>2024-03-20 11:05:18 +0100
commit4b4304f57a8236e349654f8841d09e6db1432dc2 (patch)
tree21757b043e3268e83066eb8ee1d8d9ff6d3c001d /gui/src/shared
parent625a7874ec2341a268a67162b4d6af3e804d7473 (diff)
parent4ba956b8da8fb25f36b0ccac1c700b11205d7861 (diff)
downloadmullvadvpn-4b4304f57a8236e349654f8841d09e6db1432dc2.tar.xz
mullvadvpn-4b4304f57a8236e349654f8841d09e6db1432dc2.zip
Merge branch 'map-scaling-incorrectly-des-692'
Diffstat (limited to 'gui/src/shared')
-rw-r--r--gui/src/shared/ipc-helpers.ts6
-rw-r--r--gui/src/shared/ipc-schema.ts1
2 files changed, 5 insertions, 2 deletions
diff --git a/gui/src/shared/ipc-helpers.ts b/gui/src/shared/ipc-helpers.ts
index 27ad17e22a..0ff3ca2064 100644
--- a/gui/src/shared/ipc-helpers.ts
+++ b/gui/src/shared/ipc-helpers.ts
@@ -6,7 +6,7 @@ import { capitalize } from './string-helpers';
type Handler<T, R> = (callback: (arg: T) => R) => void;
type Sender<T, R> = (arg: T) => R;
type Notifier<T> = ((arg: T) => void) | undefined;
-type Listener<T> = (callback: (arg: T) => void) => void;
+type Listener<T> = (callback: (arg: T) => void) => () => void;
interface MainToRenderer<T> {
direction: 'main-to-renderer';
@@ -154,7 +154,9 @@ export function notifyRenderer<T>(): MainToRenderer<T> {
direction: 'main-to-renderer',
send: notifyRendererImpl,
receive: (event, ipcRenderer) => (fn: (value: T) => void) => {
- ipcRenderer.on(event, (_event, newState: T) => fn(newState));
+ const listener = (_event: unknown, newState: T) => fn(newState);
+ ipcRenderer.on(event, listener);
+ return () => ipcRenderer.off(event, listener);
},
};
}
diff --git a/gui/src/shared/ipc-schema.ts b/gui/src/shared/ipc-schema.ts
index b94fe0a701..d90957764e 100644
--- a/gui/src/shared/ipc-schema.ts
+++ b/gui/src/shared/ipc-schema.ts
@@ -128,6 +128,7 @@ export const ipcSchema = {
shape: notifyRenderer<IWindowShapeParameters>(),
focus: notifyRenderer<boolean>(),
macOsScrollbarVisibility: notifyRenderer<MacOsScrollbarVisibility>(),
+ scaleFactorChange: notifyRenderer<void>(),
},
navigation: {
reset: notifyRenderer<void>(),