diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-07-30 12:23:11 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-08-09 10:27:40 -0600 |
commit | 5816f9e2585822f7b6140fddc405d30f2a4b381d (patch) | |
tree | 9bdf4bdf80622f2441951010aa3e9334770c610f | |
parent | 89042ffee375d4e36521045405271f849ae8e951 (diff) | |
download | wix-5816f9e2585822f7b6140fddc405d30f2a4b381d.tar.gz wix-5816f9e2585822f7b6140fddc405d30f2a4b381d.tar.bz2 wix-5816f9e2585822f7b6140fddc405d30f2a4b381d.zip |
WIXFEAT:5843 Use MSFTEDIT_CLASS for Rich Edit controls when available.
-rw-r--r-- | src/dutil/thmutil.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/dutil/thmutil.cpp b/src/dutil/thmutil.cpp index 046bdc32..b9335469 100644 --- a/src/dutil/thmutil.cpp +++ b/src/dutil/thmutil.cpp | |||
@@ -47,6 +47,7 @@ static ULONG_PTR vgdiToken = 0; | |||
47 | static ULONG_PTR vgdiHookToken = 0; | 47 | static ULONG_PTR vgdiHookToken = 0; |
48 | static HMODULE vhHyperlinkRegisteredModule = NULL; | 48 | static HMODULE vhHyperlinkRegisteredModule = NULL; |
49 | static HMODULE vhPanelRegisteredModule = NULL; | 49 | static HMODULE vhPanelRegisteredModule = NULL; |
50 | static HMODULE vhModuleMsftEdit = NULL; | ||
50 | static HMODULE vhModuleRichEd = NULL; | 51 | static HMODULE vhModuleRichEd = NULL; |
51 | static HCURSOR vhCursorHand = NULL; | 52 | static HCURSOR vhCursorHand = NULL; |
52 | 53 | ||
@@ -454,6 +455,12 @@ LExit: | |||
454 | 455 | ||
455 | DAPI_(void) ThemeUninitialize() | 456 | DAPI_(void) ThemeUninitialize() |
456 | { | 457 | { |
458 | if (vhModuleMsftEdit) | ||
459 | { | ||
460 | ::FreeLibrary(vhModuleMsftEdit); | ||
461 | vhModuleMsftEdit = NULL; | ||
462 | } | ||
463 | |||
457 | if (vhModuleRichEd) | 464 | if (vhModuleRichEd) |
458 | { | 465 | { |
459 | ::FreeLibrary(vhModuleRichEd); | 466 | ::FreeLibrary(vhModuleRichEd); |
@@ -5049,12 +5056,17 @@ static HRESULT LoadControls( | |||
5049 | break; | 5056 | break; |
5050 | 5057 | ||
5051 | case THEME_CONTROL_TYPE_RICHEDIT: | 5058 | case THEME_CONTROL_TYPE_RICHEDIT: |
5052 | if (!vhModuleRichEd) | 5059 | if (!vhModuleMsftEdit && !vhModuleRichEd) |
5053 | { | 5060 | { |
5054 | hr = LoadSystemLibrary(L"Riched20.dll", &vhModuleRichEd); | 5061 | hr = LoadSystemLibrary(L"Msftedit.dll", &vhModuleMsftEdit); |
5055 | ThmExitOnFailure(hr, "Failed to load Rich Edit control library."); | 5062 | if (FAILED(hr)) |
5063 | { | ||
5064 | hr = LoadSystemLibrary(L"Riched20.dll", &vhModuleRichEd); | ||
5065 | ThmExitOnFailure(hr, "Failed to load Rich Edit control library."); | ||
5066 | } | ||
5056 | } | 5067 | } |
5057 | wzWindowClass = RICHEDIT_CLASSW; | 5068 | |
5069 | wzWindowClass = vhModuleMsftEdit ? MSFTEDIT_CLASS : RICHEDIT_CLASSW; | ||
5058 | dwWindowBits |= ES_AUTOVSCROLL | ES_MULTILINE | WS_VSCROLL | ES_READONLY; | 5070 | dwWindowBits |= ES_AUTOVSCROLL | ES_MULTILINE | WS_VSCROLL | ES_READONLY; |
5059 | break; | 5071 | break; |
5060 | 5072 | ||