File tree 1 file changed +10
-4
lines changed
1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -150,15 +150,19 @@ static PixelChannels **DestroyPixelThreadSet(PixelChannels **pixels)
150150 return (pixels );
151151}
152152
153- static PixelChannels * * AcquirePixelThreadSet (const Image * image )
153+ static PixelChannels * * AcquirePixelThreadSet (const Image * images )
154154{
155+ const Image
156+ * next ;
157+
155158 PixelChannels
156159 * * pixels ;
157160
158161 register ssize_t
159162 i ;
160163
161164 size_t
165+ columns ,
162166 number_threads ;
163167
164168 number_threads = (size_t ) GetMagickResourceLimit (ThreadResource );
@@ -167,16 +171,18 @@ static PixelChannels **AcquirePixelThreadSet(const Image *image)
167171 if (pixels == (PixelChannels * * ) NULL )
168172 return ((PixelChannels * * ) NULL );
169173 (void ) memset (pixels ,0 ,number_threads * sizeof (* pixels ));
174+ columns = images -> columns ;
175+ for (next = images ; next != (Image * ) NULL ; next = next -> next )
176+ columns = MagickMax (next -> columns ,columns );
170177 for (i = 0 ; i < (ssize_t ) number_threads ; i ++ )
171178 {
172179 register ssize_t
173180 j ;
174181
175- pixels [i ]= (PixelChannels * ) AcquireQuantumMemory (image -> columns ,
176- sizeof (* * pixels ));
182+ pixels [i ]= (PixelChannels * ) AcquireQuantumMemory (columns ,sizeof (* * pixels ));
177183 if (pixels [i ] == (PixelChannels * ) NULL )
178184 return (DestroyPixelThreadSet (pixels ));
179- for (j = 0 ; j < (ssize_t ) image -> columns ; j ++ )
185+ for (j = 0 ; j < (ssize_t ) columns ; j ++ )
180186 {
181187 register ssize_t
182188 k ;
You can’t perform that action at this time.
0 commit comments