From 3359451f3a1800279d213a79e6f3d25ffdf5241f Mon Sep 17 00:00:00 2001
From: Jonas Kulla <Nyocurio@gmail.com>
Date: Thu, 31 Oct 2013 10:25:54 +0100
Subject: [PATCH] MRI-Binding: Catch exceptions in clone constructors

---
 binding-mri/binding-util.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/binding-mri/binding-util.h b/binding-mri/binding-util.h
index 06bb416..b1ba786 100644
--- a/binding-mri/binding-util.h
+++ b/binding-mri/binding-util.h
@@ -204,7 +204,9 @@ rb_bool_new(bool value)
 		if (!OBJ_INIT_COPY(self, orig)) /* When would this fail??*/\
 			return self; \
 		Klass *k = getPrivateData<Klass>(orig); \
-		setPrivateData(self, new Klass(*k)); \
+		Klass *dup; \
+		GUARD_EXC( dup = new Klass(*k); ) \
+		setPrivateData(self, dup); \
 		return self; \
 	}