From 1d24dc81414fd0eab8a5c8ad84b6894b89c721b2 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 3 Nov 2015 17:04:15 +0100 Subject: [PATCH] Rebase against 8f443077416fd820375b1bc0d1276286d23348fc. The pulseaudio patchset is temporarily disabled in this commit because the upstream merge introduced several bugs. It will be reenabled in one of the next commits. --- README.md | 4 +- debian/changelog | 3 + .../0005-include-Add-dxva.h-header-file.patch | 10 +- ...plementation-of-MPEG2-decoder-using-.patch | 20 ++- ...if-check-to-determine-whether-a-font.patch | 41 ----- ...-font-size-information-to-wineserver.patch | 120 ------------- ...ement-GetNumberOfConsoleFonts-resend.patch | 47 ----- ...plement-GetConsoleFontSize-v2-resend.patch | 78 -------- ...dd-tests-for-GetConsoleFontSize-v2-r.patch | 84 --------- .../kernel32-GetConsoleFontSize/definition | 1 - .../definition | 1 - .../0001-include-Add-cuda.h.h.patch | 10 +- ...e-failure-of-reading-directory-entry.patch | 30 ---- ...out-returned-stats-when-IEnumSTATSTG.patch | 29 --- ...the-tests-to-show-that-IEnumSTATSTG-.patch | 79 -------- patches/ole32-IEnumSTATSTG/definition | 1 - patches/patchinstall.sh | 168 +----------------- ...ignment-of-a-duplicate-uuid.-Resend.patch} | 0 ...-an-interface-typedef-do-check-wheth.patch | 37 ---- ...id-takes-precedence-over-hidden-.-R.patch} | 0 ...f-the-alias-are-supposed-to-replace.patch} | 0 ...ting-duplicate-typelib-entries-for-.patch} | 0 ...d-a-bunch-of-new-tests-for-typelib-.patch} | 0 .../wined3d-CSMT_Main/9999-IfDefined.patch | 76 ++++---- .../winepulse-PulseAudio_Support/definition | 1 + 25 files changed, 71 insertions(+), 769 deletions(-) delete mode 100644 patches/kernel32-GetConsoleFontSize/0001-wineconsole-Add-if-check-to-determine-whether-a-font.patch delete mode 100644 patches/kernel32-GetConsoleFontSize/0002-wineconsole-Pass-font-size-information-to-wineserver.patch delete mode 100644 patches/kernel32-GetConsoleFontSize/0003-kernel32-Implement-GetNumberOfConsoleFonts-resend.patch delete mode 100644 patches/kernel32-GetConsoleFontSize/0004-kernel32-Implement-GetConsoleFontSize-v2-resend.patch delete mode 100644 patches/kernel32-GetConsoleFontSize/0005-kernel32-tests-Add-tests-for-GetConsoleFontSize-v2-r.patch delete mode 100644 patches/kernel32-GetConsoleFontSize/definition delete mode 100644 patches/ole32-IEnumSTATSTG/0001-dlls-ole32-Handle-failure-of-reading-directory-entry.patch delete mode 100644 patches/ole32-IEnumSTATSTG/0002-dlls-ole32-Zero-out-returned-stats-when-IEnumSTATSTG.patch delete mode 100644 patches/ole32-IEnumSTATSTG/0003-ole32-tests-Add-the-tests-to-show-that-IEnumSTATSTG-.patch delete mode 100644 patches/ole32-IEnumSTATSTG/definition rename patches/widl-Typelib_Generator/{0002-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch => 0001-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch} (100%) delete mode 100644 patches/widl-Typelib_Generator/0001-widl-When-adding-an-interface-typedef-do-check-wheth.patch rename patches/widl-Typelib_Generator/{0003-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch => 0002-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch} (100%) rename patches/widl-Typelib_Generator/{0004-widl-Attributes-of-the-alias-are-supposed-to-replace.patch => 0003-widl-Attributes-of-the-alias-are-supposed-to-replace.patch} (100%) rename patches/widl-Typelib_Generator/{0005-widl-Avoid-generating-duplicate-typelib-entries-for-.patch => 0004-widl-Avoid-generating-duplicate-typelib-entries-for-.patch} (100%) rename patches/widl-Typelib_Generator/{0006-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch => 0005-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch} (100%) diff --git a/README.md b/README.md index 6d46825d..657b2cb8 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ for more details.* * GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980)) * Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871)) * Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490)) -* IEnumSTATSTG::Next should zero out returned stats when enumeration ends +* ~~IEnumSTATSTG::Next should zero out returned stats when enumeration ends~~ * Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090)) * Implement D3DXGetShaderOutputSemantics * Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233)) @@ -194,7 +194,7 @@ for more details.* * Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042)) * Implement general tab for file property dialog * Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500)) -* Implement kernel32.GetConsoleFontSize +* ~~Implement kernel32.GetConsoleFontSize~~ * Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899)) * Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662)) * Implement ntoskrnl driver testing framework. diff --git a/debian/changelog b/debian/changelog index 57f46d82..9d033168 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,9 @@ wine-staging (1.7.55) UNRELEASED; urgency=low maintained). * Remove disabled ntdll-FD_Cache patchset (only for PowerPC, no longer necessary because Wine uses inline cmpxchg64 now when compiling with gcc). + * Removed patch to implement kernel32.GetConsoleFontSize (accepted upstream). + * Removed patch to zero out returned stats when IEnumSTATSTG::Next reaches end + of enumeration (accepted upstream). -- Sebastian Lackner Sun, 01 Nov 2015 01:06:20 +0100 wine-staging (1.7.54) unstable; urgency=low diff --git a/patches/dxva2-Video_Decoder/0005-include-Add-dxva.h-header-file.patch b/patches/dxva2-Video_Decoder/0005-include-Add-dxva.h-header-file.patch index fef955d9..b1c648ff 100644 --- a/patches/dxva2-Video_Decoder/0005-include-Add-dxva.h-header-file.patch +++ b/patches/dxva2-Video_Decoder/0005-include-Add-dxva.h-header-file.patch @@ -1,4 +1,4 @@ -From a871b5881c5e01ec46f49cb181d504c61765558d Mon Sep 17 00:00:00 2001 +From 08d0f4fee02fa6c01308461b3cecea842439fd15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 22 Feb 2015 01:10:21 +0100 Subject: include: Add dxva.h header file. @@ -10,17 +10,17 @@ Subject: include: Add dxva.h header file. create mode 100644 include/dxva.h diff --git a/include/Makefile.in b/include/Makefile.in -index 02d5d88..2b7943a 100644 +index 682072c..94a2b84 100644 --- a/include/Makefile.in +++ b/include/Makefile.in -@@ -314,6 +314,7 @@ SRCDIR_INCLUDES = \ +@@ -306,6 +306,7 @@ HEADER_SRCS = \ dxfile.h \ dxgiformat.h \ dxgitype.h \ + dxva.h \ - dyngraph.idl \ errorrep.h \ errors.h \ + evcode.h \ diff --git a/include/dxva.h b/include/dxva.h new file mode 100644 index 0000000..e311488 @@ -243,5 +243,5 @@ index 0000000..e311488 + +#endif /* __WINE_DXVA_H */ -- -2.1.0 +2.6.2 diff --git a/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch b/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch index 0b7aec3d..8eaca903 100644 --- a/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch +++ b/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch @@ -1,4 +1,4 @@ -From aff30eb5ce44d1f62c9c0a1419a89ba076dd93b8 Mon Sep 17 00:00:00 2001 +From e6ddf6fa378fc8e41535fb3d06daab9587fded2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 22 Feb 2015 01:25:20 +0100 Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend. @@ -6,7 +6,7 @@ Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend. --- configure.ac | 16 + dlls/dxva2/Makefile.in | 14 +- - dlls/dxva2/backend.idl | 94 ++++++ + dlls/dxva2/backend.idl | 96 ++++++ dlls/dxva2/dxva2_private.h | 115 ++++++- dlls/dxva2/genericdecoder.c | 432 +++++++++++++++++++++++++ dlls/dxva2/main.c | 70 +++- @@ -14,17 +14,17 @@ Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend. dlls/dxva2/vaapi-mpeg2.c | 753 +++++++++++++++++++++++++++++++++++++++++++ dlls/dxva2/vaapi.c | 767 ++++++++++++++++++++++++++++++++++++++++++++ dlls/dxva2/videoservices.c | 74 ++--- - 10 files changed, 2291 insertions(+), 67 deletions(-) + 10 files changed, 2293 insertions(+), 67 deletions(-) create mode 100644 dlls/dxva2/backend.idl create mode 100644 dlls/dxva2/genericdecoder.c create mode 100644 dlls/dxva2/vaapi-mpeg2.c create mode 100644 dlls/dxva2/vaapi.c diff --git a/configure.ac b/configure.ac -index fbcd3fb..324deba 100644 +index 3473566..ff3b189 100644 --- a/configure.ac +++ b/configure.ac -@@ -99,6 +99,8 @@ AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree vide +@@ -100,6 +100,8 @@ AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree vide [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_xf86vmode_h=no; ac_cv_header_X11_extensions_xf86vmproto_h=no; fi]) AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib],[do not use Zlib (data compression)]), [if test "x$withval" = "xno"; then ac_cv_header_zlib_h=no; fi]) @@ -33,7 +33,7 @@ index fbcd3fb..324deba 100644 AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR])) AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build])) -@@ -1265,6 +1267,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c +@@ -1261,6 +1263,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg OpenGL and Direct3D won't be supported.]) @@ -79,10 +79,10 @@ index 4af9dc0..afdefc3 100644 + videoservices.c diff --git a/dlls/dxva2/backend.idl b/dlls/dxva2/backend.idl new file mode 100644 -index 0000000..dd37695 +index 0000000..8d48835 --- /dev/null +++ b/dlls/dxva2/backend.idl -@@ -0,0 +1,94 @@ +@@ -0,0 +1,96 @@ +/* + * Copyright (C) 2015 Michael Müller for Pipelight + * @@ -101,6 +101,8 @@ index 0000000..dd37695 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + ++#pragma makedep header ++ +import "unknwn.idl"; +import "dxva2api.idl"; + @@ -2633,5 +2635,5 @@ index 46e431a..84222dc 100644 return E_NOINTERFACE; } -- -2.6.1 +2.6.2 diff --git a/patches/kernel32-GetConsoleFontSize/0001-wineconsole-Add-if-check-to-determine-whether-a-font.patch b/patches/kernel32-GetConsoleFontSize/0001-wineconsole-Add-if-check-to-determine-whether-a-font.patch deleted file mode 100644 index 6c443179..00000000 --- a/patches/kernel32-GetConsoleFontSize/0001-wineconsole-Add-if-check-to-determine-whether-a-font.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 303ff4b8e0235e7501776c15089effb16e02d904 Mon Sep 17 00:00:00 2001 -From: Hugh McMaster -Date: Thu, 29 Oct 2015 23:17:17 +1100 -Subject: wineconsole: Add if check to determine whether a font attribute has - changed (v3) - -This version uses a case insensitive comparison, as requested by Dmitry Timoshkov. - -Patches two to six are unchanged. - -Signed-off-by: Hugh McMaster ---- - programs/wineconsole/wineconsole.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/programs/wineconsole/wineconsole.c b/programs/wineconsole/wineconsole.c -index e1ee55b..eb07f6b 100644 ---- a/programs/wineconsole/wineconsole.c -+++ b/programs/wineconsole/wineconsole.c -@@ -27,7 +27,7 @@ - #include "winecon_private.h" - #include "winnls.h" - #include "winuser.h" -- -+#include "wine/unicode.h" - #include "wine/debug.h" - - WINE_DEFAULT_DEBUG_CHANNEL(wineconsole); -@@ -421,7 +421,8 @@ void WINECON_SetConfig(struct inner_data* data, const struct config_data* cf - } - data->curcfg.menu_mask = cfg->menu_mask; - data->curcfg.quick_edit = cfg->quick_edit; -- if (1 /* FIXME: font info has changed */) -+ if (strcmpiW(data->curcfg.face_name, cfg->face_name) || data->curcfg.cell_width != cfg->cell_width || -+ data->curcfg.cell_height != cfg->cell_height || data->curcfg.font_weight != cfg->font_weight) - { - data->fnSetFont(data, cfg->face_name, cfg->cell_height, cfg->font_weight); - } --- -2.6.1 - diff --git a/patches/kernel32-GetConsoleFontSize/0002-wineconsole-Pass-font-size-information-to-wineserver.patch b/patches/kernel32-GetConsoleFontSize/0002-wineconsole-Pass-font-size-information-to-wineserver.patch deleted file mode 100644 index b2e23972..00000000 --- a/patches/kernel32-GetConsoleFontSize/0002-wineconsole-Pass-font-size-information-to-wineserver.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 4d1cb95792e3183f1777df839cc5046f5c1395e6 Mon Sep 17 00:00:00 2001 -From: Hugh McMaster -Date: Thu, 29 Oct 2015 23:17:18 +1100 -Subject: wineconsole: Pass font size information to wineserver - -Signed-off-by: Hugh McMaster ---- - programs/wineconsole/wineconsole.c | 9 +++++++++ - server/console.c | 16 ++++++++++++++++ - server/protocol.def | 5 +++++ - 3 files changed, 30 insertions(+) - -diff --git a/programs/wineconsole/wineconsole.c b/programs/wineconsole/wineconsole.c -index eb07f6b..d376535 100644 ---- a/programs/wineconsole/wineconsole.c -+++ b/programs/wineconsole/wineconsole.c -@@ -425,6 +425,15 @@ void WINECON_SetConfig(struct inner_data* data, const struct config_data* cf - data->curcfg.cell_height != cfg->cell_height || data->curcfg.font_weight != cfg->font_weight) - { - data->fnSetFont(data, cfg->face_name, cfg->cell_height, cfg->font_weight); -+ SERVER_START_REQ(set_console_output_info) -+ { -+ req->handle = wine_server_obj_handle( data->hConOut ); -+ req->mask = SET_CONSOLE_OUTPUT_INFO_FONT; -+ req->font_width = cfg->cell_width; -+ req->font_height = cfg->cell_height; -+ wine_server_call_err( req ); -+ } -+ SERVER_END_REQ; - } - if (data->curcfg.def_attr != cfg->def_attr) - { -diff --git a/server/console.c b/server/console.c -index 389547d..a57b2fe 100644 ---- a/server/console.c -+++ b/server/console.c -@@ -121,6 +121,12 @@ static const struct object_ops console_input_events_ops = - console_input_events_destroy /* destroy */ - }; - -+struct font_info -+{ -+ short int width; -+ short int height; -+}; -+ - struct screen_buffer - { - struct object obj; /* object header */ -@@ -139,6 +145,7 @@ struct screen_buffer - unsigned short attr; /* default attribute for screen buffer */ - rectangle_t win; /* current visible window on the screen buffer * - * as seen in wineconsole */ -+ struct font_info font; /* console font information */ - struct fd *fd; /* for bare console, attached output fd */ - }; - -@@ -411,6 +418,8 @@ static struct screen_buffer *create_console_output( struct console_input *consol - screen_buffer->win.top = 0; - screen_buffer->win.bottom = screen_buffer->max_height - 1; - screen_buffer->data = NULL; -+ screen_buffer->font.width = 0; -+ screen_buffer->font.height = 0; - list_add_head( &screen_buffer_list, &screen_buffer->entry ); - - if (fd == -1) -@@ -1019,6 +1028,11 @@ static int set_console_output_info( struct screen_buffer *screen_buffer, - screen_buffer->max_width = req->max_width; - screen_buffer->max_height = req->max_height; - } -+ if (req->mask & SET_CONSOLE_OUTPUT_INFO_FONT) -+ { -+ screen_buffer->font.width = req->font_width; -+ screen_buffer->font.height = req->font_height; -+ } - - return 1; - } -@@ -1676,6 +1690,8 @@ DECL_HANDLER(get_console_output_info) - reply->win_bottom = screen_buffer->win.bottom; - reply->max_width = screen_buffer->max_width; - reply->max_height = screen_buffer->max_height; -+ reply->font_width = screen_buffer->font.width; -+ reply->font_height = screen_buffer->font.height; - release_object( screen_buffer ); - } - } -diff --git a/server/protocol.def b/server/protocol.def -index 5b45078..aa37c66 100644 ---- a/server/protocol.def -+++ b/server/protocol.def -@@ -1495,6 +1495,8 @@ struct console_renderer_event - short int win_bottom; - short int max_width; /* maximum size (width x height) for the window */ - short int max_height; -+ short int font_width; /* font size (width x height) */ -+ short int font_height; - @END - #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01 - #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02 -@@ -1502,6 +1504,7 @@ struct console_renderer_event - #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08 - #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10 - #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20 -+#define SET_CONSOLE_OUTPUT_INFO_FONT 0x40 - - - /* Get info about a console (output only) */ -@@ -1521,6 +1524,8 @@ struct console_renderer_event - short int win_bottom; - short int max_width; /* maximum size (width x height) for the window */ - short int max_height; -+ short int font_width; /* font size (width x height) */ -+ short int font_height; - @END - - /* Add input records to a console input queue */ --- -2.6.1 - diff --git a/patches/kernel32-GetConsoleFontSize/0003-kernel32-Implement-GetNumberOfConsoleFonts-resend.patch b/patches/kernel32-GetConsoleFontSize/0003-kernel32-Implement-GetNumberOfConsoleFonts-resend.patch deleted file mode 100644 index eb116398..00000000 --- a/patches/kernel32-GetConsoleFontSize/0003-kernel32-Implement-GetNumberOfConsoleFonts-resend.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6047f0c7bc371f229c33bb4d7cefa1b2377c77c1 Mon Sep 17 00:00:00 2001 -From: Hugh McMaster -Date: Thu, 29 Oct 2015 23:17:20 +1100 -Subject: kernel32: Implement GetNumberOfConsoleFonts (resend) - -This function is called by GetConsoleFontSize and its tests. - -Note that we only ever have one entry in the console font table. - -Signed-off-by: Hugh McMaster ---- - dlls/kernel32/console.c | 5 +++++ - dlls/kernel32/kernel32.spec | 2 +- - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c -index c32dc49..67627cc 100644 ---- a/dlls/kernel32/console.c -+++ b/dlls/kernel32/console.c -@@ -3234,6 +3234,11 @@ BOOL WINAPI SetConsoleIcon(HICON icon) - return FALSE; - } - -+DWORD WINAPI GetNumberOfConsoleFonts(void) -+{ -+ return 1; -+} -+ - BOOL WINAPI GetCurrentConsoleFont(HANDLE hConsole, BOOL maxwindow, LPCONSOLE_FONT_INFO fontinfo) - { - BOOL ret; -diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec -index d7eab83..9b2a131 100644 ---- a/dlls/kernel32/kernel32.spec -+++ b/dlls/kernel32/kernel32.spec -@@ -753,7 +753,7 @@ - @ stdcall GetNumberFormatA(long long str ptr ptr long) - # @ stub GetNumberFormatEx - @ stdcall GetNumberFormatW(long long wstr ptr ptr long) --@ stub GetNumberOfConsoleFonts -+@ stdcall GetNumberOfConsoleFonts() - @ stdcall GetNumberOfConsoleInputEvents(long ptr) - @ stdcall GetNumberOfConsoleMouseButtons(ptr) - @ stdcall GetOEMCP() --- -2.6.1 - diff --git a/patches/kernel32-GetConsoleFontSize/0004-kernel32-Implement-GetConsoleFontSize-v2-resend.patch b/patches/kernel32-GetConsoleFontSize/0004-kernel32-Implement-GetConsoleFontSize-v2-resend.patch deleted file mode 100644 index ada1a416..00000000 --- a/patches/kernel32-GetConsoleFontSize/0004-kernel32-Implement-GetConsoleFontSize-v2-resend.patch +++ /dev/null @@ -1,78 +0,0 @@ -From c311068247c68d5b6351b2384115c590028b0fcb Mon Sep 17 00:00:00 2001 -From: Hugh McMaster -Date: Thu, 29 Oct 2015 23:17:21 +1100 -Subject: kernel32: Implement GetConsoleFontSize (v2, resend) - -Signed-off-by: Hugh McMaster ---- - dlls/kernel32/console.c | 44 ++++++++++++++++++++++++++++---------------- - 1 file changed, 28 insertions(+), 16 deletions(-) - -diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c -index 67627cc..b1f8814 100644 ---- a/dlls/kernel32/console.c -+++ b/dlls/kernel32/console.c -@@ -3265,32 +3265,44 @@ BOOL WINAPI GetCurrentConsoleFont(HANDLE hConsole, BOOL maxwindow, LPCONSOLE_FON - return ret; - } - -+static COORD get_console_font_size(HANDLE hConsole, DWORD index) -+{ -+ COORD c = {0,0}; -+ -+ if (index >= GetNumberOfConsoleFonts()) -+ { -+ SetLastError(ERROR_INVALID_PARAMETER); -+ return c; -+ } -+ -+ SERVER_START_REQ(get_console_output_info) -+ { -+ req->handle = console_handle_unmap(hConsole); -+ if (!wine_server_call_err(req)) -+ { -+ c.X = reply->font_width; -+ c.Y = reply->font_height; -+ } -+ } -+ SERVER_END_REQ; -+ return c; -+} -+ - #ifdef __i386__ - #undef GetConsoleFontSize --DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) -+DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD index) - { - union { - COORD c; - DWORD w; - } x; - -- FIXME(": (%p, %d) stub!\n", hConsole, font); -- SetLastError(ERROR_CALL_NOT_IMPLEMENTED); -- -- x.c.X = 0; -- x.c.Y = 0; -+ x.c = get_console_font_size(hConsole, index); - return x.w; - } --#endif /* defined(__i386__) */ -- -- --#ifndef __i386__ --COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font) -+#else /* defined(__i386__) */ -+COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD index) - { -- COORD c; -- c.X = 80; -- c.Y = 24; -- FIXME(": (%p, %d) stub!\n", hConsole, font); -- return c; -+ return get_console_font_size(hConsole, index); - } - #endif /* defined(__i386__) */ --- -2.6.1 - diff --git a/patches/kernel32-GetConsoleFontSize/0005-kernel32-tests-Add-tests-for-GetConsoleFontSize-v2-r.patch b/patches/kernel32-GetConsoleFontSize/0005-kernel32-tests-Add-tests-for-GetConsoleFontSize-v2-r.patch deleted file mode 100644 index a856d0dd..00000000 --- a/patches/kernel32-GetConsoleFontSize/0005-kernel32-tests-Add-tests-for-GetConsoleFontSize-v2-r.patch +++ /dev/null @@ -1,84 +0,0 @@ -From a366dabe15b06c31edebf966c81d5e981b1d6e7d Mon Sep 17 00:00:00 2001 -From: Hugh McMaster -Date: Thu, 29 Oct 2015 23:17:22 +1100 -Subject: kernel32/tests: Add tests for GetConsoleFontSize (v2, resend) - -Signed-off-by: Hugh McMaster ---- - dlls/kernel32/tests/console.c | 55 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 55 insertions(+) - -diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c -index 454f963..240d9d8 100644 ---- a/dlls/kernel32/tests/console.c -+++ b/dlls/kernel32/tests/console.c -@@ -2627,6 +2627,60 @@ static void test_GetCurrentConsoleFont(HANDLE std_output) - "got %d, expected %d\n", cfi.dwFontSize.Y, height); - } - -+static void test_GetConsoleFontSize(HANDLE std_output) -+{ -+ COORD c; -+ DWORD index = 0; -+ CONSOLE_FONT_INFO cfi; -+ RECT r; -+ CONSOLE_SCREEN_BUFFER_INFO csbi; -+ LONG font_width, font_height; -+ HMODULE hmod; -+ DWORD (WINAPI *pGetNumberOfConsoleFonts)(void); -+ -+ memset(&c, 10, sizeof(COORD)); -+ SetLastError(0xdeadbeef); -+ c = GetConsoleFontSize(NULL, index); -+ ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); -+ ok(!c.X, "got %d, expected 0\n", c.X); -+ ok(!c.Y, "got %d, expected 0\n", c.Y); -+ -+ memset(&c, 10, sizeof(COORD)); -+ SetLastError(0xdeadbeef); -+ c = GetConsoleFontSize(GetStdHandle(STD_INPUT_HANDLE), index); -+ ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); -+ ok(!c.X, "got %d, expected 0\n", c.X); -+ ok(!c.Y, "got %d, expected 0\n", c.Y); -+ -+ GetCurrentConsoleFont(std_output, FALSE, &cfi); -+ memset(&c, 10, sizeof(COORD)); -+ SetLastError(0xdeadbeef); -+ c = GetConsoleFontSize(std_output, cfi.nFont); -+ ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError()); -+ GetClientRect(GetConsoleWindow(), &r); -+ GetConsoleScreenBufferInfo(std_output, &csbi); -+ font_width = (r.right - r.left + 1) / csbi.srWindow.Right; -+ font_height = (r.bottom - r.top + 1) / csbi.srWindow.Bottom; -+ ok(c.X == font_width, "got %d, expected %d\n", c.X, font_width); -+ ok(c.Y == font_height, "got %d, expected %d\n", c.Y, font_height); -+ -+ hmod = GetModuleHandleA("kernel32.dll"); -+ pGetNumberOfConsoleFonts = (void *)GetProcAddress(hmod, "GetNumberOfConsoleFonts"); -+ if (!pGetNumberOfConsoleFonts) -+ { -+ win_skip("GetNumberOfConsoleFonts is not available\n"); -+ return; -+ } -+ index = pGetNumberOfConsoleFonts(); -+ -+ memset(&c, 10, sizeof(COORD)); -+ SetLastError(0xdeadbeef); -+ c = GetConsoleFontSize(std_output, index); -+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); -+ ok(!c.X, "got %d, expected 0\n", c.X); -+ ok(!c.Y, "got %d, expected 0\n", c.Y); -+} -+ - START_TEST(console) - { - static const char font_name[] = "Lucida Console"; -@@ -2760,4 +2814,5 @@ START_TEST(console) - test_ReadConsoleOutputCharacterW(hConOut); - test_ReadConsoleOutputAttribute(hConOut); - test_GetCurrentConsoleFont(hConOut); -+ test_GetConsoleFontSize(hConOut); - } --- -2.6.1 - diff --git a/patches/kernel32-GetConsoleFontSize/definition b/patches/kernel32-GetConsoleFontSize/definition deleted file mode 100644 index 54ed5e76..00000000 --- a/patches/kernel32-GetConsoleFontSize/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Implement kernel32.GetConsoleFontSize diff --git a/patches/kernel32-SetConsoleKeyShortcuts/definition b/patches/kernel32-SetConsoleKeyShortcuts/definition index 6d45b833..feb64145 100644 --- a/patches/kernel32-SetConsoleKeyShortcuts/definition +++ b/patches/kernel32-SetConsoleKeyShortcuts/definition @@ -1,2 +1 @@ Fixes: [35702] Add stub for SetConsoleKeyShortcuts -Depends: kernel32-GetConsoleFontSize diff --git a/patches/nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch b/patches/nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch index 68b298a4..e4c8128c 100644 --- a/patches/nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch +++ b/patches/nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch @@ -1,4 +1,4 @@ -From c1ad46debbb821c842004cb723ba4d1b544fcae0 Mon Sep 17 00:00:00 2001 +From 66042874f3555c96868051b6f84aa6110e342ab9 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 3 Jan 2015 02:52:50 +0100 Subject: include: Add cuda.h. @@ -10,11 +10,11 @@ Subject: include: Add cuda.h. create mode 100644 include/cuda.h diff --git a/include/Makefile.in b/include/Makefile.in -index 40367eb..afd4a21 100644 +index 682072c..e564a0d 100644 --- a/include/Makefile.in +++ b/include/Makefile.in -@@ -196,6 +196,7 @@ SRCDIR_INCLUDES = \ - crtrow.idl \ +@@ -191,6 +191,7 @@ HEADER_SRCS = \ + cpl.h \ cryptdlg.h \ cryptuiapi.h \ + cuda.h \ @@ -121,5 +121,5 @@ index 0000000..1f20f5b + +#endif /* __WINE_CUDA_H */ -- -2.2.1 +2.6.2 diff --git a/patches/ole32-IEnumSTATSTG/0001-dlls-ole32-Handle-failure-of-reading-directory-entry.patch b/patches/ole32-IEnumSTATSTG/0001-dlls-ole32-Handle-failure-of-reading-directory-entry.patch deleted file mode 100644 index 66bde26c..00000000 --- a/patches/ole32-IEnumSTATSTG/0001-dlls-ole32-Handle-failure-of-reading-directory-entry.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3c33f1f4e9c9e829226bb6bba9a42154f00a48ef Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Thu, 29 Oct 2015 15:41:02 +0800 -Subject: dlls/ole32: Handle failure of reading directory entry in - IEnumSTATSTG::Next. - -Signed-off-by: Dmitry Timoshkov ---- - dlls/ole32/storage32.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c -index bfef4a2..4d775b4 100644 ---- a/dlls/ole32/storage32.c -+++ b/dlls/ole32/storage32.c -@@ -1036,9 +1036,10 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Next( - /* - * Read the entry from the storage. - */ -- StorageBaseImpl_ReadDirEntry(This->parentStorage, -+ hr = StorageBaseImpl_ReadDirEntry(This->parentStorage, - currentSearchNode, - ¤tEntry); -+ if (FAILED(hr)) break; - - /* - * Copy the information to the return buffer. --- -2.6.1 - diff --git a/patches/ole32-IEnumSTATSTG/0002-dlls-ole32-Zero-out-returned-stats-when-IEnumSTATSTG.patch b/patches/ole32-IEnumSTATSTG/0002-dlls-ole32-Zero-out-returned-stats-when-IEnumSTATSTG.patch deleted file mode 100644 index 2b20d728..00000000 --- a/patches/ole32-IEnumSTATSTG/0002-dlls-ole32-Zero-out-returned-stats-when-IEnumSTATSTG.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b77ae10308afc29ee408f42b4ae854b6ce0be92 Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Thu, 29 Oct 2015 15:41:15 +0800 -Subject: dlls/ole32: Zero out returned stats when IEnumSTATSTG::Next reaches - end of enumeration. - -Signed-off-by: Dmitry Timoshkov ---- - dlls/ole32/storage32.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c -index 4d775b4..f75e097 100644 ---- a/dlls/ole32/storage32.c -+++ b/dlls/ole32/storage32.c -@@ -1031,7 +1031,10 @@ static HRESULT WINAPI IEnumSTATSTGImpl_Next( - hr = IEnumSTATSTGImpl_GetNextRef(This, ¤tSearchNode); - - if (FAILED(hr) || currentSearchNode == DIRENTRY_NULL) -+ { -+ memset(currentReturnStruct, 0, sizeof(*currentReturnStruct)); - break; -+ } - - /* - * Read the entry from the storage. --- -2.6.1 - diff --git a/patches/ole32-IEnumSTATSTG/0003-ole32-tests-Add-the-tests-to-show-that-IEnumSTATSTG-.patch b/patches/ole32-IEnumSTATSTG/0003-ole32-tests-Add-the-tests-to-show-that-IEnumSTATSTG-.patch deleted file mode 100644 index 9ed912a0..00000000 --- a/patches/ole32-IEnumSTATSTG/0003-ole32-tests-Add-the-tests-to-show-that-IEnumSTATSTG-.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 2c518d5f6fef54adbffac7be1d70da8236a9441b Mon Sep 17 00:00:00 2001 -From: Dmitry Timoshkov -Date: Thu, 29 Oct 2015 15:41:21 +0800 -Subject: ole32/tests: Add the tests to show that IEnumSTATSTG::Next should - zero out returned stats when it reaches end of enumeration. - -Signed-off-by: Dmitry Timoshkov ---- - dlls/ole32/tests/storage32.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/dlls/ole32/tests/storage32.c b/dlls/ole32/tests/storage32.c -index edd0b3f..afe9332 100644 ---- a/dlls/ole32/tests/storage32.c -+++ b/dlls/ole32/tests/storage32.c -@@ -1224,6 +1224,7 @@ static void test_streamenum(void) - static const WCHAR stmname[] = { 'C','O','N','T','E','N','T','S',0 }; - static const WCHAR stmname2[] = { 'A','B','C','D','E','F','G','H','I',0 }; - static const WCHAR stmname3[] = { 'A','B','C','D','E','F','G','H','I','J',0 }; -+ static const STATSTG stat_null; - STATSTG stat; - IEnumSTATSTG *ee = NULL; - ULONG count; -@@ -1269,10 +1270,12 @@ static void test_streamenum(void) - r = IStorage_DestroyElement(stg, stmname); - ok(r==S_OK, "IStorage->DestroyElement failed\n"); - -+ memset(&stat, 0xad, sizeof(stat)); - count = 0xf00; - r = IEnumSTATSTG_Next(ee, 1, &stat, &count); - ok(r==S_FALSE, "IEnumSTATSTG->Next failed\n"); - ok(count == 0, "count wrong\n"); -+ ok(memcmp(&stat, &stat_null, sizeof(stat)) == 0, "stat is not zeroed\n"); - - /* reset and try again */ - r = IEnumSTATSTG_Reset(ee); -@@ -2418,6 +2421,7 @@ static void test_fmtusertypestg(void) - static const WCHAR fileW[] = {'f','m','t','t','e','s','t',0}; - static WCHAR userTypeW[] = {'S','t','g','U','s','r','T','y','p','e',0}; - static const WCHAR strmNameW[] = {1,'C','o','m','p','O','b','j',0}; -+ static const STATSTG statstg_null; - - hr = StgCreateDocfile( fileW, STGM_CREATE | STGM_SHARE_EXCLUSIVE | STGM_READWRITE, 0, &stg); - ok(hr == S_OK, "should succeed, res=%x\n", hr); -@@ -2436,6 +2440,7 @@ static void test_fmtusertypestg(void) - BOOL found = FALSE; - STATSTG statstg; - DWORD got; -+ memset(&statstg, 0xad, sizeof(statstg)); - while ((hr = IEnumSTATSTG_Next(stat, 1, &statstg, &got)) == S_OK && got == 1) - { - if (strcmp_ww(statstg.pwcsName, strmNameW) == 0) -@@ -2444,6 +2449,7 @@ static void test_fmtusertypestg(void) - ok(0, "found unexpected stream or storage\n"); - CoTaskMemFree(statstg.pwcsName); - } -+ ok(memcmp(&statstg, &statstg_null, sizeof(statstg)) == 0, "statstg is not zeroed\n"); - ok(found == TRUE, "expected storage to contain stream \\0001CompObj\n"); - IEnumSTATSTG_Release(stat); - } -@@ -2460,6 +2466,7 @@ static void test_fmtusertypestg(void) - BOOL found = FALSE; - STATSTG statstg; - DWORD got; -+ memset(&statstg, 0xad, sizeof(statstg)); - while ((hr = IEnumSTATSTG_Next(stat, 1, &statstg, &got)) == S_OK && got == 1) - { - if (strcmp_ww(statstg.pwcsName, strmNameW) == 0) -@@ -2468,6 +2475,7 @@ static void test_fmtusertypestg(void) - ok(0, "found unexpected stream or storage\n"); - CoTaskMemFree(statstg.pwcsName); - } -+ ok(memcmp(&statstg, &statstg_null, sizeof(statstg)) == 0, "statstg is not zeroed\n"); - ok(found == TRUE, "expected storage to contain stream \\0001CompObj\n"); - IEnumSTATSTG_Release(stat); - } --- -2.6.1 - diff --git a/patches/ole32-IEnumSTATSTG/definition b/patches/ole32-IEnumSTATSTG/definition deleted file mode 100644 index 1f7b3b2a..00000000 --- a/patches/ole32-IEnumSTATSTG/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: IEnumSTATSTG::Next should zero out returned stats when enumeration ends diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 39f81861..eb203b05 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "cbaab82d086e36dacaa22c6adf80f9114bb820fb" + echo "8f443077416fd820375b1bc0d1276286d23348fc" } # Show version information @@ -153,7 +153,6 @@ patch_enable_all () enable_kernel32_CompareStringEx="$1" enable_kernel32_CopyFileEx="$1" enable_kernel32_Cwd_Startup_Info="$1" - enable_kernel32_GetConsoleFontSize="$1" enable_kernel32_GetFinalPathNameByHandle="$1" enable_kernel32_GetLogicalProcessorInformationEx="$1" enable_kernel32_LocaleNameToLCID="$1" @@ -224,7 +223,6 @@ patch_enable_all () enable_nvcuda_CUDA_Support="$1" enable_nvcuvid_CUDA_Video_Support="$1" enable_nvencodeapi_Video_Encoder="$1" - enable_ole32_IEnumSTATSTG="$1" enable_openal32_EFX_Extension="$1" enable_opengl32_Revert_Disable_Ext="$1" enable_quartz_MediaSeeking_Positions="$1" @@ -311,7 +309,6 @@ patch_enable_all () enable_winedbg_Windows_Version="$1" enable_winedevice_Fix_Relocation="$1" enable_winemenubuilder_Desktop_Icon_Path="$1" - enable_winepulse_PulseAudio_Support="$1" enable_winex11_CandidateWindowPos="$1" enable_winex11_Clipboard_HTML="$1" enable_winex11_Window_Groups="$1" @@ -562,9 +559,6 @@ patch_enable () kernel32-Cwd_Startup_Info) enable_kernel32_Cwd_Startup_Info="$2" ;; - kernel32-GetConsoleFontSize) - enable_kernel32_GetConsoleFontSize="$2" - ;; kernel32-GetFinalPathNameByHandle) enable_kernel32_GetFinalPathNameByHandle="$2" ;; @@ -775,9 +769,6 @@ patch_enable () nvencodeapi-Video_Encoder) enable_nvencodeapi_Video_Encoder="$2" ;; - ole32-IEnumSTATSTG) - enable_ole32_IEnumSTATSTG="$2" - ;; openal32-EFX_Extension) enable_openal32_EFX_Extension="$2" ;; @@ -1036,9 +1027,6 @@ patch_enable () winemenubuilder-Desktop_Icon_Path) enable_winemenubuilder_Desktop_Icon_Path="$2" ;; - winepulse-PulseAudio_Support) - enable_winepulse_PulseAudio_Support="$2" - ;; winex11-CandidateWindowPos) enable_winex11_CandidateWindowPos="$2" ;; @@ -1647,9 +1635,6 @@ if test "$enable_category_stable" -eq 1; then if test "$enable_winemenubuilder_Desktop_Icon_Path" -gt 1; then abort "Patchset winemenubuilder-Desktop_Icon_Path disabled, but category-stable depends on that." fi - if test "$enable_winepulse_PulseAudio_Support" -gt 1; then - abort "Patchset winepulse-PulseAudio_Support disabled, but category-stable depends on that." - fi if test "$enable_winex11_Window_Style" -gt 1; then abort "Patchset winex11-Window_Style disabled, but category-stable depends on that." fi @@ -1736,7 +1721,6 @@ if test "$enable_category_stable" -eq 1; then enable_wined3d_resource_check_usage=1 enable_wined3d_wined3d_swapchain_present=1 enable_winemenubuilder_Desktop_Icon_Path=1 - enable_winepulse_PulseAudio_Support=1 enable_winex11_Window_Style=1 enable_winex11_XEMBED=1 enable_winex11_wglShareLists=1 @@ -1942,13 +1926,6 @@ if test "$enable_ntdll_CLI_Images" -eq 1; then enable_mscoree_CorValidateImage=1 fi -if test "$enable_kernel32_SetConsoleKeyShortcuts" -eq 1; then - if test "$enable_kernel32_GetConsoleFontSize" -gt 1; then - abort "Patchset kernel32-GetConsoleFontSize disabled, but kernel32-SetConsoleKeyShortcuts depends on that." - fi - enable_kernel32_GetConsoleFontSize=1 -fi - if test "$enable_kernel32_Named_Pipe" -eq 1; then if test "$enable_rpcrt4_Pipe_Transport" -gt 1; then abort "Patchset rpcrt4-Pipe_Transport disabled, but kernel32-Named_Pipe depends on that." @@ -3411,27 +3388,6 @@ if test "$enable_kernel32_Cwd_Startup_Info" -eq 1; then ) >> "$patchlist" fi -# Patchset kernel32-GetConsoleFontSize -# | -# | Modified files: -# | * dlls/kernel32/console.c, dlls/kernel32/kernel32.spec, dlls/kernel32/tests/console.c, programs/wineconsole/wineconsole.c, -# | server/console.c, server/protocol.def -# | -if test "$enable_kernel32_GetConsoleFontSize" -eq 1; then - patch_apply kernel32-GetConsoleFontSize/0001-wineconsole-Add-if-check-to-determine-whether-a-font.patch - patch_apply kernel32-GetConsoleFontSize/0002-wineconsole-Pass-font-size-information-to-wineserver.patch - patch_apply kernel32-GetConsoleFontSize/0003-kernel32-Implement-GetNumberOfConsoleFonts-resend.patch - patch_apply kernel32-GetConsoleFontSize/0004-kernel32-Implement-GetConsoleFontSize-v2-resend.patch - patch_apply kernel32-GetConsoleFontSize/0005-kernel32-tests-Add-tests-for-GetConsoleFontSize-v2-r.patch - ( - echo '+ { "Hugh McMaster", "wineconsole: Add if check to determine whether a font attribute has changed.", 3 },'; - echo '+ { "Hugh McMaster", "wineconsole: Pass font size information to wineserver.", 1 },'; - echo '+ { "Hugh McMaster", "kernel32: Implement GetNumberOfConsoleFonts.", 1 },'; - echo '+ { "Hugh McMaster", "kernel32: Implement GetConsoleFontSize (v2, resend).", 1 },'; - echo '+ { "Hugh McMaster", "kernel32/tests: Add tests for GetConsoleFontSize (v2, resend).", 1 },'; - ) >> "$patchlist" -fi - # Patchset kernel32-GetFinalPathNameByHandle # | # | This patchset fixes the following Wine bugs: @@ -3588,9 +3544,6 @@ fi # Patchset kernel32-SetConsoleKeyShortcuts # | -# | This patchset has the following (direct or indirect) dependencies: -# | * kernel32-GetConsoleFontSize -# | # | This patchset fixes the following Wine bugs: # | * [#35702] Add stub for SetConsoleKeyShortcuts # | @@ -4649,22 +4602,6 @@ if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then ) >> "$patchlist" fi -# Patchset ole32-IEnumSTATSTG -# | -# | Modified files: -# | * dlls/ole32/storage32.c, dlls/ole32/tests/storage32.c -# | -if test "$enable_ole32_IEnumSTATSTG" -eq 1; then - patch_apply ole32-IEnumSTATSTG/0001-dlls-ole32-Handle-failure-of-reading-directory-entry.patch - patch_apply ole32-IEnumSTATSTG/0002-dlls-ole32-Zero-out-returned-stats-when-IEnumSTATSTG.patch - patch_apply ole32-IEnumSTATSTG/0003-ole32-tests-Add-the-tests-to-show-that-IEnumSTATSTG-.patch - ( - echo '+ { "Dmitry Timoshkov", "dlls/ole32: Handle failure of reading directory entry in IEnumSTATSTG::Next.", 1 },'; - echo '+ { "Dmitry Timoshkov", "dlls/ole32: Zero out returned stats when IEnumSTATSTG::Next reaches end of enumeration.", 1 },'; - echo '+ { "Dmitry Timoshkov", "ole32/tests: Add the tests to show that IEnumSTATSTG::Next should zero out returned stats when it reaches end of enumeration.", 1 },'; - ) >> "$patchlist" -fi - # Patchset openal32-EFX_Extension # | # | This patchset fixes the following Wine bugs: @@ -5615,14 +5552,12 @@ fi # | tools/widl/write_msft.c # | if test "$enable_widl_Typelib_Generator" -eq 1; then - patch_apply widl-Typelib_Generator/0001-widl-When-adding-an-interface-typedef-do-check-wheth.patch - patch_apply widl-Typelib_Generator/0002-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch - patch_apply widl-Typelib_Generator/0003-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch - patch_apply widl-Typelib_Generator/0004-widl-Attributes-of-the-alias-are-supposed-to-replace.patch - patch_apply widl-Typelib_Generator/0005-widl-Avoid-generating-duplicate-typelib-entries-for-.patch - patch_apply widl-Typelib_Generator/0006-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch + patch_apply widl-Typelib_Generator/0001-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch + patch_apply widl-Typelib_Generator/0002-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch + patch_apply widl-Typelib_Generator/0003-widl-Attributes-of-the-alias-are-supposed-to-replace.patch + patch_apply widl-Typelib_Generator/0004-widl-Avoid-generating-duplicate-typelib-entries-for-.patch + patch_apply widl-Typelib_Generator/0005-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch ( - echo '+ { "Sebastian Lackner", "widl: When adding an interface typedef do check whether it has been already added while resolving the parent interface.", 1 },'; echo '+ { "Dmitry Timoshkov", "widl: Ignore assignment of a duplicate uuid. Resend.", 1 },'; echo '+ { "Dmitry Timoshkov", "widl: Attribute uuid() takes precedence over '\''hidden'\''. Resend.", 1 },'; echo '+ { "Dmitry Timoshkov", "widl: Attributes of the alias are supposed to replace attributes of a tag in the typelib. Resend.", 1 },'; @@ -6279,97 +6214,6 @@ if test "$enable_winemenubuilder_Desktop_Icon_Path" -eq 1; then ) >> "$patchlist" fi -# Patchset winepulse-PulseAudio_Support -# | -# | This patchset fixes the following Wine bugs: -# | * [#10495] Support for PulseAudio backend for audio -# | * [#37042] Implement exclusive mode in PulseAudio backend -# | -# | Modified files: -# | * configure.ac, dlls/mmdevapi/main.c, dlls/mmdevapi/tests/render.c, dlls/winepulse.drv/Makefile.in, -# | dlls/winepulse.drv/mmdevdrv.c, dlls/winepulse.drv/winepulse.drv.spec -# | -if test "$enable_winepulse_PulseAudio_Support" -eq 1; then - patch_apply winepulse-PulseAudio_Support/0001-winepulse-Add-initial-stub-for-pulseaudio-support.patch - patch_apply winepulse-PulseAudio_Support/0002-winepulse-Add-format-and-period-probing.patch - patch_apply winepulse-PulseAudio_Support/0003-winepulse-Add-audioclient.patch - patch_apply winepulse-PulseAudio_Support/0004-winepulse-Add-IAudioRenderClient-and-IAudioCaptureCl.patch - patch_apply winepulse-PulseAudio_Support/0005-winepulse-Add-IAudioClock-and-IAudioClock2.patch - patch_apply winepulse-PulseAudio_Support/0006-winepulse-Add-audiostreamvolume.patch - patch_apply winepulse-PulseAudio_Support/0007-winepulse-Add-session-support.patch - patch_apply winepulse-PulseAudio_Support/0008-fix-fdels-trailing-whitespaces.patch - patch_apply winepulse-PulseAudio_Support/0009-winepulse-v12.patch - patch_apply winepulse-PulseAudio_Support/0010-winepulse-v15-Add-support-for-missing-formats-and-si.patch - patch_apply winepulse-PulseAudio_Support/0011-winepulse-v16-Add-official-warning-wine-doesn-t-want.patch - patch_apply winepulse-PulseAudio_Support/0012-winepulse-v17-Fix-winmm-tests.patch - patch_apply winepulse-PulseAudio_Support/0013-winepulse-v18-Latency-and-compilation-improvements.patch - patch_apply winepulse-PulseAudio_Support/0014-winepulse-API-Compatibility-with-1.5.2-onward-v2.patch - patch_apply winepulse-PulseAudio_Support/0015-winepulse-Fix-low-latency-support.patch - patch_apply winepulse-PulseAudio_Support/0016-winepulse-drop-realtime-priority-before-thread-destr.patch - patch_apply winepulse-PulseAudio_Support/0017-winepulse-remove-bogus-SetEvent-from-pulse_started_c.patch - patch_apply winepulse-PulseAudio_Support/0018-winepulse-disable-the-setevent-part-of-the-latency-h.patch - patch_apply winepulse-PulseAudio_Support/0019-winepulse-v20-fix-the-checks-in-IsFormatSupported.patch - patch_apply winepulse-PulseAudio_Support/0020-winepulse-fixup-IsFormatSupported-calls.patch - patch_apply winepulse-PulseAudio_Support/0021-winepulse-v21-return-early-if-padding-didn-t-update.patch - patch_apply winepulse-PulseAudio_Support/0022-winepulse-fix-unneeded-free-in-write.patch - patch_apply winepulse-PulseAudio_Support/0023-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch - patch_apply winepulse-PulseAudio_Support/0024-winepulse-use-a-pi-mutex-for-serialization.patch - patch_apply winepulse-PulseAudio_Support/0025-winepulse-add-support-for-IMarshal.patch - patch_apply winepulse-PulseAudio_Support/0026-winepulse-handle-stream-create-failing-correctly.patch - patch_apply winepulse-PulseAudio_Support/0027-winepulse-Trivial-cleanups-and-changes-for-consisten.patch - patch_apply winepulse-PulseAudio_Support/0028-winepulse-Sync-default-channel-masks-with-other-driv.patch - patch_apply winepulse-PulseAudio_Support/0029-winepulse-In-Shared-mode-track-device-position-in-by.patch - patch_apply winepulse-PulseAudio_Support/0030-winepulse-Always-mute-buffer.patch - patch_apply winepulse-PulseAudio_Support/0031-winepulse-Remove-volume-support.patch - patch_apply winepulse-PulseAudio_Support/0032-winepulse-Forward-winmm-functions-to-winealsa.patch - patch_apply winepulse-PulseAudio_Support/0033-winepulse-expose-audio-devices-directly-to-programs.patch - patch_apply winepulse-PulseAudio_Support/0034-winepulse-implement-exclusive-mode.patch - patch_apply winepulse-PulseAudio_Support/0035-winepulse-fix-segfault-in-pulse_rd_loop.patch - patch_apply winepulse-PulseAudio_Support/0036-winepulse-implement-GetPropValue.patch - patch_apply winepulse-PulseAudio_Support/0037-winepulse-fetch-actual-program-name-if-possible.patch - patch_apply winepulse-PulseAudio_Support/0038-winepulse-return-PKEY_AudioEndpoint_PhysicalSpeakers.patch - ( - echo '+ { "Maarten Lankhorst", "winepulse: Add initial stub for pulseaudio support.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add format and period probing.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add audioclient.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add IAudioRenderClient and IAudioCaptureClient.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add IAudioClock and IAudioClock2.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add audiostreamvolume.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add session support.", 1 },'; - echo '+ { "Maarten Lankhorst", "fix fdels trailing whitespaces.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse.", 12 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add support for missing formats, and silence an error for missing format tags.", 15 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Add official warning wine doesn'\''t want to support winepulse.", 16 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Fix winmm tests.", 17 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Latency and compilation improvements.", 18 },'; - echo '+ { "Juergen Tretthahn", "winepulse: API Compatibility with 1.5.2 onward.", 2 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Fix low latency support.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: drop realtime priority before thread destruction.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: remove bogus SetEvent from pulse_started_callback.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: disable the setevent part of the latency hack.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: fix the checks in IsFormatSupported.", 20 },'; - echo '+ { "Maarten Lankhorst", "winepulse: fixup IsFormatSupported calls.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: return early if padding didn'\''t update.", 21 },'; - echo '+ { "Maarten Lankhorst", "winepulse: fix unneeded free in write.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: fixup a invalid free in mmdevapi.", 23 },'; - echo '+ { "Maarten Lankhorst", "winepulse: use a pi-mutex for serialization.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: add support for IMarshal.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: handle stream create failing correctly.", 1 },'; - echo '+ { "Andrew Eikum", "winepulse: Trivial cleanups and changes for consistency with other drivers.", 1 },'; - echo '+ { "Andrew Eikum", "winepulse: Sync default channel masks with other drivers.", 1 },'; - echo '+ { "Andrew Eikum", "winepulse: In Shared mode, track device position in bytes.", 1 },'; - echo '+ { "Andrew Eikum", "winepulse: Always mute buffer.", 1 },'; - echo '+ { "Andrew Eikum", "winepulse: Remove volume support.", 1 },'; - echo '+ { "Maarten Lankhorst", "winepulse: Forward winmm functions to winealsa.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: expose audio devices directly to programs.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: implement exclusive mode.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: fix segfault in pulse_rd_loop.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: implement GetPropValue.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: fetch actual program name if possible.", 1 },'; - echo '+ { "Mark Harmstone", "winepulse: return PKEY_AudioEndpoint_PhysicalSpeakers device prop.", 1 },'; - ) >> "$patchlist" -fi - # Patchset winex11-CandidateWindowPos # | # | This patchset fixes the following Wine bugs: diff --git a/patches/widl-Typelib_Generator/0002-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch b/patches/widl-Typelib_Generator/0001-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch similarity index 100% rename from patches/widl-Typelib_Generator/0002-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch rename to patches/widl-Typelib_Generator/0001-widl-Ignore-assignment-of-a-duplicate-uuid.-Resend.patch diff --git a/patches/widl-Typelib_Generator/0001-widl-When-adding-an-interface-typedef-do-check-wheth.patch b/patches/widl-Typelib_Generator/0001-widl-When-adding-an-interface-typedef-do-check-wheth.patch deleted file mode 100644 index 622b016a..00000000 --- a/patches/widl-Typelib_Generator/0001-widl-When-adding-an-interface-typedef-do-check-wheth.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c87d5df626e5ea91bbdc167707715b43d4424d24 Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sat, 31 Oct 2015 14:31:26 +0800 -Subject: widl: When adding an interface typedef do check whether it has been - already added while resolving the parent interface. - -This patch fixes a long standing bug that when an inherited interface gets -referenced by a parent interface definition then multiple definitions of an -inherited interface get added to a typelib. - -This bug has been discovered by the patch that emits a warning for a duplicate -uuid. A test case for this problem is added in the last patch of the series. - -Signed-off-by: Sebastian Lackner -Signed-off-by: Dmitry Timoshkov ---- - tools/widl/write_msft.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/widl/write_msft.c b/tools/widl/write_msft.c -index fc0eae7..98081f2 100644 ---- a/tools/widl/write_msft.c -+++ b/tools/widl/write_msft.c -@@ -2078,6 +2078,10 @@ static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface) - add_interface_typeinfo(typelib, inherit); - } - -+ /* check typelib_idx again, it could have been added while resolving the parent interface */ -+ if (-1 < interface->typelib_idx) -+ return; -+ - interface->typelib_idx = typelib->typelib_header.nrtypeinfos; - msft_typeinfo = create_msft_typeinfo(typelib, TKIND_INTERFACE, interface->name, interface->attrs); - msft_typeinfo->typeinfo->size = pointer_size; --- -2.6.1 - diff --git a/patches/widl-Typelib_Generator/0003-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch b/patches/widl-Typelib_Generator/0002-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch similarity index 100% rename from patches/widl-Typelib_Generator/0003-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch rename to patches/widl-Typelib_Generator/0002-widl-Attribute-uuid-takes-precedence-over-hidden-.-R.patch diff --git a/patches/widl-Typelib_Generator/0004-widl-Attributes-of-the-alias-are-supposed-to-replace.patch b/patches/widl-Typelib_Generator/0003-widl-Attributes-of-the-alias-are-supposed-to-replace.patch similarity index 100% rename from patches/widl-Typelib_Generator/0004-widl-Attributes-of-the-alias-are-supposed-to-replace.patch rename to patches/widl-Typelib_Generator/0003-widl-Attributes-of-the-alias-are-supposed-to-replace.patch diff --git a/patches/widl-Typelib_Generator/0005-widl-Avoid-generating-duplicate-typelib-entries-for-.patch b/patches/widl-Typelib_Generator/0004-widl-Avoid-generating-duplicate-typelib-entries-for-.patch similarity index 100% rename from patches/widl-Typelib_Generator/0005-widl-Avoid-generating-duplicate-typelib-entries-for-.patch rename to patches/widl-Typelib_Generator/0004-widl-Avoid-generating-duplicate-typelib-entries-for-.patch diff --git a/patches/widl-Typelib_Generator/0006-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch b/patches/widl-Typelib_Generator/0005-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch similarity index 100% rename from patches/widl-Typelib_Generator/0006-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch rename to patches/widl-Typelib_Generator/0005-oleaut32-tests-Add-a-bunch-of-new-tests-for-typelib-.patch diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index c438950a..a5f0f9a5 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -3991,7 +3991,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } void CDECL wined3d_device_copy_resource(struct wined3d_device *device, -@@ -3931,7 +4360,17 @@ +@@ -3933,7 +4362,17 @@ unsigned int depth_pitch) { struct wined3d_resource *sub_resource; @@ -4009,7 +4009,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c TRACE("device %p, resource %p, sub_resource_idx %u, box %p, data %p, row_pitch %u, depth_pitch %u.\n", device, resource, sub_resource_idx, box, data, row_pitch, depth_pitch); -@@ -3948,7 +4387,14 @@ +@@ -3950,7 +4389,14 @@ WARN("Invalid sub_resource_idx %u.\n", sub_resource_idx); return; } @@ -4024,7 +4024,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (box) { if (box->left >= box->right || box->right > sub_resource->width -@@ -3958,9 +4404,47 @@ +@@ -3960,9 +4406,47 @@ box->left, box->top, box->front, box->right, box->bottom, box->back); return; } @@ -4072,7 +4072,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *device, -@@ -3991,8 +4475,14 @@ +@@ -3993,8 +4477,14 @@ rect = &r; } @@ -4087,7 +4087,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device, -@@ -4006,6 +4496,7 @@ +@@ -4008,6 +4498,7 @@ return NULL; } @@ -4095,7 +4095,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c return device->state.fb.render_targets[view_idx]; } -@@ -4021,6 +4512,22 @@ +@@ -4023,6 +4514,22 @@ { struct wined3d_rendertarget_view *prev; struct wined3d_fb_state *fb = &device->state.fb; @@ -4118,7 +4118,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c TRACE("device %p, view_idx %u, view %p, set_viewport %#x.\n", device, view_idx, view, set_viewport); -@@ -4060,6 +4567,7 @@ +@@ -4062,6 +4569,7 @@ } @@ -4126,7 +4126,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c prev = fb->render_targets[view_idx]; if (view == prev) return WINED3D_OK; -@@ -4067,6 +4575,15 @@ +@@ -4069,6 +4577,15 @@ if (view) wined3d_rendertarget_view_incref(view); fb->render_targets[view_idx] = view; @@ -4142,7 +4142,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c wined3d_cs_emit_set_rendertarget_view(device->cs, view_idx, view); /* Release after the assignment, to prevent device_resource_released() * from seeing the surface as still in use. */ -@@ -4078,6 +4595,7 @@ +@@ -4080,6 +4597,7 @@ void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device, struct wined3d_rendertarget_view *view) { @@ -4150,7 +4150,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c struct wined3d_fb_state *fb = &device->state.fb; struct wined3d_rendertarget_view *prev; -@@ -4095,6 +4613,66 @@ +@@ -4097,6 +4615,66 @@ wined3d_cs_emit_set_depth_stencil_view(device->cs, view); if (prev) wined3d_rendertarget_view_decref(prev); @@ -4217,7 +4217,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device, -@@ -4115,6 +4693,14 @@ +@@ -4117,6 +4695,14 @@ cursor_image = surface_from_resource(sub_resource); @@ -4232,7 +4232,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (cursor_image->resource.format->id != WINED3DFMT_B8G8R8A8_UNORM) { WARN("Surface %p has an invalid format %s.\n", -@@ -4142,6 +4728,13 @@ +@@ -4144,6 +4730,13 @@ * release it after setting the cursor image. Windows doesn't * addref the set surface, so we can't do this either without * creating circular refcount dependencies. */ @@ -4246,7 +4246,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (cursor_image->resource.width == 32 && cursor_image->resource.height == 32) { -@@ -4246,6 +4839,12 @@ +@@ -4248,6 +4841,12 @@ else SetCursor(NULL); } @@ -4259,7 +4259,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c return oldVisible; } -@@ -4256,8 +4855,10 @@ +@@ -4258,8 +4857,10 @@ TRACE("device %p.\n", device); @@ -4270,7 +4270,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c LIST_FOR_EACH_ENTRY_SAFE(resource, cursor, &device->resources, struct wined3d_resource, resource_list_entry) { TRACE("Checking resource %p for eviction.\n", resource); -@@ -4265,6 +4866,7 @@ +@@ -4267,6 +4868,7 @@ if (resource->pool == WINED3D_POOL_MANAGED && !resource->map_count) { TRACE("Evicting %p.\n", resource); @@ -4278,7 +4278,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c wined3d_cs_emit_evict_resource(device->cs, resource); } } -@@ -4283,6 +4885,37 @@ +@@ -4285,6 +4887,37 @@ context = context_acquire(device, NULL); gl_info = context->gl_info; @@ -4316,7 +4316,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (device->depth_blt_texture) { -@@ -4303,6 +4936,7 @@ +@@ -4305,6 +4938,7 @@ HeapFree(GetProcessHeap(), 0, swapchain->context); swapchain->context = NULL; @@ -4324,7 +4324,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c swapchain->num_contexts = 0; } -@@ -4322,6 +4956,14 @@ +@@ -4324,6 +4958,14 @@ static HRESULT create_primary_opengl_context(struct wined3d_device *device, struct wined3d_swapchain *swapchain) { @@ -4339,7 +4339,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c HRESULT hr; if (FAILED(hr = device->shader_backend->shader_alloc_private(device, -@@ -4338,6 +4980,7 @@ +@@ -4340,6 +4982,7 @@ return hr; } @@ -4347,7 +4347,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c hr = wined3d_cs_emit_create_swapchain_context(device->cs, swapchain); if (FAILED(hr)) { -@@ -4348,6 +4991,34 @@ +@@ -4350,6 +4993,34 @@ } wined3d_cs_emit_create_dummy_textures(device->cs); @@ -4382,7 +4382,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c return WINED3D_OK; } -@@ -4366,9 +5037,11 @@ +@@ -4368,9 +5039,11 @@ TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n", device, swapchain_desc, mode, callback, reset_state); @@ -4394,7 +4394,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (!(swapchain = wined3d_device_get_swapchain(device, 0))) { ERR("Failed to get the first implicit swapchain.\n"); -@@ -4383,9 +5056,21 @@ +@@ -4385,9 +5058,21 @@ wined3d_texture_decref(device->logo_texture); device->logo_texture = NULL; } @@ -4416,7 +4416,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c { for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i) { -@@ -4394,6 +5079,7 @@ +@@ -4396,6 +5081,7 @@ } wined3d_device_set_depth_stencil_view(device, NULL); @@ -4424,7 +4424,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (reset_state) { state_unbind_resources(&device->state); -@@ -4403,6 +5089,12 @@ +@@ -4405,6 +5091,12 @@ { wined3d_surface_decref(device->cs->onscreen_depth_stencil); device->cs->onscreen_depth_stencil = NULL; @@ -4437,7 +4437,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } if (reset_state) -@@ -4415,6 +5107,7 @@ +@@ -4417,6 +5109,7 @@ } } @@ -4445,7 +4445,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c /* Free implicit resources and wait for the command stream before modifying * swapchain parameters. After modifying the swapchain parameters a new GL * context may be acquired by the worker thread. This causes problems in the -@@ -4436,6 +5129,7 @@ +@@ -4438,6 +5131,7 @@ } device->cs->ops->finish(device->cs); @@ -4453,7 +4453,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c TRACE("New params:\n"); TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width); TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height); -@@ -4562,6 +5256,13 @@ +@@ -4564,6 +5258,13 @@ swapchain_desc->multisample_type, swapchain_desc->multisample_quality))) return hr; @@ -4467,7 +4467,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (swapchain->desc.enable_auto_depth_stencil) { struct wined3d_resource_desc texture_desc; -@@ -4604,6 +5305,13 @@ +@@ -4606,6 +5307,13 @@ wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view); } @@ -4481,7 +4481,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (swapchain->desc.backbuffer_count && FAILED(hr = wined3d_rendertarget_view_create_from_surface( surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)), NULL, &wined3d_null_parent_ops, &device->back_buffer_view))) -@@ -4624,12 +5332,20 @@ +@@ -4626,12 +5334,20 @@ } wined3d_cs_emit_reset_state(device->cs); state_cleanup(&device->state); @@ -4502,7 +4502,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c &device->adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT))) ERR("Failed to initialize device state, hr %#x.\n", hr); device->update_state = &device->state; -@@ -4638,6 +5354,7 @@ +@@ -4640,6 +5356,7 @@ } else if (device->back_buffer_view) { @@ -4510,7 +4510,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c struct wined3d_state *state = &device->state; wined3d_device_set_rendertarget_view(device, 0, device->back_buffer_view, FALSE); -@@ -4653,6 +5370,24 @@ +@@ -4655,6 +5372,24 @@ state->scissor_rect.left = 0; state->scissor_rect.right = swapchain->desc.backbuffer_width; state->scissor_rect.bottom = swapchain->desc.backbuffer_height; @@ -4535,7 +4535,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c wined3d_cs_emit_set_scissor_rect(device->cs, &state->scissor_rect); } -@@ -4728,6 +5463,10 @@ +@@ -4730,6 +5465,10 @@ TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type)); @@ -4546,7 +4546,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c switch (type) { case WINED3D_RTYPE_SURFACE: -@@ -4738,6 +5477,7 @@ +@@ -4740,6 +5479,7 @@ for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i) { @@ -4554,7 +4554,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c if (wined3d_rendertarget_view_get_surface(device->state.fb.render_targets[i]) == surface) { ERR("Surface %p is still in use as render target %u.\n", surface, i); -@@ -4749,6 +5489,19 @@ +@@ -4751,6 +5491,19 @@ { ERR("Surface %p is still in use as depth/stencil buffer.\n", surface); device->state.fb.depth_stencil = NULL; @@ -4574,7 +4574,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c } } break; -@@ -4911,7 +5664,11 @@ +@@ -4913,7 +5666,11 @@ device->blitter = adapter->blitter; @@ -4586,7 +4586,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c &adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT))) { ERR("Failed to initialize device state, hr %#x.\n", hr); -@@ -5010,6 +5767,7 @@ +@@ -5012,6 +5769,7 @@ else return CallWindowProcA(proc, window, message, wparam, lparam); } @@ -4594,7 +4594,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c /* Context activation is done by the caller */ struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT size, GLenum gl_usage, -@@ -5063,3 +5821,4 @@ +@@ -5065,3 +5823,4 @@ wined3d_device_destroy_bo(device, context, bo); } @@ -9733,7 +9733,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c -@@ -5546,9 +5546,15 @@ +@@ -5548,9 +5548,15 @@ DebugBreak(); } diff --git a/patches/winepulse-PulseAudio_Support/definition b/patches/winepulse-PulseAudio_Support/definition index b4b1a139..84e7c672 100644 --- a/patches/winepulse-PulseAudio_Support/definition +++ b/patches/winepulse-PulseAudio_Support/definition @@ -6,3 +6,4 @@ Fixes: Add support for GetPropValue to PulseAudio backend Fixes: Use actual program name if available to describe PulseAudio streams Fixes: Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver Category: stable +Disabled: true