From de520fcece0ada84b6417c229bf5165099d0988c Mon Sep 17 00:00:00 2001 From: Nathan Rajlich Date: Fri, 28 Oct 2011 18:48:48 -0700 Subject: [PATCH] Try to detect when EIO_custom changed it's signature. Should also be a part of #115 and #120. --- src/Canvas.cc | 6 ++++++ src/Canvas.h | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Canvas.cc b/src/Canvas.cc index d487357..61c158c 100644 --- a/src/Canvas.cc +++ b/src/Canvas.cc @@ -133,7 +133,11 @@ toBuffer(void *c, const uint8_t *data, unsigned len) { * EIO toBuffer callback. */ +#if NODE_VERSION_AT_LEAST(0, 5, 4) +void +#else int +#endif Canvas::EIO_ToBuffer(eio_req *req) { closure_t *closure = (closure_t *) req->data; @@ -142,7 +146,9 @@ Canvas::EIO_ToBuffer(eio_req *req) { , toBuffer , closure); +#if !NODE_VERSION_AT_LEAST(0, 5, 4) return 0; +#endif } /* diff --git a/src/Canvas.h b/src/Canvas.h index a2c03b1..e1a815a 100644 --- a/src/Canvas.h +++ b/src/Canvas.h @@ -11,6 +11,7 @@ #include #include #include +#include #include using namespace v8; @@ -43,7 +44,13 @@ class Canvas: public node::ObjectWrap { static void SetHeight(Local prop, Local val, const AccessorInfo &info); static Handle StreamPNGSync(const Arguments &args); static Local Error(cairo_status_t status); - static int EIO_ToBuffer(eio_req *req); + static +#if NODE_VERSION_AT_LEAST(0, 5, 4) + void +#else + int +#endif + EIO_ToBuffer(eio_req *req); static int EIO_AfterToBuffer(eio_req *req); inline cairo_surface_t *surface(){ return _surface; } inline uint8_t *data(){ return cairo_image_surface_get_data(_surface); }