2fa77eb
diff -Naur darktable-1.2.1.ori/src/external/LibRaw/src/libraw_cxx.cpp darktable-1.2.1/src/external/LibRaw/src/libraw_cxx.cpp
2fa77eb
--- darktable-1.2.1.ori/src/external/LibRaw/src/libraw_cxx.cpp	2013-05-26 10:50:54.000000000 +0200
2fa77eb
+++ darktable-1.2.1/src/external/LibRaw/src/libraw_cxx.cpp	2013-06-10 14:04:37.897000000 +0200
2fa77eb
@@ -796,8 +796,8 @@
2fa77eb
                 S.iheight= S.height;
2fa77eb
                 IO.shrink = 0;
2fa77eb
                 // allocate image as temporary buffer, size 
2fa77eb
-                imgdata.rawdata.raw_alloc = calloc(S.iwidth*S.iheight,sizeof(*imgdata.image));
2fa77eb
-                imgdata.image = (ushort (*)[4]) imgdata.rawdata.raw_alloc;
2fa77eb
+		imgdata.rawdata.raw_alloc = 0; 
2fa77eb
+		imgdata.image = (ushort (*)[4]) calloc(S.iwidth*S.iheight,sizeof(*imgdata.image));
2fa77eb
             }
2fa77eb
 
2fa77eb
 
2fa77eb
@@ -807,8 +807,8 @@
2fa77eb
         // recover saved
2fa77eb
         if( decoder_info.decoder_flags & LIBRAW_DECODER_LEGACY)
2fa77eb
             {
2fa77eb
-                imgdata.image = 0; 
2fa77eb
-                imgdata.rawdata.color_image = (ushort (*)[4]) imgdata.rawdata.raw_alloc;
2fa77eb
+		imgdata.rawdata.raw_alloc = imgdata.rawdata.color_image = imgdata.image;
2fa77eb
+		imgdata.image = 0;
2fa77eb
             }
2fa77eb
 
2fa77eb
         // calculate channel maximum