From: David Kastrup Date: Mon, 18 May 2015 17:33:06 +0000 (+0200) Subject: Issue 4404: Add ly:disconnect-dispatchers function X-Git-Tag: release/2.19.22-1~68^2~35 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=04c5cece95672044388052de186b21674f4bb0dc;p=lilypond.git Issue 4404: Add ly:disconnect-dispatchers function --- diff --git a/lily/dispatcher-scheme.cc b/lily/dispatcher-scheme.cc index 44d9b792a3..3fd4decc42 100644 --- a/lily/dispatcher-scheme.cc +++ b/lily/dispatcher-scheme.cc @@ -41,6 +41,21 @@ LY_DEFINE (ly_connect_dispatchers, "ly:connect-dispatchers", return SCM_UNSPECIFIED; } +LY_DEFINE (ly_disconnect_dispatchers, "ly:disconnect-dispatchers", + 2, 0, 0, (SCM to, SCM from), + "Stop the dispatcher @var{to} listening to events from @var{from}.") +{ + Dispatcher *t = unsmob (to); + Dispatcher *f = unsmob (from); + + LY_ASSERT_SMOB (Dispatcher, to, 1); + LY_ASSERT_SMOB (Dispatcher, from, 2); + + t->unregister_as_listener (f); + + return SCM_UNSPECIFIED; +} + LY_DEFINE (ly_add_listener, "ly:add-listener", 2, 0, 1, (SCM callback, SCM disp, SCM cl), "Add the single-argument procedure @var{callback} as listener"