Compare commits

...

8 Commits
v9.8 ... v9.9

Author SHA1 Message Date
Alistair Leslie-Hughes
d5c85dc450 Release v9.9 2024-05-18 13:10:10 +10:00
Alistair Leslie-Hughes
a78e9f3998 Updated vkd3d-latest patchset
Squashed for release.
2024-05-18 13:09:43 +10:00
Alistair Leslie-Hughes
05c875caa5 Updated vkd3d-latest patchset 2024-05-16 11:58:46 +10:00
Alistair Leslie-Hughes
a2170c577b Rebase against 849baece66e326bce255dfea0d6fb10df888bc55. 2024-05-16 08:29:53 +10:00
Alistair Leslie-Hughes
d8260944be Rebase against 6a31983779479b42e0c2e5320a1dfa962767c28e. 2024-05-15 08:24:14 +10:00
Alistair Leslie-Hughes
f76ea979db Updated vkd3d-latest patchset 2024-05-13 09:30:19 +10:00
Alistair Leslie-Hughes
e4078c26a2 Rebase against 040b2a9c75666527af6ca79d9146095c8ed6a3cf. 2024-05-13 09:28:53 +10:00
Alistair Leslie-Hughes
b0595d928b Updated ntdll-Junction_Points patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=56647
2024-05-11 11:29:05 +10:00
13 changed files with 13727 additions and 7685 deletions

View File

@@ -0,0 +1,51 @@
From 246a50e7cf09bd1d77d327e170c2d7432e0d5f5e Mon Sep 17 00:00:00 2001
From: Lorenzo Ferrillo <lorenzofersteam@live.it>
Date: Mon, 6 May 2024 23:46:44 +0200
Subject: [PATCH] Return correct status value if handle is not a reparse point
---
dlls/ntdll/unix/file.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index 2bfb9b7d051..93732543ae4 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -3944,9 +3944,11 @@ NTSTATUS get_reparse_point_unix(const char *unix_name, REPARSE_DATA_BUFFER *buff
char *p;
ret = readlink( unix_name, link_path, sizeof(link_path) );
+
if (ret < 0)
{
- status = errno_to_status( errno );
+ if (errno == EINVAL) status = STATUS_NOT_A_REPARSE_POINT;
+ else status = errno_to_status( errno );
goto cleanup;
}
link_path_len = ret;
@@ -7303,10 +7305,17 @@ NTSTATUS WINAPI NtFsControlFile( HANDLE handle, HANDLE event, PIO_APC_ROUTINE ap
}
case FSCTL_GET_REPARSE_POINT:
{
- REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)out_buffer;
- ULONG size = out_size;
- status = get_reparse_point( handle, buffer, &size );
- io->Information = size;
+ io->Information = 0;
+ if (out_buffer){
+ REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)out_buffer;
+ ULONG size = out_size;
+ status = get_reparse_point( handle, buffer, &size );
+ if (status == STATUS_SUCCESS)
+ io->Information = size;
+ }
+ else {
+ status = STATUS_INVALID_USER_BUFFER;
+ }
break;
}
case FSCTL_SET_REPARSE_POINT:
--
2.43.0

View File

