Index: modules/color/color.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/color/color.module,v
retrieving revision 1.29
diff -u -p -r1.29 color.module
--- modules/color/color.module	6 Dec 2007 09:58:30 -0000	1.29
+++ modules/color/color.module	12 Dec 2007 20:27:44 -0000
@@ -136,13 +136,17 @@ function color_scheme_form(&$form_state,
 
   // Add palette fields
   $palette = color_get_palette($theme);
-  $names = array(
-    'base' => t('Base color'),
-    'link' => t('Link color'),
-    'top' => t('Header top'),
-    'bottom' => t('Header bottom'),
-    'text' => t('Text color')
-  );
+  if (array_key_exists("names", $info)) {
+    $names = $info["names"];
+  } else {
+    $names = array(
+      'base' => t('Base color'),
+      'link' => t('Link color'),
+      'top' => t('Header top'),
+      'bottom' => t('Header bottom'),
+      'text' => t('Text color')
+    );
+  }
   $form['palette']['#tree'] = true;
   foreach ($palette as $name => $value) {
     $form['palette'][$name] = array(
@@ -269,12 +273,14 @@ function color_scheme_form_submit($form,
   variable_set('color_'. $theme .'_logo', $paths['target'] .'logo.png');
 
   // Copy over neutral images
-  foreach ($info['copy'] as $file) {
-    $base = basename($file);
-    $source = $paths['source'] . $file;
-    file_copy($source, $paths['target'] . $base);
-    $paths['map'][$file] = $base;
-    $paths['files'][] = $paths['target'] . $base;
+  if (array_key_exists("copy", $info)) {
+    foreach ($info['copy'] as $file) {
+      $base = basename($file);
+      $source = $paths['source'] . $file;
+      file_copy($source, $paths['target'] . $base);
+      $paths['map'][$file] = $base;
+      $paths['files'][] = $paths['target'] . $base;
+    }
   }
 
   // Render new images
@@ -297,7 +303,6 @@ function _color_rewrite_stylesheet($them
 
   // Prepare color conversion table
   $conversion = $palette;
-  unset($conversion['base']);
   foreach ($conversion as $k => $v) {
     $conversion[$k] = drupal_strtolower($v);
   }
@@ -396,9 +401,11 @@ function _color_render_images($theme, &$
   }
 
   // Render gradient.
-  for ($y = 0; $y < $info['gradient'][3]; ++$y) {
-    $color = _color_blend($target, $palette['top'], $palette['bottom'], $y / ($info['gradient'][3] - 1));
-    imagefilledrectangle($target, $info['gradient'][0], $info['gradient'][1] + $y, $info['gradient'][0] + $info['gradient'][2], $info['gradient'][1] + $y + 1, $color);
+  if (array_key_exists("gradient", $info)) {
+    for ($y = 0; $y < $info['gradient'][3]; ++$y) {
+      $color = _color_blend($target, $palette['top'], $palette['bottom'], $y / ($info['gradient'][3] - 1));
+      imagefilledrectangle($target, $info['gradient'][0], $info['gradient'][1] + $y, $info['gradient'][0] + $info['gradient'][2], $info['gradient'][1] + $y + 1, $color);
+    }
   }
 
   // Blend over template.
