Index: spaces.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/spaces/spaces.module,v
retrieving revision 1.25.4.33.2.14
diff -u -p -r1.25.4.33.2.14 spaces.module
--- spaces.module	10 May 2009 19:12:08 -0000	1.25.4.33.2.14
+++ spaces.module	12 May 2009 01:25:12 -0000
@@ -151,8 +151,8 @@ function spaces_menu_alter(&$items) {
 
   foreach ($router_items as $path) {
     if (isset($items[$path])) {
-      $arguments = $items[$path]['access arguments'];
-      $arguments[] = $items[$path]['access callback'];
+      $arguments = isset($items[$path]['access arguments']) ? $items[$path]['access arguments'] : array();
+      $arguments[] = isset($items[$path]['access callback']) ? $items[$path]['access callback'] : NULL;
 
       $items[$path]['access callback'] = 'spaces_menu_access';
       $items[$path]['access arguments'] = $arguments;
@@ -169,7 +169,6 @@ function spaces_menu_alter(&$items) {
 function spaces_menu_access() {
   $args = func_get_args();
   if (empty($args)) {
-    $op = 'menu';
     $object = NULL;
   }
   else {
@@ -187,21 +186,24 @@ function spaces_menu_access() {
         }
       }
     }
-    if (!isset($op)) {
-      if (isset($object->nid)) {
-        $op = 'node';
-      }
-      else if (isset($object->uid)) {
-        $op = 'user';
-      }
+  }
+  if (!isset($op)) {
+    if (isset($object->nid)) {
+      $op = 'node';
+    }
+    else if (isset($object->uid)) {
+      $op = 'user';
     }
   }
+  else {
+  	$op = 'menu';
+  }
 
   $access = true;
   $types = spaces_types();
   // Check menu access for the active space type
   if ($space = spaces_get_space()) {
-    $access = $access && $space->menu_access($op, $object);
+    $access = $access && is_object($space) && $space->menu_access($op, $object);
     unset($types[$space->type]);
   }
   // Run each non-active space type's menu access check
@@ -862,11 +864,16 @@ function spaces_load($type, $sid = NULL,
 
       // Load customizer & preset
       $row = db_fetch_object(db_query("SELECT customizer, preset FROM {spaces} WHERE sid = %d AND type = '%s'", $space->sid, $space->type));
-      $space->customizer = $row->customizer ? unserialize($row->customizer) : array();
+      if (isset($row->customizer)) {
+        $space->customizer = unserialize($row->customizer);
+      }
+      else {
+        $space->customizer = array();
+      }
 
       // Enforce preset or use default if not found
       $default_presets = variable_get('spaces_default_presets', array());
-      if ($row->preset) {
+      if (isset($row->preset)) {
         $space->preset = $row->preset;
       }
       else if (empty($space->preset) && isset($default_presets[$type])) {
