<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 />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 28th, 2012, 1:02 p.m., <b>Dmitry Kazakov</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <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>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">1) well, I think that's past praying for -- this is the way it was designed in 2010, and I really think we need maximum performance here.
2) I sort of agree, but I haven't made up my mind
3) yes... something went wrong when juggling patches. Those files need to go.</pre>
<br />








<p>- Boudewijn</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>