Browse Source

Try to detect when EIO_custom changed it's signature.

Should also be a part of #115 and #120.
v1.x
Nathan Rajlich 13 years ago
parent
commit
de520fcece
  1. 6
      src/Canvas.cc
  2. 9
      src/Canvas.h

6
src/Canvas.cc

@ -133,7 +133,11 @@ toBuffer(void *c, const uint8_t *data, unsigned len) {
* EIO toBuffer callback. * EIO toBuffer callback.
*/ */
#if NODE_VERSION_AT_LEAST(0, 5, 4)
void
#else
int int
#endif
Canvas::EIO_ToBuffer(eio_req *req) { Canvas::EIO_ToBuffer(eio_req *req) {
closure_t *closure = (closure_t *) req->data; closure_t *closure = (closure_t *) req->data;
@ -142,7 +146,9 @@ Canvas::EIO_ToBuffer(eio_req *req) {
, toBuffer , toBuffer
, closure); , closure);
#if !NODE_VERSION_AT_LEAST(0, 5, 4)
return 0; return 0;
#endif
} }
/* /*

9
src/Canvas.h

@ -11,6 +11,7 @@
#include <v8.h> #include <v8.h>
#include <node.h> #include <node.h>
#include <node_object_wrap.h> #include <node_object_wrap.h>
#include <node_version.h>
#include <cairo.h> #include <cairo.h>
using namespace v8; using namespace v8;
@ -43,7 +44,13 @@ class Canvas: public node::ObjectWrap {
static void SetHeight(Local<String> prop, Local<Value> val, const AccessorInfo &info); static void SetHeight(Local<String> prop, Local<Value> val, const AccessorInfo &info);
static Handle<Value> StreamPNGSync(const Arguments &args); static Handle<Value> StreamPNGSync(const Arguments &args);
static Local<Value> Error(cairo_status_t status); static Local<Value> 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); static int EIO_AfterToBuffer(eio_req *req);
inline cairo_surface_t *surface(){ return _surface; } inline cairo_surface_t *surface(){ return _surface; }
inline uint8_t *data(){ return cairo_image_surface_get_data(_surface); } inline uint8_t *data(){ return cairo_image_surface_get_data(_surface); }

Loading…
Cancel
Save