Skip to content
Merged
Changes from 3 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
16 changes: 10 additions & 6 deletions source/louisHelper.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
#louisHelper.py
#A part of NonVisual Desktop Access (NVDA)
#This file is covered by the GNU General Public License.
#See the file COPYING for more details.
#Copyright (C) 2018 NV Access Limited, Babbage B.V.
# A part of NonVisual Desktop Access (NVDA)
# This file is covered by the GNU General Public License.
# See the file COPYING for more details.
# Copyright (C) 2018-2021 NV Access Limited, Babbage B.V., Joseph Lee

"""Helper module to ease communication to and from liblouis."""

import louis
# Python 3.8 changes the way DLL's are loaded due to security.
# Thus manually add NVDA executable path to DLL lookup path for loading liblouis.dll.
import os
import globalVars
with os.add_dll_directory(os.path.dirname(globalVars.appDir)):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe I've found the problem. There is no point in using (os.path.dirname on globalVars.appDir as it represents path to the directory already. On my machine using globalVars.appDir alone allows source copy of NVDA to import liblouis and start correctly whereas when (os.path.dirname is used I'm getting the traceback you've posted yesterday.

import louis
from logHandler import log
import config

Expand Down