Hello community,

here is the log from the commit of package wine for openSUSE:Factory checked in 
at 2018-03-07 10:34:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wine (Old)
 and      /work/SRC/openSUSE:Factory/.wine.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wine"

Wed Mar  7 10:34:46 2018 rev:246 rq:582585 version:3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/wine/wine.changes        2018-02-26 
23:26:38.327125744 +0100
+++ /work/SRC/openSUSE:Factory/.wine.new/wine.changes   2018-03-07 
10:34:51.874073952 +0100
@@ -1,0 +2,18 @@
+Mon Mar  5 08:52:57 UTC 2018 - mimi...@gmail.com
+
+- update wine-staging and wine-nine to 3.3
+- enable wine staging
+
+-------------------------------------------------------------------
+Fri Mar  2 18:49:34 UTC 2018 - meiss...@suse.com
+
+- Update to 3.3 development release
+  - Beginnings of Vulkan support.
+  - Direct3D multi-threaded command stream enabled by default.
+  - Multisample textures enabled by default.
+  - Support for game controllers through SDL.
+  - Support for loading CIL-only .Net binaries.
+  - Various bug fixes.
+- Updated winetricks
+
+-------------------------------------------------------------------

Old:
----
  wine-3.2.tar.xz
  wine-3.2.tar.xz.sign
  wine-d3d9-patches-2.20.tar.xz
  wine-staging-2.21.tar.xz

New:
----
  wine-3.3.tar.xz
  wine-3.3.tar.xz.sign
  wine-d3d9-patches-3.3.tar.xz
  wine-staging-3.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wine.spec ++++++
--- /var/tmp/diff_new_pack.sNFleW/_old  2018-03-07 10:34:53.494015519 +0100
+++ /var/tmp/diff_new_pack.sNFleW/_new  2018-03-07 10:34:53.498015375 +0100
@@ -69,6 +69,7 @@
 %else
 Recommends:     wine-mp3
 %endif
+BuildRequires:  SDL2-devel
 BuildRequires:  ncurses-devel
 BuildRequires:  openal-soft-devel
 BuildRequires:  openldap2-devel
@@ -77,18 +78,19 @@
 BuildRequires:  sane-backends-devel
 BuildRequires:  update-desktop-files
 BuildRequires:  valgrind-devel
+BuildRequires:  vulkan-devel
 BuildRequires:  xorg-x11-devel
 BuildRequires:  pkgconfig(libudev)
-%define realver 3.2
-Version:        3.2
+%define realver 3.3
+Version:        3.3
 Release:        0
 Summary:        An MS Windows Emulator
-License:        LGPL-2.1+
+License:        LGPL-2.1-or-later
 Group:          System/Emulators/PC
 Url:            http://www.winehq.org/
-Source0:        
http://downloads.sourceforge.net/wine/%{projectname}-%{realver}.tar.xz
+Source0:        
https://dl.winehq.org/wine/source/3.x/%{projectname}-%{realver}.tar.xz
 Source41:       wine.keyring
-Source42:       
http://downloads.sourceforge.net/wine/%{projectname}-%{realver}.tar.xz.sign
+Source42:       
https://dl.winehq.org/wine/source/3.x/%{projectname}-%{realver}.tar.xz.sign
 Source1:        
https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
 Source11:       
https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.1
 Source2:        http://kegel.com/wine/wisotool
@@ -118,7 +120,7 @@
 ExclusiveArch:  %{ix86} x86_64 ppc %arm
 %if %{staging}
 # upstream patch target version
-%define staging_version 2.21
+%define staging_version 3.3
 Source100:      wine-staging-%{staging_version}.tar.xz
 BuildRequires:  gtk3-devel
 BuildRequires:  libOSMesa-devel
@@ -126,7 +128,7 @@
 %endif
 %if %{nine}
 # upstream patch target version
-%define nine_version 2.20
+%define nine_version 3.3
 BuildRequires:  Mesa-libd3d-devel
 BuildRequires:  dri2proto-devel
 BuildRequires:  libOSMesa-devel

++++++ _multibuild ++++++
--- /var/tmp/diff_new_pack.sNFleW/_old  2018-03-07 10:34:53.562013066 +0100
+++ /var/tmp/diff_new_pack.sNFleW/_new  2018-03-07 10:34:53.566012922 +0100
@@ -1,5 +1,5 @@
 <multibuild>
   <package>nine</package>
-  <!-- no staging currently <package>staging</package> 
-  <package>staging-nine</package> -->
+  <package>staging</package> 
+  <package>staging-nine</package>
 </multibuild>

++++++ _service ++++++
--- /var/tmp/diff_new_pack.sNFleW/_old  2018-03-07 10:34:53.582012345 +0100
+++ /var/tmp/diff_new_pack.sNFleW/_new  2018-03-07 10:34:53.586012200 +0100
@@ -2,8 +2,8 @@
   <service name="tar_scm" mode="disabled">
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
-    <param 
name="url">https://github.com/wine-compholio/wine-staging.git</param>
-    <param name="revision">refs/tags/v2.21</param>
+    <param name="url">https://github.com/wine-staging/wine-staging.git</param>
+    <param name="revision">refs/tags/v3.3</param>
     <param name="match-tag">v*.*</param>
     <param name="scm">git</param>
   </service>
