libx11: Changes to 'upstream-experimental'
Makefile.am | 4
NEWS | 72 +++++
configure.ac | 21 +
cpprules.in | 3
include/Makefile.am | 6
man/Makefile.am | 2
man/XGetVisualInfo.man | 2
man/XOpenIM.man | 8
man/XRecolorCursor.man | 2
man/xkb/Makefile.am | 234 ++++++++++++++++
man/xkb/XkbActionCtrls.man | 146 ++++++++++
man/xkb/XkbAddDeviceLedInfo.man | 131 +++++++++
man/xkb/XkbAddGeomColor.man | 110 +++++++
man/xkb/XkbAddGeomDoodad.man | 123 ++++++++
man/xkb/XkbAddGeomKey.man | 86 ++++++
man/xkb/XkbAddGeomKeyAlias.man | 99 +++++++
man/xkb/XkbAddGeomOutline.man | 94 ++++++
man/xkb/XkbAddGeomOverlay.man | 105 +++++++
man/xkb/XkbAddGeomOverlayKey.man | 95 ++++++
man/xkb/XkbAddGeomOverlayRow.man | 100 +++++++
man/xkb/XkbAddGeomProperty.man | 100 +++++++
man/xkb/XkbAddGeomRow.man | 88 ++++++
man/xkb/XkbAddGeomSection.man | 137 +++++++++
man/xkb/XkbAddGeomShape.man | 103 +++++++
man/xkb/XkbAddSymInterpret.man | 81 +++++
man/xkb/XkbAllocClientMap.man | 178 ++++++++++++
man/xkb/XkbAllocCompatMap.man | 122 ++++++++
man/xkb/XkbAllocControls.man | 150 ++++++++++
man/xkb/XkbAllocDeviceInfo.man | 114 ++++++++
man/xkb/XkbAllocDeviceLedInfo.man | 125 ++++++++
man/xkb/XkbAllocGeomColors.man | 82 +++++
man/xkb/XkbAllocGeomDoodads.man | 81 +++++
man/xkb/XkbAllocGeomKeyAliases.man | 86 ++++++
man/xkb/XkbAllocGeomKeys.man | 80 +++++
man/xkb/XkbAllocGeomOutlines.man | 86 ++++++
man/xkb/XkbAllocGeomOverlayKey.man | 76 +++++
man/xkb/XkbAllocGeomOverlayRows.man | 85 ++++++
man/xkb/XkbAllocGeomOverlays.man | 75 +++++
man/xkb/XkbAllocGeomPoints.man | 80 +++++
man/xkb/XkbAllocGeomProps.man | 83 +++++
man/xkb/XkbAllocGeomRows.man | 80 +++++
man/xkb/XkbAllocGeomSectionDoodads.man | 87 ++++++
man/xkb/XkbAllocGeomSections.man | 85 ++++++
man/xkb/XkbAllocGeomShapes.man | 86 ++++++
man/xkb/XkbAllocGeometry.man | 97 ++++++
man/xkb/XkbAllocIndicatorMaps.man | 75 +++++
man/xkb/XkbAllocKeyboard.man | 62 ++++
man/xkb/XkbAllocNames.man | 132 +++++++++
man/xkb/XkbAllocServerMap.man | 135 +++++++++
man/xkb/XkbApplyCompatMapToKey.man | 376 ++++++++++++++++++++++++++
man/xkb/XkbBell.man | 344 ++++++++++++++++++++++++
man/xkb/XkbBellEvent.man | 341 ++++++++++++++++++++++++
man/xkb/XkbChangeControls.man | 336 ++++++++++++++++++++++++
man/xkb/XkbChangeDeviceInfo.man | 88 ++++++
man/xkb/XkbChangeEnabledControls.man | 180 ++++++++++++
man/xkb/XkbChangeIndicators.man | 172 ++++++++++++
man/xkb/XkbChangeMap.man | 149 ++++++++++
man/xkb/XkbChangeNames.man | 200 ++++++++++++++
man/xkb/XkbChangeTypesOfKey.man | 222 +++++++++++++++
man/xkb/XkbComputeRowBounds.man | 64 ++++
man/xkb/XkbComputeSectionBounds.man | 62 ++++
man/xkb/XkbComputeShapeBounds.man | 92 ++++++
man/xkb/XkbComputeShapeTop.man | 87 ++++++
man/xkb/XkbCopyKeyType.man | 106 +++++++
man/xkb/XkbCopyKeyTypes.man | 130 +++++++++
man/xkb/XkbDeviceBell.man | 313 ++++++++++++++++++++++
man/xkb/XkbDeviceBellEvent.man | 344 ++++++++++++++++++++++++
man/xkb/XkbFindOverlayForKey.man | 66 ++++
man/xkb/XkbForceBell.man | 326 +++++++++++++++++++++++
man/xkb/XkbForceDeviceBell.man | 319 ++++++++++++++++++++++
man/xkb/XkbFreeClientMap.man | 215 +++++++++++++++
man/xkb/XkbFreeCompatMap.man | 178 ++++++++++++
man/xkb/XkbFreeComponentList.man | 54 +++
man/xkb/XkbFreeControls.man | 127 +++++++++
man/xkb/XkbFreeDeviceInfo.man | 190 +++++++++++++
man/xkb/XkbFreeGeomColors.man | 96 ++++++
man/xkb/XkbFreeGeomDoodads.man | 92 ++++++
man/xkb/XkbFreeGeomKeyAliases.man | 105 +++++++
man/xkb/XkbFreeGeomKeys.man | 74 +++++
man/xkb/XkbFreeGeomOutlines.man | 74 +++++
man/xkb/XkbFreeGeomOverlayKeys.man | 102 +++++++
man/xkb/XkbFreeGeomOverlayRows.man | 102 +++++++
man/xkb/XkbFreeGeomOverlays.man | 102 +++++++
man/xkb/XkbFreeGeomPoints.man | 102 +++++++
man/xkb/XkbFreeGeomProperties.man | 101 +++++++
man/xkb/XkbFreeGeomRows.man | 102 +++++++
man/xkb/XkbFreeGeomSections.man | 102 +++++++
man/xkb/XkbFreeGeomShapes.man | 101 +++++++
man/xkb/XkbFreeGeometry.man | 104 +++++++
man/xkb/XkbFreeIndicatorMaps.man | 58 ++++
man/xkb/XkbFreeKeyboard.man | 76 +++++
man/xkb/XkbFreeNames.man | 107 +++++++
man/xkb/XkbFreeServerMap.man | 201 ++++++++++++++
man/xkb/XkbGetAccessXTimeout.man | 162 +++++++++++
man/xkb/XkbGetAutoRepeatRate.man | 100 +++++++
man/xkb/XkbGetAutoResetControls.man | 105 +++++++
man/xkb/XkbGetBounceKeysDelay.man | 226 ++++++++++++++++
man/xkb/XkbGetCompatMap.man | 130 +++++++++
man/xkb/XkbGetControls.man | 176 ++++++++++++
man/xkb/XkbGetControlsChanges.man | 244 +++++++++++++++++
man/xkb/XkbGetDetectableAutorepeat.man | 104 +++++++
man/xkb/XkbGetDeviceButtonActions.man | 132 +++++++++
man/xkb/XkbGetDeviceInfo.man | 265 ++++++++++++++++++
man/xkb/XkbGetDeviceInfoChanges.man | 76 +++++
man/xkb/XkbGetDeviceLedInfo.man | 171 ++++++++++++
man/xkb/XkbGetGeometry.man | 84 ++++++
man/xkb/XkbGetIndicatorChanges.man | 169 ++++++++++++
man/xkb/XkbGetIndicatorMap.man | 101 +++++++
man/xkb/XkbGetIndicatorState.man | 93 ++++++
man/xkb/XkbGetKeyActions.man | 108 +++++++
man/xkb/XkbGetKeyBehaviors.man | 106 +++++++
man/xkb/XkbGetKeyExplicitComponents.man | 168 ++++++++++++
man/xkb/XkbGetKeyModifierMap.man | 109 +++++++
man/xkb/XkbGetKeySyms.man | 115 ++++++++
man/xkb/XkbGetKeyTypes.man | 98 +++++++
man/xkb/XkbGetKeyVirtualModMap.man | 119 ++++++++
man/xkb/XkbGetKeyboard.man | 106 +++++++
man/xkb/XkbGetKeyboardByName.man | 405 ++++++++++++++++++++++++++++
man/xkb/XkbGetMap.man | 335 +++++++++++++++++++++++
man/xkb/XkbGetNameChanges.man | 84 ++++++
man/xkb/XkbGetNamedGeometry.man | 173 ++++++++++++
man/xkb/XkbGetNamedIndicator.man | 138 +++++++++
man/xkb/XkbGetNames.man | 149 ++++++++++
man/xkb/XkbGetSlowKeysDelay.man | 229 ++++++++++++++++
man/xkb/XkbGetState.man | 69 ++++
man/xkb/XkbGetStickyKeysOptions.man | 129 +++++++++
man/xkb/XkbGetUpdatedMap.man | 276 +++++++++++++++++++
man/xkb/XkbGetVirtualMods.man | 222 +++++++++++++++
man/xkb/XkbGetXlibControls.man | 71 +++++
man/xkb/XkbIgnoreExtension.man | 89 ++++++
man/xkb/XkbInitCanonicalKeyTypes.man | 98 +++++++
man/xkb/XkbKeyAction.man | 147 ++++++++++
man/xkb/XkbKeyActionEntry.man | 153 ++++++++++
man/xkb/XkbKeyActionsPtr.man | 146 ++++++++++
man/xkb/XkbKeyGroupInfo.man | 210 +++++++++++++++
man/xkb/XkbKeyGroupWidth.man | 86 ++++++
man/xkb/XkbKeyGroupsWidth.man | 76 +++++
man/xkb/XkbKeyHasActions.man | 137 +++++++++
man/xkb/XkbKeyNumActions.man | 125 ++++++++
man/xkb/XkbKeyNumGroups.man | 322 +++++++++++++++++++++++
man/xkb/XkbKeyNumSyms.man | 77 +++++
man/xkb/XkbKeySymEntry.man | 95 ++++++
man/xkb/XkbKeySymsOffset.man | 78 +++++
man/xkb/XkbKeySymsPtr.man | 78 +++++
man/xkb/XkbKeyType.man | 84 ++++++
man/xkb/XkbKeyTypeIndex.man | 70 +++++
man/xkb/XkbKeyTypesForCoreSymbols.man | 248 +++++++++++++++++
man/xkb/XkbKeycodeToKeysym.man | 76 +++++
man/xkb/XkbKeysymToModifiers.man | 64 ++++
man/xkb/XkbLatchGroup.man | 97 ++++++
man/xkb/XkbLatchModifiers.man | 120 ++++++++
man/xkb/XkbLibraryVersion.man | 104 +++++++
man/xkb/XkbListComponents.man | 181 ++++++++++++
man/xkb/XkbLockGroup.man | 95 ++++++
man/xkb/XkbLockModifiers.man | 118 ++++++++
man/xkb/XkbLookupKeyBinding.man | 104 +++++++
man/xkb/XkbLookupKeySym.man | 89 ++++++
man/xkb/XkbModActionVMods.man | 58 ++++
man/xkb/XkbNoteControlsChanges.man | 214 +++++++++++++++
man/xkb/XkbNoteDeviceChanges.man | 149 ++++++++++
man/xkb/XkbNoteIndicatorChanges.man | 137 +++++++++
man/xkb/XkbNoteNameChanges.man | 106 +++++++
man/xkb/XkbOpenDisplay.man | 170 ++++++++++++
man/xkb/XkbOutOfRangeGroupInfo.man | 196 ++++++++++++++
man/xkb/XkbOutOfRangeGroupNumber.man | 197 ++++++++++++++
man/xkb/XkbPtrActionX.man | 114 ++++++++
man/xkb/XkbPtrActionY.man | 114 ++++++++
man/xkb/XkbQueryExtension.man | 146 ++++++++++
man/xkb/XkbRefreshKeyboardMapping.man | 78 +++++
man/xkb/XkbResizeDeviceButtonActions.man | 105 +++++++
man/xkb/XkbResizeKeyActions.man | 114 ++++++++
man/xkb/XkbResizeKeySyms.man | 112 ++++++++
man/xkb/XkbResizeKeyType.man | 155 +++++++++++
man/xkb/XkbSAActionSetCtrls.man | 162 +++++++++++
man/xkb/XkbSAGroup.man | 67 ++++
man/xkb/XkbSAPtrDfltValue.man | 117 ++++++++
man/xkb/XkbSARedirectSetVMods.man | 121 ++++++++
man/xkb/XkbSARedirectSetVModsMask.man | 134 +++++++++
man/xkb/XkbSARedirectVMods.man | 126 +++++++++
man/xkb/XkbSARedirectVModsMask.man | 127 +++++++++
man/xkb/XkbSAScreen.man | 112 ++++++++
man/xkb/XkbSASetGroup.man | 72 +++++
man/xkb/XkbSASetPtrDfltValue.man | 116 ++++++++
man/xkb/XkbSASetScreen.man | 109 +++++++
man/xkb/XkbSelectEventDetails.man | 163 +++++++++++
man/xkb/XkbSelectEvents.man | 186 +++++++++++++
man/xkb/XkbSetAccessXTimeout.man | 215 +++++++++++++++
man/xkb/XkbSetAutoRepeatRate.man | 114 ++++++++
man/xkb/XkbSetAutoResetControls.man | 116 ++++++++
man/xkb/XkbSetBounceKeysDelay.man | 221 +++++++++++++++
man/xkb/XkbSetCompatMap.man | 219 +++++++++++++++
man/xkb/XkbSetControls.man | 181 ++++++++++++
man/xkb/XkbSetDebuggingFlags.man | 193 +++++++++++++
man/xkb/XkbSetDetectableAutorepeat.man | 119 ++++++++
man/xkb/XkbSetDeviceButtonActions.man | 112 ++++++++
man/xkb/XkbSetDeviceInfo.man | 235 ++++++++++++++++
man/xkb/XkbSetIgnoreLockMods.man | 214 +++++++++++++++
man/xkb/XkbSetIndicatorMap.man | 194 +++++++++++++
man/xkb/XkbSetMap.man | 397 ++++++++++++++++++++++++++++
man/xkb/XkbSetModActionVMods.man | 69 ++++
man/xkb/XkbSetNamedIndicator.man | 141 ++++++++++
man/xkb/XkbSetNames.man | 226 ++++++++++++++++
man/xkb/XkbSetPtrActionX.man | 120 ++++++++
man/xkb/XkbSetPtrActionY.man | 120 ++++++++
man/xkb/XkbSetServerInternalMods.man | 218 +++++++++++++++
man/xkb/XkbSetXlibControls.man | 119 ++++++++
man/xkb/XkbTranslateKeyCode.man | 89 ++++++
man/xkb/XkbTranslateKeySym.man | 101 +++++++
man/xkb/XkbUpdateMapFromCore.man | 130 +++++++++
man/xkb/XkbVirtualModsToReal.man | 144 ++++++++++
modules/im/ximcp/imDefIm.c | 2
modules/im/ximcp/imExten.c | 2
modules/im/ximcp/imInt.c | 12
modules/im/ximcp/imLcPrs.c | 29 --
modules/im/ximcp/imRm.c | 412 +++++++++++++++++------------
modules/lc/gen/lcGenConv.c | 4
modules/om/generic/omGeneric.c | 2
modules/om/generic/omXChar.c | 2
nls/el_GR.UTF-8/Compose.pre | 433 +++++++++++++++++++++++++++++++
src/AllCells.c | 16 -
src/AllPlanes.c | 21 -
src/AllowEv.c | 8
src/AutoRep.c | 6
src/Backgnd.c | 8
src/BdrWidth.c | 8
src/Bell.c | 6
src/Border.c | 8
src/ChAccCon.c | 14 -
src/ChActPGb.c | 10
src/ChClMode.c | 7
src/ChCmap.c | 8
src/ChGC.c | 10
src/ChKeyCon.c | 8
src/ChPntCon.c | 12
src/ChSaveSet.c | 20 -
src/ChWAttrs.c | 10
src/ChWindow.c | 9
src/ChkIfEv.c | 10
src/ChkMaskEv.c | 8
src/ChkTypEv.c | 8
src/ChkTypWEv.c | 10
src/ChkWinEv.c | 10
src/CirWin.c | 8
src/CirWinDn.c | 6
src/CirWinUp.c | 6
src/Clear.c | 6
src/ClearArea.c | 14 -
src/ConfWind.c | 12
src/ConvSel.c | 13
src/CopyArea.c | 20 -
src/CopyCmap.c | 6
src/CopyGC.c | 9
src/CopyPlane.c | 22 -
src/CrCmap.c | 10
src/CrCursor.c | 13
src/CrGC.c | 42 +--
src/CrGlCur.c | 20 -
src/CrPFBData.c | 16 -
src/CrPixmap.c | 10
src/CrWindow.c | 18 -
src/Cursor.c | 6
src/DefCursor.c | 8
src/DelProp.c | 8
src/Depths.c | 8
src/DestSubs.c | 6
src/DestWind.c | 6
src/DrArc.c | 17 -
src/DrArcs.c | 12
src/DrLine.c | 13
src/DrLines.c | 14 -
src/DrPoint.c | 11
src/DrPoints.c | 14 -
src/DrRect.c | 14 -
src/DrRects.c | 12
src/DrSegs.c | 12
src/ErrDes.c | 57 ++--
src/FSSaver.c | 15 -
src/FSWrap.c | 33 +-
src/FetchName.c | 16 -
src/FillArc.c | 17 -
src/FillArcs.c | 12
src/FillPoly.c | 16 -
src/FillRct.c | 14 -
src/FillRcts.c | 12
src/FilterEv.c | 6
src/Flush.c | 5
src/Font.c | 14 -
src/FontInfo.c | 8
src/FontNames.c | 3
src/FreeCols.c | 12
src/FreeCurs.c | 6
src/FreeEData.c | 3
src/FreeGC.c | 6
src/FreePix.c | 7
src/GCMisc.c | 40 +-
src/GetAtomNm.c | 16 -
src/GetDflt.c | 4
src/GetFPath.c | 9
src/GetFProp.c | 10
src/GetGCVals.c | 10
src/GetGeom.c | 16 -
src/GetHColor.c | 8
src/GetHints.c | 68 ++--
src/GetIFocus.c | 8
src/GetImage.c | 38 +-
src/GetKCnt.c | 8
src/GetMoEv.c | 11
src/GetNrmHint.c | 22 -
src/GetPCnt.c | 9
src/GetPntMap.c | 8
src/GetProp.c | 26 -
src/GetRGBCMap.c | 12
src/GetSOwner.c | 6
src/GetSSaver.c | 10
src/GetStCmap.c | 10
src/GetTxtProp.c | 34 +-
src/GetWMCMapW.c | 10
src/GetWMProto.c | 10
src/GrButton.c | 22 -
src/GrKey.c | 16 -
src/GrKeybd.c | 13
src/GrPointer.c | 20 -
src/GrServer.c | 3
src/Iconify.c | 8
src/IfEvent.c | 10
src/ImUtil.c | 171 ++++++------
src/InitExt.c | 130 ++++-----
src/InsCmap.c | 6
src/IntAtom.c | 29 +-
src/KeyBind.c | 47 +--
src/KeysymStr.c | 3
src/KillCl.c | 6
src/LiICmaps.c | 8
src/LiProps.c | 8
src/ListExt.c | 9
src/LowerWin.c | 6
src/Macros.c | 224 +++++++++-------
src/MapRaised.c | 6
src/MapSubs.c | 6
src/MapWindow.c | 6
src/MaskEvent.c | 8
src/Misc.c | 22 -
src/ModMap.c | 15 -
src/MoveWin.c | 9
src/NextEvent.c | 6
src/OCWrap.c | 6
src/OMWrap.c | 9
src/OpenDis.c | 4
src/ParseCmd.c | 2
src/PeekEvent.c | 6
src/PeekIfEv.c | 10
src/Pending.c | 9
src/PixFormats.c | 6
src/PmapBgnd.c | 8
src/PmapBord.c | 8
src/PolyReg.c | 8
src/PolyTxt.c | 15 -
src/PolyTxt16.c | 15 -
src/PropAlloc.c | 10
src/PutImage.c | 20 -
src/QuBest.c | 14 -
src/QuColor.c | 8
src/QuColors.c | 10
src/QuCurShp.c | 12
src/QuKeybd.c | 7
src/QuPntr.c | 16 -
src/QuStipShp.c | 12
src/QuTileShp.c | 12
src/QuTree.c | 14 -
src/Quarks.c | 5
src/RaiseWin.c | 6
src/RdBitF.c | 57 +---
src/RecolorC.c | 9
src/ReconfWM.c | 12
src/ReconfWin.c | 12
src/RepWindow.c | 10
src/RestackWs.c | 10
src/RotProp.c | 14 -
src/ScrResStr.c | 3
src/SelInput.c | 8
src/SendEvent.c | 17 -
src/SetBack.c | 8
src/SetCRects.c | 16 -
src/SetClMask.c | 8
src/SetClOrig.c | 9
src/SetFPath.c | 8
src/SetFont.c | 8
src/SetFore.c | 8
src/SetFunc.c | 8
src/SetHints.c | 138 +++++----
src/SetIFocus.c | 10
src/SetLStyle.c | 14 -
src/SetNrmHint.c | 71 +++--
src/SetPMask.c | 8
src/SetPntMap.c | 15 -
src/SetRGBCMap.c | 12
src/SetSOwner.c | 10
src/SetSSaver.c | 9
src/SetStCmap.c | 10
src/SetState.c | 13
src/SetStip.c | 8
src/SetTSOrig.c | 9
src/SetTile.c | 8
src/SetTxtProp.c | 34 +-
src/SetWMCMapW.c | 10
src/SetWMProto.c | 10
src/StBytes.c | 25 +
src/StColor.c | 8
src/StColors.c | 10
src/StrKeysym.c | 2
src/StrToText.c | 8
src/Sync.c | 6
src/TextToStr.c | 11
src/TrCoords.c | 16 -
src/UndefCurs.c | 6
src/UngrabBut.c | 10
src/UngrabKbd.c | 6
src/UngrabKey.c | 11
src/UngrabPtr.c | 6
src/UngrabSvr.c | 4
src/UninsCmap.c | 6
src/UnldFont.c | 6
src/UnmapSubs.c | 6
src/UnmapWin.c | 6
src/VisUtil.c | 23 -
src/WMProps.c | 21 -
src/WarpPtr.c | 17 -
src/WinEvent.c | 10
src/Window.c | 24 -
src/Withdraw.c | 8
src/XlibAsync.c | 50 +--
src/XlibInt.c | 12
src/Xxcbint.h | 1
src/imConv.c | 48 +--
src/xcb_io.c | 88 ++----
src/xcb_lock.c | 33 +-
src/xcms/AddDIC.c | 3
src/xcms/AddSF.c | 3
src/xcms/CCC.c | 28 --
src/xcms/CvCols.c | 12
src/xcms/HVC.c | 20 -
src/xcms/HVCGcC.c | 12
src/xcms/HVCGcV.c | 12
src/xcms/HVCGcVC.c | 12
src/xcms/HVCMnV.c | 10
src/xcms/HVCMxC.c | 10
src/xcms/HVCMxV.c | 10
src/xcms/HVCMxVC.c | 8
src/xcms/HVCMxVs.c | 10
src/xcms/HVCWpAj.c | 17 -
src/xcms/IdOfPr.c | 3
src/xcms/LRGB.c | 32 +-
src/xcms/Lab.c | 22 -
src/xcms/LabGcC.c | 12
src/xcms/LabGcL.c | 12
src/xcms/LabGcLC.c | 12
src/xcms/LabMnL.c | 10
src/xcms/LabMxC.c | 10
src/xcms/LabMxL.c | 10
src/xcms/LabMxLC.c | 8
src/xcms/LabWpAj.c | 17 -
src/xcms/Luv.c | 22 -
src/xcms/LuvGcC.c | 12
src/xcms/LuvGcL.c | 12
src/xcms/LuvGcLC.c | 12
src/xcms/LuvMnL.c | 10
src/xcms/LuvMxC.c | 10
src/xcms/LuvMxL.c | 10
src/xcms/LuvMxLC.c | 8
src/xcms/LuvWpAj.c | 17 -
src/xcms/OfCCC.c | 20 -
src/xcms/PrOfId.c | 4
src/xcms/QBlack.c | 8
src/xcms/QBlue.c | 8
src/xcms/QGreen.c | 8
src/xcms/QRed.c | 8
src/xcms/QWhite.c | 8
src/xcms/QuCol.c | 10
src/xcms/QuCols.c | 12
src/xcms/SetCCC.c | 6
src/xcms/StCol.c | 8
src/xcms/StCols.c | 13
src/xcms/XYZ.c | 2
src/xcms/cmsAllCol.c | 10
src/xcms/cmsCmap.c | 24 -
src/xcms/cmsColNm.c | 2
src/xcms/cmsMath.c | 6
src/xcms/cmsTrig.c | 6
src/xcms/uvY.c | 22 -
src/xcms/xyY.c | 22 -
src/xkb/XKBCvt.c | 6
src/xkb/XKBExtDev.c | 2
src/xkb/XKBlibint.h | 4
src/xlibi18n/XDefaultIMIF.c | 15 -
src/xlibi18n/XimTrInt.h | 2
src/xlibi18n/Ximint.h | 2
src/xlibi18n/Xlcint.h | 4
src/xlibi18n/lcCT.c | 8
src/xlibi18n/lcDB.c | 76 ++++-
src/xlibi18n/lcFile.c | 6
500 files changed, 30763 insertions(+), 2252 deletions(-)
New commits:
commit 65f0ab5d46d80d55fc04d4eb14fa05f130eb8b9c
Author: Jamey Sharp <jamey@minilop.net>
Date: Sun Jun 3 21:41:47 2007 -0700
Move security fixes to the top of NEWS, and fix spacing.
Commit by Josh Triplett and Jamey Sharp.
diff --git a/NEWS b/NEWS
index 52a56cc..e03d556 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,9 @@
Version 1.1.2 - 2007-06-03
-* Fix CVE-2007-1667: Multiple integer overflows in the XGetPixel() and
- XInitImage() functions.
+* Security fixes:
+ * Fix CVE-2007-1667: Multiple integer overflows in the XGetPixel() and
+ XInitImage() functions.
+ * Bug #9279: Fixed a file descriptor leak.
* Xlib/XCB: Ensure _XReadEvents reads at least one new event and blocks for
exactly one event. Large performance improvement for XIfEvent and similar.
@@ -30,16 +32,22 @@ Version 1.1.2 - 2007-06-03
* Bug #7703: Fixed XSetSizeHints() et al wrt use of uninitialized data.
Now only those fields of the respective hint struct are set that
are actually valid in the input data.
+
* Bug #10292: Fixed a memory leak related to XOpenDisplay() in the XCB code.
+
* Bug #7713: Initialize all of the event's fields before sending it.
-* Bug #9279: Fixed a file descriptor leak.
+
* Bug #10562: Define _GNU_SOURCE on glibc systems.
+
* Use unistd.h to get getresuid() and friends, now that we have _GNU_SOURCE
defined.
* Switched function definitions from K&R to ANSI style.
+
* Many constness fixes.
+
* Fixed a few warnings.
+
* Fix 64bit issues with reallocation.
* Manpage fixes:
commit a549a258b8fcb1ba9d0c1b01b72967e385f67cab
Author: Jamey Sharp <jamey@minilop.net>
Date: Sun Jun 3 21:29:40 2007 -0700
Add NEWS item for bugfix in commit e2c1d788d1fe7bd2d34756493951552441e59b8c.
Commit by Josh Triplett and Jamey Sharp
diff --git a/NEWS b/NEWS
index 2ee3a92..52a56cc 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,8 @@ Version 1.1.2 - 2007-06-03
* Xlib/XCB: Avoid re-crashing after _XIOError.
+* Xlib/XCB: Only remove pending_requests when there are provably no more responses.
+
* For NetBSD, define XTHREADLIB and XTHREAD_CFLAGS.
* Bug #7703: Fixed XSetSizeHints() et al wrt use of uninitialized data.
commit 5123b77a3d32d3ad479462f319762c328278aed9
Author: Jamey Sharp <jamey@minilop.net>
Date: Sun Jun 3 21:24:54 2007 -0700
Xlib/XCB: Inline and simplify handle_event, since only process_responses calls it now.
Commit by Josh Triplett and Jamey Sharp.
diff --git a/src/xcb_io.c b/src/xcb_io.c
index afab7ac..193ee68 100644
--- a/src/xcb_io.c
+++ b/src/xcb_io.c
@@ -77,18 +77,6 @@ static void condition_wait(Display *dpy, xcondition_t cv)
_XGetXCBBuffer(dpy);
}
-static void handle_event(Display *dpy, xcb_generic_event_t *e)
-{
- if(!e)
- _XIOError(dpy);
- dpy->last_request_read = e->full_sequence;
- if(e->response_type == X_Error)
- _XError(dpy, (xError *) e);
- else
- _XEnq(dpy, (xEvent *) e);
- free(e);
-}
-
static void call_handlers(Display *dpy, xcb_generic_reply_t *buf)
{
_XAsyncHandler *async, *next;
@@ -132,8 +120,13 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
assert(!(req && current_request && !XCB_SEQUENCE_COMPARE(req->sequence, <=, current_request)));
if(event && (!req || XCB_SEQUENCE_COMPARE(event->full_sequence, <=, req->sequence)))
{
- if(current_error && event->response_type == X_Error
- && event->full_sequence == current_request)
+ dpy->last_request_read = event->full_sequence;
+ if(event->response_type != X_Error)
+ {
+ _XEnq(dpy, (xEvent *) event);
+ wait_for_first_event = 0;
+ }
+ else if(current_error && event->full_sequence == current_request)
{
/* This can only occur when called from
* _XReply, which doesn't need a new event. */
@@ -141,9 +134,9 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
event = 0;
break;
}
- if(event->response_type != X_Error)
- wait_for_first_event = 0;
- handle_event(dpy, event);
+ else
+ _XError(dpy, (xError *) event);
+ free(event);
event = wait_or_poll_for_event(dpy, wait_for_first_event);
}
else if(req && req->waiters != -1)
commit 582ca690ea4f3ffd2b94826c4db97229bd3c7238
Author: Jamey Sharp <jamey@minilop.net>
Date: Sun Jun 3 20:59:12 2007 -0700
Xlib/XCB: Fix _XReadEvents to always enqueue a new event, even if an error occurs
Commit c337f9de7cfd89f983f83956b7457a274dd412f3 broke the invariant that
_XReadEvents always enqueues at least one event even if an error occurred,
because the one call to xcb_wait_for_event would then return an error, not an
event, and nothing else ensured that process_responses would obtain an event.
Fix this by reverting most of c337f9de7cfd89f983f83956b7457a274dd412f3 and
f417570735aac865eb6b576d1ea76b5bfcd8573b and implementing the correct fix. In
process_responses, wait_for_first_event now serves as a flag, cleared when
actually handling an event.
Commit by Josh Triplett and Jamey Sharp.
diff --git a/src/xcb_io.c b/src/xcb_io.c
index c0b2c1f..afab7ac 100644
--- a/src/xcb_io.c
+++ b/src/xcb_io.c
@@ -102,6 +102,21 @@ static void call_handlers(Display *dpy, xcb_generic_reply_t *buf)
_XError(dpy, (xError *) buf);
}
+static xcb_generic_event_t * wait_or_poll_for_event(Display *dpy, int wait)
+{
+ xcb_connection_t *c = dpy->xcb->connection;
+ xcb_generic_event_t *event;
+ if(wait)
+ {
+ UnlockDisplay(dpy);
+ event = xcb_wait_for_event(c);
+ LockDisplay(dpy);
+ }
+ else
+ event = xcb_poll_for_event(c);
+ return event;
+}
+
static void process_responses(Display *dpy, int wait_for_first_event, xcb_generic_error_t **current_error, unsigned int current_request)
{
void *reply;
@@ -109,16 +124,7 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
xcb_generic_error_t *error;
xcb_connection_t *c = dpy->xcb->connection;
if(!event && dpy->xcb->event_owner == XlibOwnsEventQueue)
- {
- if(wait_for_first_event)
- {
- UnlockDisplay(dpy);
- event = xcb_wait_for_event(c);
- LockDisplay(dpy);
- }
- else
- event = xcb_poll_for_event(c);
- }
+ event = wait_or_poll_for_event(dpy, wait_for_first_event);
while(1)
{
@@ -126,20 +132,25 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
assert(!(req && current_request && !XCB_SEQUENCE_COMPARE(req->sequence, <=, current_request)));
if(event && (!req || XCB_SEQUENCE_COMPARE(event->full_sequence, <=, req->sequence)))
{
- if(current_error && event->response_type == 0 && event->full_sequence == current_request)
+ if(current_error && event->response_type == X_Error
+ && event->full_sequence == current_request)
{
+ /* This can only occur when called from
+ * _XReply, which doesn't need a new event. */
*current_error = (xcb_generic_error_t *) event;
event = 0;
break;
}
+ if(event->response_type != X_Error)
+ wait_for_first_event = 0;
handle_event(dpy, event);
- event = xcb_poll_for_event(c);
+ event = wait_or_poll_for_event(dpy, wait_for_first_event);
}
else if(req && req->waiters != -1)
{
if(req->sequence == current_request)
break;
- if(!current_request && !(wait_for_first_event && !dpy->head))
+ if(!current_request && !wait_for_first_event)
break;
dpy->xcb->next_event = event;
req->waiters++;
@@ -176,7 +187,7 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
_XIOError(dpy);
assert_sequence_less(dpy->last_request_read, dpy->request);
- assert(!wait_for_first_event || dpy->head);
+ assert(!wait_for_first_event);
}
int _XEventsQueued(Display *dpy, int mode)
commit e2c1d788d1fe7bd2d34756493951552441e59b8c
Author: Jamey Sharp <jamey@minilop.net>
Date: Sun Jun 3 17:33:23 2007 -0700
Xlib/XCB: Only remove pending_requests when there are provably no more responses.
diff --git a/src/xcb_io.c b/src/xcb_io.c
index 276c1b9..c0b2c1f 100644
--- a/src/xcb_io.c
+++ b/src/xcb_io.c
@@ -107,7 +107,6 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
void *reply;
xcb_generic_event_t *event = dpy->xcb->next_event;
xcb_generic_error_t *error;
- PendingRequest *req;
xcb_connection_t *c = dpy->xcb->connection;
if(!event && dpy->xcb->event_owner == XlibOwnsEventQueue)
{
@@ -123,7 +122,7 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
while(1)
{
- req = dpy->xcb->pending_requests;
+ PendingRequest *req = dpy->xcb->pending_requests;
assert(!(req && current_request && !XCB_SEQUENCE_COMPARE(req->sequence, <=, current_request)));
if(event && (!req || XCB_SEQUENCE_COMPARE(event->full_sequence, <=, req->sequence)))
{
@@ -146,24 +145,26 @@ static void process_responses(Display *dpy, int wait_for_first_event, xcb_generi
req->waiters++;
assert(req->waiters > 0);
condition_wait(dpy, &req->condition);
- if(--req->waiters == 0)
- free(req);
+ --req->waiters;
event = dpy->xcb->next_event;
}
else if(req && xcb_poll_for_reply(dpy->xcb->connection, req->sequence, &reply, &error))
{
- dpy->xcb->pending_requests = req->next;
- if(!dpy->xcb->pending_requests)
- dpy->xcb->pending_requests_tail = &dpy->xcb->pending_requests;
+ unsigned int sequence = req->sequence;
if(!reply)
+ {
+ dpy->xcb->pending_requests = req->next;
+ if(!dpy->xcb->pending_requests)
+ dpy->xcb->pending_requests_tail = &dpy->xcb->pending_requests;
+ free(req);
reply = error;
+ }
if(reply)
{
- dpy->last_request_read = req->sequence;
+ dpy->last_request_read = sequence;
call_handlers(dpy, reply);
+ free(reply);
}
- free(req);
- free(reply);
}
else
break;
@@ -329,17 +330,6 @@ static PendingRequest * insert_pending_request(Display *dpy)
return *cur;
}
-static void remove_pending_request(Display *dpy, PendingRequest *node)
-{
- PendingRequest **cur = &dpy->xcb->pending_requests;
- while(*cur && *cur != node)
- cur = &((*cur)->next);
- if(*cur == node)
- *cur = node->next;
- if(!dpy->xcb->pending_requests)
- dpy->xcb->pending_requests_tail = &dpy->xcb->pending_requests;
-}
-
/*
* _XReply - Wait for a reply packet and copy its contents into the
* specified rep.
@@ -352,7 +342,6 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard)
xcb_connection_t *c = dpy->xcb->connection;
char *reply;
PendingRequest *current;
- unsigned int current_sequence;
assert(!dpy->xcb->reply_data);
@@ -374,18 +363,11 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard)
check_internal_connections(dpy);
process_responses(dpy, 0, &error, current->sequence);
- current_sequence = current->sequence;
-
- remove_pending_request(dpy, current);
if(current->waiters)
{ /* The ConditionBroadcast macro contains an if; braces needed here. */
ConditionBroadcast(dpy, ¤t->condition);
}
- else
- {
- free(current);
- current = NULL;
- }
+ --current->waiters;
if(error)
{
@@ -440,7 +422,7 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard)
return 0;
}
- dpy->last_request_read = current_sequence;
+ dpy->last_request_read = current->sequence;
/* there's no error and we have a reply. */
dpy->xcb->reply_data = reply;
commit 7a6dbd4b07ca0a49c30ca7a1d2437eafb2e15eab
Author: Josh Triplett <josh@freedesktop.org>
Date: Sun Jun 3 15:39:39 2007 -0700
Bump version number to 1.1.2, and add NEWS entry for 1.1.2
Signed-off-by: Josh Triplett <josh@freedesktop.org>
diff --git a/NEWS b/NEWS
index 9ac5fc2..2ee3a92 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,65 @@
+Version 1.1.2 - 2007-06-03
+
+* Fix CVE-2007-1667: Multiple integer overflows in the XGetPixel() and
+ XInitImage() functions.
+
+* Xlib/XCB: Ensure _XReadEvents reads at least one new event and blocks for
+ exactly one event. Large performance improvement for XIfEvent and similar.
+
+* Hold XCB's Xlib lock even when only the user lock (XLockDisplay) is held.
+ An Xlib client can query Display state, such as with NextRequest, while it
+ holds only the Xlib user lock (between XLockDisplay and XUnlockDisplay), so
+ XCB requests in other threads should be blocked when the Xlib user lock is
+ held. We acquire the lock even when XInitThreads was not called, so that
+ pure XCB code can use multiple threads even in an otherwise single-threaded
+ Xlib application.
+
+* Allow re-entrant Xlib calls from _XIOError.
+ Some libraries try to clean up X resources from atexit handlers, _fini, or
+ C++ destructors. To make these work, downgrade the Display lock to a user
+ lock (as in XLockDisplay) before calling exit(3). This blocks Xlib calls
+ from threads other than the one calling exit(3) while still allowing the
+ exit handlers to call Xlib.
+
+* Xlib/XCB: Avoid re-crashing after _XIOError.
+
+* For NetBSD, define XTHREADLIB and XTHREAD_CFLAGS.
+
+* Bug #7703: Fixed XSetSizeHints() et al wrt use of uninitialized data.
+ Now only those fields of the respective hint struct are set that
+ are actually valid in the input data.
+* Bug #10292: Fixed a memory leak related to XOpenDisplay() in the XCB code.
+* Bug #7713: Initialize all of the event's fields before sending it.
+* Bug #9279: Fixed a file descriptor leak.
+* Bug #10562: Define _GNU_SOURCE on glibc systems.
+* Use unistd.h to get getresuid() and friends, now that we have _GNU_SOURCE
+ defined.
+
+* Switched function definitions from K&R to ANSI style.
+* Many constness fixes.
+* Fixed a few warnings.
+* Fix 64bit issues with reallocation.
+
+* Manpage fixes:
+ * Add man pages for XKB APIs.
+ (Volunteer needed to convert prototypes in man pages to ANSI C style...)
+ * Protect C comments and #defines in XKB man pages from being mangled by cpp
+ * Fix typo in nroff macro in XkbAddGeomOverlayKey.man
+ * Bug #9695: Fixed a few argument types in the XOpenIM manpage.
+ * Markup tweak for XOpenIM.
+ * Bug #9696: refer to XDefineCursor() instead of XDefineCusor().
+ * Bug #9697: Fixed documentation of XVisualInfo struct. The "depth" member
+ was said to be unsigned int, but it's signed.
+
+* nls fixes:
+ * Update el_GR.UTF-8/Compose.pre to match changes in xkeyboard-config cvs.
+ * For nls/*.pre, allow people to comment lines by starting them with '##'.
+
+* Build system fixes:
+ * Add autogen.sh to EXTRA_DIST.
+ * Makefile.am: make ChangeLog hook safer
+ * Don't distribute the configure-generated XlibConf.h in tarballs.
+
Version 1.1.1 - 2006-11-30
The "xcompmgr is hard, let's go releasing" release
diff --git a/configure.ac b/configure.ac
index e3bc143..55186a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
AC_PREREQ(2.57)
AC_INIT([libX11],
- 1.1.1,
+ 1.1.2,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
libX11)
AC_CONFIG_SRCDIR([Makefile.am])
commit 416f38f2e67ee1979b3d2feac6f06b3670238804
Author: Josh Triplett <josh@freedesktop.org>
Date: Sun Jun 3 12:13:44 2007 -0700
Revert "Revert "include: don't distribute XlibConf.h""
This reverts commit 79fa3d8070d95b960ba486f2439225872471dadd.
Re-revert the XlibConf.h change, which prevented distribution, not
installation.
diff --git a/include/Makefile.am b/include/Makefile.am
index c5cdb4f..5827723 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -9,10 +9,12 @@ x11include_HEADERS=\
X11/Xutil.h \
X11/cursorfont.h \
X11/Xregion.h \
- X11/ImUtil.h \
+ X11/ImUtil.h
+
+nodist_x11include_HEADERS=\
X11/XlibConf.h
-EXTRA_DIST=\
+EXTRA_DIST = \
X11/XlibConf.h.in
if XCB
commit 79fa3d8070d95b960ba486f2439225872471dadd
Author: Josh Triplett <josh@freedesktop.org>
Date: Sat Jun 2 22:05:16 2007 -0700
Revert "include: don't distribute XlibConf.h"
This reverts commit c9e28e05ae01ce8a29bea09df759b6271865b44c.
The installed XlibInt.h includes XlibConf.h , so libX11 should ship
XlibConf.h. (Commit c9e28e05ae01ce8a29bea09df759b6271865b44c didn't actually
prevent automake from shipping XlibConf.h, because it used
nodist_x11include_HEADERS rather than nodist_HEADERS.)
diff --git a/include/Makefile.am b/include/Makefile.am
index 5827723..c5cdb4f 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -9,12 +9,10 @@ x11include_HEADERS=\
X11/Xutil.h \
X11/cursorfont.h \
X11/Xregion.h \
- X11/ImUtil.h
-
-nodist_x11include_HEADERS=\
Reply to: