]> Dogcows Code - chaz/openbox/blobdiff - render/instance.c
make _NET_WM_ACTIVATE messages bring the client to the current desktop
[chaz/openbox] / render / instance.c
index 0095ed8e570848c0f66e874208f89195b9cf4106..f4a2441eefe2604a79ca0c744748ba2236ff0818 100644 (file)
@@ -1,4 +1,4 @@
-/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*-
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    instance.c for the Openbox window manager
    Copyright (c) 2003        Ben Jansens
@@ -24,6 +24,36 @@ 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("color %d (%d,%d,%d) in hash table with %d "
+                "leftover references",
+                c->id, RrColorRed(c), RrColorGreen(c), RrColorBlue(c),
+                c->refcount);
+#endif
+}
+
+#if 0
+static void f(gpointer key, gpointer value, gpointer n)
+{
+    RrColor *c = value;
+    if (c->id == *(int*)n)
+        g_message("color %d has %d references", c->id, c->refcount);
+}
+
+void print_refs(int id)
+{
+    g_hash_table_foreach(RrColorHash(definst), f, &id);
+}
+#endif
+
 RrInstance* RrInstanceNew (Display *display, gint screen)
 {
     definst = g_new (RrInstance, 1);
@@ -36,7 +66,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:
This page took 0.021232 seconds and 4 git commands to generate.