Reviewed by John.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Mar 2005 17:37:26 +0000 (17:37 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Mar 2005 17:37:26 +0000 (17:37 +0000)
        - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
        Re-set-up the visRect if the bounds changes due to layout.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebView.subproj/WebHTMLView.m

index 5614b6b93dc1a2aa3e69864526e315ce256a8c42..93f41c7dc3283f44a24f2fcf8c7189ca5e37eca6 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-04  Darin Adler  <darin@apple.com>
+
+        Reviewed by John.
+
+        - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
+
+        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
+        Re-set-up the visRect if the bounds changes due to layout.
+
 === Safari-402 ===
 
 2005-03-03  Jens Alfke  <jens@apple.com>
index f7cc005e438eded4d27b785f0ac16d8e320b4893..62866a0c85de46857af767587741b488b92196c1 100644 (file)
@@ -754,8 +754,17 @@ void *_NSSoftLinkingGetFrameworkFuncPtr(NSString *inUmbrellaFrameworkName,
             }
         }
 
+        NSRect boundsBeforeLayout = [self bounds];
         [self _web_layoutIfNeededRecursive: visRect testDirtyRect:NO];
 
+        // If layout changes the view's bounds, then we need to recompute the visRect.
+        // That's because the visRect passed to us was based on the bounds at the time
+        // we were called. This method is only displayed to draw "all", so it's safe
+        // to just call visibleRect to compute the entire rectangle.
+        if (!NSEqualRects(boundsBeforeLayout, [self bounds])) {
+            visRect = [self visibleRect];
+        }
+
         [self _setAsideSubviews];
     }