@@ -21,6 +21,7 @@ Imaging
2121ImagingConvertMatrix (Imaging im , const char * mode , float m []) {
2222 Imaging imOut ;
2323 int x , y ;
24+ ImagingSectionCookie cookie ;
2425
2526 /* Assume there's enough data in the buffer */
2627 if (!im ) {
@@ -33,6 +34,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
3334 return NULL ;
3435 }
3536
37+ ImagingSectionEnter (& cookie );
3638 for (y = 0 ; y < im -> ysize ; y ++ ) {
3739 UINT8 * in = (UINT8 * )im -> image [y ];
3840 UINT8 * out = (UINT8 * )imOut -> image [y ];
@@ -43,6 +45,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
4345 in += 4 ;
4446 }
4547 }
48+ ImagingSectionLeave (& cookie );
4649
4750 } else if (strlen (mode ) == 3 && im -> bands == 3 ) {
4851 imOut = ImagingNewDirty (mode , im -> xsize , im -> ysize );
@@ -54,6 +57,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
5457 UINT8 * in = (UINT8 * )im -> image [y ];
5558 UINT8 * out = (UINT8 * )imOut -> image [y ];
5659
60+ ImagingSectionEnter (& cookie );
5761 for (x = 0 ; x < im -> xsize ; x ++ ) {
5862 float v0 = m [0 ] * in [0 ] + m [1 ] * in [1 ] + m [2 ] * in [2 ] + m [3 ] + 0.5 ;
5963 float v1 = m [4 ] * in [0 ] + m [5 ] * in [1 ] + m [6 ] * in [2 ] + m [7 ] + 0.5 ;
@@ -64,6 +68,7 @@ ImagingConvertMatrix(Imaging im, const char *mode, float m[]) {
6468 in += 4 ;
6569 out += 4 ;
6670 }
71+ ImagingSectionLeave (& cookie );
6772 }
6873 } else {
6974 return (Imaging )ImagingError_ModeError ();
0 commit comments