add an assert to try catch color hash table misuses
This commit is contained in:
parent
26b98ded3c
commit
647baa7740
1 changed files with 2 additions and 1 deletions
|
@ -78,7 +78,7 @@ RrColor *RrColorNew(const RrInstance *inst, gint r, gint g, gint b)
|
||||||
out->pixel = xcol.pixel;
|
out->pixel = xcol.pixel;
|
||||||
out->key = key;
|
out->key = key;
|
||||||
out->refcount = 1;
|
out->refcount = 1;
|
||||||
g_hash_table_replace(RrColorHash(inst), &out->key, out);
|
g_hash_table_insert(RrColorHash(inst), &out->key, out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
|
@ -88,6 +88,7 @@ void RrColorFree(RrColor *c)
|
||||||
{
|
{
|
||||||
if (c) {
|
if (c) {
|
||||||
if (--c->refcount < 1) {
|
if (--c->refcount < 1) {
|
||||||
|
g_assert(g_hash_table_lookup(RrColorHash(c->inst), &c->key));
|
||||||
g_hash_table_remove(RrColorHash(c->inst), &c->key);
|
g_hash_table_remove(RrColorHash(c->inst), &c->key);
|
||||||
if (c->pixel) XFreeColors(RrDisplay(c->inst), RrColormap(c->inst),
|
if (c->pixel) XFreeColors(RrDisplay(c->inst), RrColormap(c->inst),
|
||||||
&c->pixel, 1, 0);
|
&c->pixel, 1, 0);
|
||||||
|
|
Loading…
Reference in a new issue