[gtk+] scrollbar: keep populate-popup signal working



commit 7e64ee52a8e825b0a614b90ca22ef9a2a9f00938
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Oct 7 19:53:19 2017 -0400

    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.

 gtk/gtkscrollbar.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index 6f7c1a9..87f2120 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]