--- daterange.module.orig	2007-09-26 15:18:27.000000000 -0400
+++ daterange.module	2007-09-27 11:33:16.967761259 -0400
@@ -122,6 +122,7 @@ function daterange_views_tables() {
               'handler' => 'views_handler_filter_between_date',
               'value-type' => 'array',
               'cacheable' => 'no',
+              'help' => t('Use <i>today</i> for the current date, <i>yesterday</i> for one day before, or <i>today-1M</i> for a month before the current date, and so on.  Valid arguments include <i>M</i> for month and <i>Y</i> for year.'),
             ),
           )
         );
@@ -174,7 +175,8 @@ function views_handler_filter_between_da
   if (!is_array($values)) {
     $values = array('date1' => '', 'date2' => '');
   }
-  if ($form_element['date1']['#name'] != 'edit[date1]') {
+  //if ($form_element['date1']['#name'] != 'edit[date1]') {
+  if ($form_element['date1']['#name'] != 'filter0[date1]') {
     $form_element['date1']['#default_value'] = $values['date1'];
     $form_element['date2']['#default_value'] = $values['date2'];
   }
@@ -186,16 +188,26 @@ function views_handler_filter_between_da
 }
 
 function views_handler_filter_between_date_after_build($form_element) {
-  if ($form_element['date1']['#name'] == 'date1') {
+  if ($form_element['date1']['#name'] == 'filter0[date1]') {
     // get rid of 'edit' in name
-    $form_element['date1']['#name'] = $form_element['#name'] .'[date1]';
-    $form_element['date2']['#name'] = $form_element['#name'] .'[date2]';
+    //$form_element['date1']['#name'] = $form_element['#name'] .'[date1]';
+    //$form_element['date2']['#name'] = $form_element['#name'] .'[date2]';
 
+    if (array_key_exists('date1', $form_element['#default_value'])) {
     // set the select elements to the previously chosen date
     $form_element['date1']['#value'] = $form_element['#default_value']['date1'];
     $form_element['date2']['#value'] = $form_element['#default_value']['date2'];
   }
   else {
+      $values = unserialize($form_element['#default_value'][0]);
+      if (!is_array($values)) {
+        $values = array('date1' => '', 'date2' => '');
+      }
+      $form_element['date1']['#value'] = $values['date1'];
+      $form_element['date2']['#value'] = $values['date2'];
+    }
+  }
+  else {
     $values = array(
       'date1' => $form_element['date1']['#value'],
       'date2' => $form_element['date2']['#value'],
@@ -284,6 +296,7 @@ function _daterange_form_fill_missing_op
       $form["filter$index"]['#default_value']['date2'] = 'today';
     }
   }
+  $form["filter$index"]['#tree'] = TRUE;
 }
 
 function views_handler_filter_between_date($op, $filter, &$filterinfo, &$query) {
