? domain_form_alter.patch
Index: API.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/domain/API.php,v
retrieving revision 1.33
diff -u -p -r1.33 API.php
--- API.php	8 Jun 2008 15:32:48 -0000	1.33
+++ API.php	1 Jul 2008 14:43:23 -0000
@@ -469,3 +469,13 @@ function hook_domainbatch() {
   );
   return $batch;
 }
+
+/**
+ * Return an array of forms for which we cannot run hook_form_alter().
+ * @return
+ * An array of form ids that should not run through domain_form_alter.
+ */
+function hook_domainignore() {
+  // User login should always be from the current domain.
+  return array('user_login');
+}
Index: domain.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/domain/domain.module,v
retrieving revision 1.52
diff -u -p -r1.52 domain.module
--- domain.module	8 Jun 2008 15:32:48 -0000	1.52
+++ domain.module	1 Jul 2008 14:43:25 -0000
@@ -963,6 +963,11 @@ function domain_disable() {
  * For users without the "set domain access" permission, this happens silently.
  */
 function domain_form_alter(&$form, &$form_state, $form_id) {
+  // There are forms that we never want to alter, and they are passed here.
+  $forms = module_invoke_all('domainignore');
+  if (in_array($form_id, $forms)) {
+    return;
+  }
   // Set a message if we are on an admin page.
   domain_warning_check($form_id);
   // If SEO is turned on, then form actions need to be absolute paths
@@ -1353,3 +1358,11 @@ function domain_warning_check($form_id) 
     $_warning = TRUE;
   }
 }
+
+/**
+ * Implements hook_domainignore().
+ */
+function domain_domainignore() {
+  // In Drupal 6, the update script behaves differently than D5, so we ignore it.
+  return array('update_script_selection_form');
+}
