Mercurial > vim
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 } |