? .cvsignore
? .project
Index: libraries.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/libraries/libraries.module,v
retrieving revision 1.17
diff -u -p -r1.17 libraries.module
--- libraries.module	13 Jan 2011 01:09:56 -0000	1.17
+++ libraries.module	15 Jan 2011 14:29:01 -0000
@@ -346,25 +346,37 @@ function libraries_detect_library(&$libr
  *   The name of the variant to load.
  */
 function libraries_load($name, $variant = NULL) {
-  $library = libraries_info($name);
-  libraries_detect_library($library);
+  $loaded_libraries = &drupal_static(__FUNCTION__);
 
-  // If the library itself is not installed, do nothing;
-  if (!$library['installed']) {
-    return FALSE;
+  if (empty($loaded_libraries)) {
+    $loaded_libraries = array();
   }
 
-  // If a variant was specified, override the top-level properties with the
-  // variant properties.
-  if (!empty($variant) && !empty($library['variants'][$variant])) {
-    // If the variant is not installed, do nothing.
-    if (!$library['variants'][$variant]['installed']) {
-      return FALSE;
+  if (!isset($loaded_libraries[$name])) {
+    $library = libraries_info($name);
+    libraries_detect_library($library);
+
+    // If the library itself is not installed, do nothing;
+    if (!$library['installed']) {
+      $loaded_libraries[$name] = FALSE;
+    }
+
+    // If a variant was specified, override the top-level properties with the
+    // variant properties.
+    if (!empty($variant) && !empty($library['variants'][$variant])) {
+      // If the variant is not installed, do nothing.
+      if (!$library['variants'][$variant]['installed']) {
+        $loaded_libraries[$name] = FALSE;
+      }
+      $library = array_merge($library, $library['variants'][$variant]);
+    }
+
+    if ($loaded_libraries[$name] != FALSE) {
+      $loaded_libraries[$name] = libraries_load_files($library, $variant);
     }
-    $library = array_merge($library, $library['variants'][$variant]);
   }
 
-  return libraries_load_files($library, $variant);
+  return $loaded_libraries[$name];
 }
 
 /**
