Skip to content

Commit 5a7f068

Browse files
committed
Fix bad map lookup
We need to be checking for undefined when looking up values in logLineIdxToVisualIdx and cLineIdToVisualIdx as 0 can be returned, which is a valid index.
1 parent 51a24dc commit 5a7f068

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/App.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,11 @@ function App() {
279279
if (logLines && logLines.size > 0) {
280280
[logLineId] = logLines;
281281
}
282+
const visualLogLineIdx = logLineIdxToVisualIdx.get(logLineId);
282283
setSelectedAndScroll(
283284
logLineId,
284285
cLines[nextVisibleIdx],
285-
logLineIdxToVisualIdx.get(logLineId) || -1,
286+
visualLogLineIdx === undefined ? -1 : visualLogLineIdx,
286287
nextVisibleIdx,
287288
);
288289
} else {
@@ -296,11 +297,12 @@ function App() {
296297
const logLineId = logLines[nextInsVisualIdx].idx;
297298
const cLineId =
298299
verifierLogState.cSourceMap.logLineToCLine.get(logLineId) || "";
300+
const visualCLineIdx = cLineIdToVisualIdx.get(cLineId);
299301
setSelectedAndScroll(
300302
logLineId,
301303
"",
302304
nextInsVisualIdx,
303-
cLineIdToVisualIdx.get(cLineId) || -1,
305+
visualCLineIdx === undefined ? -1 : visualCLineIdx,
304306
);
305307
}
306308
};
@@ -481,11 +483,12 @@ function App() {
481483
parsedLine.type == ParsedLineType.C_SOURCE
482484
? parsedLine.id
483485
: verifierLogState.cSourceMap.logLineToCLine.get(lineId) || "";
486+
const visualCLineIdx = cLineIdToVisualIdx.get(clineId);
484487
setSelectedAndScroll(
485488
lineId,
486489
"",
487490
-1,
488-
cLineIdToVisualIdx.get(clineId) || -1,
491+
visualCLineIdx === undefined ? -1 : visualCLineIdx,
489492
memSlotId,
490493
);
491494
}

src/components.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ export function MainContent({
11371137

11381138
if (shouldScrollLogLines) {
11391139
const visualIdx = logLineIdxToVisualIdx.get(maxIdx);
1140-
if (visualIdx) {
1140+
if (visualIdx !== undefined) {
11411141
scrollToLogLine(visualIdx, logLines.length);
11421142
}
11431143
}
@@ -1204,7 +1204,7 @@ export function MainContent({
12041204
const handleStateLogLineClick = useCallback(
12051205
(e: React.MouseEvent<HTMLDivElement>) => {
12061206
const visualIdx = logLineIdxToVisualIdx.get(selectedLine);
1207-
if (visualIdx) {
1207+
if (visualIdx !== undefined) {
12081208
scrollToLogLine(visualIdx, logLines.length);
12091209
}
12101210
e.stopPropagation();
@@ -1218,7 +1218,7 @@ export function MainContent({
12181218
verifierLogState.cSourceMap.logLineToCLine.get(selectedLine);
12191219
if (cLineId) {
12201220
const cLineIdx = cLineIdToVisualIdx.get(cLineId);
1221-
if (cLineIdx) {
1221+
if (cLineIdx !== undefined) {
12221222
scrollToCLine(cLineIdx, cLines.length);
12231223
}
12241224
}

0 commit comments

Comments
 (0)