summaryrefslogtreecommitdiff
path: root/gtk/gtkradiobutton.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkradiobutton.c')
-rw-r--r--gtk/gtkradiobutton.c12
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)