Index: gallery_base.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gallery/gallery_base.inc,v
retrieving revision 1.6.2.14
diff -u -r1.6.2.14 gallery_base.inc
--- gallery_base.inc	30 May 2007 14:49:27 -0000	1.6.2.14
+++ gallery_base.inc	30 May 2007 21:30:34 -0000
@@ -280,8 +280,16 @@
   if (count($css)) {
     $css = preg_replace('/<link(.*?)href="([^"]*)"([^\/]*)\/>/i', '${2}', $css);
     foreach ($css as $include) {
-      // Gallery's CSS will always be added first, what allows overriding in the module(s)
-      drupal_add_css(substr($include, strlen(base_path())), 'module', 'all', FALSE);
+      // Check for inline CSS
+      if (strstr(trim($include), '<style')) {
+        // drupal_add_css() currently does not support inline styles
+        drupal_set_html_head($include);
+      }
+      else {
+        $include = strstr($include, base_path()) ? substr($include, strlen(base_path())) : $include;
+        // Gallery's CSS will always be added first, what allows overriding in the module(s)
+        drupal_add_css($include, 'module', 'all', FALSE);
+      }
     }
   }
 }
@@ -292,13 +300,17 @@
  */
 function gallery_set_javascript($javascript) {
   if (!empty($javascript)) {
+    // Separate inline javascript from javascript files
     $files = preg_grep('/<script(.*?)src=/i', $javascript);
+    // Inline JS
     $inline = array_diff($javascript, $files);
     $inline = preg_replace('/<script([^>]*)>([^<]*)<\/script>/i', '${2}', $inline);
     drupal_add_js(implode("\n", $inline), 'inline');
+    // JS files
     $files = preg_replace('/<script(.*?)src="([^"]*)"([^>]*)>(.*?)<\/script>/i', '${2}', $files);
     foreach ($files as $include) {
-      drupal_add_js(substr($include, strlen(base_path())));
+      $include = strstr($include, base_path()) ? substr($include, strlen(base_path())) : $include;
+      drupal_add_js($include);
     }
   }
 }
