GObject.add_emission_hook only called once
===

I want to use GObject.add_emission_hook to connect to catch a signal of all instances of a class. It seems to work, but only once. In the minimal example below "signal received" is only printed once, no matter how many times one of the buttons is clicked.


	from gi.repository import Gtk
	from gi.repository import GObject

	class MyWindow(Gtk.Window):

		def __init__(self):
			Gtk.Window.__init__(self, title="Hello World")
			vbox = Gtk.VBox()
			self.add(vbox)
			button = Gtk.Button(label="Click Here")
			vbox.pack_start(button, True, True, 0)
			button = Gtk.Button(label="Or There")
			vbox.pack_start(button, True, True, 0)
			self.show_all()

	class Foo:

		def __init__(self):
			GObject.add_emission_hook(Gtk.Button, "clicked", self.on_button_press)

		def on_button_press(self, *args):
			print "signal received"


	win = MyWindow()
	foo = Foo()
	Gtk.main()

