Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.324
diff -u -r1.324 system.admin.inc
--- modules/system/system.admin.inc	7 Nov 2010 18:33:53 -0000	1.324
+++ modules/system/system.admin.inc	13 Nov 2010 03:46:04 -0000
@@ -170,10 +170,12 @@
      // content has a common place in all themes.
       $theme->incompatible_core = !isset($theme->info['core']) || ($theme->info['core'] != DRUPAL_CORE_COMPATIBILITY) || (!isset($theme->info['regions']['content']));
       $theme->incompatible_php = version_compare(phpversion(), $theme->info['php']) < 0;
+      $theme->incompatible_engine = (isset($theme->info['engine']) && empty($theme->owner));
+      $theme->incompatible_base_theme = (isset($theme->info['base theme']) && !isset($themes[$theme->info['base theme']]));
     }
     $query['token'] = drupal_get_token('system-theme-operation-link');
     $theme->operations = array();
-    if (!empty($theme->status) || !$theme->incompatible_core && !$theme->incompatible_php) {
+    if (!empty($theme->status) || !$theme->incompatible_core && !$theme->incompatible_php && !$theme->incompatible_engine && !$theme->incompatible_base_theme) {
       // Create the operations links.
       $query['theme'] = $theme->name;
       if (drupal_theme_access($theme)) {
@@ -2645,6 +2647,12 @@
         }
         $output .= '<div class="incompatible">' . t('This theme requires PHP version @php_required and is incompatible with PHP version !php_version.', array('@php_required' => $theme->info['php'], '!php_version' => phpversion())) . '</div>';
       }
+      elseif (!empty($theme->incompatible_engine)) {
+        $output .= '<div class="incompatible">' . t('This theme requires the @engine_required theme engine.', array('@engine_required' => $theme->info['engine']))  . '</div>';
+      }
+      elseif (!empty($theme->incompatible_base_theme)) {
+        $output .= '<div class="incompatible">' . t('This theme requires the @base_theme_required base theme.', array('@base_theme_required' => $theme->info['base theme'])) . '</div>';
+      }
       else {
         $output .= theme('links', array('links' => $theme->operations, 'attributes' => array('class' => array('operations', 'clearfix'))));
       }
Index: modules/system/system.updater.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.updater.inc,v
retrieving revision 1.8
diff -u -r1.8 system.updater.inc
--- modules/system/system.updater.inc	18 May 2010 18:11:13 -0000	1.8
+++ modules/system/system.updater.inc	13 Nov 2010 03:46:04 -0000
@@ -130,22 +130,9 @@
     return (bool) drupal_get_path('theme', $project_name);
   }
 
-  public function postInstall() {
-    // Update the system table.
-    clearstatcache();
-    system_rebuild_theme_data();
-
-    // Active the theme
-    db_update('system')
-      ->fields(array('status' => 1))
-      ->condition('type', 'theme')
-      ->condition('name', $this->name)
-      ->execute();
-  }
-
   public function postInstallTasks() {
     return array(
-      l(t('Set the !project theme as default', array('!project' => $this->title)), 'admin/appearance'),
+      l(t('Enable newly added theme !project', array('!project' => $this->title)), 'admin/appearance'),
     );
   }
 }
