+++ /dev/null
-diff -Nur ClanLib-0.4.3.orig/Sources/Magick/provider_magick.cpp ClanLib-0.4.3/Sources/Magick/provider_magick.cpp
---- ClanLib-0.4.3.orig/Sources/Magick/provider_magick.cpp Mon Mar 13 18:12:50 2000
-+++ ClanLib-0.4.3/Sources/Magick/provider_magick.cpp Fri Mar 16 22:31:13 2001
-@@ -126,10 +126,11 @@
- {
- Image *image;
- ImageInfo image_info;
-+ ExceptionInfo exception_info;
-
- GetImageInfo(&image_info);
- strcpy(image_info.filename, name.c_str());
-- image = ReadImage(&image_info);
-+ image = ReadImage(&image_info, &exception_info);
- // if (!image)
- // throw CL_Error("error while trying to open file with the Magick provider");
- cl_assert(image);
-@@ -138,12 +139,9 @@
- height = image->rows;
- pitch = width * get_bytes_per_pixel();
-
-- float *rdata = new float[width*height];
-- float *gdata = new float[width*height];
-- float *bdata = new float[width*height];
-- float *adata = new float[width*height];
-+ float *rgbadata = new float[width*height*4];
-
-- GetPixels(image, rdata, gdata, bdata, adata);
-+ DispatchImage(image, 0,0,width,height,"RGBA",FloatPixel,rgbadata);
- DestroyImage(image);
-
- // here comes the tricky part ... hmhmhm... Quicky Mart
-@@ -186,10 +184,10 @@
- for (int y=0; y<height; y++)
- for (int x=0; x<width; x++)
- {
-- tmp = (((unsigned int) (rdata[y*width+x] * rtmp)) << rshift) |
-- (((unsigned int) (gdata[y*width+x] * gtmp)) << gshift) |
-- (((unsigned int) (bdata[y*width+x] * btmp)) << bshift) |
-- (((unsigned int) (atmp - adata[y*width+x] * atmp)) << ashift);
-+ tmp = (((unsigned int) (rgbadata[(y*width+x)*4] * rtmp)) << rshift) |
-+ (((unsigned int) (rgbadata[(y*width+x)*4+1] * gtmp)) << gshift) |
-+ (((unsigned int) (rgbadata[(y*width+x)*4+2] * btmp)) << bshift) |
-+ (((unsigned int) (atmp - rgbadata[(y*width+x)*4+3] * atmp)) << ashift);
-
- switch (get_bytes_per_pixel())
- {
-@@ -212,10 +210,7 @@
- }
- }
-
-- delete[] rdata;
-- delete[] gdata;
-- delete[] bdata;
-- delete[] adata;
-+ delete[] rgbadata;
- }
-
- void CL_MagickProvider::perform_unlock()