@@ -11,7 +11,7 @@
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">wined3d9(.*)</param>
     <param name="url">https://github.com/sarnex/wine-d3d9-patches.git</param>
-    <param name="revision">refs/tags/wine-d3d9-2.20</param>
+    <param name="revision">refs/tags/wine-d3d9-3.3</param>
     <param name="scm">git</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ wine-3.2.tar.xz -> wine-3.3.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-3.2.tar.xz 
/work/SRC/openSUSE:Factory/.wine.new/wine-3.3.tar.xz differ: char 26, line 1

++++++ wine-d3d9-patches-2.20.tar.xz -> wine-d3d9-patches-3.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wine-d3d9-patches-2.20/d3d9-helper.patch 
new/wine-d3d9-patches-3.3/d3d9-helper.patch
--- old/wine-d3d9-patches-2.20/d3d9-helper.patch        2017-11-06 
04:33:09.000000000 +0100
+++ new/wine-d3d9-patches-3.3/d3d9-helper.patch 2018-03-04 18:58:49.000000000 
+0100
@@ -1,27 +1,27 @@
-From f0991570f98db2ffcb64fa88882ecccd40474392 Mon Sep 17 00:00:00 2001
+From 1b441555922dc0d80699de41b52aa0fa51e65aaf Mon Sep 17 00:00:00 2001
 From: Nick Sarnie <commendsar...@gmail.com>
-Date: Sun, 5 Nov 2017 22:31:50 -0500
+Date: Sun, 4 Mar 2018 12:55:12 -0500
 Subject: [PATCH] D3D9 Helper
 
 Signed-off-by: Nick Sarnie <commendsar...@gmail.com>
 ---
- dlls/ntdll/loader.c          |  66 ++++++----
- dlls/ntdll/loadorder.c       | 304 ++++++++++++++++++++++++++++++++-----------
+ dlls/ntdll/loader.c          | 205 ++++++++++++++++++++++++-----
+ dlls/ntdll/loadorder.c       | 298 ++++++++++++++++++++++++++++++++-----------
  dlls/ntdll/ntdll_misc.h      |   1 +
  programs/winecfg/Makefile.in |   1 +
  programs/winecfg/main.c      |  12 +-
  programs/winecfg/resource.h  |   5 +
- programs/winecfg/staging.c   |  93 +++++++++++++
+ programs/winecfg/staging.c   |  93 ++++++++++++++
  programs/winecfg/winecfg.h   |   1 +
  programs/winecfg/winecfg.rc  |  10 ++
- 9 files changed, 394 insertions(+), 99 deletions(-)
+ 9 files changed, 522 insertions(+), 104 deletions(-)
  create mode 100644 programs/winecfg/staging.c
 
 diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
-index 9c89d57154..5c493b98a4 100644
+index de2cc543bc..b8b990ba70 100644
 --- a/dlls/ntdll/loader.c
 +++ b/dlls/ntdll/loader.c
-@@ -93,6 +93,7 @@ struct builtin_load_info
+@@ -99,6 +99,7 @@ struct builtin_load_info
  {
      const WCHAR *load_path;
      const WCHAR *filename;
@@ -29,7 +29,7 @@
      NTSTATUS     status;
      WINE_MODREF *wm;
  };
-@@ -118,7 +119,8 @@ static WINE_MODREF *cached_modref;
+@@ -124,7 +125,8 @@ static WINE_MODREF *cached_modref;
  static WINE_MODREF *current_modref;
  static WINE_MODREF *last_failed_modref;
  
