Compare commits

...

115 Commits

Author SHA1 Message Date
Sebastian Lackner
e4d758a10b Release 1.7.28. 2014-10-04 04:40:22 +02:00
Sebastian Lackner
35bcebd562 ntdll-WRITECOPY: Merge patches 4 and 7. 2014-10-04 04:02:07 +02:00
Sebastian Lackner
e273769702 ntdll-WRITECOPY: Fix some additional issues, disable this patch by default since it might trigger additional Wine bugs. 2014-10-04 03:28:03 +02:00
Sebastian Lackner
7f43d57d01 Added tests for patch ntdll-loader_EntryPoint. 2014-10-03 22:18:32 +02:00
Sebastian Lackner
b585bfb7f4 Added patch for FindFirstFileExW level FindExInfoBasic. 2014-10-03 21:04:01 +02:00
Sebastian Lackner
6a19f586ea Added patch to implement NtQuerySection. 2014-10-03 18:25:08 +02:00
Michael MĂĽller
8634ed8ea4 Use original memory protection flags for x86_64 in WRITECOPY patch. 2014-10-03 17:45:26 +02:00
Michael MĂĽller
339e6431d0 Solve builtin dll problem in WRITECOPY patch. 2014-10-03 17:31:47 +02:00
Sebastian Lackner
aaf0c7d2dc kernel32-FindFirstFile: Remove patch (accepted upstream), update changelog. 2014-10-03 00:21:12 +02:00
Sebastian Lackner
2616a89d50 Show winediag message informing about applied patches, append '(Compholio)' to wine --version string. 2014-10-02 20:04:58 +02:00
Sebastian Lackner
4f5b5fa483 Rename wine_patch struct field hash to name. 2014-10-02 20:03:19 +02:00
Erich E. Hoover
c4b33f044e Remove unneeded free protection patches. 2014-10-02 10:19:39 -06:00
Sebastian Lackner
f2f8ea98c5 Removed several patches (accepted upstream). 2014-10-01 21:54:28 +02:00
Sebastian Lackner
fb86960b4f shlwapi-SH_Shared: Fix test failures on Windows7/8 testbots. 2014-10-01 03:26:57 +02:00
Michael MĂĽller
108cd9f304 Add patch to handle WRITECOPY memory protection properly. 2014-10-01 03:14:07 +02:00
Sebastian Lackner
7a36c29ef4 Rebase riched20-IText_Interface patches. 2014-10-01 02:51:16 +02:00
Sebastian Lackner
f062a5a3ba Added patch to fix implementation of SH*Shared commands. 2014-10-01 02:44:22 +02:00
Sebastian Lackner
fa52b6489a Fix compilation issue introduced by e8107fe104. 2014-09-30 18:25:38 +02:00
Sebastian Lackner
e8107fe104 Remove several patches (accepted upstream). 2014-09-29 23:08:35 +02:00
Sebastian Lackner
b4642f5151 Forward return value from QueryInterface instead of always returning S_OK. 2014-09-29 04:57:30 +02:00
Sebastian Lackner
e9da761795 Added patch for IRichEditOle and ITextDocument support for ITextServices. 2014-09-29 04:50:06 +02:00
Sebastian Lackner
acacbd588d Added patch to limit cross thread access to ImmSet* functions. 2014-09-29 02:52:26 +02:00
Sebastian Lackner
ed22aea5bd Added patch to export ?_BADOFF@std@@3_JB on both i386 and win64. 2014-09-29 00:23:24 +02:00
Sebastian Lackner
6a81960f7a Added patch to fix differences in exception handling behaviour between Wine and Windows. 2014-09-28 23:54:50 +02:00
Michael MĂĽller
8fbca5cb69 Update changelog. 2014-09-28 22:05:42 +02:00
Michael MĂĽller
97d1e27035 Add patch to alter wglShareLists behavior when passing an used context. 2014-09-28 21:56:58 +02:00
Michael MĂĽller
626c7fccd7 Add patch to correctly treat '.' when checking for empty directories. 2014-09-28 21:48:52 +02:00
Michael MĂĽller
9882020ee6 Add patch to add ProductId registry value 2014-09-28 21:40:53 +02:00
Sebastian Lackner
7b26c74d54 Added patch to fix issues when driver dispatch routine returns different status codes. 2014-09-28 17:34:05 +02:00
Sebastian Lackner
a9a8b351ea wined3d-DXTn: Fix typo in commit message. 2014-09-28 00:01:20 +02:00
Sebastian Lackner
d8de3eb6fa Added patch to send WM_PAINT event during dialog creation. 2014-09-26 20:27:43 +02:00
Sebastian Lackner
a5250a0fc4 Added patch for support of FIND_FIRST_EX_CASE_SENSITIVE flag in FindFirstFileExW. 2014-09-25 03:13:16 +02:00
Sebastian Lackner
7dae05d4de Added patch to create desktop shortcuts with absolute wine path. 2014-09-24 21:21:01 +02:00
slackner
d35ca29434 Merge pull request #77 from felixonmars/master
Update winex11-CandidateWindowPos to use a new implementation from slackner.
2014-09-23 17:35:02 +02:00
Felix Yan
4aabc285b9 Update winex11-CandidateWindowPos to use a new implementation from slackner 2014-09-23 23:30:26 +08:00
slackner
421dcf31d5 Merge pull request #76 from felixonmars/master
Added patch to update a candidate window's position with over-the-spot style.
2014-09-22 07:49:37 +02:00
Felix Yan
2f26c3d624 Added patch to update a candidate window's position with over-the-spot style 2014-09-22 13:47:26 +08:00
Sebastian Lackner
f43cf8d682 patchupdate.py: Don't query bugzilla for additional bug information (not displayed in the README page anyway). 2014-09-22 06:27:47 +02:00
Sebastian Lackner
68a575f319 Add recommendation for libtxc-dxtn-s2tc0 on Ubuntu. 2014-09-21 01:46:34 +02:00
Sebastian Lackner
c8164d802d Release 1.7.27. 2014-09-20 05:53:36 +02:00
Sebastian Lackner
d8aaa94042 Add build dependency to libtxc-dxtn-s2tc-dev. 2014-09-20 05:13:54 +02:00
Sebastian Lackner
297a301f35 Added patch to implement software decoding/encoding of DXT1 textures (by Michael MĂĽller).
Since we have a lot of changes to configure.ac, we need to get rid of a bit context in order to apply
them in arbitrary order.
2014-09-20 03:18:27 +02:00
Sebastian Lackner
0f73278955 patchupdate.py: Fix escaping of single quoted strings in definition files. 2014-09-19 16:30:05 +02:00
Sebastian Lackner
299a2daeac Added patch to revert pixelformat changes (caused regression for many apps).
Well, usually we don't revert Wine commits in this branch. In this case the original author of the
patches suggested to revert them, because its unfinished and the rest of the patches will not be
accepted anymore in the near future. Without the complete patchset it causes a lot of side effects
(flickering, black/grey screen, missing video). This makes Wine basically useless for all affected
apps. Since the revert was not accepted upstream, we do it in our branch, until either the problems
are gone, or the revert got accepted.
2014-09-19 04:44:18 +02:00
Sebastian Lackner
969e9d5583 Added patch to silence repeated GSUB_applly_ChainContext[Subst|Pos] FIXMEs. 2014-09-18 00:59:20 +02:00
Sebastian Lackner
312800fa66 riched20-IText_Interface: Removed some patches (accepted upstream), rebased against wine git. 2014-09-17 23:21:23 +02:00
Sebastian Lackner
943405c277 Added patch to avoid filling KdHelp structure for uermode applications. 2014-09-15 22:58:22 +02:00
Sebastian Lackner
d874e1323d Removed several patches (accepted upstream). 2014-09-15 21:08:12 +02:00
Sebastian Lackner
773df03830 Added patch to fix wrapper for glu polygon/contour functions. 2014-09-14 08:03:11 +02:00
Sebastian Lackner
c5f802363f riched20-IText_Interface: Added patch to fix invalid memory access when parent object was destroyed before child object. 2014-09-13 17:27:01 +02:00
Sebastian Lackner
6aecd5a407 riched20-IText_Interface: Rebased patches (first part accepted upstream). 2014-09-13 16:50:22 +02:00
Sebastian Lackner
42f18b7237 Added patch to support FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW. 2014-09-13 01:43:56 +02:00
Sebastian Lackner
4fb2477927 Removed patch to fix uninitialized cch member in GetMenuItemInfo (accepted upstream). 2014-09-09 22:47:34 +02:00
Sebastian Lackner
5ba46f55f2 kernel32-GetSystemTimes: Set errorcode to something useful in case of a failure. 2014-09-09 16:36:30 +02:00
Sebastian Lackner
774f0634ba kernel32-GetSystemTimes: Fix some issues in the patchset. 2014-09-09 16:14:39 +02:00
Sebastian Lackner
797ead4b3c Removed patch to use assembly wrapper for TLS callbacks (accepted upstream). 2014-09-08 21:15:09 +02:00
Sebastian Lackner
9a4a7e1cb3 Release 1.7.26. 2014-09-07 23:51:44 +02:00
Sebastian Lackner
6053bea2da Updated debian/changelog. 2014-09-07 22:20:51 +02:00
Michael MĂĽller
c83e83b911 Add patch for GetMenuItemInfo. 2014-09-07 20:26:44 +02:00
Sebastian Lackner
aaf6e38a98 configure-Detect_Gnutls: Still not the right library, check for linking against libgnutls-openssl.so. 2014-09-07 19:19:26 +02:00
Sebastian Lackner
b33ea6c233 configure-Detect_Gnutls: Try 2, maybe Ubuntu 14.10 links against libgnutls-openssl.so? 2014-09-07 17:12:17 +02:00
Sebastian Lackner
f5abff47fb README.md: Some improvements in the first chapter. 2014-09-07 16:31:57 +02:00
Sebastian Lackner
1a5b602120 Remove deprecated information from debian/control (patchlist incomplete, and 31993 already fixed upstream). 2014-09-07 16:12:35 +02:00
Sebastian Lackner
7b90cca3d7 Added patch to (hopefully) fix detection of gnutls on Ubuntu 14.10. 2014-09-07 08:14:56 +02:00
Sebastian Lackner
6bca298771 patchupdate.py: Fix whitespace issue in 'Modified files' string. 2014-09-07 01:53:29 +02:00
Sebastian Lackner
ba1bf62faa Added additional patch to use assembly wrapper for TLS callbacks. 2014-09-07 01:51:30 +02:00
Sebastian Lackner
1598a4326e Added missing file ... there should be some automatic check for that ;) 2014-09-06 05:17:21 +02:00
Sebastian Lackner
baae7829ff Added patch to silence noise when compiling with -Werror on Archlinux. 2014-09-06 05:06:09 +02:00
Sebastian Lackner
41b4bc29a0 server-Inherited_ACLs: One more small fix to ensure we don't dereference a NULL pointer. 2014-09-06 04:07:11 +02:00
Sebastian Lackner
1d0979cb9b server-Inherited_ACLs: Fix leaking combined security descriptor and parent_sd. 2014-09-06 04:00:58 +02:00
Sebastian Lackner
b91cca8e61 server-Inherited_ACLs: More bugfixes (easy ones). 2014-09-06 03:10:50 +02:00
Sebastian Lackner
130fbbe654 server-Inherited_ACLs: Remove unused flag. 2014-09-06 00:34:40 +02:00
Sebastian Lackner
e536c2d707 server-ACL_Compat/server-Inherited_ACLs: Avoid creating unnecessary file object for checking the parent SDs. 2014-09-06 00:02:39 +02:00
Sebastian Lackner
6c26951aae server-Inherited_ACLs: Added check for return value of strndup, improve detection of parent directory.
This is the same method that is used to traverse the path in kernel32.dll. Its still not perfect, because
the wineserver will easily get confused by symlinks. In this case the attributes should be inherited
from the real parent directory, not from the directory that contains the symlink.
2014-09-05 22:53:25 +02:00
Sebastian Lackner
cc1c1f12ae Removed patch to fix detection of ncurses on Archlinux (accepted upstream). 2014-09-05 18:44:34 +02:00
Sebastian Lackner
b1a5dfb1f7 Updated libncursesw patch to be FreeBSD/MacOS compatible. 2014-09-04 22:23:45 +02:00
Sebastian Lackner
3cd7f91608 Removed patchset msi-MoveFiles (accepted upstream). 2014-09-04 22:04:40 +02:00
Sebastian Lackner
752393bbe3 Replace ncurses fix with easier solution (regex pattern instead of checking for two libs). 2014-09-04 09:34:49 +02:00
Sebastian Lackner
4c094dc57d Makefile: Add support for 'series' and 'install-git' target. 2014-09-04 04:46:15 +02:00
Sebastian Lackner
5cab0e1b8f kernel32-GetVolumePathName: Fix possible leak and merge patches 1 and 5. 2014-09-03 13:58:27 +02:00
Sebastian Lackner
819a738d3d server-ACL_Compat: Make parser more strict and clean up code.
Voila! This new parser should catch all invalid security descriptor ACLs... I
only hope that it doesn't block valid ones. Probably makes sense to do some testing
before the release. ;)
2014-09-03 00:28:40 +02:00
Sebastian Lackner
4caa3f834f server-ACL_Compat: Fix some style issues and buffer handling errors.
As we probably shouldn't remove ACL_Compat too soon, we have to maintain it unfortunately...
It would crash easily at the moment, when the extended attribute contains invalid data.
This patch is the easy part, there are a lot more issues left in the parser.
2014-09-02 07:13:24 +02:00
Sebastian Lackner
749bdd1781 Added patch to fix some of the issues with GetVolumePathName. 2014-09-02 05:37:54 +02:00
Sebastian Lackner
a118c9b4bd Added additional tests for GetVolumePathName (todo_wine still missing...). 2014-09-02 05:25:35 +02:00
Sebastian Lackner
b0f0c3ea9f kernel32-GetFinalPathNameByHandle: Fix an incorrect comment. 2014-09-01 23:47:48 +02:00
Sebastian Lackner
e272c49cd8 kernel32-GetFinalPathNameByHandle: Fix possible issues if GetVolumePathNameW changes upper/lowercase of characters. 2014-09-01 23:34:01 +02:00
Sebastian Lackner
c51df83deb kernel32-GetVolumePathName: Avoid reformatting unchanged lines. 2014-09-01 22:48:15 +02:00
Sebastian Lackner
c45a17079d Explicitly run patch scripts with python2 (since Archlinux has 3 installed by default). 2014-09-01 21:32:23 +02:00
Sebastian Lackner
faf78575ac Added patch to fix detection of ncurses library on Archlinux. 2014-09-01 21:30:32 +02:00
Sebastian Lackner
027b85ed1b Fix formatting issue in debian/changelog. 2014-08-29 22:43:06 +02:00
Sebastian Lackner
9b303a4f82 server-Stored_ACLs: Fix check for invalid security descriptors.
Checking for the length is not sufficient. The values contained in the SD (like AceCount) could
still be garbage, and lead to errors when the SD is processed later.
2014-08-29 04:22:32 +02:00
Sebastian Lackner
4ff0b53021 server-Inherited_ACLs: Avoid using different sizes for mem_alloc and memcpy, some style cleanup.
It is a bit risky to use two different values for mem_alloc and memcpy - under some circumstances
these values probably don't match, leading to an invalid memory access. As the ACLs are accessed
without any special checks this shows that we'll also need additional protection in one of the
earlier patches.
2014-08-29 03:58:31 +02:00
Sebastian Lackner
04d674d9b6 server-Stored_ACLs: Minor cleanup.
We can avoid some variable declarations in the regular code, and only need them for ACL_Compat.
2014-08-29 03:37:44 +02:00
Sebastian Lackner
e91e2daca4 ntdll-DOS_Attributes: Minor cleanup.
I think its more clear when all functions that take a tuple (struct stat, ULONG attr)
use the same argument order. Besides that I've removed the "const" prefix from ULONG
variables.
2014-08-28 18:11:00 +02:00
Sebastian Lackner
ece1d51745 ntdll-Fix_Free: Move fix for invalid memory access to patch 9, which introduced the error. 2014-08-28 07:26:53 +02:00
Sebastian Lackner
125673271d Simplify logic in patch to indicate direct rendering through OpenGL extension. 2014-08-28 07:14:02 +02:00
Sebastian Lackner
da7d2715d3 bcrypt-BCryptGetFipsAlgorithmMode: Don't expect mode to be off (otherwise it will be difficult to get this patch upstream). 2014-08-28 07:10:32 +02:00
Sebastian Lackner
e2f635a164 Fix copy&paste error in Junction_Point tests. 2014-08-28 06:14:52 +02:00
Sebastian Lackner
9e6408add9 Fix invalid memory access and handle leak in Fix_Free / Junction_Point patches. 2014-08-28 05:48:17 +02:00
Sebastian Lackner
f6566f892d README.md: Move most of the content to the Wiki. 2014-08-28 04:39:29 +02:00
Sebastian Lackner
9c80cd53f9 patchupdate.py: Clean up some comments and spelling fixes. 2014-08-28 04:06:16 +02:00
Sebastian Lackner
f4e3d72fc1 patchupdate.py: Fix issue in patch dependency detection (ntdll-Junction_Points depend on ntdll-Fix_Free to apply properly). 2014-08-28 03:53:34 +02:00
Sebastian Lackner
15a19d27fc patchupdate.py: Fix typo in name of exception. 2014-08-28 03:53:23 +02:00
Sebastian Lackner
a8f3f9c4e4 Added patch to improve heap allocation performance. 2014-08-27 02:58:27 +02:00
Sebastian Lackner
3246faa114 Add patch to fix issues with setcap on wine-preloader executable. 2014-08-27 00:38:26 +02:00
Sebastian Lackner
4e4a8b7d32 Fix issue in winepulse patches (wrong syntax in configure script). 2014-08-26 23:23:59 +02:00
Sebastian Lackner
cf5a6bdbf3 Add patch to make allow dynamic linking of wpcap. 2014-08-26 23:04:55 +02:00
Erich E. Hoover
7e7a3881c4 Fix (safe) duplicate free in last 'Free Fix' patch. 2014-08-26 12:22:36 -06:00
Erich E. Hoover
023b7bd4cb Revise README message for ntdll leak fixes. 2014-08-25 09:22:53 -06:00
Erich E. Hoover
ff169cd1b7 Add fix for unintentional leaks with ntdll internals. 2014-08-25 09:18:10 -06:00
Erich E. Hoover
5f93d74102 Remove unintentionally added experimental Junction Point patch. 2014-08-24 13:52:18 -06:00
Erich E. Hoover
ce3f41cee9 Merge updates in master. 2014-08-24 13:50:56 -06:00
Erich E. Hoover
d447778cfb Revise the DOS attributes patch to simplify the addition of extended attributes. 2014-08-20 22:36:51 -06:00
Michael MĂĽller
6fa663e823 Add patch for linker version in PE header. 2014-08-20 22:36:51 -06:00
Erich E. Hoover
fa92b283ed Added patch to implement DOS hidden/system file attributes. 2014-08-20 19:22:07 -06:00
146 changed files with 8308 additions and 3419 deletions

