diff --git a/_service b/_service
index 7a54a75..75c1419 100644
--- a/_service
+++ b/_service
@@ -3,7 +3,7 @@
@PARENT_TAG@
v(.*)
https://github.com/wine-staging/wine-staging.git
- refs/tags/v6.6
+ refs/tags/v6.7
v*.*
git
diff --git a/a886228fbcefe7b8de06d2dd7182272df6cc3c36.patch b/a886228fbcefe7b8de06d2dd7182272df6cc3c36.patch
deleted file mode 100644
index e6080ba..0000000
--- a/a886228fbcefe7b8de06d2dd7182272df6cc3c36.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 22846605056d89063ec4c78b353f48d76b39b41f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Bernon?=
-Date: Thu, 25 Mar 2021 16:12:58 +0100
-Subject: [PATCH] winex11.drv: Listen to RawMotion and RawButton* events in the
- desktop thread.
-
-We still need to send "normal" input from the clipping window thread
-to trigger low-level hooks callbacks when clipping cursor. This is for
-instance used in our dinput implementation.
----
- dlls/winex11.drv/event.c | 10 ++-
- dlls/winex11.drv/mouse.c | 107 ++++++++++++++++++++++++++++++---
- dlls/winex11.drv/x11drv.h | 1 +
- dlls/winex11.drv/x11drv_main.c | 4 ++
- 4 files changed, 111 insertions(+), 11 deletions(-)
-
-diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
-index 217c1eca857..8685ce9536b 100644
---- a/dlls/winex11.drv/event.c
-+++ b/dlls/winex11.drv/event.c
-@@ -328,6 +328,10 @@ static enum event_merge_action merge_raw_motion_events( XIRawEvent *prev, XIRawE
- */
- static enum event_merge_action merge_events( XEvent *prev, XEvent *next )
- {
-+#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
-+ struct x11drv_thread_data *thread_data = x11drv_thread_data();
-+#endif
-+
- switch (prev->type)
- {
- case ConfigureNotify:
-@@ -359,19 +363,21 @@ static enum event_merge_action merge_events( XEvent *prev, XEvent *next )
- case GenericEvent:
- if (next->xcookie.extension != xinput2_opcode) break;
- if (next->xcookie.evtype != XI_RawMotion) break;
-- if (x11drv_thread_data()->warp_serial) break;
-+ if (thread_data->xi2_rawinput_only) break;
-+ if (thread_data->warp_serial) break;
- return MERGE_KEEP;
- }
- break;
- case GenericEvent:
- if (prev->xcookie.extension != xinput2_opcode) break;
- if (prev->xcookie.evtype != XI_RawMotion) break;
-+ if (thread_data->xi2_rawinput_only) break;
- switch (next->type)
- {
- case GenericEvent:
- if (next->xcookie.extension != xinput2_opcode) break;
- if (next->xcookie.evtype != XI_RawMotion) break;
-- if (x11drv_thread_data()->warp_serial) break;
-+ if (thread_data->warp_serial) break;
- return merge_raw_motion_events( prev->xcookie.data, next->xcookie.data );
- #endif
- }
-diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
-index 6b6512521f4..0558467a805 100644
---- a/dlls/winex11.drv/mouse.c
-+++ b/dlls/winex11.drv/mouse.c
-@@ -422,7 +422,18 @@ void x11drv_xinput_enable( Display *display, Window window, long event_mask )
- memset( mask_bits, 0, sizeof(mask_bits) );
- XISetMask( mask_bits, XI_DeviceChanged );
- XISetMask( mask_bits, XI_RawMotion );
-- XISetMask( mask_bits, XI_ButtonPress );
-+
-+ if (GetWindowThreadProcessId( GetDesktopWindow(), NULL ) == GetCurrentThreadId())
-+ {
-+ XISetMask( mask_bits, XI_RawButtonPress );
-+ XISetMask( mask_bits, XI_RawButtonRelease );
-+ data->xi2_rawinput_only = TRUE;
-+ }
-+ else
-+ {
-+ XISetMask( mask_bits, XI_ButtonPress );
-+ data->xi2_rawinput_only = FALSE;
-+ }
-
- pXISelectEvents( display, DefaultRootWindow( display ), &mask, 1 );
-
-@@ -748,7 +759,6 @@ static void map_event_coords( HWND hwnd, Window window, Window event_root, int x
- static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPUT *input )
- {
- struct x11drv_win_data *data;
-- RAWINPUT rawinput;
-
- input->type = INPUT_MOUSE;
-
-@@ -765,7 +775,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU
- sync_window_cursor( window );
- last_cursor_change = input->u.mi.time;
- }
-- __wine_send_input( hwnd, input, &rawinput );
-+ __wine_send_input( hwnd, input, NULL );
- return;
- }
-
-@@ -805,7 +815,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU
- SERVER_END_REQ;
- }
-
-- __wine_send_input( hwnd, input, &rawinput );
-+ __wine_send_input( hwnd, input, NULL );
- }
-
- #ifdef SONAME_LIBXCURSOR
-@@ -1760,7 +1770,6 @@ void move_resize_window( HWND hwnd, int dir )
- {
- MSG msg;
- INPUT input;
-- RAWINPUT rawinput;
- int x, y, rootX, rootY;
-
- if (!XQueryPointer( display, root_window, &root, &child, &rootX, &rootY, &x, &y, &xstate )) break;
-@@ -1776,7 +1785,7 @@ void move_resize_window( HWND hwnd, int dir )
- input.u.mi.dwFlags = button_up_flags[button - 1] | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;
- input.u.mi.time = GetTickCount();
- input.u.mi.dwExtraInfo = 0;
-- __wine_send_input( hwnd, &input, &rawinput );
-+ __wine_send_input( hwnd, &input, NULL );
- }
-
- while (PeekMessageW( &msg, 0, 0, 0, PM_REMOVE ))
-@@ -1952,6 +1961,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
- x_rel = &thread_data->x_rel_valuator;
- y_rel = &thread_data->y_rel_valuator;
-
-+ input.type = INPUT_MOUSE;
- input.u.mi.mouseData = 0;
- input.u.mi.dwFlags = MOUSEEVENTF_MOVE;
- input.u.mi.time = EVENT_x11_time_to_win32_time( event->time );
-@@ -1987,10 +1997,85 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
- return FALSE;
- }
-
-- TRACE( "pos %d,%d (event %f,%f)\n", input.u.mi.dx, input.u.mi.dy, dx, dy );
-+ if (!thread_data->xi2_rawinput_only)
-+ {
-+ TRACE( "pos %d,%d (event %f,%f)\n", input.u.mi.dx, input.u.mi.dy, dx, dy );
-+ __wine_send_input( 0, &input, NULL );
-+ }
-+ else
-+ {
-+ TRACE( "raw pos %d,%d (event %f,%f)\n", input.u.mi.dx, input.u.mi.dy, dx, dy );
-
-- input.type = INPUT_MOUSE;
-- __wine_send_input( 0, &input, &rawinput );
-+ rawinput.header.dwType = RIM_TYPEMOUSE;
-+ rawinput.header.dwSize = offsetof(RAWINPUT, data) + sizeof(RAWMOUSE);
-+ rawinput.header.hDevice = ULongToHandle(1); /* WINE_MOUSE_HANDLE */
-+ rawinput.header.wParam = RIM_INPUT;
-+ rawinput.data.mouse.ulRawButtons = input.u.mi.dwFlags;
-+ rawinput.data.mouse.u.ulButtons = input.u.mi.mouseData;
-+ rawinput.data.mouse.lLastX = input.u.mi.dx;
-+ rawinput.data.mouse.lLastY = input.u.mi.dy;
-+ rawinput.data.mouse.ulExtraInformation = 0;
-+
-+ input.type = INPUT_HARDWARE;
-+ input.u.hi.uMsg = WM_INPUT;
-+ input.u.hi.wParamH = (WORD)(rawinput.header.dwSize >> 16);
-+ input.u.hi.wParamL = (WORD)(rawinput.header.dwSize >> 0);
-+ if (rawinput.data.mouse.lLastX || rawinput.data.mouse.lLastY)
-+ __wine_send_input( 0, &input, &rawinput );
-+ }
-+ return TRUE;
-+}
-+
-+/***********************************************************************
-+ * X11DRV_RawButtonEvent
-+ */
-+static BOOL X11DRV_RawButtonEvent( XGenericEventCookie *cookie )
-+{
-+ struct x11drv_thread_data *thread_data = x11drv_thread_data();
-+ XIRawEvent *event = cookie->data;
-+ int button = event->detail - 1;
-+ RAWINPUT rawinput;
-+ INPUT input;
-+
-+ if (!device_mapping || device_mapping->deviceid != event->sourceid)
-+ update_device_mapping( event->display, event->sourceid );
-+
-+ if (button >= 0 && device_mapping)
-+ button = device_mapping->buttons[button] - 1;
-+
-+ if (button >= 0 && pointer_mapping)
-+ button = pointer_mapping->buttons[button] - 1;
-+
-+ if (button < 0 || button >= NB_BUTTONS) return FALSE;
-+ if (thread_data->xi2_state != xi_enabled) return FALSE;
-+ if (event->deviceid != thread_data->xi2_core_pointer) return FALSE;
-+
-+ TRACE( "raw button %u (raw: %u) %s\n", button, event->detail, event->evtype == XI_RawButtonRelease ? "up" : "down" );
-+
-+ rawinput.header.dwType = RIM_TYPEMOUSE;
-+ rawinput.header.dwSize = offsetof(RAWINPUT, data) + sizeof(RAWMOUSE);
-+ rawinput.header.hDevice = ULongToHandle(1); /* WINE_MOUSE_HANDLE */
-+ rawinput.header.wParam = RIM_INPUT;
-+ if (event->evtype == XI_RawButtonRelease)
-+ {
-+ rawinput.data.mouse.ulRawButtons = button_up_flags[button];
-+ rawinput.data.mouse.u.ulButtons = button_up_data[button];
-+ }
-+ else
-+ {
-+ rawinput.data.mouse.ulRawButtons = button_down_flags[button];
-+ rawinput.data.mouse.u.ulButtons = button_down_data[button];
-+ }
-+ rawinput.data.mouse.lLastX = 0;
-+ rawinput.data.mouse.lLastY = 0;
-+ rawinput.data.mouse.ulExtraInformation = 0;
-+
-+ input.type = INPUT_HARDWARE;
-+ input.u.hi.uMsg = WM_INPUT;
-+ input.u.hi.wParamH = (WORD)(rawinput.header.dwSize >> 16);
-+ input.u.hi.wParamL = (WORD)(rawinput.header.dwSize >> 0);
-+ if (rawinput.data.mouse.ulRawButtons || rawinput.data.mouse.u.ulButtons)
-+ __wine_send_input( 0, &input, &rawinput );
- return TRUE;
- }
-
-@@ -2066,6 +2151,10 @@ BOOL X11DRV_GenericEvent( HWND hwnd, XEvent *xev )
- case XI_RawMotion:
- ret = X11DRV_RawMotion( event );
- break;
-+ case XI_RawButtonPress:
-+ case XI_RawButtonRelease:
-+ ret = X11DRV_RawButtonEvent( event );
-+ break;
-
- default:
- TRACE( "Unhandled event %#x\n", event->evtype );
-diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
-index afa990b7e68..910a6c6cc18 100644
---- a/dlls/winex11.drv/x11drv.h
-+++ b/dlls/winex11.drv/x11drv.h
-@@ -353,6 +353,7 @@ struct x11drv_thread_data
- struct x11drv_valuator_data x_rel_valuator;
- struct x11drv_valuator_data y_rel_valuator;
- int xi2_core_pointer; /* XInput2 core pointer id */
-+ int xi2_rawinput_only;
- };
-
- extern struct x11drv_thread_data *x11drv_init_thread_data(void) DECLSPEC_HIDDEN;
-diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
-index d8576949aea..c16825751c8 100644
---- a/dlls/winex11.drv/x11drv_main.c
-+++ b/dlls/winex11.drv/x11drv_main.c
-@@ -633,6 +633,8 @@ void CDECL X11DRV_ThreadDetach(void)
-
- if (data)
- {
-+ if (GetWindowThreadProcessId( GetDesktopWindow(), NULL ) == GetCurrentThreadId())
-+ x11drv_xinput_disable( data->display, DefaultRootWindow( data->display ), PointerMotionMask );
- if (data->xim) XCloseIM( data->xim );
- if (data->font_set) XFreeFontSet( data->display, data->font_set );
- XCloseDisplay( data->display );
-@@ -704,6 +706,8 @@ struct x11drv_thread_data *x11drv_init_thread_data(void)
- if (use_xim) X11DRV_SetupXIM();
-
- x11drv_xinput_init();
-+ if (GetWindowThreadProcessId( GetDesktopWindow(), NULL ) == GetCurrentThreadId())
-+ x11drv_xinput_enable( data->display, DefaultRootWindow( data->display ), PointerMotionMask );
-
- return data;
- }
---
-2.30.2
-
diff --git a/wine-6.6.tar.xz b/wine-6.6.tar.xz
deleted file mode 100644
index 28b7b93..0000000
--- a/wine-6.6.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:99e522c6dcc0ac1d53d201bf3054891fdf11864257473c3eb341e37671fd84ad
-size 24400568
diff --git a/wine-6.6.tar.xz.sign b/wine-6.6.tar.xz.sign
deleted file mode 100644
index 841967e..0000000
--- a/wine-6.6.tar.xz.sign
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmBwsJQACgkQzvrI6q8X
-UZ1iEg//ccIpAOAz8RLeiM9ccob9B7Ix0P/DPBqmpejrkO+3Ui9ZGPJUEDT9rSVb
-2qNkyRppECC5IGOuZKYWTuQ5sg27zysyhyK5nPOKUa7l8ck224lojiaGL4aOZ3/f
-2J/+nqjVkdKfoLTjdl3VGAGjWvpGw2JSF6mUMMKXFh+w/nHIQfdw+U0yH3Q3sBvY
-pijMQwAOB/z8KAW/XMk+ykeUl2bfJFNpRPSmTYRI0NqHArfT2k5EeYib/LirPUGS
-jSPEGYXcxfnsKzMiIXxZP9c0D2lq71/b09YXvO8SewKnOIqhYUdNDZFXVa0aWYkN
-63MkBjbYI4vlal+UsgBIanozLHp8iLj10VLRgWHFKuACx5Ab2aaxIM/LNyU8Vc1p
-X6Feb7H2tnO5GI4HIW5K+WKUBpQ5smKeaU1rpMjFsuqA+7H0SLXb2+YfePQqMMa7
-TEJkcIkjvUDxAupF7JilUiBzFZzpFy+M8xnaeGdTrzdZcSIA42PdSf5Qgyv2YocS
-HOtPpHrXVqkkD9BlSs0+2SQJYs5kUxnpGWIyhq4gnirx7Z/1O4+31DsD1rODyZ1X
-gUQ3BlrbUYdhM0+wFpturKXzGtwqJQMU8jJUep9vqRJO1o6sSlJmok5oHvcpFj7Z
-z+G4RMOSyokk45PmOSyt69zngB8bV39KpzRyasKcPhP+ipQ4reo=
-=CBY+
------END PGP SIGNATURE-----
diff --git a/wine-6.7.tar.xz b/wine-6.7.tar.xz
new file mode 100644
index 0000000..e78fb71
--- /dev/null
+++ b/wine-6.7.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c30514b7761d4611514ae021cb1e354128d77eff54a283f1401ee702277bbea4
+size 24449368
diff --git a/wine-6.7.tar.xz.sign b/wine-6.7.tar.xz.sign
new file mode 100644
index 0000000..cff4b83
--- /dev/null
+++ b/wine-6.7.tar.xz.sign
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmCDK+UACgkQzvrI6q8X
+UZ0pahAAijLJWiUMykaS1+lKBYsNbZFcUuiJcriwBatngi78GknnI2S6EV2BT5SM
+nuYRJ9dL7owRfMjVPEe79V4jWzXI+9m9W0gTyGdZTOj9b9Zu28j22WQAWejsFIpw
+sO0NO+rhdt5Twnzm+keG+yTEmwZ21MYV+C6DqYn938XPWGHW9l5+Z2a9uHGl0u/P
+/twrJQg0Sh9AOP8mETYR3MMDK4wiAnG8qaGWRx2Iq6VtJb9dNQ52YYAGLefWutuv
+S6RgWHiw2iuGjBp92cwSo1lI2ppjMbcSfhWVlPzLCs1uFJlh+k39tKsTgCazNoDY
+gkOnWol2u3c9xY7ACnb4DA6GJk2Wdr+HMIYPjIsc6M4utSqBhaeYE6eZ0xX8xoKo
+tjdWzJm0Sm114bwrt0R8P7iDojAYz4VjwC+oE95n9lXLtopdGsa2iw4lx9gtoanA
++/s+JkZUObbEojUdVR3tfFfe+JHuX/nucJCQeBQnq5dkh4fKCgTR4KcNyyvO9quX
+BSH6+YTCF6VopOCjVNdihV3YmLndP9S4hs6fv/+b1olkVkBnkpDNCvIY5cZkRxK2
+MIiIl0WTyQadUk21roYeYkbO/Yf88bSWO+XeE5sYO3FI+d16LVXKJLlL/cfp9VBR
+H7HfrvwAJ3wEPFfDAb0iD/SO3wwFLvrxPvHxb26O/6NPOxW32IU=
+=MUKO
+-----END PGP SIGNATURE-----
diff --git a/wine-staging-6.6.tar.xz b/wine-staging-6.6.tar.xz
deleted file mode 100644
index 5ec1560..0000000
--- a/wine-staging-6.6.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9a6a32baafa1b870e6319c9c2e25147ccab08e2385f639c558899527a89c7880
-size 7396636
diff --git a/wine-staging-6.7.tar.xz b/wine-staging-6.7.tar.xz
new file mode 100644
index 0000000..07796ac
--- /dev/null
+++ b/wine-staging-6.7.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd2d6e88c2e34eea52393cba52afe605bb42047fe38cf7a378923875a8bf5071
+size 7374208
diff --git a/wine-winegcc-missing-includes.patch b/wine-winegcc-missing-includes.patch
deleted file mode 100644
index 7ebcff2..0000000
--- a/wine-winegcc-missing-includes.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/tools/winegcc/winegcc.c
-+++ b/tools/winegcc/winegcc.c
-@@ -904,6 +904,7 @@ no_compat_defines:
- const char *incl_dirs[] = { INCLUDEDIR, "/usr/include", "/usr/local/include" };
- const char *root = opts->isysroot ? opts->isysroot : opts->sysroot ? opts->sysroot : "";
- const char *isystem = gcc_defs ? "-isystem" : "-I";
-+ const char *idirafter = gcc_defs ? "-idirafter" : "-I";
-
- if (opts->use_msvcrt)
- {
-@@ -921,11 +922,11 @@ no_compat_defines:
- if (j && !strcmp( incl_dirs[0], incl_dirs[j] )) continue;
- strarray_add(comp_args, strmake( "%s%s%s/wine/windows", isystem, root, incl_dirs[j] ));
- }
-- if (includedir) strarray_add( comp_args, strmake( "%s%s", isystem, includedir ));
-+ if (includedir) strarray_add( comp_args, strmake( "%s%s", idirafter, includedir ));
- for (j = 0; j < ARRAY_SIZE(incl_dirs); j++)
- {
- if (j && !strcmp( incl_dirs[0], incl_dirs[j] )) continue;
-- strarray_add(comp_args, strmake( "%s%s%s", isystem, root, incl_dirs[j] ));
-+ strarray_add(comp_args, strmake( "%s%s%s", idirafter, root, incl_dirs[j] ));
- }
- }
- else if (opts->wine_objdir)
diff --git a/wine.changes b/wine.changes
index c35cf2b..0403594 100644
--- a/wine.changes
+++ b/wine.changes
@@ -1,3 +1,18 @@
+-------------------------------------------------------------------
+Sat Apr 24 08:16:43 UTC 2021 - Marcus Meissner
+
+- updated to 6.7 development release
+ - NetApi32, WLDAP32, and Kerberos libraries converted to PE.
+ - More Media Foundation work.
+ - ES6 JavaScript mode.
+ - Improved WOW64 file system redirection.
+ - More Plug & Play driver support.
+ - Keyboard raw input device.
+ - Various bug fixes.
+- update staging to 6.7 release
+- removed wine-winegcc-missing-includes.patch (upstream)
+- removed a886228fbcefe7b8de06d2dd7182272df6cc3c36.patch (upstream)
+
-------------------------------------------------------------------
Wed Apr 21 14:21:30 UTC 2021 - Marcus Rueckert
diff --git a/wine.spec b/wine.spec
index afb30fc..836a6bf 100644
--- a/wine.spec
+++ b/wine.spec
@@ -29,8 +29,8 @@
%endif
# needs to be on top due to usage of %version macro below
-%define realver 6.6
-Version: 6.6
+%define realver 6.7
+Version: 6.7
Release: 0
%if "%{flavor}" != ""
@@ -137,12 +137,9 @@ Source6: wine-msi.desktop
Source5: ubuntuwine.tar.bz2
Source7: baselibs.conf
Source8: wine-rpmlintrc
-# PATCH FIX UPSTREAM wine-winegcc-missing-includes.patch fix https://bugs.winehq.org/show_bug.cgi?id=50996
-Patch0: wine-winegcc-missing-includes.patch
# SUSE specific patches
# - currently none, but add them here
#Patch0: susefixes.patch
-Source99: a886228fbcefe7b8de06d2dd7182272df6cc3c36.patch
Recommends: wine-gecko >= 2.47.2
Conflicts: wine-gecko < 2.47.2
Recommends: wine-mono >= 6.1.1
@@ -161,7 +158,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64
%if %{staging}
# upstream patch target version
-%define staging_version 6.6
+%define staging_version 6.7
Source100: wine-staging-%{staging_version}.tar.xz
BuildRequires: gtk3-devel
BuildRequires: libOSMesa-devel
@@ -226,7 +223,6 @@ cp %{S:3} .
%if %{staging}
# apply wine staging patch set on top of the wine release.
tar xf %{SOURCE100}
-cp %{SOURCE99} ./wine-staging-%staging_version/patches/user32-rawinput-mouse/0008-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch
bash ./wine-staging-%staging_version/patches/patchinstall.sh --all
%endif