Index: nodequeue.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.module,v
retrieving revision 1.39.2.28.2.34
diff -u -p -r1.39.2.28.2.34 nodequeue.module
--- nodequeue.module	28 May 2008 17:45:34 -0000	1.39.2.28.2.34
+++ nodequeue.module	2 Jun 2008 13:58:18 -0000
@@ -20,10 +20,10 @@ function nodequeue_init() {
   if (module_exists('actions')) {
     include_once drupal_get_path('module', 'nodequeue') . '/nodequeue.actions.inc';
   }
-
-  if (module_exists('workflow_ng')) {
-    include_once drupal_get_path('module', 'nodequeue') . '/nodequeue.workflow_ng.inc';
-  }
+
+  if (module_exists('workflow_ng')) {
+    include_once drupal_get_path('module', 'nodequeue') . '/nodequeue.workflow_ng.inc';
+  }
   
   if (module_exists('views')) {
     include_once drupal_get_path('module', 'nodequeue') . '/nodequeue.views.inc';
@@ -469,12 +469,16 @@ function nodequeue_view_queues() {
 
   $rows = array();
   foreach ($queues as $queue) {
+    if (!nodequeue_queue_access($queue)) {
+      continue;
+    }
     $sub_text = $queue->subqueues;
     if ($sub_text == 1) {
       $sub_text .= " (" . nodequeue_subqueue_size_text($queue->size, $queue->subqueue->count) . ")";
     }
 
-    $operations = array(l(t('View'), "admin/content/nodequeue/$queue->qid/view"));
+    $operations = array();
+    $operations[] = l(t('View'), "admin/content/nodequeue/$queue->qid/view");
     if (user_access('administer nodequeue')) {
       $operations[] = l(t('Edit'), "admin/content/nodequeue/$queue->qid/edit");
       $operations[] = l(t('Delete'), "admin/content/nodequeue/$queue->qid/delete");
@@ -487,6 +491,9 @@ function nodequeue_view_queues() {
       array('class' => 'nodequeue-operation', 'data' => implode(' | ', $operations)),
     );
   }
+  if (empty($rows)) {
+    return t('There are no node queues you are allowed to modify.');
+  }
 
   $output = theme('table', $header, $rows);
   $output .= theme('pager', NULL, 25);
@@ -1362,8 +1369,9 @@ function nodequeue_queue_access($queue, 
     return TRUE;
   }
 
-  // Automatically false if they can't manipulate queues at all.
-  if (!user_access('manipulate queues')) {
+  // Automatically false if they can't manipulate queues at all, or if no roles
+  // have been granted access for this queue.
+  if (!user_access('manipulate queues') || empty($queue->roles)) {
     return FALSE;
   }
 
