diff -u gtk3-engines-unico-1.0.1/unico/unico-draw.c gtk3-engines-unico-1.0.1/unico/unico-draw.c --- gtk3-engines-unico-1.0.1/unico/unico-draw.c +++ gtk3-engines-unico-1.0.1/unico/unico-draw.c @@ -28,6 +28,7 @@ #include "unico-draw.h" #include "unico-support.h" #include "unico-types.h" +#include "gtkroundedboxprivate.h" /* draw a texture placed on the centroid */ static gboolean @@ -537,7 +538,6 @@ GtkBorder *outer_border; GtkCssBorderCornerRadius *top_left_radius, *top_right_radius; GtkCssBorderCornerRadius *bottom_left_radius, *bottom_right_radius; - GtkCssBorderRadius border_radius = { { 0, }, }; GtkJunctionSides junction; GtkStateFlags state; gboolean has_outer_stroke = FALSE; @@ -563,19 +563,6 @@ if (!unico_gtk_border_is_zero (outer_border)) has_outer_stroke = TRUE; - if (top_left_radius) - border_radius.top_left = *top_left_radius; - g_free (top_left_radius); - if (top_right_radius) - border_radius.top_right = *top_right_radius; - g_free (top_right_radius); - if (bottom_right_radius) - border_radius.bottom_right = *bottom_right_radius; - g_free (bottom_right_radius); - if (bottom_left_radius) - border_radius.bottom_left = *bottom_left_radius; - g_free (bottom_left_radius); - cairo_save (cr); switch (gap_side) @@ -678,6 +665,10 @@ cairo_restore (cr); + g_free (top_left_radius); + g_free (top_right_radius); + g_free (bottom_right_radius); + g_free (bottom_left_radius); gtk_border_free (outer_border); } @@ -724,18 +715,27 @@ static void unico_draw_handle (DRAW_ARGS) { + GtkBorder border; + GtkStateFlags state; gdouble line_width; gint i, bar_y, num_bars, bar_spacing, bar_width, bar_height; + state = gtk_theming_engine_get_state (engine); + gtk_theming_engine_get_border (engine, state, &border); + unico_cairo_draw_background (engine, cr, - x, y, width, height, - 0, gtk_theming_engine_get_junction_sides (engine)); + x - border.left, y - border.top, + width + border.left + border.right, height + border.top + border.bottom, + 0, GTK_JUNCTION_NONE); if (draw_centroid_texture (engine, cr, x, y, width, height)) return; unico_get_line_width (engine, &line_width); + if (line_width < 1) + return; + bar_y = 1; num_bars = 3; bar_spacing = 3; @@ -759,7 +759,7 @@ /* draw bars */ cairo_move_to (cr, 0, bar_y); cairo_line_to (cr, bar_width, bar_y); - unico_cairo_set_source_border (engine, cr, bar_width, 3); + unico_cairo_set_source_border (engine, cr, bar_width, line_width); cairo_stroke (cr); cairo_move_to (cr, 0, bar_y + line_width); diff -u gtk3-engines-unico-1.0.1/debian/changelog gtk3-engines-unico-1.0.1/debian/changelog --- gtk3-engines-unico-1.0.1/debian/changelog +++ gtk3-engines-unico-1.0.1/debian/changelog @@ -1,3 +1,9 @@ +gtk3-engines-unico (1.0.1-0ubuntu5) precise; urgency=low + + * Backport upstream fixes for i386 look issues and valgrind errors + + -- Sebastien Bacher Wed, 29 Feb 2012 21:28:29 +0100 + gtk3-engines-unico (1.0.1-0ubuntu4) precise; urgency=low * Backport upstream commit "Fixes for inconsistent state"