summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Bono <alessandro.bono369@gmail.com>2023-01-23 16:03:45 +0100
committerAlessandro Bono <alessandro.bono369@gmail.com>2023-01-24 14:55:16 +0100
commit53d87e42a56f96c64589bc48772f5fcfd89a30c4 (patch)
tree2f0c9387f629c840ea0849dc15b93c7c798bde3b
parent9c669cbe90caed56504708a0bada554ff1b88dbe (diff)
downloadgtk+-53d87e42a56f96c64589bc48772f5fcfd89a30c4.tar.gz
gtkswitch: Decouple set_state with set_active.
Allow the user to set a state that doesn't reflect the active property.
-rw-r--r--gtk/gtkswitch.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index e59f933617..062e7ea960 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -742,9 +742,8 @@ gtk_switch_get_active (GtkSwitch *self)
*
* Sets the underlying state of the `GtkSwitch`.
*
- * Normally, this is the same as [property@Gtk.Switch:active], unless
- * the switch is set up for delayed state changes. This function is
- * typically called from a [signal@Gtk.Switch::state-set] signal handler.
+ * This function is typically called from a [signal@Gtk.Switch::state-set]
+ * signal handler in order to set up delayed state changes.
*
* See [signal@Gtk.Switch::state-set] for details.
*/
@@ -761,12 +760,6 @@ gtk_switch_set_state (GtkSwitch *self,
self->state = state;
- /* This will be a no-op if we're switching the state in response
- * to a UI change. We're setting active anyway, to catch 'spontaneous'
- * state changes.
- */
- gtk_switch_set_active (self, state);
-
if (state)
gtk_widget_set_state_flags (GTK_WIDGET (self), GTK_STATE_FLAG_CHECKED, FALSE);
else