--- views_plugin_argument_default_context.inc	2010-10-26 04:27:58.000000000 +0800
+++ views_plugin_argument_default_context.inc	2012-03-16 14:58:30.000000000 +0800
@@ -11,28 +11,24 @@
 class views_plugin_argument_default_context extends views_plugin_argument_default {
   var $option_name = 'views_arg_context';
 
-  function argument_form(&$form, &$form_state) {
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['namespace'] = array('default' => '');
+    $options['attribute'] = array('default' => '');
+
+    return $options;
+  }
+
+  function options_form(&$form, &$form_state) {
     $form['namespace'] = array(
       '#type' => 'textfield',
       '#title' => t('Namespace'),
-      '#default_value' => $this->argument->options['namespace'],
-      '#process' => array('views_process_dependency'),
-      '#dependency' => array(
-        'radio:options[default_action]' => array('default'),
-        'radio:options[default_argument_type]' => array($this->id)
-      ),
-      '#dependency_count' => 2,
+      '#default_value' => $this->options['namespace'],
     );
     $form['attribute'] = array(
       '#type' => 'textfield',
       '#title' => t('Attribute'),
-      '#default_value' => $this->argument->options['attribute'],
-      '#process' => array('views_process_dependency'),
-      '#dependency' => array(
-        'radio:options[default_action]' => array('default'),
-        'radio:options[default_argument_type]' => array($this->id)
-      ),
-      '#dependency_count' => 2,
+      '#default_value' => $this->options['attribute'],
     );
     $this->check_access($form);
   }
@@ -48,6 +44,17 @@
   }
 
   function get_argument() {
-    return context_get($this->argument->options['namespace'], $this->argument->options['attribute']);
+    return context_get($this->options['namespace'], $this->options['attribute']);
+  }
+
+  function convert_options(&$options) {
+    if (isset($this->argument->options['default_argument_type'])) {
+      if (!isset($options['namespace'])) {
+        $options['namespace'] = $this->argument->options['default_argument_namespace'];
+      }
+      if (!isset($options['attribute'])) {
+        $options['attribute'] = $this->argument->options['default_argument_attribute'];
+      }
+    }
   }
 }
\ No newline at end of file
