From 948afa01e3b8edb7407bb16701f187722c28b8fa Mon Sep 17 00:00:00 2001 From: Li Fanxi Date: Wed, 22 Dec 2010 00:02:35 +0800 Subject: [PATCH] [Bug] Fixed a bug in Windows DLL loading --- src/calibre/devices/bambook/libbambookcore.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/calibre/devices/bambook/libbambookcore.py b/src/calibre/devices/bambook/libbambookcore.py index 66bc6a4288..48d220ad14 100644 --- a/src/calibre/devices/bambook/libbambookcore.py +++ b/src/calibre/devices/bambook/libbambookcore.py @@ -18,19 +18,17 @@ try: cdll = ctypes.cdll if iswindows: _lib_name = 'BambookCore' - cdll = ctypes.windll + if hasattr(sys, 'frozen') and iswindows: + lp = os.path.join(os.path.dirname(sys.executable), 'DLLs', 'BambookCore.dll') + lib_handle = cdll.LoadLibrary(lp) + elif hasattr(sys, 'frozen_path'): + lp = os.path.join(sys.frozen_path, 'lib', 'libBambookCore.so') + lib_handle = cdll.LoadLibrary(lp) else: - if hasattr(sys, 'frozen') and iswindows: - lp = os.path.join(os.path.dirname(sys.executable), 'DLLs', 'BambookCore.dll') - lib_handle = cdll.LoadLibrary(lp) - elif hasattr(sys, 'frozen_path'): - lp = os.path.join(sys.frozen_path, 'lib', 'libBambookCore.so') - lib_handle = cdll.LoadLibrary(lp) - else: - lib_handle = load_library(_lib_name, cdll) + lib_handle = load_library(_lib_name, cdll) except: lib_handle = None - + if iswindows: text_encoding = 'mbcs' elif islinux: