Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Fixed use of SDL with XInitThreads()
- Loading branch information
Showing
with
14 additions
and
1 deletion.
-
+1
−1
configure.in
-
+1
−0
src/video/Xext/README
-
+12
−0
src/video/Xext/Xxf86vm/XF86VMode.c
|
@@ -553,7 +553,7 @@ CheckX11() |
|
|
AC_PATH_X |
|
|
AC_PATH_XTRA |
|
|
if test x$have_x = xyes; then |
|
|
CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11 -I$srcdir/include -I$srcdir/src/video" |
|
|
CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11 -DXTHREADS -I$srcdir/include -I$srcdir/src/video" |
|
|
if test x$ac_cv_func_shmat != xyes; then |
|
|
CFLAGS="$CFLAGS -DNO_SHARED_MEMORY" |
|
|
fi |
|
|
|
@@ -7,3 +7,4 @@ You can't link static library code into shared libraries on non-x86 |
|
|
Linux platforms. Since these libraries haven't become standard yet, |
|
|
we'll just include them directly. |
|
|
|
|
|
These sources are synchronized with XFree86 4.2.1 |
|
@@ -344,6 +344,8 @@ SDL_NAME(XF86VidModeGetAllModeLines)(dpy, screen, modecount, modelinesPtr) |
|
|
else |
|
|
_XEatData(dpy, (rep.modecount) * sizeof(xXF86VidModeModeInfo)); |
|
|
Xfree(modelines); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
mdinfptr = (SDL_NAME(XF86VidModeModeInfo) *) ( |
|
@@ -925,6 +927,8 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor) |
|
|
if (!(monitor->vendor = (char *)Xcalloc(rep.vendorLength + 1, 1))) { |
|
|
_XEatData(dpy, (rep.nhsync + rep.nvsync) * 4 + |
|
|
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3)); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
} else { |
|
@@ -936,6 +940,8 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor) |
|
|
((rep.vendorLength+3) & ~3) + ((rep.modelLength+3) & ~3)); |
|
|
if (monitor->vendor) |
|
|
Xfree(monitor->vendor); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
} else { |
|
@@ -949,6 +955,8 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor) |
|
|
Xfree(monitor->vendor); |
|
|
if (monitor->model) |
|
|
Xfree(monitor->model); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
if (!(monitor->vsync = Xcalloc(rep.nvsync, sizeof(SDL_NAME(XF86VidModeSyncRange))))) { |
|
@@ -959,6 +967,8 @@ SDL_NAME(XF86VidModeGetMonitor)(dpy, screen, monitor) |
|
|
if (monitor->model) |
|
|
Xfree(monitor->model); |
|
|
Xfree(monitor->hsync); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
for (i = 0; i < rep.nhsync; i++) { |
|
@@ -1096,6 +1106,8 @@ SDL_NAME(XF86VidModeGetDotClocks)(dpy, screen, |
|
|
if (!(dotclocks = (int*) Xcalloc(rep.clocks, sizeof(int)))) { |
|
|
_XEatData(dpy, (rep.clocks) * 4); |
|
|
Xfree(dotclocks); |
|
|
UnlockDisplay(dpy); |
|
|
SyncHandle(); |
|
|
return False; |
|
|
} |
|
|
|
|
|