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 /src | |
| 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.
Diffstat (limited to 'src')
| -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 | ||
