From fcd9b87519a4d973e43d8d0a46f63feec0d4c53c Mon Sep 17 00:00:00 2001
From: Earl Miles <merlin@logrus.com>
Date: Thu, 30 Apr 2009 22:28:30 +0000
Subject: [PATCH] #422504: Prevent views panes from ovewriting the view pager
 type (mini or full)

---
 views_content/plugins/content_types/views.inc       | 7 ++++++-
 views_content/plugins/content_types/views_panes.inc | 6 +++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/views_content/plugins/content_types/views.inc b/views_content/plugins/content_types/views.inc
index 3f75f2f4..606ee69e 100644
--- a/views_content/plugins/content_types/views.inc
+++ b/views_content/plugins/content_types/views.inc
@@ -188,7 +188,12 @@ function views_content_views_content_type_render($subtype, $conf, $panel_args, $
     $block->more = array('href' => $view->get_url());
     $view->display_handler->set_option('use_more', FALSE);
   }
-  $view->display_handler->set_option('use_pager', $conf['use_pager']);
+
+  // Only set use_pager if they differ, this way we can avoid overwriting the
+  // pager type that Views uses.
+  if (!$view->display_handler->set_option('use_pager') || empty($conf['use_pager')) {
+    $view->display_handler->set_option('use_pager', $conf['use_pager']);
+  }
   $view->display_handler->set_option('pager_element', $conf['pager_id']);
   $view->display_handler->set_option('items_per_page', $conf['nodes_per_page']);
   $view->display_handler->set_option('offset', $conf['offset']);
diff --git a/views_content/plugins/content_types/views_panes.inc b/views_content/plugins/content_types/views_panes.inc
index a87f36b3..a196cf84 100644
--- a/views_content/plugins/content_types/views_panes.inc
+++ b/views_content/plugins/content_types/views_panes.inc
@@ -216,7 +216,11 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a
   }
 
   if ($allow['use_pager']) {
-    $view->display_handler->set_option('use_pager', $conf['use_pager']);
+    // Only set use_pager if they differ, this way we can avoid overwriting the
+    // pager type that Views uses.
+    if (!$view->display_handler->set_option('use_pager') || empty($conf['use_pager')) {
+      $view->display_handler->set_option('use_pager', $conf['use_pager']);
+    }
     $view->display_handler->set_option('pager_element', $conf['pager_id']);
   }
   if ($allow['items_per_page'] && isset($conf['items_per_page'])) {
-- 
GitLab