diff --git a/ChangeLog b/ChangeLog index fd2e7c943f..2c7df422bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-08-04 Carlos Garnacho + + * gtk/gtknotebook.c (gtk_notebook_expose): Set drag window background + to be the GtkNotebook background color. This is a workaround to + prevent black pixels in rounded tabs when reordering. Improves + #368234. + 2008-08-04 Carlos Garnacho * gtk/gtk.symbols: diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index b623e15ea3..c65df4372d 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -2147,6 +2147,19 @@ gtk_notebook_expose (GtkWidget *widget, if (event->window == priv->drag_window) { GdkRectangle area = { 0, }; + cairo_t *cr; + + /* FIXME: This is a workaround to make tabs reordering work better + * with engines with rounded tabs. If the drag window background + * isn't set, the rounded corners would be black. + * + * Ideally, these corners should be made transparent, Either by using + * ARGB visuals or shape windows. + */ + cr = gdk_cairo_create (priv->drag_window); + gdk_cairo_set_source_color (cr, &widget->style->bg [GTK_STATE_NORMAL]); + cairo_paint (cr); + cairo_destroy (cr); gdk_drawable_get_size (priv->drag_window, &area.width, &area.height);