diff options
Diffstat (limited to 'gtk/gtkhsv.c')
-rw-r--r-- | gtk/gtkhsv.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index fd812db0d0..cb73ecd8fc 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -996,7 +996,7 @@ paint_ring (GtkHSV *hsv, /* Create clipping mask */ - mask = gdk_pixmap_new (GTK_WIDGET (hsv)->window, width, height, 1); + mask = gdk_pixmap_new (widget->window, width, height, 1); gc = gdk_gc_new (mask); @@ -1068,14 +1068,6 @@ paint_ring (GtkHSV *hsv, g_free (buf); /* Draw ring outline */ - - if (GTK_WIDGET_HAS_FOCUS (hsv) && priv->focus_on_ring) - { - gtk_paint_focus (widget->style, drawable, - GTK_WIDGET_STATE (widget), - NULL, widget, NULL, - x, y, width, height); - } } /* Converts an HSV triplet to an integer RGB triplet */ @@ -1400,6 +1392,15 @@ gtk_hsv_expose (GtkWidget *widget, dest.y, event->area.width, event->area.height); + if (GTK_WIDGET_HAS_FOCUS (hsv) && priv->focus_on_ring) + gtk_paint_focus (widget->style, widget->window, + GTK_WIDGET_STATE (widget), + &event->area, widget, NULL, + widget->allocation.x, + widget->allocation.y, + widget->allocation.width, + widget->allocation.height); + g_object_unref (pixmap); return FALSE; |