Jamey Sharp
b9f48d60bc
Device init: Don't crash when CreateGC fails.
...
ActivateDevice was ignoring errors from DeviceCursorInitialize, so
cursor-related calls failed later. Jeremy Huddleston saw that crash in
miPointerConstrainCursor, while with Xvfb I saw it in
miSpriteRealizeCursor.
miDCDeviceCleanup frees any non-NULL GCs. miDCDeviceInitialize calls
Cleanup on any failure, but if it failed early then some of the pointers
in the miDCBufferPtr were garbage. Switch from malloc to calloc to
ensure everything's initialized safely first.
With these two fixes, if CreateGC fails then the server gracefully fails
in FatalError instead of segfaulting.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-23 17:28:44 -07:00
..
Makefile.am
Remove mibank support
2010-04-27 11:14:03 -07:00
mi.h
Eliminate bogus event resizing.
2009-09-20 20:45:24 +10:00
miarc.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
mibitblt.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
mibstore.c
Update several of my and/or Red Hat's licenses to standard form.
2009-05-14 07:02:44 -04:00
mibstore.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mibstorest.h
Remove RCS tags. Fix Xprint makefile braindamage.
2006-07-21 17:56:00 -04:00
micmap.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
micmap.h
mi: track screens' installed colormaps as screen privates
2010-04-23 15:49:23 +03:00
micoord.h
Unifdef sgi.
2008-07-23 13:37:42 -04:00
micopy.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
micursor.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
midash.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
midispcur.c
Device init: Don't crash when CreateGC fails.
2010-05-23 17:28:44 -07:00
mieq.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
miexpose.c
Use WriteEventsToClient rather than TryClientEvents where possible.
2010-05-19 12:32:34 -07:00
mifillarc.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mifillarc.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mifillrct.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mifpoly.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mifpolycon.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
migc.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
migc.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
miglblt.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
miinitext.c
Boolean-or short-circuits, so (a || (!a && ...)) is redundant. Simplify.
2010-04-26 19:18:41 -07:00
miline.h
mi: kill a few warnings
2009-02-07 21:58:17 +01:00
mioverlay.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mioverlay.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mipointer.c
mi: removed unused PointerNonInterestBox functions.
2010-05-14 07:50:49 +03:00
mipointer.h
mi: un-deprecate miPointerWarpCursor
2009-05-16 12:20:58 +10:00
mipointrst.h
mi: protect mipointrst.h against multiple includes.
2008-06-11 17:24:19 +09:30
mipoly.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mipoly.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mipolycon.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mipolygen.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mipolypnt.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
mipolyrect.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mipolyseg.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mipolytext.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mipolyutil.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mipushpxl.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
miregion.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
miscanfill.h
Remove RCS tags. Fix Xprint makefile braindamage.
2006-07-21 17:56:00 -04:00
miscrinit.c
mi: removed unused PointerNonInterestBox functions.
2010-05-14 07:50:49 +03:00
mispans.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mispans.h
Use libtool convenience libraries and better "symbol" table.
2008-12-07 02:22:19 -02:00
misprite.c
mi/misprite.c: Delete unused private lookups.
2010-05-19 10:00:51 -07:00
misprite.h
Replace miSpriteCursorFuncRec with direct calls to midispcur.c.
2010-05-19 10:00:49 -07:00
mistruct.h
Death to RCS tags.
2007-06-29 14:06:52 -04:00
mivalidate.h
Death to RCS tags.
2007-06-29 14:06:52 -04:00
mivaltree.c
Remove a bunch of useless casts.
2009-01-22 02:11:16 -05:00
miwideline.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
miwideline.h
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
miwindow.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00
mizerarc.c
Replace dixChangeGC with calls directly to the right variant.
2010-05-13 17:14:07 -07:00
mizerarc.h
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mizerclip.c
Rework symbol visibility for easier maintenance
2008-12-03 05:43:34 -02:00
mizerline.c
Replace X-allocation functions with their C89 counterparts
2010-05-13 00:22:37 +07:00