summaryrefslogtreecommitdiff
path: root/gtk/gtkwidget.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r--gtk/gtkwidget.c45
1 files changed, 17 insertions, 28 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index a81befee3b..947e7d0fe6 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -459,7 +459,6 @@ typedef struct {
GtkEventController *controller;
guint grab_notify_id;
guint sequence_state_changed_id;
- gboolean have_ref;
} EventControllerData;
struct _GtkWidgetClassPrivate
@@ -12999,11 +12998,24 @@ event_controller_sequence_state_changed (GtkGesture *gesture,
cancel_event_sequence_on_hierarchy (widget, event_widget, sequence);
}
+/**
+ * gtk_widget_add_controller:
+ * @widget: a #GtkWidget
+ * @controller: (transfer full): a #GtkEventController that hasn't been
+ * added to a widget yet
+ *
+ * Adds @controller to @widget so that it will receive events. You will
+ * usually want to call this function right after creating any kind of
+ * #GtkEventController.
+ **/
void
-_gtk_widget_add_controller (GtkWidget *widget,
- GtkEventController *controller,
- gboolean have_ref)
+gtk_widget_add_controller (GtkWidget *widget,
+ GtkEventController *controller)
{
+ g_return_if_fail (GTK_IS_WIDGET (widget));
+ g_return_if_fail (GTK_IS_EVENT_CONTROLLER (controller));
+ g_return_if_fail (gtk_event_controller_get_widget (controller) == NULL);
+
EventControllerData *data;
GtkWidgetPrivate *priv;
@@ -13012,7 +13024,6 @@ _gtk_widget_add_controller (GtkWidget *widget,
GTK_EVENT_CONTROLLER_GET_CLASS (controller)->set_widget (controller, widget);
data = g_new0 (EventControllerData, 1);
- data->have_ref = have_ref;
data->controller = controller;
data->grab_notify_id =
g_signal_connect (widget, "grab-notify",
@@ -13032,27 +13043,6 @@ _gtk_widget_add_controller (GtkWidget *widget,
}
/**
- * gtk_widget_add_controller:
- * @widget: a #GtkWidget
- * @controller: (transfer full): a #GtkEventController that hasn't been
- * added to a widget yet
- *
- * Adds @controller to @widget so that it will receive events. You will
- * usually want to call this function right after creating any kind of
- * #GtkEventController.
- **/
-void
-gtk_widget_add_controller (GtkWidget *widget,
- GtkEventController *controller)
-{
- g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (GTK_IS_EVENT_CONTROLLER (controller));
- g_return_if_fail (gtk_event_controller_get_widget (controller) == NULL);
-
- _gtk_widget_add_controller (widget, controller, TRUE);
-}
-
-/**
* gtk_widget_remove_controller:
* @widget: a #GtkWidget
* @controller: (transfer none): a #GtkEventController
@@ -13098,8 +13088,7 @@ gtk_widget_remove_controller (GtkWidget *widget,
g_signal_handler_disconnect (data->controller, data->sequence_state_changed_id);
data->controller = NULL;
- if (data->have_ref)
- g_object_unref (controller);
+ g_object_unref (controller);
}
GList *