From 96e27d2daa3dbf33dd72a91183234dbe65b4c860 Mon Sep 17 00:00:00 2001 From: Bryant Mairs Date: Wed, 8 Jun 2016 22:37:34 -0700 Subject: [PATCH] Add override_class_handler. --- src/signal.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/signal.rs b/src/signal.rs index 4abe0a00..d90d6556 100644 --- a/src/signal.rs +++ b/src/signal.rs @@ -7,6 +7,7 @@ use libc::c_void; use gobject_ffi::{self, GCallback}; +use glib_ffi::GType; use source::CallbackGuard; use translate::ToGlibPtr; @@ -19,6 +20,11 @@ pub unsafe fn connect(receiver: *mut gobject_ffi::GObject, signal_name: &str, tr handle } +pub unsafe fn override_class_handler(signal_name: &str, instance_type: GType, handler: GCallback) { + gobject_ffi::g_signal_override_class_handler(signal_name.to_glib_none().0, instance_type, handler); +} + + unsafe extern "C" fn destroy_closure(ptr: *mut c_void, _: *mut gobject_ffi::GClosure) { let _guard = CallbackGuard::new(); // destroy