Blob Blame History Raw
From 6ad997bce8d6ecc74ffb70f0911b5d7ead03f48e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@bitplanet.net>
Date: Sat, 1 May 2010 11:36:52 -0400
Subject: [PATCH] Fix resource counting FindResourceByType

When removing resources using FindResourceByType, we need to
update the element count. Failure to do this means that the
reentrancy checks that the number of elements haven't changed
in FindResource and elsewhere don't work.
---
 dix/resource.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/dix/resource.c b/dix/resource.c
index 91d0cfb..aec2a5b 100644
--- a/dix/resource.c
+++ b/dix/resource.c
@@ -589,6 +589,7 @@ FreeResourceByType(XID id, RESTYPE type, Bool skipFree)
 			      res->value, TypeNameString(res->type));
 #endif		    		    
 		*prev = res->next;
+		clientTable[cid].elements--;
 
 		CallResourceStateCallback(ResourceStateFreeing, res);
 
-- 
1.7.0.1