Index: uc_addresses.module
===================================================================
--- uc_addresses.module	(revision 1048)
+++ uc_addresses.module	(revision 1055)
@@ -67,8 +67,17 @@
  * @param $uid The value of the user ID in the same path.
  * @return FALSE if the value is a valid address, else the address object.
  */
-function uc_addresses_address_load($aid, $uid) {
+function uc_addresses_address_load($aid, &$map = NULL, $map_index = FALSE) {
+  global $user;
+  $uid = 0;
+
   if (!isset($aid)) return FALSE;
+  if ($map && sizeof($map) && $map[0] == 'user' && is_object($map[1])) {
+  	$uid = $map[1]->uid;
+  } else {
+  	$uid = $user->uid;
+  }
+  
   return _uc_addresses_db_get_address($uid, $aid);
 }
 
@@ -135,29 +144,30 @@
     'type' => MENU_LOCAL_TASK,
     'weight' => 3,
     );
-
   $items['user/%user_uid_optional/addresses/%uc_addresses_address'] = array(
     'title' => 'View Address',
     'description' => 'View one saved address',
-    'load arguments' => array(1),
+    'load arguments' => array('%map','%index'),
     'page callback' => 'uc_addresses_list_addresses',
     'page arguments' => array(1, arg(3)),
     'access callback' => 'uc_addresses_can_view_addresses',
     'access arguments' => array(1),
     'type' => MENU_CALLBACK,
     );
+
   $items['user/%user_uid_optional/addresses/%uc_addresses_address/edit'] = array(
     'title' => 'Edit address',
-    'load arguments' => array(1),
+    'load arguments' => array('%map','%index'),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('uc_addresses_get_address_form', 1, 3, 'edit'),
     'access callback' => 'uc_addresses_can_add_edit_address',
     'access arguments' => array(1),
     'type' => MENU_CALLBACK,
     );
+    
   $items['user/%user_uid_optional/addresses/%uc_addresses_address/delete'] = array(
     'title' => 'Delete address',
-    'load arguments' => array(1),
+    'load arguments' => array('%map','%index'),
     'page callback' => 'uc_addresses_delete_address_confirm',
     'page arguments' => array(1, 3),
     'access callback' => 'uc_addresses_can_add_edit_address',
@@ -218,7 +228,7 @@
   $access =
     user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) ||
     $user->uid == $address_user->uid;
-
+  
   return $access;
 }
 
@@ -604,6 +614,7 @@
  * @return The themed list (as a string).
  */
 function uc_addresses_list_addresses($address_user, $address = NULL) {
+  
   global $user;
 
   $uid = $address_user->uid;
@@ -700,6 +711,7 @@
   // on whether the current user can edit the addresses
 
   if (user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) || $user->uid == $uid) {
+    if (module_exists('me')) $uid = _me_get_me_alias();
     $link = l(t('Add a new address'), 'user/'. $uid .'/addresses/add');
     $output .= $link;
   }
@@ -764,6 +776,9 @@
     // We add an edit link only if the user is allowed to edit this address
 
     if (user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) || $user->uid == $uid) {
+
+      if (module_exists('me')) $uid = _me_get_me_alias();
+      
       $output .= '<tr class="pane-title-row"><td colspan="2">'
 	. l(t('Edit this address'), 'user/'. $uid .'/addresses/' . $aid . '/edit')
 	. ($address->is_default ? '' :
@@ -822,7 +837,7 @@
  * @ingroup forms
  */
 function uc_addresses_get_address_form(&$form_state, $address_user, $address, $view) {
-
+  
   $uid = $address_user->uid;
   $aid = $address ? $address->aid : 0;
 
@@ -871,6 +886,8 @@
 
   // Edit an existing address
 
+  if (module_exists('me')) $uid = _me_get_me_alias();
+  
   if ($view == 'edit') {
     $form['submit'] =
       array('#type' => 'submit',
@@ -1417,7 +1434,6 @@
  *	array of objects if $aid was NULL.
  */
 function _uc_addresses_db_get_address($uid, $aid = NULL) {
-
   if ($aid === 0) return FALSE;
 
   // If $aid is present, return just the one address