View File

@@ -32,15 +32,15 @@ before proceeding.
As the first step please grab the latest Wine source:
```bash
wget http://prdownloads.sourceforge.net/wine/wine-1.7.25.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.25.tar.gz
wget http://prdownloads.sourceforge.net/wine/wine-1.7.28.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.28.tar.gz
```
Extract the archives:
```bash
tar xvjf wine-1*.tar.bz2
cd wine-1*
tar xvzf ../v1.7.25.tar.gz --strip-components 1
tar xvzf ../v1.7.28.tar.gz --strip-components 1
```
And apply the patches:

454
README.md
View File

@@ -1,379 +1,113 @@
What is Wine-Compholio?
=======================
The **Wine "Compholio" Edition** is a special patched version of Wine that
includes both patches written by our team directly and specific patches by
third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted
to upstream Wine - don't be surprised if you encounter additional bugs,
which are not present in regular wine, and always report such issues to us
(via github), so we can improve our fixes even further. Thanks!
**Warning: Do not report bugs at bugs.winehq.org when using this version!
Please take a look at our
[Wiki](https://github.com/compholio/wine-compholio/wiki/Reporting-bugs)
for more information about how to report bugs.**
The **Wine "Compholio" Edition** is a special build of the popular Wine
software that includes both patches written by our team and selected patches
by third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted to
upstream Wine - don't be surprised if you encounter additional bugs, which are
not present in regular wine, and always report such issues to us (via github!),
so we can improve our fixes even further. Thanks!
How to install and use Wine-Compholio
=====================================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions available on the
[Wiki](https://github.com/compholio/wine-compholio/wiki/Installation).
When using Wine-Compholio there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type `wine` to
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the
[Wiki](https://github.com/compholio/wine-compholio/wiki/Usage).
Included bugfixes and improvements
----------------------------------
==================================
**Bugs fixed in Wine-Compholio 1.7.25 [53]:**
**Bugs fixed in Wine-Compholio 1.7.28 [73]:**
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "JLC's Internet TV crashes on startup"))
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](http://bugs.winehq.org/show_bug.cgi?id=36374 "Israel timezone handled incorrectly"))
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767))
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](http://bugs.winehq.org/show_bug.cgi?id=36374))
* Add default ACLs for user shell folders
* Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name"))
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](http://bugs.winehq.org/show_bug.cgi?id=30639 "Audio stuttering and performance drops in Star Wolves 3"))
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](http://bugs.winehq.org/show_bug.cgi?id=33162 "Acrobat Reader 11 crashes on start (native API application virtualization, NtProtectVirtualMemory removes execute page protection on its own code)"))
* Fix ITERATE_MoveFiles when no source- and destname is specified ([Wine Bug #10085](http://bugs.winehq.org/show_bug.cgi?id=10085 "Adobe Bridge CS2 complains that it can't start due to licensing restrictions (affects photoshop)"))
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](http://bugs.winehq.org/show_bug.cgi?id=10767 "lstrcmp and others do not compare punctuation characters correctly"))
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)"))
* Fix for programs leaking wndproc slots ([Wine Bug #32451](http://bugs.winehq.org/show_bug.cgi?id=32451 "Multiple GOG.com installer bundles show a broken/unresponsive dialog window during installation (installer process running out of wndproc slots)"))
* Fix issue with invisible dragimages in ImageList ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761 "Imagelist invisible dragimage"))
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](http://bugs.winehq.org/show_bug.cgi?id=28768 "Multiple GFWL (Games For Windows Live) 1.x games crash on startup (Kane & Lynch: Dead Men)"))
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)"))
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts"))
* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323 "Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed"))
* Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995))
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](http://bugs.winehq.org/show_bug.cgi?id=30639))
* Correctly treat '.' when checking for empty directories ([Wine Bug #26272](http://bugs.winehq.org/show_bug.cgi?id=26272))
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](http://bugs.winehq.org/show_bug.cgi?id=11436))
* Don't fill KdHelp structure for usermode applications ([Wine Bug #37272](http://bugs.winehq.org/show_bug.cgi?id=37272))
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](http://bugs.winehq.org/show_bug.cgi?id=33162))
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](http://bugs.winehq.org/show_bug.cgi?id=35950))
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](http://bugs.winehq.org/show_bug.cgi?id=10767))
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](http://bugs.winehq.org/show_bug.cgi?id=35718))
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550))
* Fix for programs leaking wndproc slots ([Wine Bug #32451](http://bugs.winehq.org/show_bug.cgi?id=32451))
* Fix gray screen on startup introduced by pixelformat changes. ([Wine Bug #35975](http://bugs.winehq.org/show_bug.cgi?id=35975))
* Fix issue with invisible dragimages in ImageList ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761))
* Fix issues when driver dispatch routine returns different status codes ([Wine Bug #30155](http://bugs.winehq.org/show_bug.cgi?id=30155))
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](http://bugs.winehq.org/show_bug.cgi?id=36900))
* Fix unintentional leaks with ntdll internals
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](http://bugs.winehq.org/show_bug.cgi?id=35655))
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](http://bugs.winehq.org/show_bug.cgi?id=28768))
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980))
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829))
* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323))
* Improvement for heap allocation performance
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](http://bugs.winehq.org/show_bug.cgi?id=25486))
* Limit cross thread access to ImmSet* functions ([Wine Bug #35361](http://bugs.winehq.org/show_bug.cgi?id=35361))
* Lockfree algorithm for filedescriptor cache (improves file access speed)
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](http://bugs.winehq.org/show_bug.cgi?id=18732 "Microsoft Experience Pack for Tablet PC 1 refuses to install"))
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](http://bugs.winehq.org/show_bug.cgi?id=7115 "Need for Speed III installer fails in Win9X mode, reporting \"Could not get 'HardWareKey' value\" (active PnP device keys in 'HKEY_DYN_DATA\\\\Config Manager\\\\Enum' missing)"))
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](http://bugs.winehq.org/show_bug.cgi?id=18732))
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](http://bugs.winehq.org/show_bug.cgi?id=7115))
* Other Pipelight-specific enhancements
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](http://bugs.winehq.org/show_bug.cgi?id=32699 "Add StartupWMClass to .desktop files."))
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](http://bugs.winehq.org/show_bug.cgi?id=32699))
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
* Return an error when trying to open a terminated process ([Wine Bug #37087](http://bugs.winehq.org/show_bug.cgi?id=37087 "Gothic 2 english demo fails with 'Conflict: a hook process was found. Please deactivate all Antivirus and Anti-Trojan programs and debuggers.'"))
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174 "Fallout 3: Diologue and Video/sound issues"))
* Return an error when trying to open a terminated process ([Wine Bug #37087](http://bugs.winehq.org/show_bug.cgi?id=37087))
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174))
* SO_CONNECT_TIME returns the appropriate time
* Set ldr.EntryPoint for main executable ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034 "Many GFWL (Games For Windows Live) 1.x/2.x/3.x games crash or exit silently on startup (DiRT 2/3, GTA IV Steam)"))
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](http://bugs.winehq.org/show_bug.cgi?id=34372 "Add missing function AllocateAndGetTcpExTableFromStack() to iphlpapi.dll"))
* Support for BCryptGetFipsAlgorithmMode ([Wine Bug #32194](http://bugs.winehq.org/show_bug.cgi?id=32194 "Multiple games and applications need bcrypt.dll.BCryptGetFipsAlgorithmMode (Chess Position Trainer, Terraria, .NET System.Security.Cryptography)"))
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](http://bugs.winehq.org/show_bug.cgi?id=35652))
* Set ldr.EntryPoint for main executable ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034))
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](http://bugs.winehq.org/show_bug.cgi?id=34372))
* Support for DOS hidden/system file attributes ([Wine Bug #9158](http://bugs.winehq.org/show_bug.cgi?id=9158))
* Support for Dynamic DST (daylight saving time) information in registry
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](http://bugs.winehq.org/show_bug.cgi?id=36073 "OneDrive crashes on unimplemented function KERNEL32.dll.GetFinalPathNameByHandleW"))
* Support for GetSystemTimes ([Wine Bug #19813](http://bugs.winehq.org/show_bug.cgi?id=19813 "Voddler needs GetSystemTimes to run"))
* Support for FindFirstFileExW level FindExInfoBasic ([Wine Bug #37354](http://bugs.winehq.org/show_bug.cgi?id=37354))
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](http://bugs.winehq.org/show_bug.cgi?id=36073))
* Support for GetSystemTimes ([Wine Bug #19813](http://bugs.winehq.org/show_bug.cgi?id=19813))
* Support for GetVolumePathName
* Support for ITextDocument_fnRange function ([Wine Bug #12458](http://bugs.winehq.org/show_bug.cgi?id=12458 "Multiple apps fail due to RichEdit ITextDocument_fnRange stub (MySQL Workbench, BlitzMaxDemo137)"))
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](http://bugs.winehq.org/show_bug.cgi?id=18303 "Adobe Acrobat Pro 7: Crashes when selecting the \"edit\" menu while having a file open."))
* Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401 "Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)"))
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](http://bugs.winehq.org/show_bug.cgi?id=30385 "Windows Live Essentials 2011 web installer fails to download packages in background (shell32.SHGetKnownFolderPath missing support for KF_FLAG_DEFAULT_PATH)"))
* Support for LoadIconMetric ([Wine Bug #35375](http://bugs.winehq.org/show_bug.cgi?id=35375 "Multiple applications need Vista+ API COMCTL32.dll.380 a.k.a. 'LoadIconMetric' (Solidworks 2013 systray monitor, Microsoft One/SkyDrive)"))
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](http://bugs.winehq.org/show_bug.cgi?id=30397 "Multiple applications need support for NtSetInformationFile class FileDispositionInformation (Cygwin installer, Stylizer 5.x Visual CSS editor, Spoon Studio 2011 (ex Xenocode) application sandboxing scheme)"))
* Support for PulseAudio backend for audio ([Wine Bug #10495](http://bugs.winehq.org/show_bug.cgi?id=10495 "Wine should support PulseAudio"))
* Support for SHCreateSessionKey ([Wine Bug #35630](http://bugs.winehq.org/show_bug.cgi?id=35630 "SHCreateSessionKey is unimplemented"))
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](http://bugs.winehq.org/show_bug.cgi?id=30648 "SEGA Genesis / Mega Drive Classic Collection (Steam) crashes on startup"))
* Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048 "Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE)"))
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903 "Some Microsoft debuggers fail to enumerate processes due to wtsapi32.WTSEnumerateProcessesW() being a stub (Microsoft Visual Studio 2005, DbgCLR from .NET 2.0 SDK)"))
* Support for [Get|Set]SystemFileCacheSize ([Wine Bug #35886](http://bugs.winehq.org/show_bug.cgi?id=35886 "Lotus Notes 9 'cacheset.exe' utility needs KERNEL32.dll.SetSystemFileCacheSize"))
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721 "Explorer++ crashes when choosing to view large icons or extra large icons"))
* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406 "Finale Notepad 2012 doesn't copy/create user files on program start"))
* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328 "Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications"))
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL"))
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858 "Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99%"))
* Support for ws2_32.inet_pton ([Wine Bug #36713](http://bugs.winehq.org/show_bug.cgi?id=36713 "Watch_Dogs requires ws2_32.inet_pton"))
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](http://bugs.winehq.org/show_bug.cgi?id=23033 "Tages Protection v5.x: games report \"DLL not found shell.dll16.dll\" (Runaway 2: The Dream Of The Turtle, ...)"))
* Support for IRichEditOle and ITextDocument support for ITextServices. ([Wine Bug #17042](http://bugs.winehq.org/show_bug.cgi?id=17042))
* Support for ITextDocument_fnRange function ([Wine Bug #12458](http://bugs.winehq.org/show_bug.cgi?id=12458))
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](http://bugs.winehq.org/show_bug.cgi?id=18303))
* Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401))
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](http://bugs.winehq.org/show_bug.cgi?id=30385))
* Support for LoadIconMetric ([Wine Bug #35375](http://bugs.winehq.org/show_bug.cgi?id=35375))
* Support for NtQuerySection ([Wine Bug #37338](http://bugs.winehq.org/show_bug.cgi?id=37338))
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](http://bugs.winehq.org/show_bug.cgi?id=30397))
* Support for PulseAudio backend for audio ([Wine Bug #10495](http://bugs.winehq.org/show_bug.cgi?id=10495))
* Support for SHCreateSessionKey ([Wine Bug #35630](http://bugs.winehq.org/show_bug.cgi?id=35630))
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](http://bugs.winehq.org/show_bug.cgi?id=30648))
* Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048))
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903))
* Support for [Get|Set]SystemFileCacheSize ([Wine Bug #35886](http://bugs.winehq.org/show_bug.cgi?id=35886))
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721))
* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406))
* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328))
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006))
* Support for setcap on wine-preloader ([Wine Bug #26256](http://bugs.winehq.org/show_bug.cgi?id=26256))
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858))
* Support for ws2_32.inet_pton ([Wine Bug #36713](http://bugs.winehq.org/show_bug.cgi?id=36713))
* Unity3D Editor requires ProductId registry value ([Wine Bug #36964](http://bugs.winehq.org/show_bug.cgi?id=36964))
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](http://bugs.winehq.org/show_bug.cgi?id=30938))
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](http://bugs.winehq.org/show_bug.cgi?id=23033))
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](http://bugs.winehq.org/show_bug.cgi?id=29384))
* Workaround for shlwapi URLs with relative paths
* XEMBED support for embedding Wine windows inside Linux applications
* nVidia driver for high-end laptop cards does not list all supported resolutions
How to install Wine-Compholio
=============================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions below to install it (and all required dependencies). After the
installation, please take a look at the next section for instructions how
to use it in order to run your desired application.
**Important:** If you already have installed 'pipelight' on your system, there
is a good chance that you already have Wine-Compholio. Take a look at the
next section on how to find out if this is the case.
If your distribution is not listed below, feel free to add a feature request -
if the demand is high enough we might consider packaging it for additional
distributions.
![alt text](http://repos.fds-team.de/misc/images/ubuntu.png) Ubuntu / Linux Mint
--------------------------------------------------------------------------------
Please run the following commands from a terminal, one line after each other.
```bash
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/arch.png) Arch Linux
---------------------------------------------------------------------
As a first step you have to import the key for our repository, and set the
trust level to trusted:
```bash
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
```
Afterwards you have to add the following lines to `/etc/pacman.conf`:
```
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
```
Now you can install Wine-Compholio directly using `pacman`:
```bash
sudo pacman -Syu wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Jessie/Sid
------------------------------------------------------------------------------
*(Instructions for Debian Wheezy can be found below)*
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Wheezy
--------------------------------------------------------------------------
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/opensuse.png) OpenSUSE
-----------------------------------------------------------------------
All the following steps have to be executed as root user. As a first step
you have to add the repository - this step depends on the openSUSE version
you're using.
| openSUSE version | Path component |
| ------------------- | ----------------------- |
| openSUSE 12.2 | `/openSUSE_12.2/` |
| openSUSE 12.3 | `/openSUSE_12.3/` |
| openSUSE 13.1 | `/openSUSE_13.1/` |
| openSUSE Factory | `/openSUSE_Factory/` |
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
The following commandline is an example for openSUSE 13.1, for a different
version just replace the path component according to the table above:
```bash
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
```
Afterwards just run the following commands to install it:
```bash
zypper ref
zypper install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/fedora.png) Fedora
-------------------------------------------------------------------
**Warning:** In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
As a first step you have to add the repository - this step depends on the
Fedora version you're using.
| Fedora version | Patch component |
| --------------- | --------------- |
| Fedora 18 | `/Fedora_18/` |
| Fedora 19 | `/Fedora_19/` |
| Fedora 20 | `/Fedora_20/` |
The following commandline is an example for Fedora 19, for a different version
just replace the path component according to the table above:
```bash
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
```
Afterwards run the following command to install the package:
```bash
sudo yum install wine-compholio
```
Please note that you might run into trouble if the official Fedora package
(without compholio patches) is newer than the one from the repository above,
so if something doesn't work, always make sure that you have installed
our version. To do that just run:
```bash
/usr/bin/wine --patches
```
When you're using Wine-Compholio this will show to a list of all patches
included, for an unpatched version this command will fail.
![alt text](http://repos.fds-team.de/misc/images/mageia.png) Mageia 4
---------------------------------------------------------------------
As a first step please add the key for our repository
```bash
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
```
If you're using a 32-bit version of Mageia just add the repository
for 32-bit packages:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
```
For a 64-bit version of Mageia you'll need both the 32-bit and the
64-bit repository:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
```
Afterwards run the following commands to install the package:
```bash
sudo urpmi.update -a
sudo urpmi wine-compholio
```
Using Wine-Compholio
====================
Since we don't want to duplicate a lot of information here, we recommend
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
general information about how to use Wine. The following part will mainly
concentrate on the differences between wine and Wine-Compholio.
Running Wine-Compholio
----------------------
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is *absolutely no problem* - by typing in either `wine`
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
```bash
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
```
You also have to add `/opt/wine-compholio/bin/` when running other wine
related programs, here are some additional example:
```bash
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
```
If you're an experienced user, and always want to use Wine-Compholio, you
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
---------------
**Warning: Do not submit bug reports at bugs.winehq.org when using this
version!**
If you encounter any issues, the first thing you should do is to try it with
regular wine. We're only a very small developer team, and although we would
like to do that, we probably cannot really solve all your Wine bugs. When
it turns out that the official Wine version also doesn't work, you can file
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
Feel free to mention that you also tested with Wine-Compholio, but all
bugreport related information (logs, crashdumps, ...) should concentrate
only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
then it might be a regression caused by our patches. We would like you to
report this issue to us, so we can fix it in future versions. You can also
report issues, when testing with upstream Wine is impossible or it crashes
with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to
include at least the following information. Generally its always a good idea
to provide as much information as possible, since this will significantly
increase chances to provide support and to fix it.
1. **Which application triggers the bug**
* Application name and version number
* How to obtain it (download URL + checksum if public available)
2. **What exactly doesn't work**
* Log of the terminal output of the application
* For visual issues please additionally attach a screenshot, and describe
what it should look like
* *Optionally:* If you already know whats going wrong, please attach
appropriate `WINEDEBUG` logs or excerpts showing the issue.
3. **Details about your WINEPREFIX**
* *Recommended:* Test it in a new wine prefix, and report if this works
* Did you install any overrides? (for examples by using `winetricks`)
* Did you change any settings by running `winecfg`?
4. **Information about your Wine-Compholio version**
* *Recommended:* Test with regular wine, and report if this works
* Version number (`/opt/wine-compholio/bin/wine --version`)
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)

59
debian/changelog vendored
View File

@@ -1,3 +1,61 @@
wine-compholio (1.7.28) unstable; urgency=low
* Added missing recommendation for libtxc-dxtn-s2tc0 on Ubuntu.
* Added patch to fix issues with over-the-spot input method.
* Added patch to fix winemenubuilder desktop icon wine path (when using multiple wine versions).
* Added patch to support FIND_FIRST_EX_CASE_SENSITIVE flag in FindFirstFileExW.
* Added patch to send WM_PAINT event during dialog creation.
* Added patch to fix issues when driver dispatch routine returns different status codes.
* Added several patches for Unity3D Editor.
* Added patch to fix differences between exception handling behaviour in Wine and Windows.
* Added patch to export ?_BADOFF@std@@3_JB on both i386 and win64.
* Added patch to limit cross thread access to ImmSet* functions.
* Added patch for IRichEditOle and ITextDocument support for ITextServices.
* Added patch to fix implementation of SH*Shared commands.
* Added patch to handle WRITECOPY memory protection properly on i386 (disabled by default).
* Added patch to fix some issues with write watches / guard page access.
* Added patch to implement NtQuerySection.
* Added patches to make clearly visible, that this is a patched wine version.
* Added patch for FindFirstFileExW level FindExInfoBasic.
* Removed patch to support FIND_FIRST_EX_CASE_SENSITIVE flag in FindFirstFileExW (accepted upstream).
* Removed patch to fix implementation of SH*Shared commands (accepted upstream).
* Removed patch to export ?_BADOFF@std@@3_JB on both i386 and win64 (accepted upstream).
* Partially removed patches for CreateProcess ACLs (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 04 Oct 2014 04:36:22 +0200
wine-compholio (1.7.27) unstable; urgency=low
* Fixed some issues in the patches for GetSystemTimes.
* Added patch to support FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW.
* Added patch to fix deadlock caused by incorrect wrapper of glu polygon/contour function.
* Added patch to avoid filling out KdHelp for usermode applications.
* Added patch to silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs.
* Added patch to revert wined3d pixelformat changes (causes regression in many games).
* Added patch to implement software decoding/encoding of DXT1 textures.
* Removed patch to use assembly wrapper for TLS callbacks (accepted upstream).
* Removed patch to fix uninitialized cch struct member in GetMenuItemInfo (accepted upstream).
* Removed some patches for riched20/IText*-interface (accepted upstream).
* Removed patch to fix deadlock caused by incorrect wrapper of glu functions (accepted upstream).
* Removed patch for stub of BCryptGetFipsAlgorithmMode (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 20 Sep 2014 05:52:23 +0200
wine-compholio (1.7.26) unstable; urgency=low
* Added new make targets 'series' and 'install-git'.
* Some improvements in the patch system scripts.
* Fixed issues in the winepulse configure script.
* Fixed some issues in patches for Inherited ACLs.
* Fixed some issues in patches for backwards compatibility with old ACL format.
* Added patch to fix unintentional leaks with ntdll internals.
* Added patch to add support for DOS hidden/system file attributes.
* Added patch to use dynamic linking for libpcap.
* Added patch to fix issues when using setcap on wine executable.
* Added patch to improve heap allocation performance by using more freelists.
* Added patch to fix detection of ncurses on Archlinux (avoids ugly workarounds at build time).
* Added patch to fix detection of gnutls on Ubuntu 14.10.
* Added patch to use assembly wrapper for TLS callbacks.
* Added patch to fix uninitialized cch struct member in GetMenuItemInfo.
* Removed patch to fix issue with msi/ITERATE_MoveFiles (accepted upstream).
* Removed patch to fix detection of ncurses on Archlinux (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 07 Sep 2014 23:50:25 +0200
wine-compholio (1.7.25) unstable; urgency=low
* Improve generation of README.md on patch update.
* Updated patches for riched20 IText* Interface.
@@ -6,6 +64,7 @@ wine-compholio (1.7.25) unstable; urgency=low
* Fixed issue with gitapply.sh script on Gentoo systems.
* Added patch with stub for DwmInvalidateIconicBitmaps.
* Added Courier Prime (OFLv1.1) as a Courier New replacement.
* Added patch to implement DOS hidden/system file attributes.
* Added patch to better detect broken nVidia RandR 1.2 support.
* Added patch to set linker version in PE header.
* Added patch to move NtProtectVirtualMemory and NtCreateSection to separate pages.

25
debian/control vendored
View File

@@ -46,6 +46,7 @@ Build-Depends: autotools-dev,
libssl-dev,
libstdc++6-4.5-dev | libstdc++-dev,
libtiff5-dev | libtiff4-dev | libtiff-dev,
libtxc-dxtn-s2tc-dev,
libv4l-dev,
libx11-dev,
libxcomposite-dev,
@@ -86,11 +87,13 @@ Recommends: libcapi20-3,
libjpeg8,
libopenal1 (>= 1:1.12),
libosmesa6,
libpcap0.8,
libpng12-0,
libpulse0,
libsane,
libssl1.0.0,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libxcomposite1,
libxcursor1,
@@ -109,10 +112,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -144,11 +143,13 @@ Recommends: libcapi20-3,
libjpeg8,
libopenal1 (>= 1:1.12),
libosmesa6,
libpcap0.8,
libpng12-0,
libpulse0,
libsane,
libssl1.0.0,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libxcomposite1,
libxcursor1,
@@ -167,10 +168,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -195,10 +192,6 @@ Section: otherosfs
Priority: optional
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -227,10 +220,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -254,10 +243,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.

View File

@@ -2,10 +2,21 @@
# This file is automatically generated, DO NOT EDIT!
#
CURDIR ?= ${{.CURDIR}}
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
APPLY := (cd $(DESTDIR) && $(PATCH))
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < $(CURDIR)/$(1)
.NOTPARALLEL:
CURDIR ?= ${{.CURDIR}}
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
APPLY = (cd "$(DESTDIR)" && $(PATCH))
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < "$(CURDIR)/$(1)"
#
# This Makefile understands the following targets:
#
# install (default): apply patches to directory provided by DESTDIR
# install-git: as above, but use 'git am' to apply the patches
# series: create a 'series' file containing the patch order
# clean: delete autogenerated and temporary files
#
PATCHLIST := \
{patchlist}
@@ -16,9 +27,44 @@ install: $(PATCHLIST)
cd $(DESTDIR) && autoreconf -f
cd $(DESTDIR) && ./tools/make_requests
.PHONY: install-git
install-git: PATCH := git am
install-git: install
series: APPLY_FILE = @echo "$(1)" >> series
series: $(PATCHLIST)
@cat *.ok | sort | $(CURDIR)/../debian/tools/patchlist.sh > patchlist.diff
@echo "patchlist.diff" >> series
@( \
echo ""; \
echo "The 'series' file was created in current directory. Please note that"; \
echo "'patchlist.diff' is autogenerated based on your selection of patches and not"; \
echo "included in this repository - keep in mind to update it on every release."; \
echo ""; \
echo "Moreover, depending on which patches you have selected, you will have to run"; \
echo "'autoreconf -f' and/or './tools/make_requests' after applying them."; \
echo ""; \
binary=0; \
while IFS= read -r line; do \
if grep -q "^GIT binary patch" "$$line"; then \
binary=1; break; \
fi \
done < series; \
if [ "$$binary" -ne 0 ]; then \
echo "The following files contain binary patches and cannot be applied with the"; \
echo "regular 'patch' commandline tool:"; \
echo ""; \
while IFS= read -r line; do \
grep -q "^GIT binary patch" "$$line" && echo "$$line"; \
done < series; \
echo ""; \
echo "Please use 'git apply' or '../debian/tools/gitapply.sh' from this repository."; \
echo ""; \
fi \
)
.PHONY: clean
clean:
rm -f series patchlist.diff
rm -f *.ok
.NOTPARALLEL:

View File

@@ -1,325 +1,39 @@
What is Wine-Compholio?
=======================
The **Wine "Compholio" Edition** is a special patched version of Wine that
includes both patches written by our team directly and specific patches by
third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted
to upstream Wine - don't be surprised if you encounter additional bugs,
which are not present in regular wine, and always report such issues to us
(via github), so we can improve our fixes even further. Thanks!
**Warning: Do not report bugs at bugs.winehq.org when using this version!
Please take a look at our
[Wiki](https://github.com/compholio/wine-compholio/wiki/Reporting-bugs)
for more information about how to report bugs.**
The **Wine "Compholio" Edition** is a special build of the popular Wine
software that includes both patches written by our team and selected patches
by third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted to
upstream Wine - don't be surprised if you encounter additional bugs, which are
not present in regular wine, and always report such issues to us (via github!),
so we can improve our fixes even further. Thanks!
Included bugfixes and improvements
----------------------------------
{fixes}
How to install Wine-Compholio
=============================
How to install and use Wine-Compholio
=====================================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions below to install it (and all required dependencies). After the
installation, please take a look at the next section for instructions how
to use it in order to run your desired application.
instructions available on the
[Wiki](https://github.com/compholio/wine-compholio/wiki/Installation).
**Important:** If you already have installed 'pipelight' on your system, there
is a good chance that you already have Wine-Compholio. Take a look at the
next section on how to find out if this is the case.
When using Wine-Compholio there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type `wine` to
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the
[Wiki](https://github.com/compholio/wine-compholio/wiki/Usage).
If your distribution is not listed below, feel free to add a feature request -
if the demand is high enough we might consider packaging it for additional
distributions.
Included bugfixes and improvements
==================================
![alt text](http://repos.fds-team.de/misc/images/ubuntu.png) Ubuntu / Linux Mint
--------------------------------------------------------------------------------
{fixes}
Please run the following commands from a terminal, one line after each other.
```bash
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/arch.png) Arch Linux
---------------------------------------------------------------------
As a first step you have to import the key for our repository, and set the
trust level to trusted:
```bash
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
```
Afterwards you have to add the following lines to `/etc/pacman.conf`:
```
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
```
Now you can install Wine-Compholio directly using `pacman`:
```bash
sudo pacman -Syu wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Jessie/Sid
------------------------------------------------------------------------------
*(Instructions for Debian Wheezy can be found below)*
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Wheezy
--------------------------------------------------------------------------
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/opensuse.png) OpenSUSE
-----------------------------------------------------------------------
All the following steps have to be executed as root user. As a first step
you have to add the repository - this step depends on the openSUSE version
you're using.
| openSUSE version | Path component |
| ------------------- | ----------------------- |
| openSUSE 12.2 | `/openSUSE_12.2/` |
| openSUSE 12.3 | `/openSUSE_12.3/` |
| openSUSE 13.1 | `/openSUSE_13.1/` |
| openSUSE Factory | `/openSUSE_Factory/` |
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
The following commandline is an example for openSUSE 13.1, for a different
version just replace the path component according to the table above:
```bash
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
```
Afterwards just run the following commands to install it:
```bash
zypper ref
zypper install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/fedora.png) Fedora
-------------------------------------------------------------------
**Warning:** In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
As a first step you have to add the repository - this step depends on the
Fedora version you're using.
| Fedora version | Patch component |
| --------------- | --------------- |
| Fedora 18 | `/Fedora_18/` |
| Fedora 19 | `/Fedora_19/` |
| Fedora 20 | `/Fedora_20/` |
The following commandline is an example for Fedora 19, for a different version
just replace the path component according to the table above:
```bash
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
```
Afterwards run the following command to install the package:
```bash
sudo yum install wine-compholio
```
Please note that you might run into trouble if the official Fedora package
(without compholio patches) is newer than the one from the repository above,
so if something doesn't work, always make sure that you have installed
our version. To do that just run:
```bash
/usr/bin/wine --patches
```
When you're using Wine-Compholio this will show to a list of all patches
included, for an unpatched version this command will fail.
![alt text](http://repos.fds-team.de/misc/images/mageia.png) Mageia 4
---------------------------------------------------------------------
As a first step please add the key for our repository
```bash
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
```
If you're using a 32-bit version of Mageia just add the repository
for 32-bit packages:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
```
For a 64-bit version of Mageia you'll need both the 32-bit and the
64-bit repository:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
```
Afterwards run the following commands to install the package:
```bash
sudo urpmi.update -a
sudo urpmi wine-compholio
```
Using Wine-Compholio
====================
Since we don't want to duplicate a lot of information here, we recommend
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
general information about how to use Wine. The following part will mainly
concentrate on the differences between wine and Wine-Compholio.
Running Wine-Compholio
----------------------
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is *absolutely no problem* - by typing in either `wine`
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
```bash
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
```
You also have to add `/opt/wine-compholio/bin/` when running other wine
related programs, here are some additional example:
```bash
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
```
If you're an experienced user, and always want to use Wine-Compholio, you
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
---------------
**Warning: Do not submit bug reports at bugs.winehq.org when using this
version!**
If you encounter any issues, the first thing you should do is to try it with
regular wine. We're only a very small developer team, and although we would
like to do that, we probably cannot really solve all your Wine bugs. When
it turns out that the official Wine version also doesn't work, you can file
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
Feel free to mention that you also tested with Wine-Compholio, but all
bugreport related information (logs, crashdumps, ...) should concentrate
only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
then it might be a regression caused by our patches. We would like you to
report this issue to us, so we can fix it in future versions. You can also
report issues, when testing with upstream Wine is impossible or it crashes
with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to
include at least the following information. Generally its always a good idea
to provide as much information as possible, since this will significantly
increase chances to provide support and to fix it.
1. **Which application triggers the bug**
* Application name and version number
* How to obtain it (download URL + checksum if public available)
2. **What exactly doesn't work**
* Log of the terminal output of the application
* For visual issues please additionally attach a screenshot, and describe
what it should look like
* *Optionally:* If you already know whats going wrong, please attach
appropriate `WINEDEBUG` logs or excerpts showing the issue.
3. **Details about your WINEPREFIX**
* *Recommended:* Test it in a new wine prefix, and report if this works
* Did you install any overrides? (for examples by using `winetricks`)
* Did you change any settings by running `winecfg`?
4. **Information about your Wine-Compholio version**
* *Recommended:* Test with regular wine, and report if this works
* Version number (`/opt/wine-compholio/bin/wine --version`)
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)

View File

@@ -17,7 +17,7 @@ index a273502..5fa0cd5 100644
}
+struct wine_patch {
+ const char *hash;
+ const char *name;
+ const char *author;
+ const char *title;
+} wine_patch_data[] = {

View File

@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python2
#
# Automatic patch dependency checker and Makefile/README.md generator.
#
@@ -282,7 +282,7 @@ def read_patchset(revision = None):
patch.authors, patch.depends, patch.fixes = \
read_definition(revision, os.path.join(config.path_patches, patch.name), name_to_id)
except IOError:
raise PatchUpaterError("Missing definition file for %s" % patch.name)
raise PatchUpdaterError("Missing definition file for %s" % patch.name)
return all_patches
@@ -348,7 +348,8 @@ def get_wine_file(filename, force=False):
return (content_hash, content)
def verify_patch_order(all_patches, indices, filename):
"""Checks if the dependencies are defined correctly by applying on the patches on a copy from the git tree."""
"""Checks if the dependencies are defined correctly by applying
the patches on a (temporary) copy from the git tree."""
global cached_patch_result
# If one of patches is a binary patch, then we cannot / won't verify it - require dependencies in this case
@@ -376,6 +377,7 @@ def verify_patch_order(all_patches, indices, filename):
# Fast path -> we know that it applies properly
if cached_patch_result.has_key(unique_hash):
result_hash = cached_patch_result[unique_hash]
assert result_hash is not None
else:
# Now really get the file, if we don't have it yet
@@ -386,19 +388,25 @@ def verify_patch_order(all_patches, indices, filename):
try:
content = patchutils.apply_patch(original_content, patches, fuzz=0)
except patchutils.PatchApplyError:
if last_result_hash is not None: break
# Remember that we failed to apply the patches, but continue, if there is still a chance
# that it applies in a different order (to give a better error message).
failed_to_apply = True
continue
if last_result_hash is None:
continue
break
# Get hash of resulting file and add to cache
result_hash = hashlib.sha256(content).digest()
cached_patch_result[unique_hash] = result_hash
# No known hash yet, remember the result. If we failed applying before, we can stop now.
if last_result_hash is None:
last_result_hash = result_hash
if failed_to_apply: break
# Applied successful, but result has a different hash - also treat as failure.
elif last_result_hash != result_hash:
last_result_hash = None
failed_to_apply = True
break
# If something failed, then show the appropriate error message.
@@ -406,8 +414,8 @@ def verify_patch_order(all_patches, indices, filename):
raise PatchUpdaterError("Changes to file %s don't apply on git source tree: %s" %
(filename, ", ".join([all_patches[i].name for i in indices])))
elif failed_to_apply or last_result_hash is None:
raise PatchUpdaterError("Depending on the order some changes to file %s dont't apply / lead to different results: %s" %
elif failed_to_apply:
raise PatchUpdaterError("Depending on the order some changes to file %s don't apply / lead to different results: %s" %
(filename, ", ".join([all_patches[i].name for i in indices])))
else:
@@ -417,14 +425,14 @@ def verify_dependencies(all_patches):
"""Resolve dependencies, and afterwards run verify_patch_order() to check if everything applies properly."""
def _load_patch_cache():
"""Load dictionary for cached patch dependency tests into cached_patch_result."""
"""Load dictionary for cached patch dependency tests."""
global cached_patch_result
global cached_original_src
cached_patch_result = _load_dict(config.path_depcache)
cached_original_src = _load_dict(config.path_srccache)
def _save_patch_cache():
"""Save dictionary for cached patch depdency tests."""
"""Save dictionary for cached patch dependency tests."""
_save_dict(config.path_depcache, cached_patch_result)
_save_dict(config.path_srccache, cached_original_src)
@@ -504,7 +512,7 @@ def generate_makefile(all_patches):
fp.write("# |\n")
# List all modified files
fp.write("# | Modified files: \n")
fp.write("# | Modified files:\n")
fp.write("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap(", ".join(sorted(patch.modified_files)), 120)))
fp.write("# |\n")
@@ -520,7 +528,7 @@ def generate_makefile(all_patches):
fp.write("\t@( \\\n")
for info in patch.authors:
if not info.subject: continue
s = info.subject.replace("\\", "\\\\\\\\").replace("\"", "\\\\\"")
s = info.subject.replace("\\", "\\\\\\\\").replace("\"", "\\\\\"").replace("'", "'\\''")
if info.revision and info.revision != "1": s += " [rev %s]" % info.revision
fp.write("\t\techo '+ { \"%s\", \"%s\", \"%s\" },'; \\\n" % (patch.name, info.author, s))
fp.write("\t) > %s.ok\n" % patch.name)
@@ -532,13 +540,13 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
"""Generate README.md and DEVELOPER.md including information about specific patches and bugfixes."""
def _format_bug(mode, bugid, bugname):
if bugid is not None:
short_desc = bug_short_desc[bugid]
if bugname is None: bugname = short_desc
# if bugid is not None:
# short_desc = bug_short_desc[bugid]
# if bugname is None: bugname = short_desc
if mode < 0: bugname = "~~%s~~" % bugname
if bugid is None: return "* %s" % bugname
return "* %s ([Wine Bug #%d](http://bugs.winehq.org/show_bug.cgi?id=%d \"%s\"))" % \
(bugname, bugid, bugid, short_desc.replace("\\", "\\\\").replace("\"", "\\\""))
return "* %s ([Wine Bug #%d](http://bugs.winehq.org/show_bug.cgi?id=%d))" % \
(bugname, bugid, bugid) #, short_desc.replace("\\", "\\\\").replace("\"", "\\\""))
all_bugids = set()
all_fixes = {}
@@ -572,7 +580,7 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
new_fixes = []
# Query information from bugzilla
bug_short_desc = _winebugs_query_short_desc(all_bugids)
# bug_short_desc = _winebugs_query_short_desc(all_bugids)
# Generate information for current version
lines = []

View File

@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python2
#
# Python functions to read, split and apply patches.
#

View File

@@ -0,0 +1,42 @@
From 3e4695fd4eab3f7666cd5361f98f2ace34c43739 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: kernel32: Add winediag message to show warning, that this isn't
vanilla wine.
---
dlls/kernel32/process.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 301c64a..5c5be22 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(process);
WINE_DECLARE_DEBUG_CHANNEL(file);
WINE_DECLARE_DEBUG_CHANNEL(relay);
+WINE_DECLARE_DEBUG_CHANNEL(winediag);
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1092,6 +1093,16 @@ static DWORD WINAPI start_process( PEB *peb )
DPRINTF( "%04x:Starting process %s (entryproc=%p)\n", GetCurrentThreadId(),
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer), entry );
+ /* Wine developers don't like it, when bug are reported with Wine versions containing our patches. */
+ if (CreateEventA(0, 0, 0, "__winecompholio_warn_event") && GetLastError() != ERROR_ALREADY_EXISTS)
+ {
+ FIXME_(winediag)("Wine-Compholio is a Wine testing version containing experimental patches.\n");
+ FIXME_(winediag)("Please don't report bugs at winehq.org and use our issue tracker instead:\n");
+ FIXME_(winediag)("https://github.com/compholio/wine-compholio/issues\n");
+ }
+ else
+ WARN_(winediag)("Wine-Compholio is a Wine testing version containing experimental patches.\n");
+
SetLastError( 0 ); /* clear error code */
if (peb->BeingDebugged) DbgBreakPoint();
return call_process_entry( peb, entry );
--
2.1.1

View File

@@ -0,0 +1,25 @@
From 0e76401ae2de47285c66ee0b59bdf7449136d060 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:53:46 +0200
Subject: winelib: Append '(Compholio') at the end of the version string.
---
libs/wine/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index c961ba5..776168c 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -105,7 +105,7 @@ config_EXTRADEFS = \
-DBIN_TO_DATADIR=\"`$(MAKEDEP) -R ${bindir} ${datadir}/wine`\"
version.c: dummy
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Compholio)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
# Make sure that make_makefiles sees the generated rules
.PHONY: install install-lib install-dev uninstall
--
2.1.1

View File

@@ -49,7 +49,7 @@ index ac67290..71e5055 100644
#endif /* __APPLE__ */
+struct wine_patch {
+ const char *hash;
+ const char *name;
+ const char *author;
+ const char *title;
+};
@@ -74,9 +74,9 @@ index ac67290..71e5055 100644
+ if (!strcmp( argv[1], "--patches" ))
+ {
+ const struct wine_patch *wine_patch_data = wine_get_patches();
+ for(; wine_patch_data->hash != NULL; wine_patch_data++)
+ for(; wine_patch_data->name != NULL; wine_patch_data++)
+ {
+ printf( "%s :: %s :: %s\n", wine_patch_data->hash, wine_patch_data->author,
+ printf( "%s :: %s :: %s\n", wine_patch_data->name, wine_patch_data->author,
+ wine_patch_data->title );
+ }
+ exit(0);

View File

@@ -1,3 +1,11 @@
Author: Sebastian Lackner
Subject: Add winediag message to show warning, that this isn't vanilla wine.
Revision: 1
Author: Sebastian Lackner
Subject: Append '(Compholio)' at the end of the version string.
Revision: 1
Author: Sebastian Lackner
Subject: Add commandline option --patches to show the patch list.
Revision: 1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,54 @@
From 4acb49f0e0be827be0252c4b3f896c11cf4a9d94 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 18 Sep 2014 00:38:15 +0200
Subject: usp10: Silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs.
---
dlls/usp10/opentype.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/usp10/opentype.c b/dlls/usp10/opentype.c
index 166d823..e2142a5 100644
--- a/dlls/usp10/opentype.c
+++ b/dlls/usp10/opentype.c
@@ -938,12 +938,16 @@ static INT GSUB_apply_ChainContextSubst(const OT_LookupList* lookup, const OT_Lo
ccsf1 = (const GSUB_ChainContextSubstFormat1*)((const BYTE*)look+offset);
if (GET_BE_WORD(ccsf1->SubstFormat) == 1)
{
- FIXME(" TODO: subtype 1 (Simple context glyph substitution)\n");
+ static int once;
+ if (!once++)
+ FIXME(" TODO: subtype 1 (Simple context glyph substitution)\n");
continue;
}
else if (GET_BE_WORD(ccsf1->SubstFormat) == 2)
{
- FIXME(" TODO: subtype 2 (Class-based Chaining Context Glyph Substitution)\n");
+ static int once;
+ if (!once++)
+ FIXME(" TODO: subtype 2 (Class-based Chaining Context Glyph Substitution)\n");
continue;
}
else if (GET_BE_WORD(ccsf1->SubstFormat) == 3)
@@ -1649,12 +1653,16 @@ static INT GPOS_apply_ChainContextPos(ScriptCache *psc, LPOUTLINETEXTMETRICW lpo
if (GET_BE_WORD(ccpf3->PosFormat) == 1)
{
- FIXME(" TODO: subtype 1 (Simple Chaining Context Glyph Positioning)\n");
+ static int once;
+ if (!once++)
+ FIXME(" TODO: subtype 1 (Simple Chaining Context Glyph Positioning)\n");
continue;
}
else if (GET_BE_WORD(ccpf3->PosFormat) == 2)
{
- FIXME(" TODO: subtype 2 (Class-based Chaining Context Glyph Positioning)\n");
+ static int once;
+ if (!once++)
+ FIXME(" TODO: subtype 2 (Class-based Chaining Context Glyph Positioning)\n");
continue;
}
else if (GET_BE_WORD(ccpf3->PosFormat) == 3)
--
2.1.0

View File

@@ -1,16 +1,15 @@
From fec987aaff3478e5325df368cce471109fe3c064 Mon Sep 17 00:00:00 2001
From f56694f318ce0134317b812ff32f6c35875c31b3 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 8 Aug 2014 19:33:14 -0600
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
---
dlls/d3d9/tests/visual.c | 2 +-
dlls/netapi32/netapi32.c | 2 +-
dlls/winealsa.drv/mmdevdrv.c | 2 +-
dlls/wined3d/glsl_shader.c | 2 +-
server/object.c | 2 +-
tools/makedep.c | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
dlls/d3d9/tests/visual.c | 2 +-
dlls/netapi32/netapi32.c | 2 +-
dlls/winealsa.drv/mmdevdrv.c | 2 +-
dlls/wined3d/glsl_shader.c | 2 +-
tools/makedep.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 117c8eb..3988628 100644
@@ -52,10 +51,10 @@ index a4c02bf..909db53 100644
static const WCHAR dashW[] = {' ','-',' ',0};
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 1097d87..38d6cbd 100644
index 34cc567..4f2a6c6 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -5798,7 +5798,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
@@ -5784,7 +5784,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
GLhandleARB vs_id = 0;
GLhandleARB gs_id = 0;
GLhandleARB ps_id = 0;
@@ -64,21 +63,8 @@ index 1097d87..38d6cbd 100644
if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX)))
{
diff --git a/server/object.c b/server/object.c
index 11ef0ce..133c6b5 100644
--- a/server/object.c
+++ b/server/object.c
@@ -428,7 +428,7 @@ int default_set_sd( struct object *obj, const struct security_descriptor *sd,
{
struct security_descriptor new_sd, *new_sd_ptr;
int present;
- const SID *owner, *group;
+ const SID *owner = NULL, *group = NULL;
const ACL *sacl, *dacl;
char *ptr;
diff --git a/tools/makedep.c b/tools/makedep.c
index 396a1e3..1261785 100644
index 54aab45..103422e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1480,7 +1480,7 @@ static char *get_make_variable( struct makefile *make, const char *name )
@@ -91,5 +77,5 @@ index 396a1e3..1261785 100644
expand = get_make_variable( make, name );
if (!expand) return NULL;
--
1.7.9.5
2.1.1

View File

@@ -0,0 +1,125 @@
From 068be01861e22ddd9360fbee4135937782ac77c8 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 6 Sep 2014 04:59:20 +0200
Subject: Appease the Archlinux version of gcc (4.9.1) when -Werror is enabled.
---
dlls/msvcp90/ios.c | 4 ++--
dlls/msvcp90/locale.c | 6 +++---
dlls/msvcp90/string.c | 12 ++++++------
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
index fbba957..e099f27 100644
--- a/dlls/msvcp90/ios.c
+++ b/dlls/msvcp90/ios.c
@@ -1215,7 +1215,7 @@ streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this,
chunk = count-copied;
if(chunk > 0) {
- memcpy_s(ptr+copied, size, *this->prpos, chunk);
+ (void)memcpy_s(ptr+copied, size, *this->prpos, chunk);
*this->prpos += chunk;
*this->prsize -= chunk;
copied += chunk;
@@ -2083,7 +2083,7 @@ streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *thi
chunk = count-copied;
if(chunk > 0) {
- memcpy_s(ptr+copied, size, *this->prpos, chunk*sizeof(wchar_t));
+ (void)memcpy_s(ptr+copied, size, *this->prpos, chunk*sizeof(wchar_t));
*this->prpos += chunk;
*this->prsize -= chunk;
copied += chunk;
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index b15f1b8..015511d 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -1595,7 +1595,7 @@ const char* __thiscall ctype_char__Do_narrow_s(const ctype_char *this, const cha
const char *last, char unused, char *dest, MSVCP_size_t size)
{
TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size);
- memcpy_s(dest, size, first, last-first);
+ (void)memcpy_s(dest, size, first, last-first);
return last;
}
@@ -1674,7 +1674,7 @@ const char* __thiscall ctype_char__Do_widen_s(const ctype_char *this,
const char *first, const char *last, char *dest, MSVCP_size_t size)
{
TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size);
- memcpy_s(dest, size, first, last-first);
+ (void)memcpy_s(dest, size, first, last-first);
return last;
}
@@ -3674,7 +3674,7 @@ int __thiscall codecvt_wchar_do_out(const codecvt_wchar *this, int *state,
}
(*from_next)++;
- memcpy_s(*to_next, to_end-*to_next, buf, size);
+ (void)memcpy_s(*to_next, to_end-*to_next, buf, size);
(*to_next) += size;
}
}
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index ce05613..c8dfce9 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -82,7 +82,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_char_length(const char *str)
char* CDECL MSVCP_char_traits_char__Copy_s(char *dest,
MSVCP_size_t size, const char *src, MSVCP_size_t count)
{
- memcpy_s(dest, size, src, count);
+ (void)memcpy_s(dest, size, src, count);
return dest;
}
@@ -107,7 +107,7 @@ const char * CDECL MSVCP_char_traits_char_find(
char* CDECL MSVCP_char_traits_char__Move_s(char *dest,
MSVCP_size_t size, const char *src, MSVCP_size_t count)
{
- memmove_s(dest, size, src, count);
+ (void)memmove_s(dest, size, src, count);
return dest;
}
@@ -206,7 +206,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_wchar_length(const wchar_t *str)
wchar_t* CDECL MSVCP_char_traits_wchar__Copy_s(wchar_t *dest,
MSVCP_size_t size, const wchar_t *src, MSVCP_size_t count)
{
- memcpy_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
+ (void)memcpy_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
return dest;
}
@@ -237,7 +237,7 @@ const wchar_t* CDECL MSVCP_char_traits_wchar_find(
wchar_t* CDECL MSVCP_char_traits_wchar__Move_s(wchar_t *dest,
MSVCP_size_t size, const wchar_t *src, MSVCP_size_t count)
{
- memmove_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
+ (void)memmove_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
return dest;
}
@@ -353,7 +353,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_short_length(const unsigned short *str)
unsigned short * CDECL MSVCP_char_traits_short__Copy_s(unsigned short *dest,
MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
{
- memcpy_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
+ (void)memcpy_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
return dest;
}
@@ -384,7 +384,7 @@ const unsigned short* CDECL MSVCP_char_traits_short_find(
unsigned short* CDECL MSVCP_char_traits_short__Move_s(unsigned short *dest,
MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
{
- memmove_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
+ (void)memmove_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
return dest;
}
--
2.1.0

View File

@@ -10,7 +10,14 @@ Revision: 1
Author: Sebastian Lackner
Title: wined3d: Silence repeated wined3d_swapchain_present FIXME.
Revision: 1
Author: Sebastian Lackner
Title: usp10: Silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs.
Revision: 1
Author: Erich E. Hoover
Title: Appease the blessed version of gcc (4.5) when -Werror is enabled.
Revision: 1
Author: Sebastian Lackner
Title: Appease the Archlinux version of gcc (4.9.1) when -Werror is enabled.

View File

@@ -1,14 +1,14 @@
From b6bd496bacbe8eb82dfa53148e92474c9a7511bb Mon Sep 17 00:00:00 2001
From 7d77edaea3c4ba8067e4b73034df5c58940daebc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 1 Jun 2014 22:51:32 +0200
Subject: winex11.drv: Indicate direct rendering through OpenGL extension
---
dlls/winex11.drv/opengl.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
dlls/winex11.drv/opengl.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 71af3db..6f3aca0 100644
index 71af3db..966d32d 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -440,6 +440,7 @@ static int GLXErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
@@ -19,17 +19,14 @@ index 71af3db..6f3aca0 100644
int screen = DefaultScreen(gdi_display);
Window win = 0, root = 0;
@@ -491,10 +492,16 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
@@ -491,10 +492,13 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
}
gl_renderer = (const char *)opengl_funcs.gl.p_glGetString(GL_RENDERER);
WineGLInfo.glVersion = (const char *) opengl_funcs.gl.p_glGetString(GL_VERSION);
+ WineGLInfo.glxDirect = pglXIsDirect(gdi_display, ctx);
str = (const char *) opengl_funcs.gl.p_glGetString(GL_EXTENSIONS);
- WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions));
+ if (WineGLInfo.glxDirect)
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions)+sizeof(direct_extension));
+ else
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions));
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions)+sizeof(direct_extension));
strcpy(WineGLInfo.glExtensions, str);
strcat(WineGLInfo.glExtensions, legacy_extensions);
+ if (WineGLInfo.glxDirect)
@@ -37,7 +34,7 @@ index 71af3db..6f3aca0 100644
/* Get the common GLX version supported by GLX client and server ( major/minor) */
pglXQueryVersion(gdi_display, &WineGLInfo.glxVersion[0], &WineGLInfo.glxVersion[1]);
@@ -508,7 +515,7 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
@@ -508,7 +512,7 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
WineGLInfo.glxClientExtensions = pglXGetClientString(gdi_display, GLX_EXTENSIONS);
WineGLInfo.glxExtensions = pglXQueryExtensionsString(gdi_display, screen);
@@ -47,5 +44,5 @@ index 71af3db..6f3aca0 100644
TRACE("GL version : %s.\n", WineGLInfo.glVersion);
TRACE("GL renderer : %s.\n", gl_renderer);
--
1.8.3.2
1.7.9.5

Some files were not shown because too many files have changed in this diff Show More