# HG changeset patch # User Carnë Draug # Date 1394472080 0 # Node ID 548643c76a8845413e2216a31386475f2b658de3 # Parent 5c868bed3f43bc201a189b3085708520c5f0f025 Use OCTAVE_QUIT between each image frame to allow Control-C during Image IO. diff -r 5c868bed3f43 -r 548643c76a88 libinterp/dldfcn/__magick_read__.cc --- a/libinterp/dldfcn/__magick_read__.cc Thu Mar 06 14:40:48 2014 -0500 +++ b/libinterp/dldfcn/__magick_read__.cc Mon Mar 10 17:21:20 2014 +0000 @@ -224,6 +224,7 @@ octave_idx_type idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -428,6 +429,7 @@ octave_idx_type idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -455,6 +457,7 @@ octave_idx_type idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -484,6 +487,7 @@ const octave_idx_type frame_stride = colour_stride * 3; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -525,6 +529,7 @@ octave_idx_type a_idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -561,6 +566,7 @@ const octave_idx_type frame_stride = colour_stride * 4; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -604,6 +610,7 @@ octave_idx_type a_idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; const Magick::PixelPacket *pix = imvec[frameidx(frame)].getConstPixels (col_start, row_start, col_cache, row_cache); @@ -922,6 +929,7 @@ for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, Magick::PaletteType, Magick::PseudoClass); @@ -977,6 +985,7 @@ octave_idx_type img_idx = 0; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; // For some reason, we can't set the type to Magick::BilevelType or // the output image will be black, changing to white has no effect. // However, this will still work fine and a binary image will be @@ -1071,6 +1080,7 @@ { for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1100,6 +1110,7 @@ { for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1134,6 +1145,7 @@ const octave_idx_type B_offset = nCols * nRows * 2; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1168,6 +1180,7 @@ const octave_idx_type B_offset = nCols * nRows * 2; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1205,6 +1218,7 @@ const octave_idx_type K_offset = nCols * nRows * 3; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1241,6 +1255,7 @@ const octave_idx_type K_offset = nCols * nRows * 3; for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; Magick::Image m_img = init_enconde_image (nCols, nRows, bitdepth, type, Magick::DirectClass); @@ -1880,6 +1895,7 @@ for (octave_idx_type frame = 0; frame < nFrames; frame++) { + OCTAVE_QUIT; octave_scalar_map info_frame (template_info); const Magick::Image img = imvec[frame];