Skip to content

Commit

Permalink
Prevent caught error when using register(accelerator, callback) sig…
Browse files Browse the repository at this point in the history
…nature

Before, when calling `register(accelerator, callback)`, while shuffling the argument variables to convert from the 2-parameter to the 3-parameter signature, `win` was left holding the accelerator string, and this was passed to `title()` which expects a BrowserWindow, generating an error:
    TypeError: win.getTitle is not a function
The error was caught in `title()`, which returned "A destroyed window", leading to an inaccurate debug log.

This was not a serious issue, but even caught errors become a nuisance when debugging with breaking on caught exceptions enabled, since you have to skip over them each time you restart the program, to get to the errors you're interested in.
  • Loading branch information
1j01 committed Mar 23, 2024
1 parent 9eabd60 commit 479907d
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ function register(win, accelerator, callback) {
wc = ANY_WINDOW;
callback = accelerator;
accelerator = win;
win = null;
} else {
wc = win.webContents;
}
Expand All @@ -169,7 +170,7 @@ function register(win, accelerator, callback) {
return;
}

debug(`Registering callback for ${accelerator} on window ${title(win)}`);
debug(`Registering callback for ${accelerator} on ${win ? `window "${title(win)}"` : `all windows`}`);
_checkAccelerator(accelerator);

debug(`${accelerator} seems a valid shortcut sequence.`);
Expand Down

0 comments on commit 479907d

Please sign in to comment.