diff options
author | David Thompson <dthompson2@worcester.edu> | 2016-01-01 11:06:29 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2016-01-01 11:06:29 -0500 |
commit | 29228696345c2d19be81daebea4da5170f35694e (patch) | |
tree | a1bde73df1d55f052c75b4313eb940f06a1fb611 /.dir-locals.el | |
parent | 048f80ddb5c6b03b87bba199a99a6f22d911bfff (diff) |
surface: Fix SDL_Surface struct parsing.
The code worked fine on Guile 2.0.11, but Guile master revealed how bad
it was to use 'sizeof' to calculate byte offsets into structs due to the
padding calculations it does. On Guile master, the offset for surface
height and pitch were the same, and that lead to bad news when trying to
use that incorrectly parsed data to inspect the pixel buffer.
* sdl2/surface.scm (%width-offset, %height-offset, %pitch-offset)
(%pixels-offset): Delete.
(%surface-types): New variable.
(surface-parse-match): New syntax.
(surface-width, surface-height, surface-pitch, surface-pixels): Use new
struct parsing method.
* .dirlocals.el: Add new indenting rule.
Diffstat (limited to '.dir-locals.el')
-rw-r--r-- | .dir-locals.el | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index ecadef4..6b4443d 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -1,4 +1,5 @@ ((scheme-mode . ((eval . (put 'call-with-window 'scheme-indent-function 1)) - (eval . (put 'call-with-renderer 'scheme-indent-function 1))))) + (eval . (put 'call-with-renderer 'scheme-indent-function 1)) + (eval . (put 'surface-parse-match 'scheme-indent-function 1))))) |