aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-06-06 10:09:29 +1000
committerNeil <nyamatongwe@gmail.com>2020-06-06 10:09:29 +1000
commitb5b2247de50e20e7db3c64e786aab788d9f49148 (patch)
tree721bba5f0c53167e5e9c7dd2b5a15061e9d9f41c /win32/PlatWin.h
parenteadb190f1bb1303dffcfcb1e8d5305a2c1e2ef60 (diff)
downloadscintilla-mirror-b5b2247de50e20e7db3c64e786aab788d9f49148.tar.gz
Defer most initialisation until Scintilla window is created.
Previously, more initialisation was performed inside DllMain but some actions such as loading libraries are unsafe inside DllMain. Avoid listbox UnregisterClass if no attempt to register which will occur if no Scintilla windows were created. std::call_once is used to ensure initialisation is performed at most once.
Diffstat (limited to 'win32/PlatWin.h')
-rw-r--r--win32/PlatWin.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/win32/PlatWin.h b/win32/PlatWin.h
index d88ee6324..58ba5e78f 100644
--- a/win32/PlatWin.h
+++ b/win32/PlatWin.h
@@ -14,7 +14,8 @@ namespace Scintilla {
#define USER_DEFAULT_SCREEN_DPI 96
#endif
-extern void Platform_Initialise(void *hInstance);
+extern void Platform_Initialise(void *hInstance) noexcept;
+
extern void Platform_Finalise(bool fromDllMain);
constexpr RECT RectFromPRectangle(PRectangle prc) noexcept {