You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
12bbb07ced | ||
|
7f80904f89 | ||
|
c084f2e153 | ||
|
4ff6ecc4ac | ||
|
123aed11ee | ||
|
0ebc680f8f | ||
|
68925c8f61 | ||
|
791a70faf0 | ||
|
3ab6d734c0 | ||
|
31a5df0839 | ||
|
7adaca8b1b | ||
|
d5c85dc450 | ||
|
a78e9f3998 | ||
|
05c875caa5 | ||
|
a2170c577b | ||
|
d8260944be | ||
|
f76ea979db | ||
|
e4078c26a2 | ||
|
b0595d928b |
@@ -1,17 +1,17 @@
|
||||
From 31ad180c1c96e6e9a2e666ebbe90c3d8b78cefa4 Mon Sep 17 00:00:00 2001
|
||||
From 61f65bb6024f63c6ab278ae6c9844d2d38339be8 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 16 Feb 2024 11:01:45 +1100
|
||||
Subject: [PATCH] combase: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/combase/string.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
dlls/combase/string.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/combase/string.c b/dlls/combase/string.c
|
||||
index 1345870cf2f..dda6ab78141 100644
|
||||
index 1345870cf2f..e60ea251011 100644
|
||||
--- a/dlls/combase/string.c
|
||||
+++ b/dlls/combase/string.c
|
||||
@@ -55,7 +55,7 @@ static inline struct hstring_private *impl_from_HSTRING(HSTRING string)
|
||||
@@ -55,12 +55,12 @@ static inline struct hstring_private *impl_from_HSTRING(HSTRING string)
|
||||
|
||||
static inline struct hstring_private *impl_from_HSTRING_HEADER(HSTRING_HEADER *header)
|
||||
{
|
||||
@@ -20,6 +20,12 @@ index 1345870cf2f..dda6ab78141 100644
|
||||
}
|
||||
|
||||
static inline struct hstring_private *impl_from_HSTRING_BUFFER(HSTRING_BUFFER buffer)
|
||||
{
|
||||
- return CONTAINING_RECORD(buffer, struct hstring_private, buffer);
|
||||
+ return CONTAINING_RECORD( (void*)buffer, struct hstring_private, buffer);
|
||||
}
|
||||
|
||||
static BOOL alloc_string(UINT32 len, HSTRING *out)
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From ef7171d2eb01b4b8aaf8c4c608ceebd698d96e3c Mon Sep 17 00:00:00 2001
|
||||
From b0fb00cbd4ec71e184cf066a4f30002d646ceebe Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:54:26 +0100
|
||||
Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
|
||||
@@ -8,11 +8,13 @@ Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
|
||||
dlls/d2d1/brush.c | 8 ++++----
|
||||
dlls/d2d1/d2d1_private.h | 2 +-
|
||||
dlls/d2d1/dc_render_target.c | 2 +-
|
||||
dlls/d2d1/device.c | 2 +-
|
||||
dlls/d2d1/effect.c | 10 +++++-----
|
||||
dlls/d2d1/geometry.c | 12 ++++++------
|
||||
dlls/d2d1/hwnd_render_target.c | 2 +-
|
||||
dlls/d2d1/state_block.c | 2 +-
|
||||
dlls/d2d1/stroke.c | 2 +-
|
||||
8 files changed, 16 insertions(+), 16 deletions(-)
|
||||
10 files changed, 22 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/dlls/d2d1/bitmap.c b/dlls/d2d1/bitmap.c
|
||||
index e5048611519..8e031290528 100644
|
||||
@@ -66,10 +68,10 @@ index 75cd72b5b9f..314123373b7 100644
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_bitmap_brush_QueryInterface(ID2D1BitmapBrush1 *iface,
|
||||
diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
|
||||
index c0ac5ba9a44..e171c1c6bd8 100644
|
||||
index 58507fd2c0b..c2c7026052c 100644
|
||||
--- a/dlls/d2d1/d2d1_private.h
|
||||
+++ b/dlls/d2d1/d2d1_private.h
|
||||
@@ -697,7 +697,7 @@ struct d2d_factory
|
||||
@@ -702,7 +702,7 @@ struct d2d_factory
|
||||
|
||||
static inline struct d2d_factory *unsafe_impl_from_ID2D1Factory(ID2D1Factory *iface)
|
||||
{
|
||||
@@ -91,6 +93,57 @@ index aa0c715baa5..31389b15cf8 100644
|
||||
}
|
||||
|
||||
static HRESULT d2d_dc_render_target_present(IUnknown *outer_unknown)
|
||||
diff --git a/dlls/d2d1/device.c b/dlls/d2d1/device.c
|
||||
index 75da15c99a5..cf2fb530466 100644
|
||||
--- a/dlls/d2d1/device.c
|
||||
+++ b/dlls/d2d1/device.c
|
||||
@@ -4516,7 +4516,7 @@ struct d2d_device *unsafe_impl_from_ID2D1Device(ID2D1Device1 *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (ID2D1Device1Vtbl *)&d2d_device_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d2d_device, ID2D1Device6_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Device6*)iface, struct d2d_device, ID2D1Device6_iface);
|
||||
}
|
||||
|
||||
void d2d_device_init(struct d2d_device *device, struct d2d_factory *factory, IDXGIDevice *dxgi_device)
|
||||
diff --git a/dlls/d2d1/effect.c b/dlls/d2d1/effect.c
|
||||
index cebc492d895..a5e33c0ad9b 100644
|
||||
--- a/dlls/d2d1/effect.c
|
||||
+++ b/dlls/d2d1/effect.c
|
||||
@@ -22,28 +22,28 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
|
||||
|
||||
static inline struct d2d_transform *impl_from_ID2D1OffsetTransform(ID2D1OffsetTransform *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1TransformNode*)iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
}
|
||||
|
||||
static inline struct d2d_transform *impl_from_ID2D1BlendTransform(ID2D1BlendTransform *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1TransformNode*)iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
}
|
||||
|
||||
static inline struct d2d_transform *impl_from_ID2D1BorderTransform(ID2D1BorderTransform *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1TransformNode*)iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
}
|
||||
|
||||
static inline struct d2d_transform *impl_from_ID2D1BoundsAdjustmentTransform(
|
||||
ID2D1BoundsAdjustmentTransform *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1TransformNode*)iface, struct d2d_transform, ID2D1TransformNode_iface);
|
||||
}
|
||||
|
||||
static inline struct d2d_vertex_buffer *impl_from_ID2D1VertexBuffer(ID2D1VertexBuffer *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_vertex_buffer, ID2D1VertexBuffer_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1VertexBuffer*)iface, struct d2d_vertex_buffer, ID2D1VertexBuffer_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_vertex_buffer_QueryInterface(ID2D1VertexBuffer *iface,
|
||||
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
|
||||
index 3da3ad2e65b..849a2cd2762 100644
|
||||
--- a/dlls/d2d1/geometry.c
|
||||
|
@@ -0,0 +1,45 @@
|
||||
From 53cc7a0c9e6d6abe983d7f9d70f83f36ccc1c0a5 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sun, 19 May 2024 14:49:44 +1000
|
||||
Subject: [PATCH] combase/tests: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/combase/tests/string.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/combase/tests/string.c b/dlls/combase/tests/string.c
|
||||
index ceb8ffa6e09..76863c2f4dd 100644
|
||||
--- a/dlls/combase/tests/string.c
|
||||
+++ b/dlls/combase/tests/string.c
|
||||
@@ -509,7 +509,7 @@ static void test_hstring_struct(void)
|
||||
|
||||
ok(WindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string.\n");
|
||||
|
||||
- prv = CONTAINING_RECORD(str, struct hstring_private, header);
|
||||
+ prv = CONTAINING_RECORD((void*)str, struct hstring_private, header);
|
||||
|
||||
ok(prv->header.flags == 0, "Expected 0 in flags field, got %#x.\n", prv->header.flags);
|
||||
ok(prv->header.length == 6, "Expected 6 in length field, got %u.\n", prv->header.length);
|
||||
@@ -520,7 +520,7 @@ static void test_hstring_struct(void)
|
||||
|
||||
ok(WindowsDuplicateString(str, &str2) == S_OK, "Failed to duplicate string.\n");
|
||||
|
||||
- prv2 = CONTAINING_RECORD(str2, struct hstring_private, header);
|
||||
+ prv2 = CONTAINING_RECORD((void*)str2, struct hstring_private, header);
|
||||
|
||||
ok(prv->refcount == 2, "Expected 2 in refcount, got %lu.\n", prv->refcount);
|
||||
ok(prv2->refcount == 2, "Expected 2 in refcount, got %lu.\n", prv2->refcount);
|
||||
@@ -534,8 +534,8 @@ static void test_hstring_struct(void)
|
||||
|
||||
ok(WindowsCreateStringReference(input_string, 6, &hdr, &str) == S_OK, "Failed to create string ref.\n");
|
||||
|
||||
- prv = CONTAINING_RECORD(&hdr, struct hstring_private, header);
|
||||
- prv2 = CONTAINING_RECORD(str, struct hstring_private, header);
|
||||
+ prv = CONTAINING_RECORD((void*)&hdr, struct hstring_private, header);
|
||||
+ prv2 = CONTAINING_RECORD((void*)str, struct hstring_private, header);
|
||||
|
||||
ok(prv == prv2, "Pointers not identical.\n");
|
||||
ok(prv2->header.flags == 1, "Expected HSTRING_REFERENCE_FLAG to be set, got %#x.\n", prv2->header.flags);
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -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
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 5e9af0573526693cbc98ad8282b5f2023c6b5bf7 Mon Sep 17 00:00:00 2001
|
||||
From 84025e765979320128422a50d5f892e8f501b2df Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Mon, 26 Aug 2019 14:37:20 +0200
|
||||
Subject: [PATCH 4/7] server: Add send_hardware_message flags for rawinput
|
||||
Subject: [PATCH] server: Add send_hardware_message flags for rawinput
|
||||
translation.
|
||||
|
||||
---
|
||||
@@ -11,10 +11,10 @@ Subject: [PATCH 4/7] server: Add send_hardware_message flags for rawinput
|
||||
3 files changed, 15 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/include/ntuser.h b/include/ntuser.h
|
||||
index f947fec7fea..4ded432bd99 100644
|
||||
index ff45ffa2bc8..bc51f04af6e 100644
|
||||
--- a/include/ntuser.h
|
||||
+++ b/include/ntuser.h
|
||||
@@ -1423,6 +1423,10 @@ struct hid_packet
|
||||
@@ -1440,6 +1440,10 @@ struct hid_packet
|
||||
|
||||
C_ASSERT(sizeof(struct hid_packet) == offsetof(struct hid_packet, data[0]));
|
||||
|
||||
@@ -26,10 +26,10 @@ index f947fec7fea..4ded432bd99 100644
|
||||
{
|
||||
UINT flags;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 7b21aa16636..8e483bf3bbf 100644
|
||||
index 1fdedd161ff..4d199a6407c 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -2126,7 +2126,7 @@ enum message_type
|
||||
@@ -2164,7 +2164,7 @@ enum message_type
|
||||
@REQ(send_hardware_message)
|
||||
user_handle_t win; /* window handle */
|
||||
hw_input_t input; /* input data */
|
||||
@@ -38,7 +38,7 @@ index 7b21aa16636..8e483bf3bbf 100644
|
||||
VARARG(report,bytes); /* HID report data */
|
||||
@REPLY
|
||||
int wait; /* do we need to wait for a reply? */
|
||||
@@ -2135,7 +2135,6 @@ enum message_type
|
||||
@@ -2173,7 +2173,6 @@ enum message_type
|
||||
int new_x; /* new cursor position */
|
||||
int new_y;
|
||||
@END
|
||||
@@ -47,10 +47,10 @@ index 7b21aa16636..8e483bf3bbf 100644
|
||||
|
||||
/* Get a message from the current queue */
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index 67c03c10b40..0687a7feac1 100644
|
||||
index ac863fd439b..c38d91ba28c 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -1983,7 +1983,7 @@ static void dispatch_rawinput_message( struct desktop *desktop, struct rawinput_
|
||||
@@ -2019,7 +2019,7 @@ static void dispatch_rawinput_message( struct desktop *desktop, struct rawinput_
|
||||
|
||||
/* queue a hardware message for a mouse event */
|
||||
static int queue_mouse_message( struct desktop *desktop, user_handle_t win, const hw_input_t *input,
|
||||
@@ -59,7 +59,7 @@ index 67c03c10b40..0687a7feac1 100644
|
||||
{
|
||||
const struct rawinput_device *device;
|
||||
struct hardware_msg_data *msg_data;
|
||||
@@ -2038,7 +2038,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
@@ -2075,7 +2075,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
y = desktop->cursor.y;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ index 67c03c10b40..0687a7feac1 100644
|
||||
{
|
||||
memset( &raw_msg, 0, sizeof(raw_msg) );
|
||||
raw_msg.foreground = foreground;
|
||||
@@ -2060,6 +2060,8 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
@@ -2097,6 +2097,8 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ index 67c03c10b40..0687a7feac1 100644
|
||||
for (i = 0; i < ARRAY_SIZE( messages ); i++)
|
||||
{
|
||||
if (!messages[i]) continue;
|
||||
@@ -2091,7 +2093,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
@@ -2128,7 +2130,7 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
|
||||
|
||||
/* queue a hardware message for a keyboard event */
|
||||
static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, const hw_input_t *input,
|
||||
@@ -86,16 +86,16 @@ index 67c03c10b40..0687a7feac1 100644
|
||||
{
|
||||
struct hw_msg_source source = { IMDT_KEYBOARD, origin };
|
||||
const struct rawinput_device *device;
|
||||
@@ -2168,7 +2170,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
|
||||
break;
|
||||
@@ -2232,7 +2234,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
|
||||
}
|
||||
}
|
||||
|
||||
- if ((foreground = get_foreground_thread( desktop, win )))
|
||||
+ if (!(send_flags & SEND_HWMSG_NO_RAW) && (foreground = get_foreground_thread( desktop, win )))
|
||||
- if (!unicode && (foreground = get_foreground_thread( desktop, win )))
|
||||
+ if (!(send_flags & SEND_HWMSG_NO_RAW) && ((!unicode && (foreground = get_foreground_thread( desktop, win )))))
|
||||
{
|
||||
struct rawinput_message raw_msg = {0};
|
||||
raw_msg.foreground = foreground;
|
||||
@@ -2189,6 +2191,8 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
|
||||
@@ -2253,6 +2255,8 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ index 67c03c10b40..0687a7feac1 100644
|
||||
if (!(msg = alloc_hardware_message( input->kbd.info, source, time, 0 ))) return 0;
|
||||
msg_data = msg->data;
|
||||
|
||||
@@ -2936,10 +2940,10 @@ DECL_HANDLER(send_hardware_message)
|
||||
@@ -3004,10 +3008,10 @@ DECL_HANDLER(send_hardware_message)
|
||||
switch (req->input.type)
|
||||
{
|
||||
case INPUT_MOUSE:
|
||||
|
@@ -0,0 +1,53 @@
|
||||
From b49259919505ae15004ad6f3a42582f8436c9edd Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 7 Mar 2024 10:40:41 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 36c123c0056abd227ddfaac37a2a0902ac2f4bc5.
|
||||
|
||||
1.12 Release
|
||||
---
|
||||
libs/vkd3d/include/private/vkd3d_common.h | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-common/blob.c | 1 +
|
||||
libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c | 2 ++
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/vkd3d/include/private/vkd3d_common.h b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
index a9d709d10fe..2d950b4f7aa 100644
|
||||
--- a/libs/vkd3d/include/private/vkd3d_common.h
|
||||
+++ b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
@@ -233,7 +233,7 @@ static inline unsigned int vkd3d_popcount(unsigned int v)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
return __popcnt(v);
|
||||
-#elif defined(__MINGW32__)
|
||||
+#elif defined(HAVE_BUILTIN_POPCOUNT)
|
||||
return __builtin_popcount(v);
|
||||
#else
|
||||
v -= (v >> 1) & 0x55555555;
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-common/blob.c b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
index f60ef7db769..c2c6ad67804 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#define WIDL_C_INLINE_WRAPPERS
|
||||
#endif
|
||||
#define COBJMACROS
|
||||
+
|
||||
#define CONST_VTABLE
|
||||
#include "vkd3d.h"
|
||||
#include "vkd3d_blob.h"
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
index 14a3fa778e5..46c0da2a2d7 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
+/* VKD3D_DEBUG_ENV_NAME("VKD3D_SHADER_DEBUG"); */
|
||||
+
|
||||
static inline int char_to_int(char c)
|
||||
{
|
||||
if ('0' <= c && c <= '9')
|
||||
--
|
||||
2.43.0
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -1 +1 @@
|
||||
Wine Staging 9.8
|
||||
Wine Staging 9.10
|
||||
|
@@ -1 +1 @@
|
||||
655de4b0bf09746cd163dc771abd2c0f3c777447
|
||||
951e0e27a743e52c75c7fedc0b1eaa9eb77e6bb6
|
||||
|
Reference in New Issue
Block a user