Browse Source

refactor: DwmGetColorizationColor does not have to be dynamically resolved

Milan Burda 6 years ago
parent
commit
adaa32003d

+ 0 - 5
atom/browser/api/atom_api_system_preferences.h

@@ -50,11 +50,6 @@ class SystemPreferences : public mate::EventEmitter<SystemPreferences>
 #if defined(OS_WIN)
   bool IsAeroGlassEnabled();
 
-  typedef HRESULT(STDAPICALLTYPE* DwmGetColorizationColor)(DWORD*, BOOL*);
-  DwmGetColorizationColor dwmGetColorizationColor =
-      (DwmGetColorizationColor)GetProcAddress(LoadLibraryW(L"dwmapi.dll"),
-                                              "DwmGetColorizationColor");
-
   std::string GetAccentColor();
   std::string GetColor(const std::string& color, mate::Arguments* args);
 

+ 2 - 1
atom/browser/api/atom_api_system_preferences_win.cc

@@ -2,6 +2,7 @@
 // Use of this source code is governed by the MIT license that can be
 // found in the LICENSE file.
 
+#include <dwmapi.h>
 #include <iomanip>
 
 #include "atom/browser/api/atom_api_system_preferences.h"
@@ -38,7 +39,7 @@ std::string SystemPreferences::GetAccentColor() {
   DWORD color = 0;
   BOOL opaque = FALSE;
 
-  if (FAILED(dwmGetColorizationColor(&color, &opaque))) {
+  if (FAILED(DwmGetColorizationColor(&color, &opaque))) {
     return "";
   }
 

+ 1 - 0
electron.gyp

@@ -363,6 +363,7 @@
           ],
           'link_settings': {
             'libraries': [
+              '-ldwmapi.lib',
               '-limm32.lib',
               '-lgdi32.lib',
               '-loleacc.lib',