Outliner: avoid using bitshift when hashing (which could use negative numbers)
This commit is contained in:
@@ -76,11 +76,19 @@ static void tse_group_free(TseGroup *tse_group)
|
||||
static unsigned int tse_hash(const void *ptr)
|
||||
{
|
||||
const TreeStoreElem *tse = ptr;
|
||||
unsigned int hash;
|
||||
union {
|
||||
short h_pair[2];
|
||||
unsigned int u_int;
|
||||
} hash;
|
||||
|
||||
BLI_assert(tse->type || !tse->nr);
|
||||
hash = BLI_ghashutil_inthash((tse->nr << 16) + tse->type);
|
||||
hash ^= BLI_ghashutil_ptrhash(tse->id);
|
||||
return hash;
|
||||
|
||||
hash.h_pair[0] = tse->type;
|
||||
hash.h_pair[1] = tse->nr;
|
||||
|
||||
hash.u_int ^= BLI_ghashutil_ptrhash(tse->id);
|
||||
|
||||
return hash.u_int;
|
||||
}
|
||||
|
||||
static int tse_cmp(const void *a, const void *b)
|
||||
|
||||
Reference in New Issue
Block a user