Merge branch 'master' into ManagedMarketplace

# Conflicts:
#	indra/newview/llinventorybridge.cpp
#	indra/newview/lltooldraganddrop.h
This commit is contained in:
Lirusaito
2019-02-28 23:32:37 -05:00
217 changed files with 7047 additions and 1560 deletions

View File

@@ -253,23 +253,13 @@ namespace
{
#ifdef __GNUC__
// GCC: type_info::name() returns a mangled class name,st demangle
static size_t abi_name_len = 100;
static char* abi_name_buf = (char*)malloc(abi_name_len);
// warning: above is voodoo inferred from the GCC manual,
// do NOT change
int status;
// We don't use status, and shouldn't have to pass apointer to it
// but gcc 3.3 libstc++'s implementation of demangling is broken
// and fails without.
char* name = abi::__cxa_demangle(type.name(),
abi_name_buf, &abi_name_len, &status);
// this call can realloc the abi_name_buf pointer (!)
return name ? name : type.name();
// passing nullptr, 0 forces allocation of a unique buffer we can free
// fixing MAINT-8724 on OSX 10.14
int status = -1;
char* name = abi::__cxa_demangle(type.name(), nullptr, 0, &status);
std::string result(name ? name : type.name());
free(name);
return result;
#elif LL_WINDOWS
// DevStudio: type_info::name() includes the text "class " at the start