? .bzr
? 630194-plugin-option-definition.patch
? exposed-form-plugin-full.patch
? exposed-form-plugin.patch
? exposed-form-plugin2.patch
? hack-views-module-2.txt
? views-option_definition.patch
? views-pluggable-exposed-forms_1.patch
? includes/group-by.patch
Index: plugins/views_plugin_access.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_access.inc,v
retrieving revision 1.1
diff -u -p -r1.1 views_plugin_access.inc
--- plugins/views_plugin_access.inc	8 Sep 2008 22:50:17 -0000	1.1
+++ plugins/views_plugin_access.inc	13 Nov 2009 22:07:01 -0000
@@ -18,19 +18,19 @@ class views_plugin_access extends views_
   function init(&$view, &$display) {
     $this->view = &$view;
     $this->display = &$display;
-    $this->options = array();
 
     if (is_object($display->handler)) {
-    // Note: The below is read only.
-      $this->options = $display->handler->get_option('access');
+      $options = $display->handler->get_option('access');
+      // Overlay incoming options on top of defaults
+      $this->unpack_options($this->options, $options);
     }
   }
 
   /**
-   * Retrieve the default options when this is a new access
+   * Retrieve the options when this is a new access
    * control plugin
    */
-  function option_defaults(&$options) { }
+  function option_definition() { return array(); }
 
   /**
    * Provide the default form for setting options.
Index: plugins/views_plugin_access_perm.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_access_perm.inc,v
retrieving revision 1.3
diff -u -p -r1.3 views_plugin_access_perm.inc
--- plugins/views_plugin_access_perm.inc	7 Jan 2009 23:31:13 -0000	1.3
+++ plugins/views_plugin_access_perm.inc	13 Nov 2009 22:07:01 -0000
@@ -17,8 +17,12 @@ class views_plugin_access_perm extends v
     return t($this->options['perm']);
   }
 
-  function option_defaults(&$options) {
-    $options['perm'] = 'access content';
+
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['perm'] = array('default' => 'access content');
+
+    return $options;
   }
 
   function options_form(&$form, &$form_state) {
Index: plugins/views_plugin_access_role.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_access_role.inc,v
retrieving revision 1.2
diff -u -p -r1.2 views_plugin_access_role.inc
--- plugins/views_plugin_access_role.inc	7 Jan 2009 23:31:13 -0000	1.2
+++ plugins/views_plugin_access_role.inc	13 Nov 2009 22:07:01 -0000
@@ -30,8 +30,12 @@ class views_plugin_access_role extends v
     }
   }
 
-  function option_defaults(&$options) {
-    $options['role'] = array();
+
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['role'] = array('default' => array());
+
+    return $options;
   }
 
   function options_form(&$form, &$form_state) {
Index: plugins/views_plugin_cache.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_cache.inc,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 views_plugin_cache.inc
--- plugins/views_plugin_cache.inc	25 Jun 2009 18:48:25 -0000	1.1.2.4
+++ plugins/views_plugin_cache.inc	13 Nov 2009 22:07:01 -0000
@@ -28,21 +28,15 @@ class views_plugin_cache extends views_p
   function init(&$view, &$display) {
     $this->view = &$view;
     $this->display = &$display;
-    $this->options = array();
 
     if (is_object($display->handler)) {
-      // Note: The below is read only.
-      $this->options = $display->handler->get_option('cache');
+      $options = $display->handler->get_option('cache');
+      // Overlay incoming options on top of defaults
+      $this->unpack_options($this->options, $options);
     }
   }
 
   /**
-   * Retrieve the default options when this is a new access
-   * control plugin
-   */
-  function option_defaults(&$options) { }
-
-  /**
    * Return a string to display as the clickable title for the
    * access control.
    */
Index: plugins/views_plugin_cache_time.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_cache_time.inc,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 views_plugin_cache_time.inc
--- plugins/views_plugin_cache_time.inc	30 Jun 2009 21:57:24 -0000	1.1.2.4
+++ plugins/views_plugin_cache_time.inc	13 Nov 2009 22:07:01 -0000
@@ -5,9 +5,12 @@
  * Simple caching of query results for Views displays.
  */
 class views_plugin_cache_time extends views_plugin_cache {
-  function option_defaults(&$options) {
-    $options['results_lifespan'] = 3600;
-    $options['output_lifespan'] = 3600;
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['results_lifespan'] = array('default' => 3600);
+    $options['output_lifespan'] = array('default' => 3600);
+
+    return $options;
   }
 
   function options_form(&$form, &$form_state) {
Index: plugins/views_plugin_display.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_display.inc,v
retrieving revision 1.20.2.13
diff -u -p -r1.20.2.13 views_plugin_display.inc
--- plugins/views_plugin_display.inc	11 Nov 2009 01:08:29 -0000	1.20.2.13
+++ plugins/views_plugin_display.inc	13 Nov 2009 22:07:03 -0000
@@ -1596,7 +1596,6 @@ class views_plugin_display extends views
           $plugin = views_get_plugin('access', $form_state['values']['access']['type']);
           if ($plugin) {
             $access = array('type' => $form_state['values']['access']['type']);
-            $plugin->option_defaults($access);
             $this->set_option('access', $access);
             if (!empty($plugin->definition['uses options'])) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('access_options'));
@@ -1618,7 +1617,6 @@ class views_plugin_display extends views
           $plugin = views_get_plugin('cache', $form_state['values']['cache']['type']);
           if ($plugin) {
             $cache = array('type' => $form_state['values']['cache']['type']);
-            $plugin->option_defaults($cache);
             $this->set_option('cache', $cache);
             if (!empty($plugin->definition['uses options'])) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('cache_options'));
