<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/104771/">http://git.reviewboard.kde.org/r/104771/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well, I would really like if we had resolved the recently found design issues of NG iterators before merging it to master.

1) I would prefer fixing the real cause of them (the order of the checks in the cycle). But if you insist on limiting the usage scope of iterators to valid rects only, then ok.

2) I agree with Cyrille that adding constRawData() might be a good idea, but I won't argue on this point.

3) Did you intend to remove the files for with old iterators and accessors? It looks like they are still in the tree.
</pre>
 <br />







<p>- Dmitry</p>


<br />
<p>On April 28th, 2012, 9:49 a.m., Boudewijn Rempt wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Calligra.</div>
<div>By Boudewijn Rempt.</div>


<p style="color: grey;"><i>Updated April 28, 2012, 9:49 a.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We implemented a next generation of iterators in 2010 but never managed to part of Krita to the newer, faster iterators. This patch finishes the porting. Branch testers have confirmed that Krita feels quite a bit smoother and responsive now.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Animtim has been testing a lot and found one unrelated crash and an issue with the transform tool which I fixed. There is still one unittest that's broken because convolution has changed a bit.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>krita/benchmarks/CMakeLists.txt <span style="color: grey">(c30532c)</span></li>

 <li>krita/benchmarks/kis_bcontrast_benchmark.cpp <span style="color: grey">(c2768c9)</span></li>

 <li>krita/benchmarks/kis_blur_benchmark.cpp <span style="color: grey">(e082cdc)</span></li>

 <li>krita/benchmarks/kis_floodfill_benchmark.cpp <span style="color: grey">(a8100d0)</span></li>

 <li>krita/benchmarks/kis_gradient_benchmark.cpp <span style="color: grey">(9dbcb52)</span></li>

 <li>krita/benchmarks/kis_hline_iterator_benchmark.cpp <span style="color: grey">(76cfbd0)</span></li>

 <li>krita/benchmarks/kis_painter_benchmark.cpp <span style="color: grey">(20229b5)</span></li>

 <li>krita/benchmarks/kis_projection_benchmark.cpp <span style="color: grey">(68dba89)</span></li>

 <li>krita/benchmarks/kis_random_iterator_benchmark.cpp <span style="color: grey">(08ce0d4)</span></li>

 <li>krita/benchmarks/kis_rect_iterator_benchmark.h <span style="color: grey">(89341a5)</span></li>

 <li>krita/benchmarks/kis_rect_iterator_benchmark.cpp <span style="color: grey">(134bc61)</span></li>

 <li>krita/benchmarks/kis_stroke_benchmark.cpp <span style="color: grey">(6809fd5)</span></li>

 <li>krita/benchmarks/kis_vline_iterator_benchmark.cpp <span style="color: grey">(614896d)</span></li>

 <li>krita/image/CMakeLists.txt <span style="color: grey">(c501a70)</span></li>

 <li>krita/image/brushengine/kis_paintop.cc <span style="color: grey">(a550249)</span></li>

 <li>krita/image/config-tiles.h.cmake <span style="color: grey">(cfb1056)</span></li>

 <li>krita/image/filter/kis_color_transformation_filter.cc <span style="color: grey">(70d2b8f)</span></li>

 <li>krita/image/kis_convolution_painter.cc <span style="color: grey">(318d188)</span></li>

 <li>krita/image/kis_convolution_worker.h <span style="color: grey">(f8177d5)</span></li>

 <li>krita/image/kis_convolution_worker_fft.h <span style="color: grey">(5b4b5ae)</span></li>

 <li>krita/image/kis_convolution_worker_spatial.h <span style="color: grey">(dd613f8)</span></li>

 <li>krita/image/kis_fill_painter.cc <span style="color: grey">(f241585)</span></li>

 <li>krita/image/kis_gradient_painter.cc <span style="color: grey">(b110998)</span></li>

 <li>krita/image/kis_histogram.cc <span style="color: grey">(02656b6)</span></li>

 <li>krita/image/kis_image.cc <span style="color: grey">(d229b31)</span></li>

 <li>krita/image/kis_math_toolbox.cpp <span style="color: grey">(1644a0d)</span></li>

 <li>krita/image/kis_node_graph_listener.cpp <span style="color: grey">(20fe5c8)</span></li>

 <li>krita/image/kis_paint_device.h <span style="color: grey">(1a9b7f8)</span></li>

 <li>krita/image/kis_paint_device.cc <span style="color: grey">(6c57e7d)</span></li>

 <li>krita/image/kis_painter.h <span style="color: grey">(8ea7949)</span></li>

 <li>krita/image/kis_painter.cc <span style="color: grey">(acbd275)</span></li>

 <li>krita/image/kis_perspectivetransform_worker.cpp <span style="color: grey">(8dd1b47)</span></li>

 <li>krita/image/kis_pixel_selection.cpp <span style="color: grey">(fd2d18a)</span></li>

 <li>krita/image/kis_queues_progress_updater.cpp <span style="color: grey">(24f2164)</span></li>

 <li>krita/image/kis_random_sub_accessor.h <span style="color: grey">(2a889db)</span></li>

 <li>krita/image/kis_random_sub_accessor.cpp <span style="color: grey">(a086840)</span></li>

 <li>krita/image/kis_repeat_iterators_pixel.h <span style="color: grey">(30adc86)</span></li>

 <li>krita/image/kis_selection.cc <span style="color: grey">(b835145)</span></li>

 <li>krita/image/kis_strokes_queue.cpp <span style="color: grey">(23a25a4)</span></li>

 <li>krita/image/kis_transform_worker.cc <span style="color: grey">(6e70529)</span></li>

 <li>krita/image/kis_types.h <span style="color: grey">(a7d8a4b)</span></li>

 <li>krita/image/kis_warptransform_worker.cc <span style="color: grey">(11ed991)</span></li>

 <li>krita/image/tests/CMakeLists.txt <span style="color: grey">(7365a0d)</span></li>

 <li>krita/image/tests/kis_iterator_benchmark.cpp <span style="color: grey">(cfa1085)</span></li>

 <li>krita/image/tests/kis_iterator_test.cpp <span style="color: grey">(2869397)</span></li>

 <li>krita/image/tests/kis_iterators_ng_test.cpp <span style="color: grey">(e99e23d)</span></li>

 <li>krita/image/tests/kis_iterators_pixel_test.h <span style="color: grey">(df1c8fe)</span></li>

 <li>krita/image/tests/kis_iterators_pixel_test.cpp <span style="color: grey">(f2a5c6b)</span></li>

 <li>krita/image/tests/kis_paint_layer_test.cpp <span style="color: grey">(948c2db)</span></li>

 <li>krita/image/tests/kis_painter_test.cpp <span style="color: grey">(aae58fd)</span></li>

 <li>krita/image/tests/kis_pixel_selection_test.h <span style="color: grey">(a89aa51)</span></li>

 <li>krita/image/tests/kis_pixel_selection_test.cpp <span style="color: grey">(542be4e)</span></li>

 <li>krita/image/tests/kis_projection_test.cpp <span style="color: grey">(cd05a40)</span></li>

 <li>krita/image/tests/kis_threaded_applicator_test.cpp <span style="color: grey">(854c35c)</span></li>

 <li>krita/image/tests/kis_transaction_test.cpp <span style="color: grey">(2c9eebe)</span></li>

 <li>krita/image/tiles3/kis_hline_iterator.h <span style="color: grey">(578d8c9b)</span></li>

 <li>krita/image/tiles3/kis_hline_iterator.cpp <span style="color: grey">(fcc5bda)</span></li>

 <li>krita/image/tiles3/kis_rect_iterator.cpp <span style="color: grey">(a2299e1)</span></li>

 <li>krita/image/tiles3/kis_vline_iterator.h <span style="color: grey">(23ed461)</span></li>

 <li>krita/image/tiles3/kis_vline_iterator.cpp <span style="color: grey">(0855de2)</span></li>

 <li>krita/plugins/extensions/colorrange/colorrange.cc <span style="color: grey">(41e11c3)</span></li>

 <li>krita/plugins/extensions/colorrange/dlg_colorrange.cc <span style="color: grey">(3ab6832)</span></li>

 <li>krita/plugins/extensions/dockers/defaultdockers/kis_birdeye_box.cc <span style="color: grey">(6b1ed65)</span></li>

 <li>krita/plugins/extensions/dropshadow/kis_dropshadow.cc <span style="color: grey">(0882397)</span></li>

 <li>krita/plugins/extensions/separate_channels/kis_channel_separator.cc <span style="color: grey">(9acd5f3)</span></li>

 <li>krita/plugins/extensions/shiva/PaintDeviceImage.cpp <span style="color: grey">(58c2f95)</span></li>

 <li>krita/plugins/filters/blur/kis_blur_filter.cpp <span style="color: grey">(9e3833b)</span></li>

 <li>krita/plugins/filters/blur/kis_gaussian_blur_filter.cpp <span style="color: grey">(b00e380)</span></li>

 <li>krita/plugins/filters/blur/kis_lens_blur_filter.cpp <span style="color: grey">(5cdcc2c)</span></li>

 <li>krita/plugins/filters/blur/kis_motion_blur_filter.cpp <span style="color: grey">(3540829)</span></li>

 <li>krita/plugins/filters/colors/kis_color_to_alpha.cpp <span style="color: grey">(41673e9)</span></li>

 <li>krita/plugins/filters/colors/kis_minmax_filters.cpp <span style="color: grey">(e9d9ba5)</span></li>

 <li>krita/plugins/filters/colorsfilters/colorsfilters.cpp <span style="color: grey">(011e839)</span></li>

 <li>krita/plugins/filters/colorsfilters/kis_brightness_contrast_filter.cpp <span style="color: grey">(dc4765c)</span></li>

 <li>krita/plugins/filters/colorsfilters/kis_perchannel_filter.cpp <span style="color: grey">(f88bcae)</span></li>

 <li>krita/plugins/filters/embossfilter/kis_emboss_filter.cpp <span style="color: grey">(f486d38)</span></li>

 <li>krita/plugins/filters/example/example.cpp <span style="color: grey">(e49b4c4)</span></li>

 <li>krita/plugins/filters/fastcolortransfer/fastcolortransfer.cpp <span style="color: grey">(283da31)</span></li>

 <li>krita/plugins/filters/fastcolortransfer/kis_wdg_fastcolortransfer.cpp <span style="color: grey">(332b29d)</span></li>

 <li>krita/plugins/filters/imageenhancement/imageenhancement.cpp <span style="color: grey">(e885f01)</span></li>

 <li>krita/plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp <span style="color: grey">(e614ad2)</span></li>

 <li>krita/plugins/filters/imageenhancement/kis_wavelet_noise_reduction.cpp <span style="color: grey">(916fee9)</span></li>

 <li>krita/plugins/filters/levelfilter/kis_level_filter.cpp <span style="color: grey">(9a41be0)</span></li>

 <li>krita/plugins/filters/noisefilter/noisefilter.cpp <span style="color: grey">(5f43791)</span></li>

 <li>krita/plugins/filters/oilpaintfilter/kis_oilpaint_filter.h <span style="color: grey">(21f3af1)</span></li>

 <li>krita/plugins/filters/oilpaintfilter/kis_oilpaint_filter.cpp <span style="color: grey">(0b67eab)</span></li>

 <li>krita/plugins/filters/pixelizefilter/kis_pixelize_filter.cpp <span style="color: grey">(f6522a2)</span></li>

 <li>krita/plugins/filters/raindropsfilter/kis_raindrops_filter.cpp <span style="color: grey">(1a9c802)</span></li>

 <li>krita/plugins/filters/randompickfilter/randompickfilter.cpp <span style="color: grey">(0af9fdc)</span></li>

 <li>krita/plugins/filters/roundcorners/kis_round_corners_filter.cpp <span style="color: grey">(56e3f41)</span></li>

 <li>krita/plugins/filters/smalltilesfilter/kis_small_tiles_filter.cpp <span style="color: grey">(c85f982)</span></li>

 <li>krita/plugins/filters/sobelfilter/kis_sobel_filter.cpp <span style="color: grey">(25a9c5f)</span></li>

 <li>krita/plugins/filters/unsharp/kis_unsharp_filter.cpp <span style="color: grey">(2fb1f84)</span></li>

 <li>krita/plugins/filters/wavefilter/wavefilter.cpp <span style="color: grey">(c9065f5)</span></li>

 <li>krita/plugins/formats/exr/exr_converter.cc <span style="color: grey">(88e983b)</span></li>

 <li>krita/plugins/formats/jp2/jp2_converter.cc <span style="color: grey">(bfd31b3)</span></li>

 <li>krita/plugins/formats/jpeg/kis_jpeg_converter.cc <span style="color: grey">(9057924)</span></li>

 <li>krita/plugins/formats/odg/kis_odg_import.cc <span style="color: grey">(07f748d)</span></li>

 <li>krita/plugins/formats/png/kis_png_export.cc <span style="color: grey">(28cc8ce)</span></li>

 <li>krita/plugins/formats/ppm/kis_ppm_export.cpp <span style="color: grey">(34dbd84)</span></li>

 <li>krita/plugins/formats/ppm/kis_ppm_import.cpp <span style="color: grey">(e4f4987)</span></li>

 <li>krita/plugins/formats/psd/psd_image_data.cpp <span style="color: grey">(f533aba)</span></li>

 <li>krita/plugins/formats/psd/psd_layer_record.cpp <span style="color: grey">(23ff8aa)</span></li>

 <li>krita/plugins/formats/psd/psd_loader.cpp <span style="color: grey">(b7cd520)</span></li>

 <li>krita/plugins/formats/raw/kis_raw_import.cpp <span style="color: grey">(320a5a8)</span></li>

 <li>krita/plugins/formats/tiff/kis_buffer_stream.h <span style="color: grey">(4102510)</span></li>

 <li>krita/plugins/formats/tiff/kis_buffer_stream.cc <span style="color: grey">(e944c80)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_converter.cc <span style="color: grey">(ff3d92e)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_reader.h <span style="color: grey">(0f7777b)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_reader.cc <span style="color: grey">(3bedde3)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_writer_visitor.h <span style="color: grey">(82e4bae)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_writer_visitor.cpp <span style="color: grey">(413584f)</span></li>

 <li>krita/plugins/formats/tiff/kis_tiff_ycbcr_reader.cc <span style="color: grey">(b4a98c0)</span></li>

 <li>krita/plugins/formats/xcf/kis_xcf_import.cpp <span style="color: grey">(16f0ebb)</span></li>

 <li>krita/plugins/generators/solid/colorgenerator.cpp <span style="color: grey">(6c97e35)</span></li>

 <li>krita/plugins/paintops/chalk/chalk_brush.cpp <span style="color: grey">(6011de0)</span></li>

 <li>krita/plugins/paintops/colorsmudge/kis_rate_option_widget.cpp <span style="color: grey">(84c1022)</span></li>

 <li>krita/plugins/paintops/curvebrush/curve_brush.h <span style="color: grey">(53c6306)</span></li>

 <li>krita/plugins/paintops/curvebrush/curve_brush.cpp <span style="color: grey">(05be321)</span></li>

 <li>krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp <span style="color: grey">(d4ddda4)</span></li>

 <li>krita/plugins/paintops/deform/deform_brush.h <span style="color: grey">(11dc755)</span></li>

 <li>krita/plugins/paintops/deform/deform_brush.cpp <span style="color: grey">(02f7ebf)</span></li>

 <li>krita/plugins/paintops/deform/kis_deform_paintop.cpp <span style="color: grey">(077762b)</span></li>

 <li>krita/plugins/paintops/dynadraw/dyna_brush.cpp <span style="color: grey">(7801b48)</span></li>

 <li>krita/plugins/paintops/dynadraw/kis_dyna_paintop.cpp <span style="color: grey">(bd3ef3e)</span></li>

 <li>krita/plugins/paintops/experiment/kis_experiment_paintop.cpp <span style="color: grey">(01eaccf)</span></li>

 <li>krita/plugins/paintops/experiment/kis_experiment_paintop_settings_widget.cpp <span style="color: grey">(e69ebba)</span></li>

 <li>krita/plugins/paintops/filterop/kis_filterop.cpp <span style="color: grey">(74180d3)</span></li>

 <li>krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp <span style="color: grey">(85ee70a)</span></li>

 <li>krita/plugins/paintops/hairy/hairy_brush.h <span style="color: grey">(770025d)</span></li>

 <li>krita/plugins/paintops/hairy/hairy_brush.cpp <span style="color: grey">(b2bc87e)</span></li>

 <li>krita/plugins/paintops/hatching/hatching_brush.cpp <span style="color: grey">(3860f6b)</span></li>

 <li>krita/plugins/paintops/libbrush/kis_abr_brush.cpp <span style="color: grey">(48c8dab)</span></li>

 <li>krita/plugins/paintops/libbrush/kis_brush.h <span style="color: grey">(707e9b0)</span></li>

 <li>krita/plugins/paintops/libbrush/kis_brush.cpp <span style="color: grey">(3947a50)</span></li>

 <li>krita/plugins/paintops/libbrush/kis_gbr_brush.cpp <span style="color: grey">(9d8339e)</span></li>

 <li>krita/plugins/paintops/libpaintop/kis_bidirectional_mixing_option.cpp <span style="color: grey">(9c66f83)</span></li>

 <li>krita/plugins/paintops/libpaintop/kis_color_source.cpp <span style="color: grey">(a0f5b8c)</span></li>

 <li>krita/plugins/paintops/libpaintop/kis_custom_brush_widget.cpp <span style="color: grey">(a8c345d)</span></li>

 <li>krita/plugins/paintops/mypaint/brushlib/brush.hpp <span style="color: grey">(42bda16)</span></li>

 <li>krita/plugins/paintops/mypaint/mypaint_surface.cpp <span style="color: grey">(50e91bf)</span></li>

 <li>krita/plugins/paintops/particle/particle_brush.h <span style="color: grey">(3eabee1)</span></li>

 <li>krita/plugins/paintops/particle/particle_brush.cpp <span style="color: grey">(48ed386)</span></li>

 <li>krita/plugins/paintops/spray/spray_brush.h <span style="color: grey">(9e13c19)</span></li>

 <li>krita/plugins/paintops/spray/spray_brush.cpp <span style="color: grey">(864b85a)</span></li>

 <li>krita/plugins/tools/defaulttools/kis_tool_colorpicker.cc <span style="color: grey">(ab4fa69)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_contiguous.cc <span style="color: grey">(b0f0645)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_magnetic.h <span style="color: grey">(77498aa)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_magnetic.cc <span style="color: grey">(f07a82e)</span></li>

 <li>krita/plugins/tools/selectiontools/kis_tool_select_similar.cc <span style="color: grey">(903f066)</span></li>

 <li>krita/plugins/tools/tool_transform2/kis_tool_transform.cc <span style="color: grey">(45d4830)</span></li>

 <li>krita/sdk/templates/filter/APPNAMELC.cc <span style="color: grey">(e2468a7)</span></li>

 <li>krita/sdk/tests/testutil.h <span style="color: grey">(e477908)</span></li>

 <li>krita/ui/canvas/kis_image_pyramid.cpp <span style="color: grey">(6c47ea5)</span></li>

 <li>krita/ui/flake/kis_shape_selection.cpp <span style="color: grey">(1154b79)</span></li>

 <li>krita/ui/kis_mask_manager.cc <span style="color: grey">(42eafba)</span></li>

 <li>krita/ui/kis_png_converter.cpp <span style="color: grey">(d98e7be)</span></li>

 <li>krita/ui/kis_selection_manager.cc <span style="color: grey">(fc8158d)</span></li>

 <li>krita/ui/tests/data/HR_SketchPaper_01.pat <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/tests/data/load_test2.kra <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/ui/tests/kis_doc2_test.cpp <span style="color: grey">(f436a76)</span></li>

 <li>krita/ui/tests/kis_selection_manager_test.cpp <span style="color: grey">(1dc22e7)</span></li>

 <li>krita/ui/tests/scratchpad/scratchpad.cpp <span style="color: grey">(e2530b8)</span></li>

 <li>krita/ui/tool/kis_tool_freehand.cc <span style="color: grey">(7daf27f)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104771/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>