parro-it / electron-localshortcut

Add keyboard shortcuts locally to a BrowserWindow instance, without using a Menu
MIT License
422 stars 38 forks source link

Prevent caught error when using `register(accelerator, callback)` signature #107

Open 1j01 opened 7 months ago

1j01 commented 7 months ago

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 (presumably) to an inaccurate debug log.

This was not a serious issue, as win was not used further, 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.

In full disclosure, I haven't tested this fix, but I'm fairly confident in it.