<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>95436</bug_id>
          
          <creation_ts>2012-08-30 01:44:53 -0700</creation_ts>
          <short_desc>[GTK][EFL] &apos;dictIter&apos; iterator is not initialized for an inner loop</short_desc>
          <delta_ts>2012-09-03 01:15:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91854</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Grzegorz Czajkowski">g.czajkowski</assigned_to>
          <cc>alex</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>708423</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2012-08-30 01:44:53 -0700</bug_when>
    <thetext>Hi,

While testing the spelling implementation of WebKit-EFL I found out an interesting bug in the shared code (WebCore/platform/text/enchant/TextChecker.cpp)

It&apos;s connected with editing/spelling/spelling-backspace-between-lines.html. This test has been added here https://bugs.webkit.org/show_bug.cgi?id=41423. It looks like Chromium port had similar issue, already resolved https://bugs.webkit.org/show_bug.cgi?id=45438

This bug is not connected with Enchant and latest changes at all, rather with no possibilities to mark misspelled words (location and length) in checkSpellingOfString method which may take more than one word (as spelling-backspace-between-lines.html does).

Let me explain step by step why spelling-backspace-between-lines.html passes in the present implementation for both WebKit-Gtk and WebKit-EFL.

We&apos;ve included English dictionary (size of &apos;m_enchantDictionaries&apos; vector is 1) and &apos;checkSpellingOfString&apos; method is called for &quot;OK zz OK&quot; string.

&apos;checkSpellingOfString&apos; sets &apos;dictIter&apos; at the beginning of method! and starts to go through each word:

Vector&lt;EnchantDict*&gt;::const_iterator dictIter = m_enchantDictionaries.begin();   

for (size_t i = 0; i &lt; numberOfCharacters + 1; i++) {        // iterate through the words                 

....

    for (; dictIter != m_enchantDictionaries.end(); ++dictIter) {   
        if (enchant_dict_check(*dictIter, cstart, numberOfBytes)) {          
            misspellingLocation = start;                            
            misspellingLength = wordLength;                                  
         } else {                                                             
           // Stop checking, this word is ok in at least one dict. 
           misspellingLocation = -1;                                        
           misspellingLength = 0;                                  
           break;
         }                                                                    
     }

} 

1) For first word &apos;OK&apos;.
   We go into an inner loop and we spelling is checked. The word is fine so its location and length is saved to -1 and 0, then we break the loop, &apos;dictIter&apos; is not increased!

2) For second word &apos;zz&apos;.
   We go into an inner loop, &apos;dictIter&apos; still points on the beginning of the vector. The word is wrong - misspelled location is updated to 3 and length to 2 for &quot;OK zz OK&quot; string. The inner loop increases &apos;dictIter&apos;.

3) For third word &apos;OK&apos;
  We go into an inner loop and we check whether &apos;dictIter&apos; doesn&apos;t bound out of the vector. In this case - YES. We do not go to the loop here!

Finally &apos;checkSpellingOfString&apos; returns misspelled location and length from the the previous iteration of the inner loop (3,2). What is the most surprising that exactly spelling-backspace-between-lines.html expects!

