From 8a49bc6d0b0a8d2f57bbcdd088765c0f42019bae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Mon, 3 Jan 2022 16:59:57 +0100
Subject: [PATCH] [dome] protect ipc-renderer boolean values

---
 ivette/src/dome/renderer/dome.tsx | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ivette/src/dome/renderer/dome.tsx b/ivette/src/dome/renderer/dome.tsx
index f9aa7034042..4caa280dbd6 100644
--- a/ivette/src/dome/renderer/dome.tsx
+++ b/ivette/src/dome/renderer/dome.tsx
@@ -503,17 +503,18 @@ export function popupMenu(
   items: PopupMenuItem[],
   callback?: (item: string | undefined) => void,
 ) {
-  ipcRenderer.invoke('dome.popup', items.map((item) => {
+  const ipcItems = items.map((item) => {
     if (!item) return undefined;
     if (item === 'separator') return item;
     return {
       label: item.label,
       id: item.id,
-      display: item.display,
-      enabled: item.enabled,
-      checked: item.checked,
+      display: !!(item.display ?? true),
+      enabled: !!(item.enabled ?? true),
+      checked: !!(item.checked ?? false),
     };
-  })).then((index: number) => {
+  });
+  ipcRenderer.invoke('dome.popup', ipcItems).then((index: number) => {
     const item = items[index];
     if (item && item !== 'separator') {
       const { id, label, onClick } = item;
-- 
GitLab