summaryrefslogtreecommitdiff
path: root/render/instance.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/instance.c')
-rw-r--r--render/instance.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/render/instance.c b/render/instance.c
index 4ce1c3df..76c09a36 100644
--- a/render/instance.c
+++ b/render/instance.c
@@ -24,6 +24,19 @@ static RrInstance *definst = NULL;
static void RrTrueColorSetup (RrInstance *inst);
static void RrPseudoColorSetup (RrInstance *inst);
+#ifdef DEBUG
+#include "color.h"
+#endif
+static void
+dest(gpointer data)
+{
+#ifdef DEBUG
+ RrColor *c = data;
+ if (c->refcount > 0)
+ g_error("removing color from hash table with references");
+#endif
+}
+
RrInstance* RrInstanceNew (Display *display, gint screen)
{
definst = g_new (RrInstance, 1);
@@ -36,7 +49,8 @@ RrInstance* RrInstanceNew (Display *display, gint screen)
definst->pseudo_colors = NULL;
- definst->color_hash = g_hash_table_new(g_int_hash, g_int_equal);
+ definst->color_hash = g_hash_table_new_full(g_int_hash, g_int_equal,
+ NULL, dest);
switch (definst->visual->class) {
case TrueColor: