<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/107871/">http://git.reviewboard.kde.org/r/107871/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Good catches! Actually the code is now safer in many places (because there's no dependence on codec for c-strings). Also there are good optimizations. I closely looked at Kexi-related bits too regarding database-specifics. They seem to be OK too. </pre>
 <br />







<p>- JarosÅ‚aw</p>


<br />
<p>On December 23rd, 2012, 1:54 p.m., Friedrich W. H. Kossebau 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, JarosÅ‚aw Staniek and Boudewijn Rempt.</div>
<div>By Friedrich W. H. Kossebau.</div>


<p style="color: grey;"><i>Updated Dec. 23, 2012, 1:54 p.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;">Done as simple side task when listening to QtDD12 videos, as most, if not all changes where no-brainers :)
Touching mostly Kexi/Krita, so putting boud and jaros?aw as reviewers.

toAscii/fromAscii has the problem to depend on the globally set QTextCodec::setCodecForCStrings(), so has the small risk of not working as expected.

also:
* use implicit conversion from toLatin1-QByteArray to const char*, where possible
* constData() instead of data() everywhere, to avoid unneeded deep copies if code get copied
* removed unneeded conversion to latin1 where QString was expected
* use QByteArray instead of QString, if QString not really needed
* cache result of conversion where useful</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;">No changes in output of test run.</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>filters/karbon/image/ImageExport.cpp <span style="color: grey">(9852637)</span></li>

 <li>filters/karbon/pdf/SvgOutputDev.cpp <span style="color: grey">(e0b203d)</span></li>

 <li>filters/sheets/excel/sidewinder/XlsRecordOutputStream.cpp <span style="color: grey">(c15ccf1)</span></li>

 <li>filters/sheets/excel/sidewinder/formulas.cpp <span style="color: grey">(ff3aae9)</span></li>

 <li>filters/sheets/excel/sidewinder/recordsxml2cpp.cpp <span style="color: grey">(cba7d0c)</span></li>

 <li>filters/sheets/excel/sidewinder/utils.cpp <span style="color: grey">(d81a424)</span></li>

 <li>filters/sheets/xlsx/XlsxUtils.h <span style="color: grey">(cc0ec59)</span></li>

 <li>filters/sheets/xlsx/XlsxXmlChartReader.cpp <span style="color: grey">(73c3eac)</span></li>

 <li>filters/sheets/xlsx/XlsxXmlWorksheetReader.cpp <span style="color: grey">(99c3eb5)</span></li>

 <li>filters/stage/powerpoint/PptToOdp.cpp <span style="color: grey">(6947853)</span></li>

 <li>filters/words/mobi/PalmDocCompression.cpp <span style="color: grey">(1c1c517)</span></li>

 <li>filters/words/rtf/import/rtf-qt/src/PictDestination.cpp <span style="color: grey">(16c62e6)</span></li>

 <li>kexi/formeditor/commands.cpp <span style="color: grey">(02ae04d)</span></li>

 <li>kexi/formeditor/formIO.cpp <span style="color: grey">(ce68111)</span></li>

 <li>kexi/formeditor/utils.cpp <span style="color: grey">(4b4974b)</span></li>

 <li>kexi/kexidb/drivers/odbc/odbcdriver.cpp <span style="color: grey">(98e77f1)</span></li>

 <li>kexi/kexidb/drivers/odbc/odbcspecialcolumnsqueryunit.cpp <span style="color: grey">(1e951f1)</span></li>

 <li>kexi/kexidb/drivers/odbc/odbctablesqueryunit.cpp <span style="color: grey">(6f9f3ff)</span></li>

 <li>kexi/kexidb/drivers/pqxx/pqxxdriver.cpp <span style="color: grey">(8a27c73)</span></li>

 <li>kexi/kexidb/drivers/sybase/sybaseconnection.cpp <span style="color: grey">(27d8b19)</span></li>

 <li>kexi/kexidb/drivers/xbase/xbaseexport.cpp <span style="color: grey">(7f64a6d)</span></li>

 <li>kexi/tests/newapi/parser_test.h <span style="color: grey">(2a631f8)</span></li>

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

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

 <li>krita/image/tests/kis_action_recorder_test.cpp <span style="color: grey">(65d97d0)</span></li>

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

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

 <li>krita/image/tests/kis_filter_job_test.cpp <span style="color: grey">(0b779ef)</span></li>

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

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

 <li>krita/image/tests/kis_fixed_paint_device_test.cpp <span style="color: grey">(8b48ee8)</span></li>

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

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

 <li>krita/image/tests/kis_selection_test.cpp <span style="color: grey">(27049c8)</span></li>

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

 <li>krita/image/tests/kis_transparency_mask_test.cpp <span style="color: grey">(23308bb)</span></li>

 <li>krita/image/tiles3/kis_tiled_data_manager.cc <span style="color: grey">(ab89aa2)</span></li>

 <li>krita/image/tiles3/swap/kis_tile_compressor_2.cpp <span style="color: grey">(c468439)</span></li>

 <li>krita/plugins/extensions/dockers/lut/ocio_display_filter.cpp <span style="color: grey">(6e39ab7)</span></li>

 <li>krita/plugins/extensions/metadataeditor/kis_entry_editor.cc <span style="color: grey">(a9df3b4)</span></li>

 <li>krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc <span style="color: grey">(3da27c5)</span></li>

 <li>krita/plugins/extensions/shiva/ShivaGeneratorConfigWidget.cpp <span style="color: grey">(b197538)</span></li>

 <li>krita/plugins/extensions/shiva/shivafilter.cpp <span style="color: grey">(7ff5448)</span></li>

 <li>krita/plugins/extensions/shiva/shivafiltersplugin.cpp <span style="color: grey">(cd412cd)</span></li>

 <li>krita/plugins/extensions/shiva/shivagenerator.cpp <span style="color: grey">(6373663)</span></li>

 <li>krita/plugins/extensions/shiva/shivageneratorsplugin.cpp <span style="color: grey">(6a6e5f8)</span></li>

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

 <li>krita/plugins/filters/tests/kis_all_filter_test.cpp <span style="color: grey">(1ee1985)</span></li>

 <li>krita/plugins/filters/tests/kis_crash_filter_test.cpp <span style="color: grey">(ccaa585)</span></li>

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

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

 <li>krita/plugins/formats/psd/psd_utils.cpp <span style="color: grey">(618abb1)</span></li>

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

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

 <li>krita/plugins/paintops/libbrush/tests/kis_auto_brush_test.cpp <span style="color: grey">(49097a9)</span></li>

 <li>krita/plugins/paintops/libbrush/tests/kis_brush_test.cpp <span style="color: grey">(dff42e7)</span></li>

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

 <li>krita/plugins/paintops/mypaint/mypaint_paintop_factory.cpp <span style="color: grey">(deca471)</span></li>

 <li>krita/ui/kis_clipboard.cc <span style="color: grey">(720bb34)</span></li>

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

 <li>krita/ui/kis_workspace_resource.cpp <span style="color: grey">(71e4a6f)</span></li>

 <li>krita/ui/kisexiv2/kis_exif_io.cpp <span style="color: grey">(eb4f232)</span></li>

 <li>krita/ui/kisexiv2/kis_exiv2.cpp <span style="color: grey">(9f06ff9)</span></li>

 <li>krita/ui/kisexiv2/kis_xmp_io.cpp <span style="color: grey">(f43c68b)</span></li>

 <li>krita/ui/opengl/kis_opengl_shader.cpp <span style="color: grey">(a6febe9)</span></li>

 <li>libs/flake/KoUnavailShape.cpp <span style="color: grey">(a15f369)</span></li>

 <li>libs/kotext/opendocument/KoTextWriter_p.cpp <span style="color: grey">(c302522)</span></li>

 <li>libs/kotext/styles/KoCharacterStyle.cpp <span style="color: grey">(dec30a9)</span></li>

 <li>libs/main/KoDocumentInfo.cpp <span style="color: grey">(7e0f221)</span></li>

 <li>libs/main/KoFilterChain.cpp <span style="color: grey">(d10d7b6)</span></li>

 <li>libs/main/KoMainWindow.cpp <span style="color: grey">(b10eb26)</span></li>

 <li>libs/odf/KoEncryptedStore.cpp <span style="color: grey">(6a4b1a7)</span></li>

 <li>libs/odf/KoProperties.cpp <span style="color: grey">(c4792df)</span></li>

 <li>libs/odf/tests/storedroptest.cpp <span style="color: grey">(1f48135)</span></li>

 <li>libs/pigment/resources/KoColorSet.cpp <span style="color: grey">(4c6c924)</span></li>

 <li>libs/pigment/resources/KoPattern.cpp <span style="color: grey">(f357520)</span></li>

 <li>libs/widgets/KoResourceServer.h <span style="color: grey">(c3ac731)</span></li>

 <li>libs/widgets/KoResourceServerProvider.cpp <span style="color: grey">(2d927dc)</span></li>

 <li>plan/libs/models/kptitemmodelbase.cpp <span style="color: grey">(faf61e6)</span></li>

 <li>plan/plugins/schedulers/rcps/KPlatoRCPSScheduler.cpp <span style="color: grey">(f4472b4)</span></li>

 <li>plugins/chartshape/CellRegion.cpp <span style="color: grey">(0cf2b66)</span></li>

 <li>plugins/chartshape/ChartTableModel.cpp <span style="color: grey">(d478b51)</span></li>

 <li>plugins/chartshape/tests/TestDataSet.cpp <span style="color: grey">(72c35b0)</span></li>

 <li>plugins/chartshape/tests/TestProxyModel.cpp <span style="color: grey">(d6045d4)</span></li>

 <li>plugins/chartshape/tests/odf/TestLoadingBase.cpp <span style="color: grey">(ede37aa0)</span></li>

 <li>plugins/colorengines/lcms2/IccColorSpaceEngine.cpp <span style="color: grey">(ef8f5e6)</span></li>

 <li>plugins/colorengines/lcms2/colorprofiles/LcmsColorProfileContainer.cpp <span style="color: grey">(393db27)</span></li>

 <li>plugins/colorengines/lcms2/tests/TestKoColorSpaceRegistry.cpp <span style="color: grey">(a00afe8)</span></li>

 <li>plugins/formulashape/Dictionary.cpp <span style="color: grey">(43713b6)</span></li>

 <li>plugins/musicshape/core/MusicXmlReader.cpp <span style="color: grey">(e9edede)</span></li>

 <li>plugins/pathshapes/enhancedpath/EnhancedPathFormula.cpp <span style="color: grey">(48e977a)</span></li>

 <li>plugins/pathshapes/enhancedpath/EnhancedPathShape.cpp <span style="color: grey">(046e489)</span></li>

 <li>plugins/reporting/barcode/3of9.cpp <span style="color: grey">(4eb5450)</span></li>

 <li>plugins/reporting/barcode/3of9paint.cpp <span style="color: grey">(57547c6)</span></li>

 <li>plugins/reporting/barcode/code128.cpp <span style="color: grey">(5a1e373)</span></li>

 <li>plugins/reporting/barcode/code128paint.cpp <span style="color: grey">(6ae01fe)</span></li>

 <li>plugins/reporting/barcode/ext3of9.cpp <span style="color: grey">(b612095)</span></li>

 <li>plugins/reporting/barcode/ext3of9paint.cpp <span style="color: grey">(2d3b3f0)</span></li>

 <li>sheets/Global.h <span style="color: grey">(1759095)</span></li>

</ul>

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




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








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