icd: fix driver reinit without alloc cb
diff --git a/icd/common/icd.c b/icd/common/icd.c
index 0d279f8..8750554 100644
--- a/icd/common/icd.c
+++ b/icd/common/icd.c
@@ -220,6 +220,13 @@
XGL_RESULT icd_set_allocator(const XGL_ALLOC_CALLBACKS *alloc_cb)
{
if (icd.init_count) {
+ const XGL_ALLOC_CALLBACKS default_cb = {
+ NULL, default_alloc, default_free
+ };
+
+ if (!alloc_cb)
+ alloc_cb = &default_cb;
+
/*
* The spec says: Changing the callbacks on subsequent calls to
* xglInitAndEnumerateGpus() causes it to fail with