gallium/hud: do not use free() for the free_query_data hook
[mesa.git] / src / gallium / auxiliary / hud / hud_fps.c
index 80381f54713550f13c07372aead503aae993e010..6e9be712b66823a99b6b23ca0c172a0f3a43c915 100644 (file)
@@ -60,6 +60,12 @@ query_fps(struct hud_graph *gr)
    }
 }
 
+static void
+free_query_data(void *p)
+{
+   FREE(p);
+}
+
 void
 hud_fps_graph_install(struct hud_pane *pane)
 {
@@ -76,7 +82,11 @@ hud_fps_graph_install(struct hud_pane *pane)
    }
 
    gr->query_new_value = query_fps;
-   gr->free_query_data = free;
+
+   /* Don't use free() as our callback as that messes up Gallium's
+    * memory debugger.  Use simple free_query_data() wrapper.
+    */
+   gr->free_query_data = free_query_data;
 
    hud_pane_add_graph(pane, gr);
 }