@@ -39,7 +39,7 @@
  static NTSTATUS process_attach( WINE_MODREF *wm, LPVOID lpReserved );
  static FARPROC find_ordinal_export( HMODULE module, const 
IMAGE_EXPORT_DIRECTORY *exports,
                                      DWORD exp_size, DWORD ordinal, LPCWSTR 
load_path );
-@@ -469,7 +471,7 @@ static FARPROC find_forwarded_export( HMODULE module, 
const char *forward, LPCWS
+@@ -477,7 +479,7 @@ static FARPROC find_forwarded_export( HMODULE module, 
const char *forward, LPCWS
      if (!(wm = find_basename_module( mod_name )))
      {
          TRACE( "delay loading %s for '%s'\n", debugstr_w(mod_name), forward );
@@ -47,8 +47,8 @@
 +        if (load_dll( load_path, mod_name, NULL, 0, &wm ) == STATUS_SUCCESS &&
              !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
          {
-             if (process_attach( wm, NULL ) != STATUS_SUCCESS)
-@@ -625,7 +627,7 @@ static BOOL import_dll( HMODULE module, const 
IMAGE_IMPORT_DESCRIPTOR *descr, LP
+             if (!imports_fixup_done && current_modref)
+@@ -647,7 +649,7 @@ static BOOL import_dll( HMODULE module, const 
IMAGE_IMPORT_DESCRIPTOR *descr, LP
      {
          ascii_to_unicode( buffer, name, len );
          buffer[len] = 0;
@@ -57,7 +57,7 @@
      }
      else  /* need to allocate a larger buffer */
      {
-@@ -633,7 +635,7 @@ static BOOL import_dll( HMODULE module, const 
IMAGE_IMPORT_DESCRIPTOR *descr, LP
+@@ -655,7 +657,7 @@ static BOOL import_dll( HMODULE module, const 
IMAGE_IMPORT_DESCRIPTOR *descr, LP
          if (!ptr) return FALSE;
          ascii_to_unicode( ptr, name, len );
          ptr[len] = 0;
@@ -66,7 +66,16 @@
          RtlFreeHeap( GetProcessHeap(), 0, ptr );
      }
  
-@@ -957,7 +959,7 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR 
load_path )
+@@ -940,7 +942,7 @@ static NTSTATUS fixup_imports_ilonly( WINE_MODREF *wm, 
LPCWSTR load_path, void *
+ 
+     prev = current_modref;
+     current_modref = wm;
+-    if (!(status = load_dll( load_path, mscoreeW, 0, &imp ))) wm->deps[0] = 
imp;
++    if (!(status = load_dll( load_path, mscoreeW, NULL, 0, &imp ))) 
wm->deps[0] = imp;
+     current_modref = prev;
+     if (status)
+     {
+@@ -1023,7 +1025,7 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR 
load_path )
   * Allocate a WINE_MODREF structure and add it to the process list
   * The loader_section must be locked while calling this function.
   */
@@ -75,16 +84,16 @@
  {
      WINE_MODREF *wm;
      const WCHAR *p;
-@@ -979,7 +981,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR 
filename )
-     wm->ldr.TimeDateStamp = 0;
-     wm->ldr.ActivationContext = 0;
+@@ -1037,7 +1039,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, 
LPCWSTR filename )
+     wm->ldr.TlsIndex      = -1;
+     wm->ldr.LoadCount     = 1;
  
 -    RtlCreateUnicodeString( &wm->ldr.FullDllName, filename );
 +    RtlCreateUnicodeString( &wm->ldr.FullDllName, fakemodule ? fakemodule : 
filename );
      if ((p = strrchrW( wm->ldr.FullDllName.Buffer, '\\' ))) p++;
      else p = wm->ldr.FullDllName.Buffer;
      RtlInitUnicodeString( &wm->ldr.BaseDllName, p );
-@@ -1640,7 +1642,7 @@ static void load_builtin_callback( void *module, const 
char *filename )
+@@ -1649,7 +1651,7 @@ static void load_builtin_callback( void *module, const 
char *filename )
          return;
      }
  
@@ -93,27 +102,27 @@
      RtlFreeHeap( GetProcessHeap(), 0, fullname );
      if (!wm)
      {
-@@ -1820,8 +1822,8 @@ static NTSTATUS perform_relocations( void *module, 
SIZE_T len )
+@@ -1859,8 +1861,8 @@ static BOOL is_valid_binary( HMODULE module, const 
pe_image_info_t *info )
  
/******************************************************************************
   *    load_native_dll  (internal)
   */
 -static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
--                                 DWORD flags, WINE_MODREF** pwm )
+-                                 DWORD flags, WINE_MODREF** pwm, struct stat 
*st )
 +static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, LPCWSTR 
fakemodule,
-+                                 HANDLE file, DWORD flags, WINE_MODREF** pwm )
++                                 HANDLE file, DWORD flags, WINE_MODREF** pwm, 
struct stat *st )
  {
      void *module;
      HANDLE mapping;
-@@ -1856,7 +1858,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, 
LPCWSTR name, HANDLE file,
+@@ -1903,7 +1905,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, 
LPCWSTR name, HANDLE file,
  
      /* create the MODREF */
  
 -    if (!(wm = alloc_module( module, name )))
 +    if (!(wm = alloc_module( module, name, fakemodule )))
      {
-         status = STATUS_NO_MEMORY;
-         goto done;
-@@ -1918,8 +1920,8 @@ done:
+         if (module) NtUnmapViewOfSection( NtCurrentProcess(), module );
+         return STATUS_NO_MEMORY;
+@@ -1967,8 +1969,8 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, 
LPCWSTR name, HANDLE file,
  /***********************************************************************
   *           load_builtin_dll
   */
@@ -124,7 +133,7 @@
  {
      char error[256], dllname[MAX_PATH];
      const WCHAR *name, *p;
-@@ -1939,6 +1941,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, 
LPCWSTR path, HANDLE file,
+@@ -1988,6 +1990,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, 
LPCWSTR path, HANDLE file,
       */
      info.load_path = load_path;
      info.filename  = NULL;
@@ -132,14 +141,171 @@
      info.status    = STATUS_SUCCESS;
      info.wm        = NULL;
  
-@@ -2257,14 +2260,14 @@ overflow:
-     return STATUS_BUFFER_TOO_SMALL;
+@@ -2186,6 +2189,108 @@ done:
+     return status;
  }
  
--
++#if defined(__i386__)
++#define CURRENT_ARCH IMAGE_FILE_MACHINE_I386
++#elif defined(__x86_64__)
++#define CURRENT_ARCH IMAGE_FILE_MACHINE_AMD64
++#elif defined(__arm__)
++#define CURRENT_ARCH IMAGE_FILE_MACHINE_ARM
++#elif defined(__aarch64__)
++#define CURRENT_ARCH IMAGE_FILE_MACHINE_ARM64
++#endif
++
++/***********************************************************************
++ *  get_machine_type  (internal)
++ *
++ * Determines the machine type of a module. Based on the code in
++ * dlls/kernel32/module.c.
++ */
++static WORD get_machine_type( HANDLE hfile )
++{
++    union
++    {
++        struct
++        {
++            unsigned char magic[4];
++            unsigned char class;
++            unsigned char data;
++            unsigned char version;
++            unsigned char ignored[9];
++            unsigned short type;
++            unsigned short machine;
++        } elf;
++        struct
++        {
++            unsigned int magic;
++            unsigned int cputype;
++            unsigned int cpusubtype;
++            unsigned int filetype;
++        } macho;
++        IMAGE_DOS_HEADER mz;
++    } header;
++
++    IO_STATUS_BLOCK io;
++    LARGE_INTEGER offset;
++
++    /* Seek to the start of the file and read the header information. */
++    offset.QuadPart = 0;
++    if (NtReadFile( hfile, 0, NULL, 0, &io, &header, sizeof(header), &offset, 
NULL )) return 0;
++    if (io.Information < sizeof(header)) return 0;
++
++    if (!memcmp( header.elf.magic, "\177ELF", 4 ))
++    {
++#ifdef WORDS_BIGENDIAN
++        if (header.elf.data == 1)
++#else
++        if (header.elf.data == 2)
++#endif
++        {
++            header.elf.machine = RtlUshortByteSwap( header.elf.machine );
++        }
++
++        switch(header.elf.machine)
++        {
++            case 3:   return IMAGE_FILE_MACHINE_I386;
++            case 20:  return IMAGE_FILE_MACHINE_POWERPC;
++            case 40:  return IMAGE_FILE_MACHINE_ARMNT;
++            case 50:  return IMAGE_FILE_MACHINE_IA64;
++            case 62:  return IMAGE_FILE_MACHINE_AMD64;
++            case 183: return IMAGE_FILE_MACHINE_ARM64;
++            default:  return 0;
++        }
++    }
++    /* Mach-o File with Endian set to Big Endian or Little Endian */
++    else if (header.macho.magic == 0xfeedface || header.macho.magic == 
0xcefaedfe ||
++             header.macho.magic == 0xfeedfacf || header.macho.magic == 
0xcffaedfe)
++    {
++        if (header.macho.magic == 0xcefaedfe || header.macho.magic == 
0xcffaedfe)
++            header.macho.cputype = RtlUlongByteSwap( header.macho.cputype );
++
++        switch(header.macho.cputype)
++        {
++            case 0x00000007: return IMAGE_FILE_MACHINE_I386;
++            case 0x01000007: return IMAGE_FILE_MACHINE_AMD64;
++            case 0x0000000c: return IMAGE_FILE_MACHINE_ARMNT;
++            case 0x0100000c: return IMAGE_FILE_MACHINE_ARM64;
++            case 0x00000012: return IMAGE_FILE_MACHINE_POWERPC;
++            default:         return 0;
++        }
++    }
++    /* Not ELF, try DOS */
++    else if (header.mz.e_magic == IMAGE_DOS_SIGNATURE)
++    {
++        IMAGE_NT_HEADERS32 ext_header;
++
++        offset.QuadPart = header.mz.e_lfanew;
++        if (NtReadFile( hfile, 0, NULL, 0, &io, &ext_header, 
sizeof(ext_header), &offset, NULL )) return 0;
++        if (io.Information < sizeof(ext_header)) return 0;
++
++        if (!memcmp( &ext_header.Signature, "PE\0\0", 4 ))
++            return ext_header.FileHeader.Machine;
++    }
++
++    return 0;
++}
+ 
  /***********************************************************************
-  *    load_dll  (internal)
-  *
+  *    open_dll_file
+@@ -2232,7 +2337,7 @@ static HANDLE open_dll_file( UNICODE_STRING *nt_name, 
WINE_MODREF **pwm, struct
+  */
+ static NTSTATUS find_dll_file( const WCHAR *load_path, const WCHAR *libname,
+                                WCHAR *filename, ULONG *size, WINE_MODREF 
**pwm,
+-                               HANDLE *handle, struct stat *st )
++                               HANDLE *handle, struct stat *st, BOOL 
check_arch )
+ {
+     UNICODE_STRING nt_name;
+     WCHAR *file_part, *ext, *dllname;
+@@ -2277,20 +2382,41 @@ static NTSTATUS find_dll_file( const WCHAR *load_path, 
const WCHAR *libname,
+ 
+     if (RtlDetermineDosPathNameType_U( libname ) == RELATIVE_PATH)
+     {
+-        /* we need to search for it */
+-        len = RtlDosSearchPath_U( load_path, libname, NULL, *size, filename, 
&file_part );
+-        if (len)
++        while (load_path)
+         {
++            /* we need to search for it */
++            len = RtlDosSearchPath_U( load_path, libname, NULL, *size, 
filename, &file_part );
++            if (!len) break;
++
+             if (len >= *size) goto overflow;
+             if ((*pwm = find_fullname_module( filename ))) goto found;
++            if (!handle) goto next;
+ 
+             if (!RtlDosPathNameToNtPathName_U( filename, &nt_name, NULL, NULL 
))
+             {
+                 RtlFreeHeap( GetProcessHeap(), 0, dllname );
+                 return STATUS_NO_MEMORY;
+             }
++
+             *handle = open_dll_file( &nt_name, pwm, st );
+-            goto found;
++
++        #ifdef CURRENT_ARCH
++            if (*handle && check_arch)
++            {
++                WORD machine_type = get_machine_type( *handle );
++                if (machine_type && machine_type != CURRENT_ARCH)
++                {
++                    FIXME( "skipping %s because of wrong architecture\n", 
debugstr_w(filename) );
++                    NtClose( *handle );
++                    *handle = 0;
++                }
++            }
++        #endif
++            if (*handle) goto found;
++
++        next:
++            load_path = strchrW(load_path, ';');
++            if (load_path) load_path++;
+         }
+ 
+         /* not found */
+@@ -2338,8 +2464,10 @@ overflow:
   * Load a PE style module according to the load order.
   * The loader_section must be locked while calling this function.
   */
@@ -147,9 +313,20 @@
 +static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, LPCWSTR 
fakemodule,
 +                          DWORD flags, WINE_MODREF** pwm )
  {
++    BOOL data = flags & (LOAD_LIBRARY_AS_DATAFILE | 
LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE);
      enum loadorder loadorder;
      WCHAR buffer[64];
-@@ -2301,6 +2304,25 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
+     WCHAR *filename;
+@@ -2356,7 +2484,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
+     size = sizeof(buffer);
+     for (;;)
+     {
+-        nts = find_dll_file( load_path, libname, filename, &size, pwm, 
&handle, &st );
++        nts = find_dll_file( load_path, libname, filename, &size, pwm, 
&handle, &st, !data );
+         if (nts == STATUS_SUCCESS) break;
+         if (filename != buffer) RtlFreeHeap( GetProcessHeap(), 0, filename );
+         if (nts != STATUS_BUFFER_TOO_SMALL) return nts;
+@@ -2376,6 +2504,25 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
      }
  
      main_exe = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
@@ -175,12 +352,12 @@
      loadorder = get_load_order( main_exe ? main_exe->ldr.BaseDllName.Buffer : 
NULL, filename );
  
      if (handle && is_fake_dll( handle ))
-@@ -2323,22 +2345,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
+@@ -2398,22 +2545,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
          if (!handle) nts = STATUS_DLL_NOT_FOUND;
          else
          {
--            nts = load_native_dll( load_path, filename, handle, flags, pwm );
-+            nts = load_native_dll( load_path, filename, fakemodule, handle, 
flags, pwm );
+-            nts = load_native_dll( load_path, filename, handle, flags, pwm, 
&st );
++            nts = load_native_dll( load_path, filename, fakemodule, handle, 
flags, pwm, &st );
              if (nts == STATUS_INVALID_IMAGE_NOT_MZ)
                  /* not in PE format, maybe it's a builtin */
 -                nts = load_builtin_dll( load_path, filename, handle, flags, 
pwm );
@@ -203,16 +380,16 @@
          if (nts == STATUS_SUCCESS && loadorder == LO_DEFAULT &&
              (MODULE_InitDLL( *pwm, DLL_WINE_PREATTACH, NULL ) != 
STATUS_SUCCESS))
          {
-@@ -2348,7 +2370,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
+@@ -2423,7 +2570,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR 
libname, DWORD flags, WINE_
              nts = STATUS_DLL_NOT_FOUND;
          }
          if (nts == STATUS_DLL_NOT_FOUND && loadorder != LO_BUILTIN)
--            nts = load_native_dll( load_path, filename, handle, flags, pwm );
-+            nts = load_native_dll( load_path, filename, fakemodule, handle, 
flags, pwm );
+-            nts = load_native_dll( load_path, filename, handle, flags, pwm, 
&st );
++            nts = load_native_dll( load_path, filename, fakemodule, handle, 
flags, pwm, &st );
          break;
      }
  
-@@ -2381,7 +2403,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR 
path_name, DWORD flags,
+@@ -2456,7 +2603,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR 
path_name, DWORD flags,
      RtlEnterCriticalSection( &loader_section );
  
      if (!path_name) path_name = 
NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
@@ -221,7 +398,16 @@
  
      if (nts == STATUS_SUCCESS && !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
      {
-@@ -3349,7 +3371,7 @@ void __wine_process_init(void)
+@@ -2495,7 +2642,7 @@ NTSTATUS WINAPI LdrGetDllHandle( LPCWSTR load_path, 
ULONG flags, const UNICODE_S
+     size = sizeof(buffer);
+     for (;;)
+     {
+-        status = find_dll_file( load_path, name->Buffer, filename, &size, 
&wm, &handle, &st );
++        status = find_dll_file( load_path, name->Buffer, filename, &size, 
&wm, &handle, &st, TRUE );
+         if (handle) NtClose( handle );
+         if (filename != buffer) RtlFreeHeap( GetProcessHeap(), 0, filename );
+         if (status != STATUS_BUFFER_TOO_SMALL) break;
+@@ -3420,7 +3567,7 @@ void __wine_process_init(void)
      /* setup the load callback and create ntdll modref */
      wine_dll_set_callback( load_builtin_callback );
  
@@ -231,7 +417,7 @@
          MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
          exit(1);
 diff --git a/dlls/ntdll/loadorder.c b/dlls/ntdll/loadorder.c
-index 157d2cb2d7..9b2eab2cb9 100644
+index c6c0245931..c247a50380 100644
 --- a/dlls/ntdll/loadorder.c
 +++ b/dlls/ntdll/loadorder.c
 @@ -290,102 +290,165 @@ static inline enum loadorder get_env_load_order( const 
WCHAR *module )
@@ -258,7 +444,7 @@
 +    attr.SecurityQualityOfService = NULL;
 +    RtlInitUnicodeString( &nameW, key_name );
 +
-+    if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr )) hkey = 0;
++    if (NtOpenKey( &hkey, KEY_WOW64_64KEY | KEY_ALL_ACCESS, &attr )) hkey = 0;
 +    NtClose( root );
 +
 +    return hkey;
@@ -474,40 +660,28 @@
      {
          TRACE( "got standard key %s for %s\n", debugstr_loadorder(ret), 
debugstr_w(module) );
          return ret;
-@@ -424,24 +487,44 @@ static enum loadorder get_load_order_value( HANDLE 
std_key, HANDLE app_key, cons
- 
+@@ -422,25 +485,43 @@ static enum loadorder get_load_order_value( HANDLE 
std_key, HANDLE app_key, cons
+     return ret;
+ }
  
- /***************************************************************************
-- *    get_load_order   (internal)
-+ *    get_redirect_value
-  *
-- * Return the loadorder of a module.
-- * The system directory and '.dll' extension is stripped from the path.
++ /***************************************************************************
++ *     get_redirect_value
++ *
 + * Get the redirect value for the exact specified module string, looking in:
 + * 1. The per-application DllRedirects key
 + * 2. The standard DllRedirects key
-  */
--enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path )
++ */
 +static WCHAR* get_redirect_value( HANDLE std_key, HANDLE app_key, const WCHAR 
*module,
 +                                  BYTE *buffer, ULONG size )
- {
--    enum loadorder ret = LO_INVALID;
--    HANDLE std_key, app_key = 0;
--    WCHAR *module, *basename;
--    UNICODE_STRING path_str;
--    int len;
++{
 +    WCHAR *ret = NULL;
- 
--    if (!init_done) init_load_order();
--    std_key = get_standard_key();
--    if (app_name) app_key = get_app_key( app_name );
++
 +    if (app_key && (ret = get_registry_string( app_key, module, buffer, size 
)))
 +    {
 +        TRACE( "got app defaults %s for %s\n", debugstr_w(ret), 
debugstr_w(module) );
 +        return ret;
 +    }
- 
--    TRACE("looking for %s\n", debugstr_w(path));
++
 +    if (std_key && (ret = get_registry_string( std_key, module, buffer, size 
)))
 +    {
 +        TRACE( "got standard key %s for %s\n", debugstr_w(ret), 
debugstr_w(module) );
@@ -516,23 +690,32 @@
 +
 +    return ret;
 +}
-+
-+
-+/***************************************************************************
-+ *    get_module_basename
-+ *
-+ * Determine the module basename. The caller is responsible for releasing
-+ * the memory.
-+ */
+ 
+ /***************************************************************************
+- *    get_load_order   (internal)
++ *    get_module_basename   (internal)
+  *
+  * Return the loadorder of a module.
+  * The system directory and '.dll' extension is stripped from the path.
+  */
+-enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path )
 +static WCHAR* get_module_basename( const WCHAR *path, WCHAR **basename )
-+{
-+    UNICODE_STRING path_str;
+ {
+-    enum loadorder ret = LO_INVALID;
+-    HANDLE std_key, app_key = 0;
+-    WCHAR *module, *basename;
+     int len;
+-
+-    if (!init_done) init_load_order();
+-    std_key = get_standard_key();
+-    if (app_name) app_key = get_app_key( app_name );
+-
+-    TRACE("looking for %s\n", debugstr_w(path));
 +    WCHAR *module;
-+    int len;
  
      /* Strip path information if the module resides in the system directory
       */
-@@ -453,12 +536,36 @@ enum loadorder get_load_order( const WCHAR *app_name, 
const WCHAR *path )
+@@ -451,12 +532,36 @@ enum loadorder get_load_order( const WCHAR *app_name, 
const WCHAR *path )
          if (!strchrW( p, '\\' ) && !strchrW( p, '/' )) path = p;
      }
  
@@ -572,7 +755,7 @@
  
      /* first explicit module name */
      if ((ret = get_load_order_value( std_key, app_key, module+1 )) != 
LO_INVALID)
-@@ -489,3 +596,48 @@ enum loadorder get_load_order( const WCHAR *app_name, 
const WCHAR *path )
+@@ -487,3 +592,48 @@ enum loadorder get_load_order( const WCHAR *app_name, 
const WCHAR *path )
      RtlFreeHeap( GetProcessHeap(), 0, module );
      return ret;
  }
@@ -622,10 +805,10 @@
 +    return ret;
 +}
 diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
-index 907bbdd2d9..3c90389fa6 100644
+index 85bdd9ed05..0eb5ae6241 100644
 --- a/dlls/ntdll/ntdll_misc.h
 +++ b/dlls/ntdll/ntdll_misc.h
-@@ -208,6 +208,7 @@ enum loadorder
+@@ -214,6 +214,7 @@ enum loadorder
  };
  
  extern enum loadorder get_load_order( const WCHAR *app_name, const WCHAR 
*path ) DECLSPEC_HIDDEN;
@@ -634,7 +817,7 @@
  struct debug_info
  {
 diff --git a/programs/winecfg/Makefile.in b/programs/winecfg/Makefile.in
-index 7b52a6943e..c86fdd07d0 100644
+index d516778834..dd847307cd 100644
 --- a/programs/winecfg/Makefile.in
 +++ b/programs/winecfg/Makefile.in
 @@ -11,6 +11,7 @@ C_SRCS = \
@@ -842,5 +1025,5 @@
  
  /* @makedep: winecfg.ico */
 -- 
-2.15.0
+2.16.2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wine-d3d9-patches-2.20/staging-helper.patch 
new/wine-d3d9-patches-3.3/staging-helper.patch
--- old/wine-d3d9-patches-2.20/staging-helper.patch     2017-11-06 
04:33:09.000000000 +0100
+++ new/wine-d3d9-patches-3.3/staging-helper.patch      2018-03-04 
18:58:49.000000000 +0100
@@ -1,7 +1,7 @@
-From 292a2474457aebe491984f07d952f53bf8ec77dc Mon Sep 17 00:00:00 2001
+From c6243cd8229cbbcb9824cfe1fe4be8229028f34b Mon Sep 17 00:00:00 2001
 From: Nick Sarnie <commendsar...@gmail.com>
-Date: Sun, 5 Nov 2017 22:30:35 -0500
-Subject: [PATCH 1/2] Staging Helper
+Date: Sun, 4 Mar 2018 12:16:22 -0500
+Subject: [PATCH] Staging Helper
 
 Signed-off-by: Nick Sarnie <commendsar...@gmail.com>
 ---
@@ -12,10 +12,10 @@
  4 files changed, 33 insertions(+)
 
 diff --git a/dlls/ntdll/loadorder.c b/dlls/ntdll/loadorder.c
-index 3668d73643..24e8a6f109 100644
+index d05d7b321e..7945d2a599 100644
 --- a/dlls/ntdll/loadorder.c
 +++ b/dlls/ntdll/loadorder.c
-@@ -633,8 +633,10 @@ WCHAR* get_redirect( const WCHAR *app_name, const WCHAR 
*path, BYTE *buffer, ULO
+@@ -629,8 +629,10 @@ WCHAR* get_redirect( const WCHAR *app_name, const WCHAR 
*path, BYTE *buffer, ULO
          goto done;
  
      /* then module basename without '*' (only if explicit path) */
@@ -119,5 +119,5 @@
  
  LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 -- 
-2.15.0
+2.16.2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wine-d3d9-patches-2.20/wine-d3d9.patch 
new/wine-d3d9-patches-3.3/wine-d3d9.patch
--- old/wine-d3d9-patches-2.20/wine-d3d9.patch  2017-11-06 04:33:09.000000000 
+0100
+++ new/wine-d3d9-patches-3.3/wine-d3d9.patch   2018-03-04 18:58:49.000000000 
+0100
@@ -1,7 +1,7 @@
-From f8574ff8a8c64fe6ab7a4399eb0d693e926f45d1 Mon Sep 17 00:00:00 2001
+From 60db98243f61cf283510f81dfd5437d989602b3f Mon Sep 17 00:00:00 2001
 From: Nick Sarnie <commendsar...@gmail.com>
-Date: Sun, 5 Nov 2017 22:31:07 -0500
-Subject: [PATCH 2/2] Wine D3D9
+Date: Sun, 4 Mar 2018 12:17:42 -0500
+Subject: [PATCH] Wine D3D9
 
 Signed-off-by: Nick Sarnie <commendsar...@gmail.com>
 ---
@@ -41,10 +41,10 @@
  create mode 100644 dlls/d3d9-nine/wndproc.h
 
 diff --git a/configure.ac b/configure.ac
-index 7a8fcc4987..0f2a45f336 100644
+index 3735c1695e..ed65e21469 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -67,6 +67,14 @@ AC_ARG_WITH(openal,    
AS_HELP_STRING([--without-openal],[do not use OpenAL]),
+@@ -69,6 +69,14 @@ AC_ARG_WITH(openal,    
AS_HELP_STRING([--without-openal],[do not use OpenAL]),
  AC_ARG_WITH(opencl,    AS_HELP_STRING([--without-opencl],[do not use OpenCL]),
              [if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; 
ac_cv_header_OpenCL_opencl_h=no; fi])
  AC_ARG_WITH(opengl,    AS_HELP_STRING([--without-opengl],[do not use OpenGL]))
@@ -59,7 +59,7 @@
  AC_ARG_WITH(osmesa,     AS_HELP_STRING([--without-osmesa],[do not use the 
OSMesa library]))
  AC_ARG_WITH(oss,       AS_HELP_STRING([--without-oss],[do not use the OSS 
sound support]))
  AC_ARG_WITH(pcap,      AS_HELP_STRING([--without-pcap],[do not use the Packet 
Capture library]),
-@@ -391,6 +399,8 @@ AC_CHECK_LIB(ossaudio,_oss_ioctl)
+@@ -415,6 +423,8 @@ AC_CHECK_LIB(ossaudio,_oss_ioctl)
  
  AC_SUBST(OPENGL_LIBS,"")
  
@@ -68,7 +68,7 @@
  dnl **** Check for header files ****
  
  AC_SYS_LARGEFILE()
-@@ -1248,6 +1258,183 @@ OpenGL and Direct3D won't be supported.])
+@@ -1261,6 +1271,183 @@ OpenGL and Direct3D won't be supported.])
      WINE_NOTICE_WITH(va,[test "x$ac_cv_lib_soname_va" = "x" -o 
"x$ac_cv_lib_soname_va_x11" = "x" -o "x$ac_cv_lib_soname_va_drm" = "x"],
                       [libva ${notice_platform}development files not found, 
GPU video acceleration won't be supported.])
  
@@ -252,9 +252,9 @@
      CPPFLAGS="$ac_save_CPPFLAGS"
  else
      X_CFLAGS=""
-@@ -3127,6 +3314,7 @@ WINE_CONFIG_DLL(d3d8,,[implib])
+@@ -3189,6 +3376,7 @@ WINE_CONFIG_DLL(d3d8)
  WINE_CONFIG_TEST(dlls/d3d8/tests)
- WINE_CONFIG_DLL(d3d9,,[implib])
+ WINE_CONFIG_DLL(d3d9)
  WINE_CONFIG_TEST(dlls/d3d9/tests)
 +WINE_CONFIG_DLL(d3d9-nine,,[implib])
  WINE_CONFIG_DLL(d3dcompiler_33)
@@ -5781,5 +5781,5 @@
 +
 +#endif
 -- 
-2.15.0
+2.16.2
 

++++++ wine-staging-2.21.tar.xz -> wine-staging-3.3.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-staging-2.21.tar.xz 
/work/SRC/openSUSE:Factory/.wine.new/wine-staging-3.3.tar.xz differ: char 26, 
line 1


++++++ winetricks ++++++
--- /var/tmp/diff_new_pack.sNFleW/_old  2018-03-07 10:34:53.826003544 +0100
+++ /var/tmp/diff_new_pack.sNFleW/_new  2018-03-07 10:34:53.830003400 +0100
@@ -34,7 +34,7 @@
 # - zenity is needed by the GUI, though it can limp along somewhat with 
kdialog/xmessage.
 # - xdg-open (if present) or open (for OS X) is used to open download pages
 #   for the user when downloads cannot be fully automated.
-# - pfexec, sudo, or kdesu (gksu/gksudo/kdesudo are deprecated upstream but 
also still supported)
+# - pkexec, sudo, or kdesu (gksu/gksudo/kdesudo are deprecated upstream but 
also still supported)
 #   are used to mount .iso images if the user cached them with -k option.
 # - perl is used to munge steam config files.
 # - torify is used with option "--torify" if sites are blocked in single 
countries.
@@ -1178,6 +1178,9 @@
 
             w_try_cd "$_W_dl_olddir"
             unset _W_dl_olddir
+
+            # downloaded successfully, exit from loop
+            break
         elif test $tries = 2; then
             test -f "$_W_file" && rm "$_W_file"
             w_die "Downloading $_W_url failed"
@@ -14094,7 +14097,7 @@
             WinWait, Call of Duty, Start
             ControlClick Button1
         }
-        WinWait, Insert CD, Please insert the Call of Duty w_try_cd 2
+        WinWait, Insert CD, Please insert the Call of Duty cd 2
         "
 
     "$WINE" eject ${W_ISO_MOUNT_LETTER}:
@@ -14105,7 +14108,7 @@
         if ( w_opt_unattended > 0 ) {
             Send {Enter}    ;continue installation
         }
-        WinWait, Insert CD, Please insert the Call of Duty w_try_cd 1
+        WinWait, Insert CD, Please insert the Call of Duty cd 1
     "
 
     "$WINE" eject ${W_ISO_MOUNT_LETTER}:


Reply via email to