diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index 83ebd7a..ca96e14 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -305,16 +305,13 @@
     EGLDisplay dpy = mDisplay;
     EGLSurface surface = mSurface;
 
-    Region newDirty(dirty);
-    newDirty.andSelf(Rect(mWidth, mHeight));
-
     if (mFlags & BUFFER_PRESERVED) {
-        mDirty = newDirty;
+        Region newDirty(dirty);
+        newDirty.andSelf(Rect(mWidth, mHeight));
+        const Rect& b(newDirty.bounds());
+        //mNativeWindow->setSwapRectangle(b);
     } 
 
-    const Rect& b(newDirty.bounds());
-    mNativeWindow->setSwapRectangle(b);
-
     mPageFlipCount++;
     eglSwapBuffers(dpy, surface);
     checkEGLErrors("eglSwapBuffers");
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
index 97a68a5..c9c75e2 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
@@ -102,7 +102,6 @@
     int             mHeight;
     PixelFormat     mFormat;
     uint32_t        mFlags;
-    mutable Region  mDirty;
     mutable uint32_t mPageFlipCount;
     
     sp<FramebufferNativeWindow> mNativeWindow;
diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp
index 407d6f4..f235cb4 100644
--- a/libs/ui/FramebufferNativeWindow.cpp
+++ b/libs/ui/FramebufferNativeWindow.cpp
@@ -131,14 +131,6 @@
     framebuffer_close(fbDev);
 }
 
-void FramebufferNativeWindow::connect(android_native_window_t* window) 
-{
-}
-
-void FramebufferNativeWindow::disconnect(android_native_window_t* window) 
-{
-}
-
 int FramebufferNativeWindow::setSwapInterval(
         android_native_window_t* window, int interval) 
 {
@@ -146,12 +138,6 @@
     return fb->setSwapInterval(fb, interval);
 }
 
-void FramebufferNativeWindow::setSwapRectangle(const Rect& dirty)
-{
-    Mutex::Autolock _l(mutex);
-    mDirty = dirty; 
-}
-
 int FramebufferNativeWindow::dequeueBuffer(android_native_window_t* window, 
         android_native_buffer_t** buffer)
 {
