summaryrefslogtreecommitdiff
path: root/dix/dispatch.c
AgeCommit message (Collapse)AuthorFilesLines
2009-12-16Update Sun license notices to current X.Org standard formAlan Coopersmith1-23/+17
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-25Ensure that rotation updates happen frequentlyKeith Packard1-1/+21
The smart scheduler is designed to minimize scheduler overhead by increasing the interval between WaitForSomething calls when a single client is running. However, the software rotation code depends on its BlockHandler being invoked for screen updates; the long delays caused by the smart scheduler optimizations means that screen updates can be delayed a long time as well. The change is simple -- prevent the smart scheduler from increasing the scheduling interval while any screen is using software rotation. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-07-22Bug #22804: Reject out of bounds XGetImage requestsAaron Plattner1-23/+49
The XGetImage man page states: If the drawable is a window, the window must be viewable, and it must be the case that if there were no inferiors or overlapping windows, the specified rectangle of the window would be fully visible on the screen and wholly contained within the outside edges of the window, or a BadMatch error results. Note that the borders of the window can be included and read with this request. However, the server was only checking the requested region against the screen bounds, allowing XGetImage requests to read pixels outside the bounds of a window's ancestors. Normally, this would just read other pixels from the screen, but if one of the ancestor windows is redirected, the window's backing pixmap may be smaller than the window itself. This change checks the region against the window's bounding drawable, which is either the screen pixmap, a redirected window's backing pixmap, or the root window for servers that don't support GetWindowPixmap. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Keith Packard <keithp@keithp.com>
2009-07-14dix: switch to byte-counting functions.Peter Hutterer1-28/+28
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-03s/MIN/min/, s/MAX/max/ (#2968)Adam Jackson1-4/+0
2009-05-27Remove reference to non-existing requestLog and requestLogIndexNicolai Hähnle1-6/+0
These fields were removed in 252ec504817e05b185e4896a2d899e9c00b8aeef. Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-29Fix most remaining deprecated resource lookups.Eamon Walsh1-4/+5
Callsites updated to use dixLookupResourceBy{Type,Class}. TODO: Audit access modes to make sure they reflect the usage.
2009-04-28dix: remove all but main() from main.cPeter Hutterer1-2/+339
All other functions are pushed into where they seemed to fit. main.c is now linked separately into libmain.a and linked in by the various DDXs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-31dix: Simplify InitClient()Adam Jackson1-22/+1
2009-03-09Replace dixLookupResource by dixLookupResourceBy{Type,Class}Keith Packard1-24/+24
dixLookupResource attempted to automatically detect whether the caller wanted a lookup by-type or by-class, unfortunately, it guessed wrong for RT_NONE. Instead of trying to make the guess better, this patch just reverts the unification and creates separate functions for each operation.
2009-02-16xserver: Avoid sending uninitialized padding data over the networkPeter Åstrand1-4/+14
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-13dix: Remove includes which are not actually used directlyBenjamin Close1-4/+0
Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Daniel Stone <daniel@fooishbar.org>
2009-02-03Constify atom name stringsAlan Coopersmith1-1/+1
Changes MakeAtom to take a const char * and NameForAtom to return them, since many callers pass pointers to constant strings stored in read-only ELF sections. Updates in-tree callers as necessary to clear const mismatch warnings introduced by this change. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22Remove a bunch of useless casts.Adam Jackson1-11/+10
We've had void * for twenty years now people let's try to act like we know how it works.
2009-01-22XKB: Make XKB mandatoryDaniel Stone1-15/+6
No more #ifdef XKB, because you can't disable the build, and no more noXkbExtension either. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-21/+21
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade1-13/+13
This is the biggest "visibility" patch. Instead of doing a "export" symbol on demand, export everything in the sdk, so that if some module fails due to an unresolved symbol, it is because it is using a symbol not in the sdk. Most exported symbols shouldn't really be made visible, neither advertised in the sdk, as they are only used by a single shared object. Symbols in the sdk (or referenced in sdk macros), but not defined anywhere include: XkbBuildCoreState() XkbInitialMap XkbXIUnsupported XkbCheckActionVMods() XkbSendCompatNotify() XkbDDXFakePointerButton() XkbDDXApplyConfig() _XkbStrCaseCmp() _XkbErrMessages[] _XkbErrCode _XkbErrLocation _XkbErrData XkbAccessXDetailText() XkbNKNDetailMaskText() XkbLookupGroupAndLevel() XkbInitAtoms() XkbGetOrderedDrawables() XkbFreeOrderedDrawables() XkbConvertXkbComponents() XkbWriteXKBSemantics() XkbWriteXKBLayout() XkbWriteXKBKeymap() XkbWriteXKBFile() XkbWriteCFile() XkbWriteXKMFile() XkbWriteToServer() XkbMergeFile() XkmFindTOCEntry() XkmReadFileSection() XkmReadFileSectionName() InitExtInput() xf86CheckButton() xf86SwitchCoreDevice() RamDacSetGamma() RamDacRestoreDACValues() xf86Bpp xf86ConfigPix24 xf86MouseCflags[] xf86SupportedMouseTypes[] xf86NumMouseTypes xf86ChangeBusIndex() xf86EntityEnter() xf86EntityLeave() xf86WrapperInit() xf86RingBell() xf86findOptionBoolean() xf86debugListOptions() LoadSubModuleLocal() LoaderSymbolLocal() getInt10Rec() xf86CurrentScreen xf86ReallocatePciResources() xf86NewSerialNumber() xf86RandRSetInitialMode() fbCompositeSolidMask_nx1xn fbCompositeSolidMask_nx8888x0565C fbCompositeSolidMask_nx8888x8888C fbCompositeSolidMask_nx8x0565 fbCompositeSolidMask_nx8x0888 fbCompositeSolidMask_nx8x8888 fbCompositeSrc_0565x0565 fbCompositeSrc_8888x0565 fbCompositeSrc_8888x0888 fbCompositeSrc_8888x8888 fbCompositeSrcAdd_1000x1000 fbCompositeSrcAdd_8000x8000 fbCompositeSrcAdd_8888x8888 fbGeneration fbIn fbOver fbOver24 fbOverlayGeneration fbRasterizeEdges fbRestoreAreas fbSaveAreas composeFunctions VBEBuildVbeModeList() VBECalcVbeModeIndex() TIramdac3030CalculateMNPForClock() shadowBufPtr shadowFindBuf() miRRGetScreenInfo() RRSetScreenConfig() RRModePruneUnused() PixmanImageFromPicture() extern int miPointerGetMotionEvents() miClipPicture() miRasterizeTriangle() fbPush1toN() fbInitializeBackingStore() ddxBeforeReset() SetupSprite() InitSprite() DGADeliverEvent() SPECIAL CASES o defined as _X_INTERNAL xf86NewInputDevice() o defined as static fbGCPrivateKey fbOverlayScreenPrivateKey fbScreenPrivateKey fbWinPrivateKey o defined in libXfont.so, but declared in xorg/dixfont.h GetGlyphs() QueryGlyphExtents() QueryTextExtents() ParseGlyphCachingMode() InitGlyphCaching() SetGlyphCachingMode()
2008-11-04Purge device-based WindowAccess code.Peter Hutterer1-1/+0
Really, this was a bad idea. It's not security, the UI features that would have been cool (e.g. clicking through windows) aren't implemented anyway, and there's nothing you can't achieve just by using plain XI anyway. Requires inputproto 1.9.99.6.
2008-10-22dix: init remaining three xkb fields to zero in a new client.Peter Hutterer1-0/+2
2008-10-06Loader: Unexport a handful of consumerless symbols from dixsym.Adam Jackson1-1/+1
2008-10-06xalloc+bzero -> xcallocAdam Jackson1-4/+2
2008-09-02Don't try to destroy a NULL pixmap.Daniel Drake1-1/+1
2008-08-20Centralize declaration of ConnectionInfo.Adam Jackson1-1/+0
2008-08-11The smart scheduler is not optional.Mathieu Bérard1-16/+0
2008-07-24Shape extension is built-in and mandatory.Adam Jackson1-4/+0
2008-05-20Merge branch 'master' into mpxPeter Hutterer1-6/+0
Conflicts: Xext/xprint.c (removed in master) config/hal.c dix/main.c hw/kdrive/ati/ati_cursor.c (removed in master) hw/kdrive/i810/i810_cursor.c (removed in master) hw/xprint/ddxInit.c (removed in master) xkb/ddxLoad.c
2008-05-12X n'est pas une print API.Adam Jackson1-6/+0
2008-04-22Merge branch 'master' into mpxPeter Hutterer1-9/+0
Conflicts: Xext/EVI.c Xext/appgroup.c Xext/cup.c Xext/mitmisc.c Xext/sampleEVI.c dix/window.c
2008-04-18Death to APPGROUP.Adam Jackson1-9/+0
2008-04-07Merge branch 'master' into dcdc_reworkPeter Hutterer1-275/+0
Conflicts: Xext/xevie.c dix/dispatch.c
2008-03-04Merge branch 'master' into mpxPeter Hutterer1-15/+13
This merge reverts Magnus' device coorindate scaling changes. MPX core event generation is very different, so we can't scale in GetPointerEvents. Conflicts: Xi/opendev.c dix/devices.c dix/dixfonts.c dix/getevents.c dix/resource.c dix/window.c hw/xfree86/common/xf86Xinput.c mi/mipointer.c xkb/ddxBeep.c xkb/ddxCtrls.c xkb/ddxKeyClick.c xkb/ddxList.c xkb/ddxLoad.c xkb/xkb.c xkb/xkbAccessX.c xkb/xkbEvents.c xkb/xkbInit.c xkb/xkbPrKeyEv.c xkb/xkbUtils.c
2008-02-29dix: Refactoring of selection code to allow for polyinstantiation.Eamon Walsh1-274/+0
Introduces dixLookupSelection() API. Removes NumCurrentSelections from API.
2008-02-14requestingClient is an xprintism, hide it for other servers.Adam Jackson1-0/+4
2008-02-14Simplify critical output flushing.Adam Jackson1-6/+2
2008-02-12XACE: Move the selection access hook to its own function.Eamon Walsh1-6/+4
2008-02-07XACE: Correct some protocol error values in the colormap routines.Eamon Walsh1-3/+3
2008-01-26Merge branch 'master' into mpxPeter Hutterer1-2/+3
Conflicts: Xext/sampleEVI.c
2008-01-25XACE: Stop using fake requestVectors in favor of a simple hook call.Eamon Walsh1-2/+3
2008-01-18dix: remove inputInfo.pointer reference in TryClientEvents.Peter Hutterer1-4/+5
Unfortunately, this requires a change in the TCE API, and thus a change in all callers. Tough luck.
2008-01-10Merge branch 'master' into mpxPeter Hutterer1-0/+2
2008-01-03Merge branch 'master' into mpxPeter Hutterer1-401/+341
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
2008-01-02Restore include & typedef needed by dtraceAlan Coopersmith1-0/+2
996b621bec1bbc4fb21970c75eaec62053bc6ccb deleted a couple lines too many
2007-12-03dix: Remove RegisterPairingClient and UnregisterPairingClient.Peter Hutterer1-1/+0
2007-11-26registry: add missing include statement.Eamon Walsh1-0/+1
2007-11-26registry: swap out the DTRACE XErrorDB stuff for the new registry call.Eamon Walsh1-73/+2
2007-11-19Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
Conflicts: hw/xnest/Pixmap.c include/dix.h
2007-11-19xace: restore the old SaveScreens function and introduce new API, since theEamon Walsh1-1/+1
old version is called from drivers...
2007-11-15Small static cleanups on dix/Adam Jackson1-2/+2
2007-11-14Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
Conflicts: Xext/xace.c Xext/xace.h
2007-11-07Merge branch 'master' into mpxPeter Hutterer1-22/+22
Conflicts: Xi/extinit.c Xi/grabdev.c Xi/setmode.c Xi/ungrdev.c dix/devices.c dix/events.c dix/getevents.c include/dix.h mi/midispcur.c mi/misprite.c xkb/xkbActions.c xkb/xkbEvents.c xkb/xkbPrKeyEv.c