Merge commit 'goog/master' into merge_master

Conflicts:
	include/ui/Rect.h
	libs/ui/ISurfaceComposer.cpp
diff --git a/include/hwbinder/MemoryDealer.h b/include/hwbinder/MemoryDealer.h
index d057556..6628f75 100644
--- a/include/hwbinder/MemoryDealer.h
+++ b/include/hwbinder/MemoryDealer.h
@@ -126,13 +126,22 @@
             mFirst = mLast = newNode;
             newNode->prev = newNode->next = 0;
         } else {
-            insertBefore(mFirst, newNode);
+            newNode->prev = 0;
+            newNode->next = mFirst;
+            mFirst->prev = newNode;
+            mFirst = newNode;
         }
     }
     
     void insertTail(NODE* newNode) {
-        if (mLast == 0) insertBeginning(newNode);
-        else            insertAfter(mLast, newNode);
+        if (mLast == 0) {
+            insertHead(newNode);
+        } else {
+            newNode->prev = mLast;
+            newNode->next = 0;
+            mLast->next = newNode;
+            mLast = newNode;
+        }
     }
 
     NODE* remove(NODE* node) {