Added patch to fix wrapper for glu polygon/contour functions.

This commit is contained in:
Sebastian Lackner 2014-09-14 08:03:11 +02:00
parent c5f802363f
commit 773df03830
5 changed files with 114 additions and 1 deletions

View File

@ -35,8 +35,9 @@ Wine. All those differences are also documented on the
Included bugfixes and improvements
==================================
**Bugfixes and features included in the next upcoming release [1]:**
**Bugfixes and features included in the next upcoming release [2]:**
* Fix deadlock caused by incorrect wrapper of glu polygon/contour function ([Wine Bug #37239](http://bugs.winehq.org/show_bug.cgi?id=37239 "Adobe Premiere Pro 2 deadlocks when importing video files"))
* Support for FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW ([Wine Bug #35121](http://bugs.winehq.org/show_bug.cgi?id=35121 "Multiple applications/games fail to start with WinVer set to 'Windows 7' (FindFirstFileExW needs FIND_FIRST_EX_LARGE_FETCH support)(FotoQuelle Fotosoftware v4.13, QT5)"))

1
debian/changelog vendored
View File

@ -1,6 +1,7 @@
wine-compholio (1.7.27) UNRELEASED; 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.
* Removed patch to use assembly wrapper for TLS callbacks (accepted upstream).
* Removed patch to fix uninitialized cch struct member in GetMenuItemInfo.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Mon, 08 Sep 2014 21:14:36 +0200

View File

@ -29,6 +29,7 @@ PATCHLIST := \
configure-Detect_Gnutls.ok \
dsound-Fast_Mixer.ok \
fonts-Missing_Fonts.ok \
glu32-Polygon.ok \
iphlpapi-TCP_Table.ok \
kernel32-FindFirstFile-LargeFetch.ok \
kernel32-GetFinalPathNameByHandle.ok \
@ -325,6 +326,24 @@ fonts-Missing_Fonts.ok:
echo '+ { "fonts-Missing_Fonts", "Torsten Kurbad / Erich E. Hoover", "Implement missing fonts expected by Silverlight. [rev 2]" },'; \
) > fonts-Missing_Fonts.ok
# Patchset glu32-Polygon
# |
# | Included patches:
# | * Fix wrapper function for glu[Begin|End]Polygon and gluNextContour. [by Sebastian Lackner]
# |
# | This patchset fixes the following Wine bugs:
# | * [#37239] Fix deadlock caused by incorrect wrapper of glu polygon/contour function
# |
# | Modified files:
# | * dlls/glu32/glu.c
# |
.INTERMEDIATE: glu32-Polygon.ok
glu32-Polygon.ok:
$(call APPLY_FILE,glu32-Polygon/0001-glu32-Fix-wrapper-function-for-glu-Begin-End-Polygon.patch)
@( \
echo '+ { "glu32-Polygon", "Sebastian Lackner", "Fix wrapper function for glu[Begin|End]Polygon and gluNextContour." },'; \
) > glu32-Polygon.ok
# Patchset iphlpapi-TCP_Table
# |
# | Included patches:

View File

@ -0,0 +1,88 @@
From e3ea811519e1c58b73d1208aaefd34f8069bbd90 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 14 Sep 2014 07:07:13 +0200
Subject: glu32: Fix wrapper function for glu[Begin|End]Polygon and gluNextContour.
---
dlls/glu32/glu.c | 61 ++++++++++++++++++++++++++++++++++----------------------
1 file changed, 37 insertions(+), 24 deletions(-)
diff --git a/dlls/glu32/glu.c b/dlls/glu32/glu.c
index 46a2336..16eb355 100644
--- a/dlls/glu32/glu.c
+++ b/dlls/glu32/glu.c
@@ -352,30 +352,6 @@ int WINAPI wine_gluNurbsCallback(void *arg0,int arg1,void *arg2) {
}
/***********************************************************************
- * gluBeginPolygon (GLU32.@)
- */
-extern int gluBeginPolygon(void *arg0);
-int WINAPI wine_gluBeginPolygon(void *arg0) {
- return gluBeginPolygon(arg0);
-}
-
-/***********************************************************************
- * gluEndPolygon (GLU32.@)
- */
-extern int gluEndPolygon(void *arg0);
-int WINAPI wine_gluEndPolygon(void *arg0) {
- return gluEndPolygon(arg0);
-}
-
-/***********************************************************************
- * gluNextContour (GLU32.@)
- */
-extern int gluNextContour(void *arg0,int arg1);
-int WINAPI wine_gluNextContour(void *arg0,int arg1) {
- return gluNextContour(arg0,arg1);
-}
-
-/***********************************************************************
* gluGetString (GLU32.@)
*/
extern int gluGetString(int arg0);
@@ -617,3 +593,40 @@ void WINAPI wine_gluTessNormal(void *tess, double arg1, double arg2, double arg3
wine_tess_t *wine_tess = tess;
gluTessNormal(wine_tess->tess, arg1, arg2, arg3);
}
+
+/***********************************************************************
+ * gluBeginPolygon (GLU32.@)
+ */
+int WINAPI wine_gluBeginPolygon(void *tess)
+{
+ wine_tess_t *wine_tess = tess;
+ wine_tess->polygon_data = NULL;
+
+ gluTessBeginPolygon(wine_tess->tess, wine_tess);
+ gluTessBeginContour(wine_tess->tess);
+ return 0;
+}
+
+/***********************************************************************
+ * gluEndPolygon (GLU32.@)
+ */
+int WINAPI wine_gluEndPolygon(void *tess)
+{
+ wine_tess_t *wine_tess = tess;
+
+ gluTessEndContour(wine_tess->tess);
+ gluTessEndPolygon(wine_tess->tess);
+ return 0;
+}
+
+/***********************************************************************
+ * gluNextContour (GLU32.@)
+ */
+int WINAPI wine_gluNextContour(void *tess, int arg1)
+{
+ wine_tess_t *wine_tess = tess;
+
+ gluTessEndContour(wine_tess->tess);
+ gluTessBeginContour(wine_tess->tess);
+ return 0;
+}
--
2.1.0

View File

@ -0,0 +1,4 @@
Author: Sebastian Lackner
Subject: Fix wrapper function for glu[Begin|End]Polygon and gluNextContour.
Revision: 1
Fixes: [37239] Fix deadlock caused by incorrect wrapper of glu polygon/contour function