# 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
XCheckTypedEvent
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
XDrawString16
XDrawText16
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
XGetSubImage
XGetVisualInfo
XGetWMHints
XGetWMSizeHints
XGetWindowAttributes
XGetWindowProperty
XGrabKeyboard
XGrabPointer
XGrabServer
XIconifyWindow
XInitThreads
XInstallColormap
XInternAtom
XIntersectRegion
XKeycodeToKeysym
XKeysymToKeycode
XKeysymToString
XListDepths
XListFonts
XListPixmapFormats
XLoadQueryFont
XLookupKeysym
XLookupString
XMapWindow
XNextEvent
XOffsetRegion
XOpenDisplay
XOpenIM
XParseGeometry
XPending
XPointInRegion
XPolygonRegion
XPutBackEvent
XPutImage
XQueryColor
XQueryKeymap
XQueryPointer
XQueryTree
XReconfigureWMWindow
XRectInRegion
XRefreshKeyboardMapping
XResetScreenSaver
XResourceManagerString
XRestackWindows
XSaveContext
XSendEvent
XSetArcMode
XSetBackground
XSetClassHint
XSetClipMask
XSetClipOrigin
XSetClipRectangles
XSetDashes
XSetFillStyle
XSetFont
XSetForeground
XSetFunction
XSetGraphicsExposures
XSetIconName
XSetInputFocus
XSetLineAttributes
XSetRegion
XSetScreenSaver
XSetSelectionOwner
XSetSubwindowMode
XSetTransientForHint
XSetWindowColormap
XSetWMHints
XSetWMProperties
XSetWMProtocols
XSetWMSizeHints
XShapeCombineMask
XShapeCombineRectangles
XShmAttach
XShmCreateImage
XShmCreatePixmap
XShmDetach
XShmGetImage
XShmPixmapFormat
XShmPutImage
XShmQueryExtension
XShmQueryVersion
XShrinkRegion
XStoreColor
XStoreName
XStringListToTextProperty
XSubImage
XSubtractRegion
XSync
XSynchronize
XTextExtents16
XTextWidth16
XUngrabKeyboard
XUngrabPointer
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
XvQueryExtension
XvQueryAdaptors
XvQueryEncodings
XvPutVideo
XvPutStill
XvGetVideo
XvGetStill
XvStopVideo
XvGrabPort
XvUngrabPort
XvSelectVideoNotify
XvSelectPortNotify
XvSetPortAttribute
XvGetPortAttribute
XvQueryBestSize
XvQueryPortAttributes
XvFreeAdaptorInfo
XvFreeEncodingInfo
XvListImageFormats
XvCreateImage
XvPutImage
XvShmPutImage
XvShmCreateImage
