comparison src/gui_dwrite.cpp @ 27657:a077948be0f4 v8.2.4354

patch 8.2.4354: dynamic loading of libsodium not handled properly Commit: https://github.com/vim/vim/commit/d68b2fc034fa3c824e0d4d53745cfe9eb8c5ecd6 Author: K.Takata <kentkt@csc.jp> Date: Sat Feb 12 11:18:37 2022 +0000 patch 8.2.4354: dynamic loading of libsodium not handled properly Problem: Dynamic loading of libsodium not handled properly. Solution: Fix has() and :version. Show an error message when loading fails. Fix memory leaks. (Ken Takata, closes #9754)
author Bram Moolenaar <Bram@vim.org>
date Sat, 12 Feb 2022 12:30:03 +0100
parents 26824776adf6
children faf7fcd1c8d5
comparison
equal deleted inserted replaced
27656:85577ef6b2ce 27657:a077948be0f4
57 #else 57 #else
58 # define FINAL 58 # define FINAL
59 #endif 59 #endif
60 60
61 #ifdef DYNAMIC_DIRECTX 61 #ifdef DYNAMIC_DIRECTX
62 extern "C" HINSTANCE vimLoadLib(char *name); 62 extern "C" HINSTANCE vimLoadLib(const char *name);
63 63
64 typedef int (WINAPI *PGETUSERDEFAULTLOCALENAME)(LPWSTR, int); 64 typedef int (WINAPI *PGETUSERDEFAULTLOCALENAME)(LPWSTR, int);
65 typedef HRESULT (WINAPI *PD2D1CREATEFACTORY)(D2D1_FACTORY_TYPE, 65 typedef HRESULT (WINAPI *PD2D1CREATEFACTORY)(D2D1_FACTORY_TYPE,
66 REFIID, const D2D1_FACTORY_OPTIONS *, void **); 66 REFIID, const D2D1_FACTORY_OPTIONS *, void **);
67 typedef HRESULT (WINAPI *PDWRITECREATEFACTORY)(DWRITE_FACTORY_TYPE, 67 typedef HRESULT (WINAPI *PDWRITECREATEFACTORY)(DWRITE_FACTORY_TYPE,
1210 void 1210 void
1211 DWrite_Init(void) 1211 DWrite_Init(void)
1212 { 1212 {
1213 #ifdef DYNAMIC_DIRECTX 1213 #ifdef DYNAMIC_DIRECTX
1214 // Load libraries. 1214 // Load libraries.
1215 hD2D1DLL = vimLoadLib(const_cast<char*>("d2d1.dll")); 1215 hD2D1DLL = vimLoadLib("d2d1.dll");
1216 hDWriteDLL = vimLoadLib(const_cast<char*>("dwrite.dll")); 1216 hDWriteDLL = vimLoadLib("dwrite.dll");
1217 if (hD2D1DLL == NULL || hDWriteDLL == NULL) 1217 if (hD2D1DLL == NULL || hDWriteDLL == NULL)
1218 { 1218 {
1219 DWrite_Final(); 1219 DWrite_Final();
1220 return; 1220 return;
1221 } 1221 }