win32: correctly handle difference between tab_pos and gap_side when drawing an extension (notebook tab)

This commit is contained in:
Dieter Verfaillie 2011-10-20 17:09:31 +02:00 committed by Alexander Larsson
parent 2d83850864
commit af00c68dd0

View File

@ -2569,21 +2569,25 @@ draw_extension (GtkStyle *style,
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
/* Why this differs from gap_side, I have no idea.. */
int real_gap_side = gtk_notebook_get_tab_pos (notebook);
/* draw_themed_tab_button and draw_tab_button expect to work with tab
* position, instead of simply taking the "side of the gap" (gap_side)
* which simply said is the side of the tab that touches the notebook
* frame and is always the exact opposite of the gap side... */
int tab_pos = gtk_notebook_get_tab_pos (notebook);
if (!draw_themed_tab_button (style, cr, state_type,
GTK_NOTEBOOK (widget), x, y,
width, height, real_gap_side))
notebook, x, y,
width, height, tab_pos))
{
if (!draw_tab_button (style, cr, state_type,
shadow_type, widget,
detail, x, y, width, height, real_gap_side))
detail, x, y, width, height, tab_pos))
{
/* GtkStyle expects the usual gap_side */
parent_class->draw_extension (style, cr, state_type,
shadow_type, widget, detail,
x, y, width, height,
real_gap_side);
gap_side);
}
}
}