diff options
Diffstat (limited to 'gtk/gtkradiobutton.c')
-rw-r--r-- | gtk/gtkradiobutton.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c index b1ce1e2eef..ea4b8d5567 100644 --- a/gtk/gtkradiobutton.c +++ b/gtk/gtkradiobutton.c @@ -587,6 +587,9 @@ gtk_radio_button_draw_indicator (GtkCheckButton *check_button, GdkRectangle new_area; gint x, y; gint indicator_size, indicator_spacing; + gint focus_width; + gint focus_pad; + gboolean interior_focus; g_return_if_fail (GTK_IS_RADIO_BUTTON (check_button)); @@ -596,6 +599,12 @@ gtk_radio_button_draw_indicator (GtkCheckButton *check_button, button = GTK_BUTTON (check_button); toggle_button = GTK_TOGGLE_BUTTON (check_button); + gtk_widget_style_get (widget, + "interior_focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + state_type = GTK_WIDGET_STATE (widget); if ((state_type != GTK_STATE_NORMAL) && (state_type != GTK_STATE_PRELIGHT)) @@ -620,6 +629,9 @@ gtk_radio_button_draw_indicator (GtkCheckButton *check_button, x = widget->allocation.x + indicator_spacing + GTK_CONTAINER (widget)->border_width; y = widget->allocation.y + (widget->allocation.height - indicator_size) / 2; + + if (!interior_focus) + x += focus_width + focus_pad; state_type = GTK_WIDGET_STATE (widget) == GTK_STATE_ACTIVE ? GTK_STATE_NORMAL : GTK_WIDGET_STATE (widget); if (GTK_TOGGLE_BUTTON (widget)->active) |