Fixed Fl_RGB_Image::copy. My previous fix had the meaning of ld() wrong.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher
2006-09-13 22:55:55 +00:00
parent ef2dc5bd87
commit 27217f9a74
+3 -3
View File
@@ -156,13 +156,13 @@ Fl_Image *Fl_RGB_Image::copy(int W, int H) {
if (array) { if (array) {
// Make a copy of the image data and return a new Fl_RGB_Image... // Make a copy of the image data and return a new Fl_RGB_Image...
new_array = new uchar[w() * h() * d()]; new_array = new uchar[w() * h() * d()];
if (ld()) { if (ld() && ld()!=w()*d()) {
const uchar *src = array; const uchar *src = array;
uchar *dst = new_array; uchar *dst = new_array;
int dy, dh = h(), wd = w()*d(), wdld = wd+ld(); int dy, dh = h(), wd = w()*d(), wld = ld();
for (dy=0; dy<dh; dy++) { for (dy=0; dy<dh; dy++) {
memcpy(dst, src, wd); memcpy(dst, src, wd);
src += wdld; src += wld;
dst += wd; dst += wd;
} }
} else { } else {