Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions source/NVDAHelper.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# This file is covered by the GNU General Public License.
# See the file COPYING for more details.

from typing import Optional
import os
import winreg
import msvcrt
Expand Down Expand Up @@ -44,8 +45,8 @@


_remoteLib=None
_remoteLoaderAMD64 = None
_remoteLoaderARM64 = None
_remoteLoaderAMD64: "Optional[_RemoteLoader]" = None
_remoteLoaderARM64: "Optional[_RemoteLoader]" = None
localLib=None
generateBeep=None
VBuf_getTextInRange=None
Expand Down Expand Up @@ -482,7 +483,7 @@ def nvdaControllerInternal_openConfigDirectory():
return 0


class RemoteLoader(object):
class _RemoteLoader:

def __init__(self, loaderDir: str):
# Create a pipe so we can write to stdin of the loader process.
Expand Down Expand Up @@ -526,6 +527,7 @@ def terminate(self):
winKernel.waitForSingleObject(self._process, winKernel.INFINITE)
winKernel.closeHandle(self._process)


def initialize():
global _remoteLib, _remoteLoaderAMD64, _remoteLoaderARM64
global localLib, generateBeep, VBuf_getTextInRange, lastLanguageID, lastLayoutString
Expand Down Expand Up @@ -595,13 +597,13 @@ def initialize():
versionedLibARM64Path
arch = os.environ.get('PROCESSOR_ARCHITEW6432')
if arch == 'AMD64':
_remoteLoaderAMD64 = RemoteLoader(versionedLibAMD64Path)
_remoteLoaderAMD64 = _RemoteLoader(versionedLibAMD64Path)
elif arch == 'ARM64':
_remoteLoaderARM64 = RemoteLoader(versionedLibARM64Path)
_remoteLoaderARM64 = _RemoteLoader(versionedLibARM64Path)
# Windows on ARM from Windows 11 supports running AMD64 apps.
# Thus we also need to be able to inject into these.
if winVersion.getWinVer() >= winVersion.WIN11:
_remoteLoaderAMD64 = RemoteLoader(versionedLibAMD64Path)
_remoteLoaderAMD64 = _RemoteLoader(versionedLibAMD64Path)


def terminate():
Expand Down
2 changes: 2 additions & 0 deletions user_docs/en/changes.t2t
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ What's New in NVDA
- Added an experimental option to leverage the UIA notification support in Windows Terminal to report new or changed text in the terminal, resulting in improved stability and responsivity. (#13781)
- Consult the user guide for limitations of this experimental option.
-
- On Windows 11 ARM64, browse mode is now available in AMD64 apps such as Firefox, Google Chrome and 1Password. (#14397)
-


Expand Down Expand Up @@ -86,6 +87,7 @@ Please open a GitHub issue if your Add-on has an issue with updating to the new
- ``autoTether`` has been removed; ``tetherTo`` can now take the value "auto" instead.
-
-
- The NVDAHelper.RemoteLoader64 class has been removed with no replacement.
Comment thread
michaelDCurran marked this conversation as resolved.
Resolved
-


Expand Down