--- views.orig/handlers/views_handler_filter_date.inc	Wed Mar 10 22:28:10 2010
+++ views/handlers/views_handler_filter_date.inc	Tue Jul 27 22:39:53 2010
@@ -113,7 +113,7 @@ class views_handler_filter_date extends 
       }
     }
     else {
-      if ($this->value['min'] == '' || $this->value['max'] == '') {
+      if ($this->value['min'] == '' && $this->value['max'] == '') {
         return FALSE;
       }
     }
@@ -125,22 +125,30 @@ class views_handler_filter_date extends 
 
   function op_between($field) {
     if ($this->operator == 'between') {
-      $a = intval(strtotime($this->value['min'], 0));
-      $b = intval(strtotime($this->value['max'], 0));
+      $x = strtotime($this->value['min'], 0);
+      $y = strtotime($this->value['max'], 0);
     }
     else {
-      $a = intval(strtotime($this->value['max'], 0));
-      $b = intval(strtotime($this->value['min'], 0));
+      $x = strtotime($this->value['max'], 0);
+      $y = strtotime($this->value['min'], 0); 
     }
 
+    $a = intval($x);
+    $b = intval($y);
+
     if ($this->value['type'] == 'offset') {
       $a = '***CURRENT_TIME***' . sprintf('%+d', $a); // keep sign
       $b = '***CURRENT_TIME***' . sprintf('%+d', $b); // keep sign
     }
     // %s is safe here because strtotime scrubbed the input and we might
     // have a string if using offset.
-    $this->query->add_where($this->options['group'], "$field >= %s", $a);
-    $this->query->add_where($this->options['group'], "$field <= %s", $b);
+    if ($x) {
+      $this->query->add_where($this->options['group'], "$field >= %s", $a);
+    } 
+
+    if ($y) {
+      $this->query->add_where($this->options['group'], "$field <= %s", $b);
+    }
   }
 
   function op_simple($field) {
