? 215927-improve-exposed-form-in-block.patch
? 696402-context-node-form.patch
? 713526-panels-stacked-tpl-conditions.patch
? 718368-ignore-query-string.patch
? 812744-query-string-still-there.patch
? 827310-hide-disabled-comments.patch
? 853368-field-override-broken.patch
? 867898-clone-edited-item.patch
? 868410-ie-opacity-fix.patch
? 870820.patch
? 872072-customize-modal.patch
? TODO.txt
? auto-guess-type-ajax-element.patch
? comment_links_8.patch
? ctools-853114-docs.patch
? ctools-862320.patch
? ctools-ajax-redirect-with-delayed-optional-check-for-positive-delay.patch
? ctools-custom_content.patch
? ctools-no-base-types-1.patch
? ctools-object-cache.inc-session-handling_0.patch
? ctools_ahah_callback_rebuilds_831922.patch
? ctools_node_build_modes_views_style_0.patch
? export_ui_revert_path.patch
? flexible_css_1.patch
? views-dimensions.js_.patch
? help/stylizer.html
Index: includes/content.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/includes/content.inc,v
retrieving revision 1.12.2.11
diff -u -p -r1.12.2.11 content.inc
--- includes/content.inc	11 Aug 2010 19:47:52 -0000	1.12.2.11
+++ includes/content.inc	11 Aug 2010 21:47:09 -0000
@@ -264,7 +264,14 @@ function ctools_content_render($type, $s
     $plugin = ctools_get_content_type($type);
   }
 
-  if ($function = ctools_plugin_get_function($plugin, 'render callback')) {
+  $subtype_info = ctools_content_get_subtype($plugin, $subtype);
+
+  $function = ctools_plugin_get_function($subtype_info, 'render callback');
+  if (!$function) {
+    $function = ctools_plugin_get_function($plugin, 'render callback');
+  }
+
+  if ($function) {
     $pane_context = ctools_content_select_context($plugin, $subtype, $conf, $context);
     if ($pane_context === FALSE) {
       return;
@@ -565,7 +572,7 @@ function ctools_content_form($op, $form_
     if (!empty($subtype['edit form'])) {
       _ctools_content_create_form_info($form_info, $subtype['edit form'], $subtype, $subtype, $op);
     }
-    if (!empty($plugin['edit form'])) {
+    else if (!empty($plugin['edit form'])) {
       _ctools_content_create_form_info($form_info, $plugin['edit form'], $plugin, $subtype, $op);
     }
   }
Index: views_content/views_content.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/views_content/views_content.module,v
retrieving revision 1.4.2.2
diff -u -p -r1.4.2.2 views_content.module
--- views_content/views_content.module	20 Jul 2010 00:17:08 -0000	1.4.2.2
+++ views_content/views_content.module	11 Aug 2010 21:47:10 -0000
@@ -51,16 +51,64 @@ function views_ctools_block_info($module
   }
 
   if (substr($delta, 0, 1) != '-') {
-    // Right now, 'special' blocks are all exposed forms. Let's
-    // call those widgets.
-    $info['category'] = t('Widgets');
-    $info['icon'] = 'icon_views_block_legacy.png';
-    $info['path'] = drupal_get_path('module', 'views_content');
+    $info = NULL;
   }
   else {
     $info['category'] = t('Views');
     $info['icon'] = 'icon_views_block_legacy.png';
     $info['path'] = drupal_get_path('module', 'views_content');
+    $info['edit form'] = 'views_content_exposed_form_pane_edit';
+    $info['render callback'] = 'views_content_exposed_form_pane_render';
+  }
+}
+
+/**
+ * Add settings to the "exposed form in block" views.
+ */
+function views_content_exposed_form_pane_edit(&$form, &$form_state) {
+  // This is a cheesy way to add defaults only to new versions of the block
+  // but leave older blocks without the setting alone.
+  if (!isset($form_state['conf']['inherit_path']) && !isset($form_state['conf']['override_title'])) {
+    $form_state['conf']['inherit_path'] = TRUE;
+  }
+
+  $form['inherit_path'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Inherit path'),
+    '#default_value' => !empty($form_state['conf']['inherit_path']),
+  );
+}
+
+/**
+ * Store data for the exposed form in block settings page.
+ */
+function views_content_exposed_form_pane_edit_submit(&$form, &$form_state) {
+  $form_state['conf']['inherit_path'] = $form_state['values']['inherit_path'];
+}
+
+/**
+ * Render function for 'special' view blocks.
+ *
+ * We took over the render for the special view blocks so that we could
+ * add options to it.
+ */
+function views_content_exposed_form_pane_render($subtype, $conf, $panel_args, $contexts) {
+  list($type, $name, $display_id) = explode('-', str_replace('views--', '', $subtype));
+  // Put the - back on.
+  $type = '-' . $type;
+  if ($view = views_get_view($name)) {
+    if ($view->access($display_id)) {
+      if (!empty($conf['inherit_path'])) {
+        $view->override_path = $_GET['q'];
+      }
+
+      $view->set_display($display_id);
+      if (isset($view->display_handler)) {
+        $block = (object) $view->display_handler->view_special_blocks($type);
+        return $block;
+      }
+    }
+    $view->destroy();
   }
 }
 
