Don't use impl->position_info.clip_rect for toplevels. (#107068, reported

Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
        Don't use impl->position_info.clip_rect for toplevels.
        (#107068, reported by Thomas Mirlacher)
This commit is contained in:
Owen Taylor 2003-08-19 18:32:12 +00:00 committed by Owen Taylor
parent df58bb7f8a
commit ccfd33c5a5
6 changed files with 45 additions and 4 deletions

View File

@ -1,3 +1,9 @@
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
Don't use impl->position_info.clip_rect for toplevels.
(#107068, reported by Thomas Mirlacher)
Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com> Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): * gdk/x11/gdkdrawable-x11.c (convert_to_format):

View File

@ -1,3 +1,9 @@
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
Don't use impl->position_info.clip_rect for toplevels.
(#107068, reported by Thomas Mirlacher)
Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com> Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): * gdk/x11/gdkdrawable-x11.c (convert_to_format):

View File

@ -1,3 +1,9 @@
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
Don't use impl->position_info.clip_rect for toplevels.
(#107068, reported by Thomas Mirlacher)
Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com> Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): * gdk/x11/gdkdrawable-x11.c (convert_to_format):

View File

@ -1,3 +1,9 @@
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
Don't use impl->position_info.clip_rect for toplevels.
(#107068, reported by Thomas Mirlacher)
Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com> Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): * gdk/x11/gdkdrawable-x11.c (convert_to_format):

View File

@ -1,3 +1,9 @@
Tue Aug 19 13:58:50 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
Don't use impl->position_info.clip_rect for toplevels.
(#107068, reported by Thomas Mirlacher)
Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com> Mon Aug 18 11:48:51 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): * gdk/x11/gdkdrawable-x11.c (convert_to_format):

View File

@ -402,7 +402,7 @@ gdk_window_scroll (GdkWindow *window,
GdkRegion *invalidate_region; GdkRegion *invalidate_region;
GdkWindowImplX11 *impl; GdkWindowImplX11 *impl;
GdkWindowObject *obj; GdkWindowObject *obj;
GdkRectangle dest_rect; GdkRectangle src_rect, dest_rect;
g_return_if_fail (GDK_IS_WINDOW (window)); g_return_if_fail (GDK_IS_WINDOW (window));
@ -419,12 +419,23 @@ gdk_window_scroll (GdkWindow *window,
if (obj->update_area) if (obj->update_area)
gdk_region_offset (obj->update_area, dx, dy); gdk_region_offset (obj->update_area, dx, dy);
invalidate_region = gdk_region_rectangle (&impl->position_info.clip_rect); /* impl->position_info.clip_rect isn't meaningful for toplevels */
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_CHILD)
src_rect = impl->position_info.clip_rect;
else
{
src_rect.x = 0;
src_rect.y = 0;
src_rect.width = impl->width;
src_rect.height = impl->height;
}
dest_rect = impl->position_info.clip_rect; invalidate_region = gdk_region_rectangle (&src_rect);
dest_rect = src_rect;
dest_rect.x += dx; dest_rect.x += dx;
dest_rect.y += dy; dest_rect.y += dy;
gdk_rectangle_intersect (&dest_rect, &impl->position_info.clip_rect, &dest_rect); gdk_rectangle_intersect (&dest_rect, &src_rect, &dest_rect);
if (dest_rect.width > 0 && dest_rect.height > 0) if (dest_rect.width > 0 && dest_rect.height > 0)
{ {