From a9c11ed6e8d752674a162031796f9255e439d611 Mon Sep 17 00:00:00 2001
From: Kasper Garnaes <kasper.garnaes@gmail.com>
Date: Tue, 14 May 2013 08:27:16 +0200
Subject: [PATCH] Rebuild permissions for all roles.

The current implementation stopped the rebuild if one role did not have
any secure permissions defined.
---
 secure_permissions.module | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/secure_permissions.module b/secure_permissions.module
index bfd9043..f15fac1 100644
--- a/secure_permissions.module
+++ b/secure_permissions.module
@@ -219,21 +219,20 @@ function secure_permissions_build_permissions() {
   // List all permissions.
   $permissions = array_keys(module_invoke_all('permission'));
   // Now set permissions per role, using our hook.
+  $permissions_rebuilt = FALSE;
   foreach ($roles as $rid => $role) {
     $perms = array();
-    $new_permissions = module_invoke_all('secure_permissions', $role);
-    if (empty($new_permissions)) {
-      return FALSE;
-    }
+    $permissions = module_invoke_all('secure_permissions', $role);
     foreach ($permissions as $perm) {
       $perms[$perm] = FALSE;
       if (in_array($perm, $new_permissions)) {
         $perms[$perm] = TRUE;
+        $permissions_rebuilt = TRUE;
       }
     }
     user_role_change_permissions($rid, $perms);
   }
-  return TRUE;
+  return $permissions_rebuilt;
 }
 
 /**
-- 
1.7.12.1+GitX