# 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.
#
XAllocColor
XAllocColorCells
XBell
XChangeGC
XChangeProperty
XChangeWindowAttributes
XCopyArea
XCopyPlane
XCreateBitmapFromData
XCreateColormap
XCreatePixmap
XDefineCursor
XDeleteProperty
XDrawArc
XDrawLine
XDrawLines
XDrawRectangle
XDrawString16
XDrawText16
XFillArc
XFillPolygon
XFillRectangle
XFlush
XFree
XFreeColormap
XFreeColors
XFreeFont
XFreeFontNames
XFreePixmap
XGetAtomName
XGetFontProperty
XGetGeometry
XGetImage
XGetScreenSaver
XGetSelectionOwner
XGetWindowAttributes
XGetWindowProperty
XGrabPointer
XGrabServer
XInternAtom
XKeycodeToKeysym
XKeysymToKeycode
XKeysymToString
XListDepths
XListFonts
XLoadQueryFont
XMapWindow
XOpenDisplay
XOpenIM
XQueryColor
XQueryColors
XQueryPointer
XQueryTree
XReconfigureWMWindow
XRefreshKeyboardMapping
XSendEvent
XSetArcMode
XSetClipRectangles
XSetDashes
XSetForeground
XSetFunction
XSetGraphicsExposures
XSetLineAttributes
XSetScreenSaver
XSetSelectionOwner
XSetSubwindowMode
XStoreColor
XSync
XTextExtents16
XTextWidth16
XUngrabPointer
XUngrabServer
XUninstallColormap
XUnmapWindow
