Pierre Schweitzer : mpr: Enumerate connections capability before looking for functions entry points.

Alexandre Julliard julliard at winehq.org
Mon Jan 2 14:03:53 CST 2017


Module: wine
Branch: master
Commit: 96a93ee608b2919d1a8f583002e8262ef54a6743
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=96a93ee608b2919d1a8f583002e8262ef54a6743

Author: Pierre Schweitzer <pierre at reactos.org>
Date:   Fri Dec 30 21:17:27 2016 +0100

mpr: Enumerate connections capability before looking for functions entry points.

Signed-off-by: Pierre Schweitzer <pierre at reactos.org>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mpr/wnet.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index 50f71d2..cbbc1bd 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -178,6 +178,7 @@ static void _tryLoadProvider(PCWSTR provider)
                     TRACE("loaded lib %p\n", hLib);
                     if (getCaps)
                     {
+                        DWORD connectCap;
                         PWNetProvider provider =
                          &providerTable->table[providerTable->numProviders];
 
@@ -211,9 +212,13 @@ static void _tryLoadProvider(PCWSTR provider)
                                 WARN("Couldn't load enumeration functions\n");
                             }
                         }
-                        provider->addConnection = MPR_GETPROC(NPAddConnection);
-                        provider->addConnection3 = MPR_GETPROC(NPAddConnection3);
-                        provider->cancelConnection = MPR_GETPROC(NPCancelConnection);
+                        connectCap = getCaps(WNNC_CONNECTION);
+                        if (connectCap & WNNC_CON_ADDCONNECTION)
+                            provider->addConnection = MPR_GETPROC(NPAddConnection);
+                        if (connectCap & WNNC_CON_ADDCONNECTION3)
+                            provider->addConnection3 = MPR_GETPROC(NPAddConnection3);
+                        if (connectCap & WNNC_CON_CANCELCONNECTION)
+                            provider->cancelConnection = MPR_GETPROC(NPCancelConnection);
                         TRACE("NPAddConnection %p\n", provider->addConnection);
                         TRACE("NPAddConnection3 %p\n", provider->addConnection3);
                         TRACE("NPCancelConnection %p\n", provider->cancelConnection);




More information about the wine-cvs mailing list