diff --git a/mozilla/toolkit/xre/nsAppRunner.cpp b/mozilla/toolkit/xre/nsAppRunner.cpp index a236f5dc8f2..8a49585b5f8 100644 --- a/mozilla/toolkit/xre/nsAppRunner.cpp +++ b/mozilla/toolkit/xre/nsAppRunner.cpp @@ -1878,12 +1878,14 @@ XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) #ifdef MOZ_ACCESSIBILITY_ATK // Reset GTK_MODULES, strip atk-bridge if exists // Mozilla will load libatk-bridge.so later if necessary - const char* gtkModules = getenv("GTK_MODULES"); - if (gtkModules) { + const char* gtkModules = PR_GetEnv("GTK_MODULES"); + if (gtkModules && *gtkModules) { nsCString gtkModulesStr(gtkModules); gtkModulesStr.ReplaceSubstring("atk-bridge", ""); - char* newGtkModules = strdup(gtkModulesStr.get()); - setenv("GTK_MODULES", newGtkModules, 1); + char* expr = PR_smprintf("GTK_MODULES=%s", gtkModulesStr.get()); + if (expr) + PR_SetEnv(expr); + // We intentionally leak |expr| here since it is required by PR_SetEnv. } #endif diff --git a/mozilla/xpfe/bootstrap/nsAppRunner.cpp b/mozilla/xpfe/bootstrap/nsAppRunner.cpp index b0f496ba61a..ecafa7579b6 100644 --- a/mozilla/xpfe/bootstrap/nsAppRunner.cpp +++ b/mozilla/xpfe/bootstrap/nsAppRunner.cpp @@ -1573,12 +1573,14 @@ int main(int argc, char* argv[]) #ifdef MOZ_ACCESSIBILITY_ATK // Reset GTK_MODULES, strip atk-bridge if exists // Mozilla will load libatk-bridge.so later if necessary - const char* gtkModules = getenv("GTK_MODULES"); - if (gtkModules) { + const char* gtkModules = PR_GetEnv("GTK_MODULES"); + if (gtkModules && *gtkModules) { nsCString gtkModulesStr(gtkModules); gtkModulesStr.ReplaceSubstring("atk-bridge", ""); - char* newGtkModules = strdup(gtkModulesStr.get()); - setenv("GTK_MODULES", newGtkModules, 1); + char* expr = PR_smprintf("GTK_MODULES=%s", gtkModulesStr.get()); + if (expr) + PR_SetEnv(expr); + // We intentionally leak |expr| here since it is required by PR_SetEnv. } #endif