Index: project_release.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.css,v
retrieving revision 1.6
diff -u -p -r1.6 project_release.css
--- project_release.css	6 Mar 2008 06:41:44 -0000	1.6
+++ project_release.css	1 Feb 2009 20:40:14 -0000
@@ -46,17 +46,23 @@ table.releases .release-icon {
   width: 2%;
 }
 
-table.releases tr.ok {
+table.releases tr.recommended {
   background-color: #dfd;
   border-color: #beb;
 }
 
-table.releases tr.warning {
+table.releases tr.supported {
   background-color: #ffd;
   border-color: #eeb;
 }
 
-table.releases tr.error {
+table.releases tr.snapshot {
+  background-color: #fcc;
+  border-color: #ebb;
+  color: #200;
+}
+
+table.releases tr.unsupported {
   background-color: #fcc;
   border-color: #ebb;
   color: #200;
Index: project_release.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v
retrieving revision 1.66.2.10
diff -u -p -r1.66.2.10 project_release.module
--- project_release.module	7 Jan 2009 20:48:21 -0000	1.66.2.10
+++ project_release.module	1 Feb 2009 20:40:16 -0000
@@ -1905,14 +1905,6 @@ function project_release_table($project,
  *   Boolean indicating if the size of the download should be printed.
  */
 function theme_project_release_download_table_row($release, $recommended = false, $can_edit = false, $print_size = true) {
-  static $icons = array();
-  if (empty($icons)) {
-    $icons = array(
-      'ok' => 'misc/watchdog-ok.png',
-      'warning' => 'misc/watchdog-warning.png',
-      'error' => 'misc/watchdog-error.png',
-    );
-  }
   $links = array();
   if (!empty($release->file_path)) {
     $links['project_release_download'] = theme('project_release_download_link', $release->file_path, t('Download'), TRUE);
@@ -1929,29 +1921,28 @@ function theme_project_release_download_
   }
   // Figure out the class for the table row
   $row_class = $release->rebuild ? 'release-dev' : 'release';
-  // Now, set the row color and help text, based on the release attributes.
+
+  // Determine the classification of this release, based on the release attributes.
   if (!$release->supported) {
-    $text = theme('project_release_download_text_unsupported', $release, 'summary');
-    $message = theme('project_release_download_text_unsupported', $release, 'message');
-    $classification = 'error';
+    $classification = 'unsupported';
   }
   elseif ($release->rebuild) {
-    $reason = theme('project_release_download_text_snapshot', $release, 'summary');
-    $message = theme('project_release_download_text_snapshot', $release, 'message');
-    $classification = 'error';
+    $classification = 'snapshot';
   }
   elseif ($recommended) {
-    $reason = theme('project_release_download_text_recommended', $release, 'summary');
-    $message = theme('project_release_download_text_recommended', $release, 'message');
-    $classification = 'ok';
+    $classification = 'recommended';
   }
   else {
     // Supported, but not recommened, official release.
-    $reason = theme('project_release_download_text_supported', $release, 'summary');
-    $message = theme('project_release_download_text_supported', $release, 'message');
-    $classification = 'warning';
+    $classification = 'supported';
   }
 
+  // Now, get the text to used in the 'Status' column and the text to use
+  // as the title attribute of the icon based on the classification of this
+  // release.
+  $reason = theme("project_release_download_text_$classification", $release, 'summary');
+  $message = theme("project_release_download_text_$classification", $release, 'message');
+
   $row = array(
     // class of <tr>
     'class' => $row_class .' '. $classification,
@@ -1982,12 +1973,36 @@ function theme_project_release_download_
   );
   $row['data'][] = array(
     'class' => 'release-icon',
-    'data' => theme('image', $icons[$classification], $message, $message),
+    'data' => theme('project_release_download_type_icon', $classification, $message),
   );
   return $row;
 }
 
 /**
+ * Return the path to icons that should be used on the project releases download
+ * table.
+ *
+ * @param $classification
+ *   The classification of this release.  Unless the function
+ *   theme_project_release_download_table_row() has been overridden, this
+ *   will be one of recommended, supported, unsupported, or snapshot.
+ * @param $message
+ *   The message that should be displayed as the alt and/or title attribute
+ *   of the icon.
+ * @return
+ *   A string containing the image tag to use for this release.
+ */
+function theme_project_release_download_type_icon($classification, $message) {
+  $icons = array(
+    'recommended' => 'misc/watchdog-ok.png',
+    'supported' => 'misc/watchdog-warning.png',
+    'unsupported' => 'misc/watchdog-error.png',
+    'snapshot' => 'misc/watchdog-error.png',
+  );
+  return theme('image', $icons[$classification], $message, $message);
+}
+
+/**
  * Return the message text for recommended releases in the download table.
  *
  * @param $release
