scrollbar: keep populate-popup signal working

This is used for example in the source tab of gtk4-demo.
It broke because GtkScrollbar no longer is a GtkRange,
but rather has one. So we need to forward the signal.
This commit is contained in:
Matthias Clasen 2017-10-07 19:53:19 -04:00
parent 9f8f3fc7ac
commit 7e64ee52a8

View File

@ -233,6 +233,16 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
gtk_widget_class_set_css_name (widget_class, "scrollbar");
}
static gboolean
emit_popup_menu (GtkWidget *self)
{
gboolean handled;
g_signal_emit_by_name (self, "popup-menu", &handled);
return handled;
}
static void
gtk_scrollbar_init (GtkScrollbar *self)
{
@ -245,6 +255,7 @@ gtk_scrollbar_init (GtkScrollbar *self)
priv->box = gtk_box_new (priv->orientation, 0);
gtk_widget_set_parent (priv->box, GTK_WIDGET (self));
priv->range = g_object_new (GTK_TYPE_RANGE, NULL);
g_signal_connect_swapped (priv->range, "popup-menu", G_CALLBACK (emit_popup_menu), self);
gtk_widget_set_hexpand (priv->range, TRUE);
gtk_widget_set_vexpand (priv->range, TRUE);
gtk_container_add (GTK_CONTAINER (priv->box), priv->range);