Merge change 22362 into eclair

* changes:
  Fix +NANP issue and cleanup plus code conversion.
diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp
index 36a10cf..474308a 100644
--- a/libs/ui/Surface.cpp
+++ b/libs/ui/Surface.cpp
@@ -602,7 +602,18 @@
     mBackbufferIndex = backIdx;
     layer_cblk_t* const lcblk = &(cblk->layers[index]);
     volatile const surface_info_t* const back = lcblk->surface + backIdx;
-    if ((back->flags & surface_info_t::eNeedNewBuffer) || mUsageChanged) {
+
+    const sp<SurfaceBuffer>& backBuffer(mBuffers[backIdx]);
+
+    if (backBuffer==0 &&
+            !((back->flags & surface_info_t::eNeedNewBuffer) || mUsageChanged)) {
+        LOGW("dequeueBuffer: backbuffer is null, but eNeedNewBuffer "
+                "is not set, fetching a buffer anyways...");
+    }
+
+    if ((back->flags & surface_info_t::eNeedNewBuffer) ||mUsageChanged ||
+            backBuffer==0) 
+    {
         mUsageChanged = false;
         err = getBufferLocked(backIdx, mUsage);
         if (err == NO_ERROR) {
@@ -614,7 +625,6 @@
     }
 
     if (err == NO_ERROR) {
-        const sp<SurfaceBuffer>& backBuffer(mBuffers[backIdx]);
         if (backBuffer != 0) {
             mDirtyRegion.set(backBuffer->width, backBuffer->height);
             *buffer = backBuffer.get();
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp
index 445e681..d51b333 100644
--- a/opengl/libs/EGL/Loader.cpp
+++ b/opengl/libs/EGL/Loader.cpp
@@ -224,12 +224,12 @@
 
 void *Loader::load_driver(const char* driver, gl_hooks_t* hooks, uint32_t mask)
 {
-    //LOGD("%s", driver);
     void* dso = dlopen(driver, RTLD_NOW | RTLD_LOCAL);
-    LOGE_IF(!dso, "%s", dlerror());
     if (dso == 0)
         return 0;
 
+    LOGD("loaded %s", driver);
+
     if (mask & EGL) {
         getProcAddress = (getProcAddressType)dlsym(dso, "eglGetProcAddress");