aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-05-25 15:13:57 +0000
committermarha <marha@users.sourceforge.net>2010-05-25 15:13:57 +0000
commitfb91c8589937f1a9aba5d5a4e0de98c381dfe9b8 (patch)
treea5c9d127cfb068a107b604ffebf95df291e974b7
parent4d1b98ace5efb02c14c7a4e36fc2698a1e00b66f (diff)
downloadvcxsrv-fb91c8589937f1a9aba5d5a4e0de98c381dfe9b8.tar.gz
vcxsrv-fb91c8589937f1a9aba5d5a4e0de98c381dfe9b8.tar.bz2
vcxsrv-fb91c8589937f1a9aba5d5a4e0de98c381dfe9b8.zip
Solved possible crash in debug version (could be a general problem???)
-rw-r--r--xorg-server/dix/gc.c20
1 files changed, 20 insertions, 0 deletions
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);