Fix crashes in 64-bit builds of Notepad++ 8.3 and later (#13364)
Fixes #13311
Summary of the issue:
NVDA causes a crash when interacting with 64-bit builds of Notepad+++ 8.3. This happens because Notepad++ developers decided to deviate from the official Scintilla interface (they character points are represented by longlong rather than long in 64-bit builds). Since this allowed them to introduce the support for much bigger files this change is going to stay and NVDA has to adapt (see explanations in notepad-plus-plus/notepad-plus-plus#11133).
Description of how this pull request fixes the issue:
For 64-bit builds of Notepad++ 8.3 and above longlong is used for representing characters points.
Testing strategy:
- Notepad++ 8.3 x64 no longer crashes and text can be read normally.
- 32-bit build of the same version of NPP works as well as it used to before this change.
- Older version of Notepad++ x64 works normally and long is used for characters points there.
- Different editor (teXnicCenter) using Scintilla is not negatively affected.
- The newly introduced appmodule can be imported by using from nvdaBuiltin.appModules import notepadPlusPlus in an add-on.