michael@0: Fix for https://code.google.com/p/angleproject/issues/detail?id=651 michael@0: michael@0: See https://bugzilla.mozilla.org/show_bug.cgi?id=1025576 for details. michael@0: michael@0: diff --git a/gfx/angle/src/compiler/SymbolTable.cpp b/gfx/angle/src/compiler/SymbolTable.cpp michael@0: --- a/gfx/angle/src/compiler/SymbolTable.cpp michael@0: +++ b/gfx/angle/src/compiler/SymbolTable.cpp michael@0: @@ -166,17 +166,18 @@ TFunction::~TFunction() michael@0: } michael@0: michael@0: // michael@0: // Symbol table levels are a map of pointers to symbols that have to be deleted. michael@0: // michael@0: TSymbolTableLevel::~TSymbolTableLevel() michael@0: { michael@0: for (tLevel::iterator it = level.begin(); it != level.end(); ++it) michael@0: - delete (*it).second; michael@0: + if ((*it).first == (*it).second->getMangledName()) michael@0: + delete (*it).second; michael@0: } michael@0: michael@0: // michael@0: // Change all function entries in the table with the non-mangled name michael@0: // to be related to the provided built-in operation. This is a low michael@0: // performance operation, and only intended for symbol tables that michael@0: // live across a large number of compiles. michael@0: //