# This file contains the list of X11 calls that Wine uses and which must be
# protected by a critical section for multi-threaded use.
#
# To add a new call, put it on this list and run tools/make_X11wrappers.
# Also read the comments at the top of tools/make_X11wrappers.
#
XActivateScreenSaver
XAddPixel
XAllocClassHint
XAllocColor
XAllocColorCells
XAllocSizeHints
XAllocWMHints
XBell
XChangeGC
XChangeKeyboardControl
XChangeProperty
XChangeWindowAttributes
XCheckTypedWindowEvent
XCheckWindowEvent
XClipBox
XConvertSelection
XCopyArea
XCopyColormapAndFree
XCopyPlane
XCreateBitmapFromData
XCreateColormap
XCreateFontCursor
XCreateGC
XCreateImage
XCreatePixmap
XCreatePixmapCursor
XCreateRegion
XCreateWindow
XDefineCursor
XDeleteContext
XDestroyImage
XDestroyRegion
XDestroyWindow
XDisplayKeycodes
XDrawArc
XDrawLine
XDrawLines
XDrawPoint
XDrawRectangle
XDrawSegments
XDrawString
XDrawText
XEmptyRegion
XEqualRegion
XFillArc
XFillPolygon
XFillRectangle
XFindContext
XFlush
XFree
XFreeColormap
XFreeColors
XFreeCursor
XFreeFont
XFreeFontNames
XFreeGC
XFreeModifiermap
XFreePixmap
XGetAtomName
XGetFontProperty
XGetGeometry
XGetImage
XGetInputFocus
XGetKeyboardControl
XGetKeyboardMapping
XGetModifierMapping
XGetScreenSaver
XGetSelectionOwner
XGetVisualInfo
XGetWMSizeHints
XGetWindowAttributes
XGetWindowProperty
XGrabServer
XInitThreads
XInstallColormap
XInternAtom
XIntersectRegion
XKeycodeToKeysym
XKeysymToKeycode
XKeysymToString
XListDepths
XListFonts
XLoadQueryFont
XLookupKeysym
XLookupString
XMapWindow
XNextEvent
XOffsetRegion
XOpenDisplay
XOpenIM
XParseGeometry
XPending
XPointInRegion
XPolygonRegion
XPutBackEvent
XPutImage
XQueryColor
XQueryPointer
XQueryTree
XReconfigureWMWindow
XRectInRegion
XResetScreenSaver
XResourceManagerString
XRestackWindows
XSaveContext
XSendEvent
XSetArcMode
XSetBackground
XSetClipMask
XSetClipOrigin
XSetClipRectangles
XSetDashes
XSetFillStyle
XSetForeground
XSetFunction
XSetGraphicsExposures
XSetIconName
XSetInputFocus
XSetLineAttributes
XSetRegion
XSetScreenSaver
XSetSelectionOwner
XSetSubwindowMode
XSetTransientForHint
XSetWindowColormap
XSetWMProperties
XSetWMProtocols
XSetWMSizeHints
XShmAttach
XShmDetach
XShmPixmapFormat
XShmPutImage
XShmQueryExtension
XShrinkRegion
XStoreColor
XStoreName
XStringListToTextProperty
XSubImage
XSubtractRegion
XSync
XSynchronize
XTextExtents
XTextWidth
XUngrabServer
XUninstallColormap
XUnionRectWithRegion
XUnionRegion
XUniqueContext
XUnmapWindow
XWarpPointer
XXorRegion
XpmAttributesSize
XpmCreatePixmapFromData
XrmGetFileDatabase
XrmGetResource
XrmGetStringDatabase
XrmInitialize
XrmMergeDatabases
XrmParseCommand
XrmUniqueQuark
_XInitImageFuncPtrs
XF86DGAQueryExtension
XF86DGASetViewPort
XF86DGAInstallColormap
XF86DGAViewPortChanged
XF86DGADirectVideo
XF86DGAQueryVersion
XF86DGAQueryDirectVideo
XF86DGAGetVideo
XF86DGAGetViewPortSize
