diff --git a/ChangeLog b/ChangeLog index 2ea360de33..59b8289db0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-05-17 Matthias Clasen + + * gdk/gdkwindow.c (gdk_window_set_bg_pattern): Adjust offsets + when recursing. (#153682, Felipe Heidrich) + 2005-05-16 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2ea360de33..59b8289db0 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-05-17 Matthias Clasen + + * gdk/gdkwindow.c (gdk_window_set_bg_pattern): Adjust offsets + when recursing. (#153682, Felipe Heidrich) + 2005-05-16 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2ea360de33..59b8289db0 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-05-17 Matthias Clasen + + * gdk/gdkwindow.c (gdk_window_set_bg_pattern): Adjust offsets + when recursing. (#153682, Felipe Heidrich) + 2005-05-16 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 85326aef65..5e1c7dc3f2 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1735,8 +1735,10 @@ gdk_window_set_bg_pattern (GdkWindow *window, if (private->bg_pixmap == GDK_PARENT_RELATIVE_BG && private->parent) { + x_offset += private->x; + y_offset += private->y; gdk_window_set_bg_pattern (GDK_WINDOW (private->parent), cr, - private->x, private->y); + x_offset, y_offset); } else if (private->bg_pixmap && private->bg_pixmap != GDK_PARENT_RELATIVE_BG && @@ -1746,7 +1748,7 @@ gdk_window_set_bg_pattern (GdkWindow *window, cairo_pattern_t *pattern = cairo_pattern_create_for_surface (surface); cairo_surface_destroy (surface); - if (x_offset != 0 || y_offset) + if (x_offset != 0 || y_offset != 0) { cairo_matrix_t matrix; cairo_matrix_init_translate (&matrix, x_offset, y_offset);