diff options
author | David Thompson <dthompson@member.fsf.org> | 2013-08-15 07:31:14 -0400 |
---|---|---|
committer | David Thompson <dthompson@member.fsf.org> | 2013-08-15 07:31:14 -0400 |
commit | 2fa15ac572e2fc1975e28b9dc6d8becf31f15534 (patch) | |
tree | 26181ea354e50c302478e8cd2d911793db66f500 | |
parent | 18e7fee572248ad7d27f811a8a868b4f6cb771fe (diff) |
Fix freeimage-load procedure that was not passing enough arguments.
This was a fucking pain to track down. freeimage-get-bits was randomly
failing to load. Sometimes the program would run, sometimes it would
crash with a null pointer dereference error.
-rw-r--r-- | 2d/wrappers/freeimage.scm | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/2d/wrappers/freeimage.scm b/2d/wrappers/freeimage.scm index e7b1605..ab037d4 100644 --- a/2d/wrappers/freeimage.scm +++ b/2d/wrappers/freeimage.scm @@ -138,13 +138,12 @@ (%freeimage-get-height bitmap) (%freeimage-get-bpp bitmap))))) -(define-foreign %freeimage-load '* "FreeImage_Load" (list unsigned-int '*)) +(define-foreign %freeimage-load '* "FreeImage_Load" (list unsigned-int '* unsigned-int)) +(define-foreign %freeimage-unload void "FreeImage_Unload" '(*)) (define (freeimage-load image-format filename) (wrap-freeimage-bitmap - (%freeimage-load image-format (string->pointer filename)))) - -(define-foreign %freeimage-unload void "FreeImage_Unload" '(*)) + (%freeimage-load image-format (string->pointer filename) 0))) (define (freeimage-unload bitmap) (%freeimage-unload (unwrap-freeimage-bitmap bitmap))) |