# 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
XDeleteProperty
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
XIconifyWindow
XInitThreads
XInstallColormap
XInternAtom
XIntersectRegion
XKeycodeToKeysym
XKeysymToKeycode
XKeysymToString
XListDepths
XListFonts
XLoadQueryFont
XLookupKeysym
XLookupString
XMapWindow
XNextEvent
XOffsetRegion
XOpenDisplay
XOpenIM
XParseGeometry
XPending
XPointInRegion
XPolygonRegion
XPutBackEvent
XPutImage
XQueryColor
XQueryKeymap
XQueryPointer
XQueryTree
XReconfigureWMWindow
XRectInRegion
XResetScreenSaver
XResourceManagerString
XRestackWindows
XSaveContext
XSendEvent
XSetArcMode
XSetBackground
XSetClassHint
XSetClipMask
XSetClipOrigin
XSetClipRectangles
XSetDashes
XSetFillStyle
XSetForeground
XSetFunction
XSetGraphicsExposures
XSetIconName
XSetInputFocus
XSetLineAttributes
XSetRegion
XSetScreenSaver
XSetSelectionOwner
XSetSubwindowMode
XSetTransientForHint
XSetWindowColormap
XSetWMHints
XSetWMProperties
XSetWMProtocols
XSetWMSizeHints
XShmAttach
XShmCreateImage
XShmCreatePixmap
XShmDetach
XShmGetImage
XShmPixmapFormat
XShmPutImage
XShmQueryExtension
XShmQueryVersion
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
XF86VidModeQueryVersion
XF86VidModeQueryExtension
XF86VidModeGetModeLine
XF86VidModeGetAllModeLines
XF86VidModeAddModeLine
XF86VidModeDeleteModeLine
XF86VidModeModModeLine
XF86VidModeValidateModeLine
XF86VidModeSwitchMode
XF86VidModeSwitchToMode
XF86VidModeLockModeSwitch
XF86VidModeGetMonitor
XF86VidModeGetViewPort
XF86VidModeSetViewPort
XDGAQueryExtension
XDGAQueryVersion
XDGAQueryModes
XDGASetMode
XDGAOpenFramebuffer
XDGACloseFramebuffer
XDGASetViewport
XDGAInstallColormap
XDGACreateColormap
XDGASelectInput
XDGAFillRectangle
XDGACopyArea
XDGACopyTransparentArea
XDGAGetViewportStatus
XDGASync
XDGASetClientVersion
XDGAChangePixmapMode
XDGAKeyEventToXKeyEvent
