const char *description = maiTable->GetRowDescription(); if (!description) { nsAutoString autoStr; nsresult rv = accTable->GetRowDescription(aRow, autoStr); NS_ENSURE_SUCCESS(rv, nsnull);
nsAutoString autoStr; nsresult rv = accTable->GetRowDescription(aRow, autoStr); NS_ENSURE_SUCCESS(rv, nsnull);
getRowDescriptionCB(AtkTable *aTable, gint aRow){    nsAccessibleWrap *accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));    NS_ENSURE_TRUE(accWrap, nsnull);    nsCOMPtr<nsIAccessibleTable> accTable;    accWrap->QueryInterface(NS_GET_IID(nsIAccessibleTable),                            getter_AddRefs(accTable));    NS_ENSURE_TRUE(accTable, nsnull);    MaiInterfaceTable *maiTable =        NS_STATIC_CAST(MaiInterfaceTable *,                       accWrap->GetMaiInterface(MAI_INTERFACE_TABLE));    NS_ENSURE_TRUE(maiTable, nsnull);    const char *description = maiTable->GetRowDescription();    if (!description) {        nsAutoString autoStr;        nsresult rv = accTable->GetRowDescription(aRow, autoStr);        NS_ENSURE_SUCCESS(rv, nsnull);        maiTable->SetRowDescription(autoStr);        description = maiTable->GetRowDescription();    }    return description;}