diff --git a/steam-runtime-tools/glib-compat.h b/steam-runtime-tools/glib-compat.h
index e41c71b4ae80518f1549ab7e7de31958d5fe7c33..51e3b08825a2d8ce3ac23c54b77c9a2daddf298f 100644
--- a/steam-runtime-tools/glib-compat.h
+++ b/steam-runtime-tools/glib-compat.h
@@ -42,7 +42,8 @@ _srt_steal_pointer (gpointer pointer_to_pointer)
 #endif
 
 #if !GLIB_CHECK_VERSION(2, 34, 0)
-#define g_clear_pointer(x, destroy) _srt_clear_pointer (x, destroy)
+#define g_clear_pointer(x, destroy) \
+  _srt_clear_pointer (x, (GDestroyNotify) (void (*)(void)) destroy)
 /* A simplified version of g_clear_pointer without type-safety. */
 static inline void
 _srt_clear_pointer (gpointer pointer_to_pointer,