Commit dc54e92e authored by Sam Lantinga's avatar Sam Lantinga

Fixed use of SDL with XInitThreads()

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40691
parent 3095e05e
......@@ -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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment