Vector35/snippets

Cannot reopen snippets editor after closing bndb

Closed this issue · 2 comments

2.4.dev, macOS 11.4

If the snippets editor is open when a bndb is closed, the editor will close. Attempting to reopen the snippets editor (via shortcut or Tools > Snippets menu) causes the following error in the log:

Traceback (most recent call last):
  File "/Users/galen/Library/Application Support/Binary Ninja/repositories/official/plugins/Vector35_snippets/__init__.py", line 507, in launchPlugin
    snippets.show()
RuntimeError: Internal C++ object (Snippets) already deleted.

Regardless of opening a bndb or not, cannot subsequently re-open snippets editor without restarting binary ninja, but snippets still run successfully from shortcuts and the Tools > Snippets menu.

If only someone didn't argue to make it non-modal.... 😛

Yeah, this does need to be resolved.

Right fix is probably to just register for close notifications and close snippets when the associated context is gone.

I'm not proud, but.... it's mitigated at least.

032c6aa