Module: wine Branch: master Commit: 8c7e82d01f0003e84a86d21e4ac12c960a4dfb09 URL: https://gitlab.winehq.org/wine/wine/-/commit/8c7e82d01f0003e84a86d21e4ac12c9...
Author: Hans Leidekker hans@codeweavers.com Date: Thu Jul 11 22:00:35 2024 +0200
odbc32: Set parent functions before creating the environment handle.
---
dlls/odbc32/proxyodbc.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c index d1e1beef723..54b680feb71 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -914,7 +914,7 @@ SQLRETURN WINAPI SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR *ServerName, SQLSM
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -922,7 +922,6 @@ SQLRETURN WINAPI SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR *ServerName, SQLSM TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLConnect( handle->win32_handle, ServerName, NameLength1, UserName, NameLength2, @@ -2647,7 +2646,7 @@ SQLRETURN WINAPI SQLBrowseConnect(SQLHDBC ConnectionHandle, SQLCHAR *InConnectio
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -2655,7 +2654,6 @@ SQLRETURN WINAPI SQLBrowseConnect(SQLHDBC ConnectionHandle, SQLCHAR *InConnectio TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLBrowseConnect( handle->win32_handle, InConnectionString, StringLength1, @@ -3309,7 +3307,7 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -3317,7 +3315,6 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLDriverConnect( handle->win32_handle, WindowHandle, InConnectionString, Length, @@ -3467,7 +3464,7 @@ SQLRETURN WINAPI SQLConnectW(SQLHDBC ConnectionHandle, WCHAR *ServerName, SQLSMA
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -3475,7 +3472,6 @@ SQLRETURN WINAPI SQLConnectW(SQLHDBC ConnectionHandle, WCHAR *ServerName, SQLSMA TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLConnectW( handle->win32_handle, ServerName, NameLength1, UserName, NameLength2, @@ -4048,7 +4044,7 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -4056,7 +4052,6 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLDriverConnectW( handle->win32_handle, WindowHandle, InConnectionString, Length, @@ -4338,7 +4333,7 @@ SQLRETURN WINAPI SQLBrowseConnectW(SQLHDBC ConnectionHandle, SQLWCHAR *InConnect
if (has_suffix( filename, L".dll" )) { - if (!(handle->win32_funcs = load_driver( filename ))) + if (!(handle->win32_funcs = handle->parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); goto done; @@ -4346,7 +4341,6 @@ SQLRETURN WINAPI SQLBrowseConnectW(SQLHDBC ConnectionHandle, SQLWCHAR *InConnect TRACE( "using Windows driver %s\n", debugstr_w(filename) );
if (!SUCCESS((ret = create_env( handle->parent, FALSE )))) goto done; - handle->parent->win32_funcs = handle->win32_funcs; if (!SUCCESS((ret = create_con( handle )))) goto done;
ret = handle->win32_funcs->SQLBrowseConnectW( handle->win32_handle, InConnectionString, StringLength1,