From fb91c8589937f1a9aba5d5a4e0de98c381dfe9b8 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 25 May 2010 15:13:57 +0000 Subject: Solved possible crash in debug version (could be a general problem???) --- xorg-server/dix/gc.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'xorg-server') diff --git a/xorg-server/dix/gc.c b/xorg-server/dix/gc.c index d39a5a76a..e50c6319b 100644 --- a/xorg-server/dix/gc.c +++ b/xorg-server/dix/gc.c @@ -321,10 +321,30 @@ ChangeGC(ClientPtr client, GC *pGC, BITS32 mask, ChangeGCValPtr pUnion) break; } case GCClipXOrigin: + #ifndef _DEBUG NEXTVAL(INT16, pGC->clipOrg.x); + #else + { + long Val; + NEXTVAL(long, Val); + if (abs(Val)>32767) + ErrorF("Value received for GCClipXOrigin is too large %x\n",Val); + pGC->clipOrg.x=(INT16)(Val&0xffff); + } + #endif break; case GCClipYOrigin: + #ifndef _DEBUG NEXTVAL(INT16, pGC->clipOrg.y); + #else + { + long Val; + NEXTVAL(long, Val); + if (abs(Val)>32767) + ErrorF("Value received for GCClipYOrigin is too large %x\n",Val); + pGC->clipOrg.y=(INT16)(Val&0xffff); + } + #endif break; case GCClipMask: NEXT_PTR(PixmapPtr, pPixmap); -- cgit v1.2.3