Only close seika connection if initialized#13684
Conversation
|
I tested this and still reproduce #13679 |
See test results for failed build of commit 72ce6ecf1f |
|
Hi, @seanbudd There seems to be another Error and I'm not quite sure how it happened: But my configuration can be reverse as expected. Below is the full log: |
|
Thanks @cary-rowen - I will change the log level of that message but this is as expected. |
|
Rowen wrote:
There seems to be another Error and I'm not quite sure how it happened:
RuntimeError: wrapped C/C++ object of type BoxSizer has been deleted
I have also been seeing that on config resets lately. I suspect it is being
caused by an add-on not (properly) cleaning up its config panel in terminate(),
but haven't gone through the hassle of figuring out which one yet, if it is one
and not core.
Unfortunately it doesn't happen with every reset, so has been difficult to pin
down.
Next time please post a debug log.
|
This is a problem with NVDA core - I have noticed this without add-ons installed. |
|
Hi, @seanbudd I tested it again and it seems to be working fine so far, Thanks for your efforts. Thanks |
Please refer to this comment I've added to the issue |
|
|
||
| class BrailleDisplayDriver(braille.BrailleDisplayDriver): | ||
| _dev: hwIo.IoBase | ||
| _dev: Optional[hwIo.IoBase] = None |
There was a problem hiding this comment.
Should this actually be made an instance variable?
| except Exception as e: | ||
| # The display driver seems to be failing, but we're terminating anyway, so just ignore it. | ||
| pass | ||
| log.debugWarning(f"Display driver {self} is failing while terminating. {e}") |
There was a problem hiding this comment.
Shouldn't this be logged at error level?
|
@cary-rowen - if we end up doing a 2022.1rc2 due to #13694, I think the fix for this issue should be included as well. |
Link to issue number:
Closes part of #13679
Summary of the issue:
It appears that when resetting a config, the seika notetaker driver can be terminated before it has been initialized.
Description of how this pull request fixes the issue:
Only terminate the notetaker driver if it has been initialized.
Testing strategy:
Known issues with pull request:
Another issue is highlighted in #13679. While terminating/initializing during a config change, the braille.handler is attempted to be used when handling events on NVDA objects.
This is a more complex problem and needs a braille device to reproduce and test.
Change log entries:
Fixes an unreleased regression
Code Review Checklist: