diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-05-21 02:06:58 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-05-21 02:06:58 +0000 |
commit | f5bd9f721cb9ea39393d3541e9ab60b14d26076c (patch) | |
tree | 5dd1edb0d8f74cdfa27a3a436c38e6b58f6b9c3d | |
parent | 345edb8a89d424946b5a7308548f5190e89848c0 (diff) | |
parent | fb6c6c85bf73efa78e60d61546d3df7adcf04f5a (diff) | |
download | gtk+-f5bd9f721cb9ea39393d3541e9ab60b14d26076c.tar.gz |
Merge branch 'wip/exalm/check-activate' into 'master'
checkbutton: Don't allow to uncheck radios by activating them
See merge request GNOME/gtk!3569
-rw-r--r-- | gtk/gtkcheckbutton.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c index e9a30a1ce3..bc4a4c5d04 100644 --- a/gtk/gtkcheckbutton.c +++ b/gtk/gtkcheckbutton.c @@ -475,10 +475,14 @@ gtk_check_button_focus (GtkWidget *widget, } static void -gtk_check_button_real_activate (GtkCheckButton *check_button) +gtk_check_button_real_activate (GtkCheckButton *self) { - gtk_check_button_set_active (check_button, - !gtk_check_button_get_active (check_button)); + GtkCheckButtonPrivate *priv = gtk_check_button_get_instance_private (self); + + if (priv->active && (priv->group_prev || priv->group_next)) + return; + + gtk_check_button_set_active (self, !gtk_check_button_get_active (self)); } static void |