My proposals of resolving this bug is to initialize &apos;dictIter&apos; at the beginning of the loop and:
1) temporally add spelling-backspace-between-lines.html to TestExpectations.
2) find a new way how to save misspelled location and length for multiple words for example &quot;OK zz OK zz&quot; (3,2) and (9,2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708571</commentid>
    <comment_count>1</comment_count>
      <attachid>161459</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2012-08-30 06:49:31 -0700</bug_when>
    <thetext>Created attachment 161459
initialize iteraor, add test to TestExpectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709591</commentid>
    <comment_count>2</comment_count>
      <attachid>161459</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-08-31 07:13:01 -0700</bug_when>
    <thetext>Comment on attachment 161459
initialize iteraor, add test to TestExpectations

View in context: https://bugs.webkit.org/attachment.cgi?id=161459&amp;action=review

r- for the test expectations change

&gt; LayoutTests/platform/gtk/TestExpectations:1025
&gt; +// TextCheckerEnchant::checkSpellingOfString doesn&apos;t return misspelled location and length for multiple words.
&gt; +BUGWKGTK : editing/spelling/spelling-backspace-between-lines.html = TEXT
&gt; +

I don&apos;t understand why you&apos;re adding this, this test seems to run and pass on our bot:

06:57:30.535 22495 worker/22 editing/spelling/spelling-backspace-between-lines.html passed

&gt; Source/WebCore/ChangeLog:10
&gt; +        dictionaries (&apos;dictIter&apos;) whether the word exists in at lest one dictionary.

I&apos;d remove &apos;whether the word exists...&apos;, that&apos;s better explained in the paragraph bellow.

&gt; Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp:102
&gt; +            Vector&lt;EnchantDict*&gt;::const_iterator dictIter = m_enchantDictionaries.begin();

Makes sense, can we declare this inside the for? Would be more idiomatic I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709596</commentid>
    <comment_count>3</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2012-08-31 07:20:32 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 161459 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161459&amp;action=review
&gt; 
&gt; r- for the test expectations change
&gt; 
&gt; &gt; LayoutTests/platform/gtk/TestExpectations:1025
&gt; &gt; +// TextCheckerEnchant::checkSpellingOfString doesn&apos;t return misspelled location and length for multiple words.
&gt; &gt; +BUGWKGTK : editing/spelling/spelling-backspace-between-lines.html = TEXT
&gt; &gt; +
&gt; 
&gt; I don&apos;t understand why you&apos;re adding this, this test seems to run and pass on our bot:

Thanks for review.
Believe or not this bug (that iterator is not initialized) makes that the test passes :) See the first comment, there you can find more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709598</commentid>
    <comment_count>4</comment_count>
      <attachid>161459</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-08-31 07:24:35 -0700</bug_when>
    <thetext>Comment on attachment 161459
initialize iteraor, add test to TestExpectations

View in context: https://bugs.webkit.org/attachment.cgi?id=161459&amp;action=review

&gt;&gt;&gt; LayoutTests/platform/gtk/TestExpectations:1025
&gt;&gt;&gt; +
&gt;&gt; 
&gt;&gt; I don&apos;t understand why you&apos;re adding this, this test seems to run and pass on our bot:
&gt;&gt; 
&gt;&gt; 06:57:30.535 22495 worker/22 editing/spelling/spelling-backspace-between-lines.html passed
&gt; 
&gt; Thanks for review.
&gt; Believe or not this bug (that iterator is not initialized) makes that the test passes :) See the first comment, there you can find more details.

Aha, thanks, sorry I didn&apos;t read the first comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710446</commentid>
    <comment_count>5</comment_count>
      <attachid>161459</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2012-09-03 00:16:40 -0700</bug_when>
    <thetext>Comment on attachment 161459
initialize iteraor, add test to TestExpectations

View in context: https://bugs.webkit.org/attachment.cgi?id=161459&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        dictionaries (&apos;dictIter&apos;) whether the word exists in at lest one dictionary.
&gt; 
&gt; I&apos;d remove &apos;whether the word exists...&apos;, that&apos;s better explained in the paragraph bellow.

Done.

&gt;&gt; Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp:102
&gt;&gt; +            Vector&lt;EnchantDict*&gt;::const_iterator dictIter = m_enchantDictionaries.begin();
&gt; 
&gt; Makes sense, can we declare this inside the for? Would be more idiomatic I think.

Sure. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710447</commentid>
    <comment_count>6</comment_count>
      <attachid>161868</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2012-09-03 00:21:03 -0700</bug_when>
    <thetext>Created attachment 161868
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710471</commentid>
    <comment_count>7</comment_count>
      <attachid>161868</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 01:15:54 -0700</bug_when>
    <thetext>Comment on attachment 161868
updated patch

Clearing flags on attachment: 161868

Committed r127404: &lt;http://trac.webkit.org/changeset/127404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710472</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-03 01:15:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161459</attachid>
            <date>2012-08-30 06:49:31 -0700</date>
            <delta_ts>2012-09-03 00:21:03 -0700</delta_ts>
            <desc>initialize iteraor, add test to TestExpectations</desc>
            <filename>initialize_iterator.patch</filename>
            <type>text/plain</type>
            <size>4038</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMDRiZWNlLi5kODY0Yzg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDgt
MzAgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0dUS11bRUZMXSAnZGljdEl0ZXInIGl0ZXJhdG9yIGlzIG5vdCBpbml0aWFsaXplZCBm
b3IgYW4gaW5uZXIgbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU0MzYKKworICAgICAgICAnY2hlY2tTcGVsbGluZ09mU3RyaW5nJyBmcm9tIFRl
eHRDaGVja2VyRW5jaGFudCBjYW4gbm90IG1hcmsgbWlzc3BlbGxlZCBtdWx0aXBsZSB3b3Jkcy4K
KyAgICAgICAgSXQncyBwb3NzaWJsZSB0byBtYXJrIG1pc3NwZWxlZCBzdHJpbmcgb25seSBieSBk
ZWZpbmluZyBpdHMgbG9jYXRpb24gYW5kIGxlbmd0aC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zOiBBZGRlZCBzcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5l
cy5odG1sIHRvIFRlc3RFeHBlY3RhdGlvbnMuCisKIDIwMTItMDgtMzAgIEt3YW5nWW9uZyBDaG9p
ICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gR2FyZGVuaW5nIGZvciBm
YXN0L2Zvcm1zL3JhbmdlL3RodW1ic2xpZGVyLW5vLXBhcmVudC1zbGlkZXIuaHRtbCBhZnRlciBy
MTI2ODY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZk
ODNmY2EuLjM3MzI2YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMDIwLDYgKzEwMjAsOSBAQCBCVUdXSzUzNzA3IDogaHR0cC90ZXN0cy9zZWN1cml0
eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktcmVkaXJlY3QueG1sID0gVAogQlVHV0tH
VEsgOiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXIuaHRtbCA9IFRFWFQKIEJVR1dLR1RLIFNLSVAg
OiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItcGFzdGUuaHRtbCA9IFRFWFQKIAorLy8gVGV4dENo
ZWNrZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcgZG9lc24ndCByZXR1cm4gbWlzc3Bl
bGxlZCBsb2NhdGlvbiBhbmQgbGVuZ3RoIGZvciBtdWx0aXBsZSB3b3Jkcy4KK0JVR1dLR1RLIDog
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sID0g
VEVYVAorCiAvLyB0ZXN0UnVubmVyOjpzZXRUZXh0RGlyZWN0aW9uKCkgaXMgbm90IGltcGxlbWVu
dGVkLgogQlVHV0tHVEsgOiBmYXN0L2h0bWwvc2V0LXRleHQtZGlyZWN0aW9uLmh0bWwgPSBURVhU
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBhMWIwN2Q0Li41ZDVhNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTItMDgtMzAgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSAnZGljdEl0ZXInIGl0ZXJhdG9yIGlzIG5v
dCBpbml0aWFsaXplZCBmb3IgYW4gaW5uZXIgbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgJ2NoZWNrU3BlbGxpbmdPZlN0cmluZycgbWV0aG9k
IGFzc3VtZXMgdGhhdCB0aGUgZ2l2ZW4gc3RyaW5nIGlzIGNvbmNhdGVuYXRpb24gb2Ygd29yZHMu
CisgICAgICAgIFRvIHByb3Blcmx5IGhhbmRsZSBzcGVsbGNoZWNraW5nIG9mIGVhY2ggd29yZCB3
ZSBuZWVkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgYWxsIGF2YWlsYWJsZQorICAgICAgICBkaWN0aW9u
YXJpZXMgKCdkaWN0SXRlcicpIHdoZXRoZXIgdGhlIHdvcmQgZXhpc3RzIGluIGF0IGxlc3Qgb25l
IGRpY3Rpb25hcnkuCisKKyAgICAgICAgVG8gYWxsb3cgc3BlbGxjaGVja2luZyBmb3IgbXVsdGlw
bGUgd29yZHMsICdkaWN0SXRlcicgc2hvdWxkIGJlIGluaXRpYWxpemVkIGF0IHRoZSBiZWdpbm5p
bmcKKyAgICAgICAgb2YgdmVjdG9yIHdoaWxlIHNwZWxsY2hlY2tpbmcgb2YgdGhlIHdvcmQuIFRo
aXMgZW5zdXJlcyBwZXJmb3JtaW5nIG9mIHNwZWxsaW5nIGZvciB3b3JkIGJhc2VkIG9uCisgICAg
ICAgIGF0IGxlYXN0IG9uZSBkaWN0aW9uYXJ5LgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9l
bmNoYW50L1RleHRDaGVja2VyRW5jaGFudC5jcHA6CisgICAgICAgIChUZXh0Q2hlY2tlckVuY2hh
bnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyk6IE1vdmVkIGluaXRpYWxpemF0aW9uIG9mICdkaWN0
SXRlcicgdG8gYW4gaW5uZXIgbG9vcC4KKwogMjAxMi0wOC0zMCAgS2FuZ2lsIEhhbiAgPGthbmdp
bC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGVu
YWJsZSB0aWxlZCBiYWNraW5nIHN0b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L2VuY2hhbnQvVGV4dENoZWNrZXJFbmNoYW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IDIwZTQz
MDMuLjIyM2YwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5j
aGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCkBAIC03OCw3ICs3OCw2IEBAIHZv
aWQgVGV4dENoZWNrZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGludCYgbWlzc3BlCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBzdHJpbmcu
dXRmOCgpOwogICAgIGNvbnN0IGNoYXIqIGNTdHJpbmcgPSB1dGY4U3RyaW5nLmRhdGEoKTsKLSAg
ICBWZWN0b3I8RW5jaGFudERpY3QqPjo6Y29uc3RfaXRlcmF0b3IgZGljdEl0ZXIgPSBtX2VuY2hh
bnREaWN0aW9uYXJpZXMuYmVnaW4oKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVt
YmVyT2ZDaGFyYWN0ZXJzICsgMTsgaSsrKSB7CiAgICAgICAgIC8vIFdlIGdvIHRocm91Z2ggZWFj
aCBjaGFyYWN0ZXIgdW50aWwgd2UgZmluZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB3b3JkCkBAIC0x
MDAsNiArOTksNyBAQCB2b2lkIFRleHRDaGVja2VyRW5jaGFudDo6Y2hlY2tTcGVsbGluZ09mU3Ry
aW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIG1pc3NwZQogICAgICAgICAgICAgY2hhciog
Y3N0YXJ0ID0gZ191dGY4X29mZnNldF90b19wb2ludGVyKGNTdHJpbmcsIHN0YXJ0KTsKICAgICAg
ICAgICAgIGludCBudW1iZXJPZkJ5dGVzID0gc3RhdGljX2Nhc3Q8aW50PihnX3V0Zjhfb2Zmc2V0
X3RvX3BvaW50ZXIoY1N0cmluZywgZW5kKSAtIGNzdGFydCk7CiAKKyAgICAgICAgICAgIFZlY3Rv
cjxFbmNoYW50RGljdCo+Ojpjb25zdF9pdGVyYXRvciBkaWN0SXRlciA9IG1fZW5jaGFudERpY3Rp
b25hcmllcy5iZWdpbigpOwogICAgICAgICAgICAgZm9yICg7IGRpY3RJdGVyICE9IG1fZW5jaGFu
dERpY3Rpb25hcmllcy5lbmQoKTsgKytkaWN0SXRlcikgewogICAgICAgICAgICAgICAgIGlmIChl
bmNoYW50X2RpY3RfY2hlY2soKmRpY3RJdGVyLCBjc3RhcnQsIG51bWJlck9mQnl0ZXMpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIG1pc3NwZWxsaW5nTG9jYXRpb24gPSBzdGFydDsK
</data>
<flag name="review"
          id="172275"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161868</attachid>
            <date>2012-09-03 00:21:03 -0700</date>
            <delta_ts>2012-09-03 01:15:54 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>initialize_iterator.patch</filename>
            <type>text/plain</type>
            <size>4247</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlOGNjZTA2Li4yYTQxMDNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDkt
MDIgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0dUS11bRUZMXSAnZGljdEl0ZXInIGl0ZXJhdG9yIGlzIG5vdCBpbml0aWFsaXplZCBm
b3IgYW4gaW5uZXIgbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEgU2ls
dmEuCisKKyAgICAgICAgJ2NoZWNrU3BlbGxpbmdPZlN0cmluZycgZnJvbSB0aGUgVGV4dENoZWNr
ZXJFbmNoYW50IGNsYXNzIGNhbiBub3QgbWFyayBtdWx0aXBsaWUgd29yZHMgdGhhdCBhcmUgbWlz
c3BlbGxlZC4KKyAgICAgICAgSXQncyBwb3NzaWJsZSB0byBtYXJrIG1pc3NwZWxlZCBzdHJpbmcg
b25seSBieSBkZWZpbmluZyBpdHMgbG9jYXRpb24gYW5kIGxlbmd0aC4KKworICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBBZGRlZCBzcGVsbGluZy1iYWNrc3BhY2UtYmV0
d2Vlbi1saW5lcy5odG1sIHRvIFRlc3RFeHBlY3RhdGlvbnMuCisKIDIwMTItMDktMDIgIEtlbmlj
aGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
VW5yZXZpZXdlZCB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZSBhZnRlciByMTI3Mzk4CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGE5ZTY4MWUuLjVhNmRmZjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDI1LDYg
KzEwMjUsOSBAQCBCVUdXSzUzNzA3IDogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhz
bC1leHRlcm5hbC1lbnRpdHktcmVkaXJlY3QueG1sID0gVAogQlVHV0tHVEsgOiBlZGl0aW5nL3Nw
ZWxsaW5nL2dyYW1tYXIuaHRtbCA9IFRFWFQKIEJVR1dLR1RLIFNLSVAgOiBlZGl0aW5nL3NwZWxs
aW5nL2dyYW1tYXItcGFzdGUuaHRtbCA9IFRFWFQKIAorLy8gVGV4dENoZWNrZXJFbmNoYW50Ojpj
aGVja1NwZWxsaW5nT2ZTdHJpbmcgZG9lc24ndCByZXR1cm4gbWlzc3BlbGxlZCBsb2NhdGlvbiBh
bmQgbGVuZ3RoIGZvciBtdWx0aXBsZSB3b3Jkcy4KK0JVR1dLR1RLIDogZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sID0gVEVYVAorCiAvLyB0ZXN0
UnVubmVyOjpzZXRUZXh0RGlyZWN0aW9uKCkgaXMgbm90IGltcGxlbWVudGVkLgogQlVHV0tHVEsg
OiBmYXN0L2h0bWwvc2V0LXRleHQtZGlyZWN0aW9uLmh0bWwgPSBURVhUCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA3YjMzNWJiLi41YjkzY2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDkt
MDIgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0dUS11bRUZMXSAnZGljdEl0ZXInIGl0ZXJhdG9yIGlzIG5vdCBpbml0aWFsaXplZCBm
b3IgYW4gaW5uZXIgbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEgU2ls
dmEuCisKKyAgICAgICAgVGhlICdjaGVja1NwZWxsaW5nT2ZTdHJpbmcnIG1ldGhvZCBhc3N1bWVz
IHRoYXQgdGhlIGdpdmVuIHN0cmluZyBpcyBjb25jYXRlbmF0aW9uIG9mIHdvcmRzLgorICAgICAg
ICBUbyBwcm9wZXJseSBoYW5kbGUgc3BlbGxjaGVja2luZyBvZiBlYWNoIHdvcmQgd2UgbmVlZCB0
byBpdGVyYXRlIG92ZXIgdGhlIGFsbCBhdmFpbGFibGUKKyAgICAgICAgZGljdGlvbmFyaWVzICgn
ZGljdEl0ZXInKS4KKworICAgICAgICBUbyBhbGxvdyBzcGVsbGNoZWNraW5nIGZvciBtdWx0aXBs
ZSB3b3JkcywgJ2RpY3RJdGVyJyBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgYXQgdGhlIGJlZ2lubmlu
ZworICAgICAgICBvZiB2ZWN0b3Igd2hpbGUgc3BlbGxjaGVja2luZyBvZiB0aGUgd29yZC4gVGhp
cyBlbnN1cmVzIHBlcmZvcm1pbmcgb2Ygc3BlbGxpbmcgZm9yIHdvcmQgYmFzZWQgb24KKyAgICAg
ICAgYXQgbGVhc3Qgb25lIGRpY3Rpb25hcnkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2Vu
Y2hhbnQvVGV4dENoZWNrZXJFbmNoYW50LmNwcDoKKyAgICAgICAgKFRleHRDaGVja2VyRW5jaGFu
dDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nKTogTW92ZWQgaW5pdGlhbGl6YXRpb24gb2YgJ2RpY3RJ
dGVyJyB0byBhbiBpbm5lciBsb29wLgorCiAyMDEyLTA5LTAyICBZb3NoaWZ1bWkgSW5vdWUgIDx5
b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBFbXB0eSB2aXNpYmxlIHZhbHVl
IG9mIEFNL1BNIGZpZWxkIG9mIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJIHNob3VsZCBk
aXNwbGF5IHZhcmlhYmxlIG51bWJlciBvZiAiLSIgYmFzZWQgb24gbWF4aW11bSBudW1iZXIgb2Yg
bGFiZWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2VuY2hhbnQv
VGV4dENoZWNrZXJFbmNoYW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5j
aGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IDIwZTQzMDMuLmY3MmZiMGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVu
Y2hhbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5jaGFudC9UZXh0
Q2hlY2tlckVuY2hhbnQuY3BwCkBAIC03OCw3ICs3OCw2IEBAIHZvaWQgVGV4dENoZWNrZXJFbmNo
YW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbWlz
c3BlCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBzdHJpbmcudXRmOCgpOwogICAgIGNvbnN0
IGNoYXIqIGNTdHJpbmcgPSB1dGY4U3RyaW5nLmRhdGEoKTsKLSAgICBWZWN0b3I8RW5jaGFudERp
Y3QqPjo6Y29uc3RfaXRlcmF0b3IgZGljdEl0ZXIgPSBtX2VuY2hhbnREaWN0aW9uYXJpZXMuYmVn
aW4oKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtYmVyT2ZDaGFyYWN0ZXJzICsg
MTsgaSsrKSB7CiAgICAgICAgIC8vIFdlIGdvIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgdW50aWwg
d2UgZmluZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB3b3JkCkBAIC0xMDAsNyArOTksNyBAQCB2b2lk
IFRleHRDaGVja2VyRW5jaGFudDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBpbnQmIG1pc3NwZQogICAgICAgICAgICAgY2hhciogY3N0YXJ0ID0gZ191dGY4X29m
ZnNldF90b19wb2ludGVyKGNTdHJpbmcsIHN0YXJ0KTsKICAgICAgICAgICAgIGludCBudW1iZXJP
ZkJ5dGVzID0gc3RhdGljX2Nhc3Q8aW50PihnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoY1N0cmlu
ZywgZW5kKSAtIGNzdGFydCk7CiAKLSAgICAgICAgICAgIGZvciAoOyBkaWN0SXRlciAhPSBtX2Vu
Y2hhbnREaWN0aW9uYXJpZXMuZW5kKCk7ICsrZGljdEl0ZXIpIHsKKyAgICAgICAgICAgIGZvciAo
VmVjdG9yPEVuY2hhbnREaWN0Kj46OmNvbnN0X2l0ZXJhdG9yIGRpY3RJdGVyID0gbV9lbmNoYW50
RGljdGlvbmFyaWVzLmJlZ2luKCk7IGRpY3RJdGVyICE9IG1fZW5jaGFudERpY3Rpb25hcmllcy5l
bmQoKTsgKytkaWN0SXRlcikgewogICAgICAgICAgICAgICAgIGlmIChlbmNoYW50X2RpY3RfY2hl
Y2soKmRpY3RJdGVyLCBjc3RhcnQsIG51bWJlck9mQnl0ZXMpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIG1pc3NwZWxsaW5nTG9jYXRpb24gPSBzdGFydDsKICAgICAgICAgICAgICAgICAgICAgbWlz
c3BlbGxpbmdMZW5ndGggPSB3b3JkTGVuZ3RoOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>