RawTherapee crashed after opening linear DNG from Sigma SD H Quattro camera in editor. fixes #3559
This commit is contained in:
@@ -723,6 +723,10 @@ float** RawImage::compress_image()
|
|||||||
this->data[row][col] = image[row * width + col][0];
|
this->data[row][col] = image[row * width + col][0];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if(get_maker() == "Sigma" && dng_version) { // Hack to prevent sigma dng files from crashing
|
||||||
|
height -= top_margin;
|
||||||
|
width -= left_margin;
|
||||||
|
}
|
||||||
#pragma omp parallel for
|
#pragma omp parallel for
|
||||||
|
|
||||||
for (int row = 0; row < height; row++)
|
for (int row = 0; row < height; row++)
|
||||||
|
@@ -356,6 +356,10 @@ public:
|
|||||||
return (xtrans[(row) % 6][(col) % 6]);
|
return (xtrans[(row) % 6][(col) % 6]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned DNGVERSION ( ) const
|
||||||
|
{
|
||||||
|
return dng_version;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -466,6 +466,10 @@ Thumbnail* Thumbnail::loadFromRaw (const Glib::ustring& fname, RawMetaDataLocati
|
|||||||
int left_margin = ri->get_leftmargin();
|
int left_margin = ri->get_leftmargin();
|
||||||
firstgreen += left_margin;
|
firstgreen += left_margin;
|
||||||
int top_margin = ri->get_topmargin();
|
int top_margin = ri->get_topmargin();
|
||||||
|
if(ri->get_maker() == "Sigma" && ri->DNGVERSION()) { // Hack to prevent sigma dng files from crashing
|
||||||
|
tmpw = (width - 2 - left_margin) / hskip;
|
||||||
|
tmph = (height - 2 - top_margin) / vskip;
|
||||||
|
}
|
||||||
|
|
||||||
for (int row = 1 + top_margin, y = 0; row < iheight + top_margin - 1 && y < tmph; row += vskip, y++) {
|
for (int row = 1 + top_margin, y = 0; row < iheight + top_margin - 1 && y < tmph; row += vskip, y++) {
|
||||||
rofs = row * iwidth;
|
rofs = row * iwidth;
|
||||||
|
Reference in New Issue
Block a user