Index: sexy_exposed.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/sexy_exposed/sexy_exposed.module,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 sexy_exposed.module
--- sexy_exposed.module	10 Sep 2010 17:22:55 -0000	1.1.2.4
+++ sexy_exposed.module	1 Feb 2011 20:13:26 -0000
@@ -19,7 +19,7 @@ function sexy_exposed_form_views_ui_conf
   $display = $form_state['view']->display[$display_id];
 
   $field_id = $form_state['id'];
-  if (isset($display->display_options['filters'])) {
+  if (isset($display->display_options['filters'][$field_id])) {
     $sexy = $display->display_options['filters'][$field_id]['expose']['sexy'];
     $sexy_number = $display->display_options['filters'][$field_id]['expose']['sexy_number'];
   }
@@ -36,7 +36,7 @@ function sexy_exposed_form_views_ui_conf
     '#type' => 'checkbox',
     '#title' => t('Make it sexy'),
     '#description' => t('Use some jQuery magic to make this filter sexy. Note: it works only for select lists.'),
-    '#default_value' => $sexy,
+    '#default_value' => ($sexy) ? $sexy : FALSE,
   );
 
   // @TODO Validate if value is a positive integer!
@@ -53,6 +53,25 @@ function sexy_exposed_form_views_ui_conf
   );
 
   $form['options']['expose']['end_checkboxes'] = $end_checkboxes;
+  $form['buttons']['submit']['#submit'][] = 'sexy_exposed_custom_submit';
+}
+
+function sexy_exposed_custom_submit($form, &$form_state) {
+  // Record values for sexy.
+  $display_id = $form_state['display_id'];
+  if ($form_state['clicked_button']['#value'] == t('Update default display')) {
+    $display_id = 'default';
+  }
+  $display = &$form_state['view']->display[$display_id];
+  $field_id = $form_state['id'];
+
+  $sexy = $form_state['values']['options']['expose']['sexy'];
+  $sexy_number = $form_state['values']['options']['expose']['sexy_number'];
+  $display->display_options['filters'][$field_id]['expose']['sexy'] = $sexy;
+  $display->display_options['filters'][$field_id]['expose']['sexy_number'] = $sexy_number;
+
+  // Write to cache.
+  views_ui_cache_set($form_state['view']);
 }
 
 /**
