]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ast.cpp
destructor call order is important here
[xonotic/gmqcc.git] / ast.cpp
diff --git a/ast.cpp b/ast.cpp
index acf4928e6beb25442230a0f811b68e0dfca0f378..58ed6603b881be4b3c635eac09c31ab3daa1d980 100644 (file)
--- a/ast.cpp
+++ b/ast.cpp
@@ -946,6 +946,10 @@ ast_function::~ast_function()
         ast_unref(m_fixedparams);
     if (m_return_value)
         ast_unref(m_return_value);
+
+    // force this to be cleared before m_varargs/m_argc as blocks might
+    // try to access them via ast_unref()
+    m_blocks.clear();
 }
 
 const char* ast_function::makeLabel(const char *prefix)