Bug 795395 - Don't unload the library immediately on failure on nsGSettingsService::Init(). r=karlt
authorChris Coulson <chris.coulson@canonical.com>
Sat, 29 Sep 2012 12:32:57 -0400
changeset 108642 e05d8c7fc54b598630a927569f92c18991d0765b
parent 108641 6ce8440e0e2f67d9c1efc4be40d718a54b3f219e
child 108643 e6f2ba68e6858e600b445deefa5ff1423191999e
push id23572
push userryanvm@gmail.com
push dateSun, 30 Sep 2012 03:39:23 +0000
treeherdermozilla-central@d0b325032484 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskarlt
bugs795395
milestone18.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 795395 - Don't unload the library immediately on failure on nsGSettingsService::Init(). r=karlt We return a failure anyway, so the component manager calls our destructor where we do the unload
toolkit/system/gnome/nsGSettingsService.cpp
--- a/toolkit/system/gnome/nsGSettingsService.cpp
+++ b/toolkit/system/gnome/nsGSettingsService.cpp
@@ -307,17 +307,16 @@ nsGSettingsService::Init()
     if (!gioLib)
       return NS_ERROR_FAILURE;
   }
 
   for (uint32_t i = 0; i < ArrayLength(kGSettingsSymbols); i++) {
     *kGSettingsSymbols[i].function =
       PR_FindFunctionSymbol(gioLib, kGSettingsSymbols[i].functionName);
     if (!*kGSettingsSymbols[i].function) {
-      PR_UnloadLibrary(gioLib);
       return NS_ERROR_FAILURE;
     }
   }
 
   return NS_OK;
 }
 
 NS_IMPL_ISUPPORTS1(nsGSettingsService, nsIGSettingsService)