Created attachment 19801 [details] [review] patch modify _cairo_hash_table_lookup_internal to return the first available (dead or free) entry rather than the first never-used entry, when there is no match. This patch actually won't have any effect if bug 18165 is fixed as first_available won't be set when key_is_unique, and callers that have key_is_unique == FALSE only care about live entries. However, this patch could be considered as an alternative to fixing bug 18165, or just to make the code look sensible.
I prefer the patch from bug 18165.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.