--- im.module	Sun Mar 28 21:09:08 2010
+++ im.module	Mon May 24 10:47:20 2010
@@ -568,6 +568,8 @@
         else {
           $text = '';
         }
+        $account = (object)$friend;
+        $output .= '<div class="im-friendlist-user">'.theme('user_picture', $account);
         $text .= $friend['name'];
         $onClick = 'click_on_friend(' . $friend['uid'] . ',\'' . $friend['name'] . '\'); return (false);';
         $output .= l(
@@ -575,7 +577,7 @@
             'attributes' => array('class' => 'im-link', 'id' => 'im-uid-'.  $friend['uid'], 'onClick' =>  $onClick)
           )
         );        
-        $output .= ' | ';
+        $output .= '</div> | ';
       }
       if (variable_get('im_show_talk_to_no_one', 1) == 1) {
         $onClick = 'click_on_friend(' . '0' . ',\'' . t('No One') . '\'); return (false);';
@@ -775,7 +777,7 @@
 
   $online_users = _get_online_users();  
   $online_friends = array();
-
+  
   if ($online_users) {
     foreach($friends as $friend_uid) {
       if (array_key_exists($friend_uid, $online_users) && $friend_uid != $uid) {
@@ -785,7 +787,8 @@
         else {
           $num_waiting = 0;
         }
-        $online_friends[$friend_uid] = array('uid' => $friend_uid, 'name' => $online_users[$friend_uid]['name'], 'waiters' => $num_waiting);
+       
+        $online_friends[$friend_uid] = array('uid' => $friend_uid, 'name' => $online_users[$friend_uid]['name'], 'waiters' => $num_waiting, 'picture' => $online_users[$friend_uid]['picture']);
       }
     }
   }
@@ -805,15 +808,16 @@
 
   if(variable_get("im_online_users_threshold", 0) == 0) {
     $authenticated_users = db_query("
-      SELECT DISTINCT u.uid, u.name
+      SELECT DISTINCT u.uid, u.name, u.picture 
       FROM {users} u
       INNER JOIN {users_roles} ur on ur.uid = u.uid
       INNER JOIN {permission} p on p.rid = ur.rid 
       WHERE p.perm like '%IM Talk%'
       ORDER BY u.name");
     while ($account = db_fetch_object($authenticated_users)) {
-      $items[$account->uid] = array('uid' => $account->uid, 'name' => $account->name);
+      $items[$account->uid] = array('uid' => $account->uid, 'name' => $account->name, 'picture' => $account->picture);
     }
+    
     return $items;
   }
 
@@ -823,14 +827,14 @@
     // Perform database queries to gather online user lists.  We use s.timestamp
     // rather than u.access because it is much faster.
     $authenticated_users = db_query('
-      SELECT DISTINCT u.uid, u.name, s.timestamp
+      SELECT DISTINCT u.uid, u.name, u.picture, s.timestamp
       FROM {users} u
       INNER JOIN {sessions} s
       ON u.uid = s.uid
       WHERE s.timestamp >= %d AND s.uid > 0
       ORDER BY s.timestamp DESC', $interval);
     while ($account = db_fetch_object($authenticated_users)) {
-      $items[$account->uid] = array('uid' => $account->uid, 'name' => $account->name);
+      $items[$account->uid] = array('uid' => $account->uid, 'name' => $account->name, 'picture' => $account->picture);
     }
   return $items;
 	}