@@ -1,113 +1,51 @@
From 9491dc2b72947bef59d8fb191fdc27a96bcc1c68 Mon Sep 17 00:00:00 2001
From b129fd1a7b4de4959f8929f03ece4688b3e1a6fd Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 3 Feb 2023 14:16:21 +1100
Subject: [PATCH] odbc32: Add initial tests
---
configure | 1 +
configure.ac | 1 +
dlls/odbc32/tests/Makefile.in | 5 +
dlls/odbc32/tests/connection.c | 165 +++++++++++++++++++++++++++++++++
4 files changed, 172 insertions(+)
create mode 100644 dlls/odbc32/tests/Makefile.in
create mode 100644 dlls/odbc32/tests/connection.c
dlls/odbc32/tests/odbc32.c | 52 +++++++++++++++++++++++++++++++++++++-
1 file changed, 51 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index ca6e87d4740..027f3fbe53d 100755
--- a/configure
+++ b/configure
@@ -22137,6 +22137,7 @@ wine_fn_config_makefile dlls/ntprint enable_ntprint
wine_fn_config_makefile dlls/ntprint/tests enable_tests
wine_fn_config_makefile dlls/objsel enable_objsel
wine_fn_config_makefile dlls/odbc32 enable_odbc32
+wine_fn_config_makefile dlls/odbc32/tests enable_tests
wine_fn_config_makefile dlls/odbcbcp enable_odbcbcp
wine_fn_config_makefile dlls/odbccp32 enable_odbccp32
wine_fn_config_makefile dlls/odbccp32/tests enable_tests
diff --git a/configure.ac b/configure.ac
index cba55126869..fc09d145ee7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2954,6 +2954,7 @@ WINE_CONFIG_MAKEFILE(dlls/ntprint)
WINE_CONFIG_MAKEFILE(dlls/ntprint/tests)
WINE_CONFIG_MAKEFILE(dlls/objsel)
WINE_CONFIG_MAKEFILE(dlls/odbc32)
+WINE_CONFIG_MAKEFILE(dlls/odbc32/tests)
WINE_CONFIG_MAKEFILE(dlls/odbcbcp)
WINE_CONFIG_MAKEFILE(dlls/odbccp32)
WINE_CONFIG_MAKEFILE(dlls/odbccp32/tests)
diff --git a/dlls/odbc32/tests/Makefile.in b/dlls/odbc32/tests/Makefile.in
new file mode 100644
index 00000000000..d7a300417a0
--- /dev/null
+++ b/dlls/odbc32/tests/Makefile.in
@@ -0,0 +1,5 @@
+TESTDLL = odbc32.dll
+IMPORTS = odbc32
+
+SOURCES = \
+ connection.c
diff --git a/dlls/odbc32/tests/connection.c b/dlls/odbc32/tests/connection.c
new file mode 100644
index 00000000000..b04d93c42c5
--- /dev/null
+++ b/dlls/odbc32/tests/connection.c
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2018 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <wine/test.h>
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "sqlext.h"
+#include "sqlucode.h"
+#include "odbcinst.h"
+
+static void test_SQLAllocEnv(void)
+{
+ SQLRETURN ret;
+ SQLHENV sqlenv, sqlenv2;
+
+ ret = SQLAllocEnv(NULL);
+ ok(ret == SQL_ERROR, "got %d\n", ret);
+
+ ret = SQLAllocEnv(&sqlenv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+
+ ret = SQLAllocEnv(&sqlenv2);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+ ok(sqlenv != sqlenv2, "got %d\n", ret);
+
+ ret = SQLFreeEnv(sqlenv2);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+
+ ret = SQLFreeEnv(sqlenv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+
+ ret = SQLFreeEnv(sqlenv);
+ todo_wine ok(ret == SQL_INVALID_HANDLE, "got %d\n", ret);
+
+ ret = SQLFreeEnv(SQL_NULL_HENV);
+ todo_wine ok(ret == SQL_INVALID_HANDLE, "got %d\n", ret);
+}
diff --git a/dlls/odbc32/tests/odbc32.c b/dlls/odbc32/tests/odbc32.c
index 8a744f23834..7e1f62e559f 100644
--- a/dlls/odbc32/tests/odbc32.c
+++ b/dlls/odbc32/tests/odbc32.c
@@ -28,7 +28,7 @@
static void test_SQLAllocHandle( void )
{
SQLHANDLE handle;
- SQLHENV env;
+ SQLHENV env, env2;
SQLHDBC con;
SQLRETURN ret;
@@ -46,6 +46,12 @@ static void test_SQLAllocHandle( void )
ok( ret == SQL_SUCCESS, "got %d\n", ret );
ok( env != (void *)0xdeadbeef, "env not set\n" );
+ env2 = (void *)0xdeadbeef;
+ ret = SQLAllocEnv( &env2 );
+ ok( ret == SQL_SUCCESS, "got %d\n", ret );
+ ok( env2 != (void *)0xdeadbeef, "env2 not set\n" );
+ ok( env2 != env, "environment is the same\n" );
+
con = (void *)0xdeadbeef;
ret = SQLAllocConnect( env, &con );
ok( ret == SQL_SUCCESS, "got %d\n", ret );
@@ -57,6 +63,8 @@ static void test_SQLAllocHandle( void )
ok( ret == SQL_INVALID_HANDLE, "got %d\n", ret );
ret = SQLFreeEnv( env );
ok( ret == SQL_SUCCESS, "got %d\n", ret );
+ ret = SQLFreeEnv( env2 );
+ ok( ret == SQL_SUCCESS, "got %d\n", ret );
ret = SQLFreeEnv( 0 );
ok( ret == SQL_INVALID_HANDLE, "got %d\n", ret );
}
@@ -302,6 +310,47 @@ static void test_SQLExecDirect( void )
ok( ret == SQL_SUCCESS, "got %d\n", ret );
}
+void test_SQLGetEnvAttr(void)
+{
+ SQLRETURN ret;
@@ -149,75 +87,15 @@ index 00000000000..b04d93c42c5
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+}
+
+static void test_SQLDriver(void)
+{
+ SQLHENV henv = SQL_NULL_HENV;
+ SQLRETURN ret;
+ SQLCHAR driver[256];
+ SQLCHAR attr[256];
+ SQLSMALLINT driver_ret;
+ SQLSMALLINT attr_ret;
+ SQLUSMALLINT direction;
+
+ ret = SQLAllocEnv(&henv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+ ok(henv != SQL_NULL_HENV, "NULL handle\n");
+
+ direction = SQL_FETCH_FIRST;
+
+ while(SQL_SUCCEEDED(ret = SQLDrivers(henv, direction, driver, sizeof(driver),
+ &driver_ret, attr, sizeof(attr), &attr_ret)))
+ {
+ direction = SQL_FETCH_NEXT;
+
+ trace("%s - %s\n", driver, attr);
+ }
+ todo_wine ok(ret == SQL_NO_DATA, "got %d\n", ret);
+
+ ret = SQLFreeEnv(henv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+}
+
+static void test_SQLGetDiagRec(void)
+{
+ SQLHENV henv = SQL_NULL_HENV;
+ SQLHDBC connection;
+ SQLRETURN ret;
+ WCHAR version[11];
+ WCHAR SqlState[6], Msg[SQL_MAX_MESSAGE_LENGTH];
+ SQLINTEGER NativeError;
+ SQLSMALLINT MsgLen;
+
+ ret = SQLAllocEnv(&henv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+ ok(henv != SQL_NULL_HENV, "NULL handle\n");
+
+ ret = SQLAllocConnect(henv, &connection);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+
+ ret = SQLGetInfoW(connection, SQL_ODBC_VER, version, 22, NULL);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+ trace("ODBC_VER=%s\n", wine_dbgstr_w(version));
+
+ ret = SQLFreeConnect(connection);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+
+ NativeError = 88;
+ ret = SQLGetDiagRecW( SQL_HANDLE_ENV, henv, 1, SqlState, &NativeError, Msg, sizeof(Msg), &MsgLen);
+ todo_wine ok(ret == SQL_NO_DATA, "got %d\n", ret);
+ ok(NativeError == 88, "got %d\n", NativeError);
+
+ ret = SQLFreeEnv(henv);
+ ok(ret == SQL_SUCCESS, "got %d\n", ret);
+}
+
+START_TEST(connection)
+{
+ test_SQLAllocEnv();
START_TEST(odbc32)
{
test_SQLAllocHandle();
@@ -309,4 +358,5 @@ START_TEST(odbc32)
test_SQLDataSources();
test_SQLDrivers();
test_SQLExecDirect();
+ test_SQLGetEnvAttr();
+ test_SQLDriver();
+ test_SQLGetDiagRec();
+}
}
--
2.43.0

View File

@@ -1,4 +1,4 @@
From 5e22907c02cb6778555995421a0b8eb8e382ff3a Mon Sep 17 00:00:00 2001
From 98419c58be94ecff277ad08c503affd6ffa133ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 16 Mar 2014 03:19:39 +0100
Subject: [PATCH] wineboot: Add some generic hardware in HKEY_DYN_DATA\Config
@@ -9,11 +9,11 @@ Subject: [PATCH] wineboot: Add some generic hardware in HKEY_DYN_DATA\Config
1 file changed, 100 insertions(+)
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index 728c41fffa9..beb29db4653 100644
index dfa3f6dd738..77708b40122 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -763,16 +763,116 @@ static void create_hardware_registry_keys(void)
free( power_info );
@@ -912,16 +912,116 @@ static void create_hardware_registry_keys(void)
free( buf );
}
+struct dyndata_enum_key{
@@ -128,7 +128,7 @@ index 728c41fffa9..beb29db4653 100644
+ }
}
/* create the platform-specific environment registry keys */
/* create the ComputerName registry keys */
--
2.40.1
2.43.0

View File

@@ -1,4 +1,4 @@
From 1f455f575b3a17cbf4bae3d44d8fa08ec3d21c4c Mon Sep 17 00:00:00 2001
From 7df284bcf76788b078b4c43ce2de0c338b557e8a Mon Sep 17 00:00:00 2001
From: Henri Verbeet <hverbeet@codeweavers.com>
Date: Thu, 13 May 2021 17:58:12 +0200
Subject: [PATCH] wined3d: Do not rotate WINED3D_SWAP_EFFECT_DISCARD
@@ -14,22 +14,22 @@ behave in a similar way.
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 49a40f3e1d6..d0f73fc690e 100644
index 6b2ad8d6954..c0721067bd1 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -531,8 +531,9 @@ static void wined3d_swapchain_gl_rotate(struct wined3d_swapchain *swapchain, str
@@ -523,8 +523,9 @@ static void wined3d_swapchain_gl_rotate(struct wined3d_swapchain *swapchain, str
unsigned int i;
static const DWORD supported_locations = WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_RB_MULTISAMPLE;
- if (swapchain->state.desc.backbuffer_count < 2 || wined3d_settings.offscreen_rendering_mode != ORM_FBO)
- if (swapchain->state.desc.backbuffer_count < 2)
- return;
+ if (swapchain->state.desc.swap_effect == WINED3D_SWAP_EFFECT_DISCARD
+ || swapchain->state.desc.backbuffer_count < 2 || wined3d_settings.offscreen_rendering_mode != ORM_FBO)
+ || swapchain->state.desc.backbuffer_count < 2)
+ return;
texture_prev = wined3d_texture_gl(swapchain->back_buffers[0]);
@@ -1181,7 +1182,8 @@ static void wined3d_swapchain_vk_rotate(struct wined3d_swapchain *swapchain, str
@@ -1177,7 +1178,8 @@ static void wined3d_swapchain_vk_rotate(struct wined3d_swapchain *swapchain, str
static const DWORD supported_locations = WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_RB_MULTISAMPLE;
@@ -40,5 +40,5 @@ index 49a40f3e1d6..d0f73fc690e 100644
texture_prev = wined3d_texture_vk(swapchain->back_buffers[0]);
--
2.34.1
2.43.0

View File

@@ -1,4 +1,4 @@
From 19d54067c5e9a44b4f4f319cd61232665f7fb01a Mon Sep 17 00:00:00 2001
From ad91a015d40c8bea7dcb603ead7897e593ea173a Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Tue, 22 Jun 2021 07:56:43 +1000
Subject: [PATCH] winemac.drv: No Flicker patch
@@ -10,7 +10,7 @@ Subject: [PATCH] winemac.drv: No Flicker patch
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h
index f5793006c35..0aa4d651d70 100644
index 19efc4dc7d4..2468d4219f6 100644
--- a/dlls/winemac.drv/macdrv.h
+++ b/dlls/winemac.drv/macdrv.h
@@ -44,6 +44,7 @@
@@ -22,20 +22,20 @@ index f5793006c35..0aa4d651d70 100644
extern const char* debugstr_cf(CFTypeRef t);
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c
index acfad65ea81..aff0181e253 100644
index 21b148ff558..3034fe2f780 100644
--- a/dlls/winemac.drv/macdrv_main.c
+++ b/dlls/winemac.drv/macdrv_main.c
@@ -61,6 +61,7 @@ int gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE;
@@ -60,6 +60,7 @@ int use_precise_scrolling = TRUE;
int gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE;
int retina_enabled = FALSE;
int enable_app_nap = FALSE;
int eager_dock_icon_hiding = TRUE;
+BOOL force_backing_store = FALSE;
CFDictionaryRef localized_strings;
@@ -382,6 +383,9 @@ static void setup_options(void)
if (!get_config_key(hkey, appkey, "EagerDockIconHiding", buffer, sizeof(buffer)))
eager_dock_icon_hiding = IS_OPTION_TRUE(buffer[0]);
@@ -378,6 +379,9 @@ static void setup_options(void)
if (!get_config_key(hkey, appkey, "EnableAppNap", buffer, sizeof(buffer)))
enable_app_nap = IS_OPTION_TRUE(buffer[0]);
+ if (!get_config_key(hkey, appkey, "ForceOpenGLBackingStore", buffer, sizeof(buffer)))
+ force_backing_store = IS_OPTION_TRUE(buffer[0]);
@@ -44,7 +44,7 @@ index acfad65ea81..aff0181e253 100644
processes in the prefix. */
if (!get_config_key(hkey, NULL, "RetinaMode", buffer, sizeof(buffer)))
diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c
index f78454ed149..205c0816d44 100644
index 1c0b87d694a..b0a3e25fd73 100644
--- a/dlls/winemac.drv/opengl.c
+++ b/dlls/winemac.drv/opengl.c
@@ -1451,7 +1451,7 @@ static BOOL create_context(struct wgl_context *context, CGLContextObj share, uns

View File

@@ -1 +1 @@
Wine Staging 9.8
Wine Staging 9.9

View File

@@ -1 +1 @@
655de4b0bf09746cd163dc771abd2c0f3c777447
fd1da4521e68042cbb3ce88124415c22761ae9dd