[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
alex at webkit.org
alex at webkit.org
Wed Mar 17 18:02:49 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 64343301cb4efeb3cde75701d9a326a3963378b7
Author: alex at webkit.org <alex at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Feb 26 20:20:35 2010 +0000
Unreviewed.
Reverted last patch (r55295), it causes problems with the frames.
* WebCoreSupport/ChromeClientGtk.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 5f23bf8..66d24e2 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,11 @@
+2010-02-26 Alejandro G. Castro <alex at igalia.com>
+
+ Unreviewed.
+
+ Reverted last patch (r55295), it causes problems with the frames.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+
2010-02-19 Alejandro G. Castro <alex at igalia.com>
Reviewed by Xan Lopez.
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 9e818df..74f5e07 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -364,10 +364,25 @@ void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, con
// We cannot use gdk_window_scroll here because it is only able to
// scroll the whole window at once, and we often need to scroll
// portions of the window only (think frames).
- GdkRectangle moveRect = clipRect;
- GdkRegion* moveRegion = gdk_region_rectangle(&moveRect);
- gdk_window_move_region(window, moveRegion, delta.width(), delta.height());
- gdk_region_destroy(moveRegion);
+ GdkRectangle area = clipRect;
+ GdkRectangle moveRect;
+
+ GdkRectangle sourceRect = area;
+ sourceRect.x -= delta.width();
+ sourceRect.y -= delta.height();
+
+ GdkRegion* invalidRegion = gdk_region_rectangle(&area);
+
+ if (gdk_rectangle_intersect(&area, &sourceRect, &moveRect)) {
+ GdkRegion* moveRegion = gdk_region_rectangle(&moveRect);
+ gdk_window_move_region(window, moveRegion, delta.width(), delta.height());
+ gdk_region_offset(moveRegion, delta.width(), delta.height());
+ gdk_region_subtract(invalidRegion, moveRegion);
+ gdk_region_destroy(moveRegion);
+ }
+
+ gdk_window_invalidate_region(window, invalidRegion, FALSE);
+ gdk_region_destroy(invalidRegion);
}
// FIXME: this does not take into account the WM decorations
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list