Set drag window background to be the GtkNotebook background color. This is

2008-08-04  Carlos Garnacho  <carlos@imendio.com>

        * 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.

svn path=/trunk/; revision=20973
This commit is contained in:
Carlos Garnacho 2008-08-04 14:46:22 +00:00 committed by Carlos Garnacho
parent 7e439efc92
commit e9be9eb190
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2008-08-04 Carlos Garnacho <carlos@imendio.com>
* 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 <carlos@imendio.com>
* gtk/gtk.symbols:

View File

@ -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);