<?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>19299</bug_id>
          
          <creation_ts>2008-05-28 15:04:44 -0700</creation_ts>
          <short_desc>QTMovieWin should not hard code supported MIME types</short_desc>
          <delta_ts>2008-06-08 11:24:39 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>alp</cc>
    
    <cc>aroben</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>81794</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2008-05-28 15:04:44 -0700</bug_when>
    <thetext>QTMovieWin currently has a hard coded list of MIME types. The list doesn&apos;t include many common types supported by a default QuickTime install (eg. &quot;audio/mp3&quot; or the many other MP3 synonyms), but it also means that WebKit won&apos;t list types added by third party movie importers (eg. the ogg importers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81798</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-05-28 15:06:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/5969392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81804</commentid>
    <comment_count>2</comment_count>
      <attachid>21405</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2008-05-28 15:41:32 -0700</bug_when>
    <thetext>Created attachment 21405
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81855</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-05-29 09:51:20 -0700</bug_when>
    <thetext>Looks good. Some style comments, I guess this was adapted from existing code. 

+    ComponentDescription    findCD;
+    QTAtom                  mimeTag;
+    Component               comp;
+    char                    *atomData;
+    int                     index;
+    long                    componentCount;
+    OSErr                   err = noErr;

+                QTAtomContainer         mimeList = NULL;
+                ComponentDescription    infoCD;
+                int                     typeIndex, typeCount;
+                long                    typeLength;

WebKit code doesn&apos;t usually align variable names like this.

+                // grab every type from the container
+                QTLockContainer(mimeList);
+                typeCount = QTCountChildrenOfType(mimeList, kParentAtomIsContainer, kMimeInfoMimeTypeTag);
+                for (typeIndex = 1; typeIndex &lt;= typeCount; typeIndex++) {
+                    if ( 0 != (mimeTag = QTFindChildByIndex(mimeList, 0, kMimeInfoMimeTypeTag, typeIndex, NULL))) {

Extra space after (
It would be better to do assignment separately from comparison.
This and the next if could use continue instead, reducing code nesting.

+                            if (0 != strncmp(typeBuffer, &quot;audio/&quot;, 6) &amp;&amp; 0 != strncmp(typeBuffer, &quot;video/&quot;, 6))

0 != is unnecessary

+                            for ( int addedIndex = 0; addedIndex &lt; gSupportedTypes-&gt;size(); addedIndex++ ) {

extra space after ( and before  )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81976</commentid>
    <comment_count>4</comment_count>
      <attachid>21437</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2008-05-30 14:15:17 -0700</bug_when>
    <thetext>Created attachment 21437
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82621</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-08 11:23:42 -0700</bug_when>
    <thetext>Committed revision 34444.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21405</attachid>
            <date>2008-05-28 15:41:32 -0700</date>
            <delta_ts>2008-05-30 14:15:17 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5863</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM0MTg0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDgtMDUt
MjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjk5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81OTY5MzkyPgorCisgICAgICAgIEdlbmVyYXRlIHRoZSBtZWRpYSBNSU1FIHR5
cGUgbGlzdCBkeW5hbWljYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllV2luLmNwcDoKKyAgICAgICAgKGluaXRpYWxpemVTdXBwb3J0ZWRUeXBlcyk6CisKIDIw
MDgtMDUtMjggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBNaXR6LgpJbmRleDogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVX
aW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllV2luLmNw
cAkocmV2aXNpb24gMzQxODIpCisrKyBwbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZVdpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogLy8gUHV0IE1vdmllcy5oIGZp
cnN0IHNvIGJ1aWxkIGZhaWx1cmVzIGhlcmUgcG9pbnQgY2xlYXJseSB0byBRdWlja1RpbWUKICNp
bmNsdWRlIDxNb3ZpZXMuaD4KKyNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5j
bHVkZSA8R1hNYXRoLmg+CiAjaW5jbHVkZSA8UVRNTC5oPgogCkBAIC02MzgsMTggKzYzOSw5MyBA
QCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU3VwcG9ydGVkVHlwZXMoKSAKIHsKICAgICBpZiAoZ1N1
cHBvcnRlZFR5cGVzKQogICAgICAgICByZXR1cm47Ci0gICAgLy8gRklYTUU6IFRoaXMgbGlzdCBt
aWdodCBub3QgYmUgY29tcGxldGUuIAotICAgIC8vIFRoZXJlIG11c3QgYmUgc29tZSB3YXkgdG8g
Z2V0IGl0IG91dCBmcm9tIFF1aWNrVGltZS4KKwogICAgIGdTdXBwb3J0ZWRUeXBlcyA9IG5ldyBW
ZWN0b3I8Q0ZTdHJpbmdSZWY+OwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJ2
aWRlby8zZ3BwIikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJ2aWRlby8z
Z3BwMiIpKTsKLSAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVuZChDRlNUUigidmlkZW8vbXA0Iikp
OwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJ2aWRlby9tcGVnIikpOworCisg
ICAgQ29tcG9uZW50RGVzY3JpcHRpb24gICAgZmluZENEOworICAgIFFUQXRvbSAgICAgICAgICAg
ICAgICAgIG1pbWVUYWc7CisgICAgQ29tcG9uZW50ICAgICAgICAgICAgICAgY29tcDsKKyAgICBj
aGFyICAgICAgICAgICAgICAgICAgICAqYXRvbURhdGE7CisgICAgaW50ICAgICAgICAgICAgICAg
ICAgICAgaW5kZXg7CisgICAgbG9uZyAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50Q291bnQ7
CisgICAgT1NFcnIgICAgICAgICAgICAgICAgICAgZXJyID0gbm9FcnI7CisgICAgCisgICAgLy8g
UXVpY2tUaW1lIGRvZXNuJ3QgaGF2ZSBhbiBpbXBvcnRlciBmb3IgdmlkZW8vcXVpY2t0aW1lLCBh
ZGQgaXQgbWFudWFsbHkKICAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVuZChDRlNUUigidmlkZW8v
cXVpY2t0aW1lIikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJhdWRpby9h
YzMiKSk7Ci0gICAgZ1N1cHBvcnRlZFR5cGVzLT5hcHBlbmQoQ0ZTVFIoImF1ZGlvL2FpZmYiKSk7
Ci0gICAgZ1N1cHBvcnRlZFR5cGVzLT5hcHBlbmQoQ0ZTVFIoImF1ZGlvL2Jhc2ljIikpOwotICAg
IGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJhdWRpby9tcGVnIikpOworCisgICAgZm9y
IChpbmRleCA9IDA7IGluZGV4IDwgMjsgaW5kZXgrKykgeworICAgICAgICAvLyBsb29rIGF0IGFs
bCBtb3ZpZSBpbXBvcnRlcnMgdGhhdCBjYW4gaW1wb3J0IGluIHBsYWNlIGFuZCBhcmUgaW5zdGFs
bGVkLiAKKyAgICAgICAgZmluZENELmNvbXBvbmVudFR5cGUgPSBNb3ZpZUltcG9ydFR5cGU7Cisg
ICAgICAgIGZpbmRDRC5jb21wb25lbnRTdWJUeXBlID0gMDsKKyAgICAgICAgZmluZENELmNvbXBv
bmVudE1hbnVmYWN0dXJlciA9IDA7CisgICAgICAgIGZpbmRDRC5jb21wb25lbnRGbGFnc01hc2sg
PSBjbXBJc01pc3NpbmcgfCBtb3ZpZUltcG9ydFN1YlR5cGVJc0ZpbGVFeHRlbnNpb24gfCBjYW5N
b3ZpZUltcG9ydEluUGxhY2UgfCBkb250QXV0b0ZpbGVNb3ZpZUltcG9ydDsKKworICAgICAgICAv
LyBsb29rIGF0IHRob3NlIHJlZ2lzdGVyZWQgYnkgSEZTIGZpbGUgdHlwZXMgdGhlIGZpcnN0IHRp
bWUgdGhyb3VnaCwgYnkgZmlsZSBleHRlbnNpb24gdGhlIHNlY29uZCB0aW1lCisgICAgICAgIGZp
bmRDRC5jb21wb25lbnRGbGFncyA9IGNhbk1vdmllSW1wb3J0SW5QbGFjZSB8IChpbmRleCA/IG1v
dmllSW1wb3J0U3ViVHlwZUlzRmlsZUV4dGVuc2lvbiA6IDApOworICAgICAgICAKKyAgICAgICAg
Y29tcG9uZW50Q291bnQgPSBDb3VudENvbXBvbmVudHMoJmZpbmRDRCk7CisgICAgICAgIGlmIChj
b21wb25lbnRDb3VudCkgeworICAgICAgICAgICAgY29tcCA9IDA7CisgICAgICAgICAgICB3aGls
ZSAoY29tcCA9IEZpbmROZXh0Q29tcG9uZW50KGNvbXAsICZmaW5kQ0QpKSB7CisgICAgICAgICAg
ICAgICAgUVRBdG9tQ29udGFpbmVyICAgICAgICAgbWltZUxpc3QgPSBOVUxMOworICAgICAgICAg
ICAgICAgIENvbXBvbmVudERlc2NyaXB0aW9uICAgIGluZm9DRDsKKyAgICAgICAgICAgICAgICBp
bnQgICAgICAgICAgICAgICAgICAgICB0eXBlSW5kZXgsIHR5cGVDb3VudDsKKyAgICAgICAgICAg
ICAgICBsb25nICAgICAgICAgICAgICAgICAgICB0eXBlTGVuZ3RoOworCisgICAgICAgICAgICAg
ICAgLy8gZG9lcyB0aGlzIGNvbXBvbmVudCBoYXZlIGEgTUlNRSB0eXBlIGNvbnRhaW5lcj8KKyAg
ICAgICAgICAgICAgICBlcnIgPSBHZXRDb21wb25lbnRJbmZvKGNvbXAsICZpbmZvQ0QsIG5pbCAv
Km5hbWUqLywgbmlsIC8qaW5mbyovLCBuaWwgLyppY29uKi8pOworICAgICAgICAgICAgICAgIGlm
IChlcnIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlm
ICghKGluZm9DRC5jb21wb25lbnRGbGFncyAmIGhhc01vdmllSW1wb3J0TUlNRUxpc3QpKQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBlcnIgPSBNb3ZpZUlt
cG9ydEdldE1JTUVUeXBlTGlzdCgoQ29tcG9uZW50SW5zdGFuY2UpY29tcCwgJm1pbWVMaXN0KTsK
KyAgICAgICAgICAgICAgICBpZiAoZXJyIHx8ICFtaW1lTGlzdCkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAvLyBncmFiIGV2ZXJ5IHR5cGUgZnJvbSB0
aGUgY29udGFpbmVyCisgICAgICAgICAgICAgICAgUVRMb2NrQ29udGFpbmVyKG1pbWVMaXN0KTsK
KyAgICAgICAgICAgICAgICB0eXBlQ291bnQgPSBRVENvdW50Q2hpbGRyZW5PZlR5cGUobWltZUxp
c3QsIGtQYXJlbnRBdG9tSXNDb250YWluZXIsIGtNaW1lSW5mb01pbWVUeXBlVGFnKTsKKyAgICAg
ICAgICAgICAgICBmb3IgKHR5cGVJbmRleCA9IDE7IHR5cGVJbmRleCA8PSB0eXBlQ291bnQ7IHR5
cGVJbmRleCsrKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICggMCAhPSAobWltZVRhZyA9IFFU
RmluZENoaWxkQnlJbmRleChtaW1lTGlzdCwgMCwga01pbWVJbmZvTWltZVR5cGVUYWcsIHR5cGVJ
bmRleCwgTlVMTCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9FcnIgPT0gUVRH
ZXRBdG9tRGF0YVB0cihtaW1lTGlzdCwgbWltZVRhZywgJnR5cGVMZW5ndGgsICZhdG9tRGF0YSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICAgICAgICB0eXBlQnVmZmVyWzI1
Nl07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0ZTdHJpbmdSZWYgY2ZNaW1lVHlwZTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICAgICAgICBhbHJlYWR5QWRkZWQgPSBm
YWxzZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlTGVuZ3RoID49IHNp
emVvZih0eXBlQnVmZmVyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJuY3B5KHR5cGVCdWZmZXIsIGF0
b21EYXRhLCB0eXBlTGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlQnVm
ZmVyW3R5cGVMZW5ndGhdID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGFkZCBhdWRpbyBhbmQgdmlkZW8gdHlwZXMK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCAhPSBzdHJuY21wKHR5cGVCdWZmZXIs
ICJhdWRpby8iLCA2KSAmJiAwICE9IHN0cm5jbXAodHlwZUJ1ZmZlciwgInZpZGVvLyIsIDYpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNmTWltZVR5cGUgPSBDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKE5V
TEwsIHR5cGVCdWZmZXIsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKCFjZk1pbWVUeXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYWRk
IGVhY2ggdHlwZSBvbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICggaW50IGFk
ZGVkSW5kZXggPSAwOyBhZGRlZEluZGV4IDwgZ1N1cHBvcnRlZFR5cGVzLT5zaXplKCk7IGFkZGVk
SW5kZXgrKyApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0ZTdHJpbmdSZWYg
dHlwZSA9IGdTdXBwb3J0ZWRUeXBlcy0+YXQoYWRkZWRJbmRleCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChrQ0ZDb21wYXJlRXF1YWxUbyA9PSBDRlN0cmluZ0NvbXBhcmUo
Y2ZNaW1lVHlwZSwgdHlwZSwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlBZGRlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghYWxyZWFkeUFkZGVkKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVuZChjZk1pbWVUeXBlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENGUmVsZWFzZShjZk1pbWVUeXBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBE
aXNwb3NlSGFuZGxlKG1pbWVMaXN0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
IH0KIAogdW5zaWduZWQgUVRNb3ZpZVdpbjo6Y291bnRTdXBwb3J0ZWRUeXBlcygpCg==
</data>
<flag name="review"
          id="9362"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21437</attachid>
            <date>2008-05-30 14:15:17 -0700</date>
            <delta_ts>2008-05-30 14:31:05 -0700</delta_ts>
            <desc>Revised patch</desc>
            <filename>webcore_diff.txt</filename>
            <type>text/plain</type>
            <size>5528</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM0MjYz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMDUt
MzAgIEVyaWMgQ2FybHNvbiBMb2NhbCAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mjk5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81OTY5MzkyPgorCisgICAgICAgIEdlbmVyYXRlIHRoZSBtZWRpYSBN
SU1FIHR5cGUgbGlzdCBkeW5hbWljYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllV2luLmNwcDoKKyAgICAgICAgKGluaXRpYWxpemVTdXBwb3J0ZWRUeXBlcyk6
CisKIDIwMDgtMDUtMzAgIFRvciBBcm5lIFZlc3Riw7ggIDx0YXZlc3Rib0B0cm9sbHRlY2guY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uLgpJbmRleDogcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWVXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllV2luLmNwcAkocmV2aXNpb24gMzQxODIpCisrKyBwbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogLy8gUHV0
IE1vdmllcy5oIGZpcnN0IHNvIGJ1aWxkIGZhaWx1cmVzIGhlcmUgcG9pbnQgY2xlYXJseSB0byBR
dWlja1RpbWUKICNpbmNsdWRlIDxNb3ZpZXMuaD4KKyNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25l
bnRzLmg+CiAjaW5jbHVkZSA8R1hNYXRoLmg+CiAjaW5jbHVkZSA8UVRNTC5oPgogCkBAIC02Mzgs
MTggKzYzOSw5NCBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU3VwcG9ydGVkVHlwZXMoKSAKIHsK
ICAgICBpZiAoZ1N1cHBvcnRlZFR5cGVzKQogICAgICAgICByZXR1cm47Ci0gICAgLy8gRklYTUU6
IFRoaXMgbGlzdCBtaWdodCBub3QgYmUgY29tcGxldGUuIAotICAgIC8vIFRoZXJlIG11c3QgYmUg
c29tZSB3YXkgdG8gZ2V0IGl0IG91dCBmcm9tIFF1aWNrVGltZS4KKwogICAgIGdTdXBwb3J0ZWRU
eXBlcyA9IG5ldyBWZWN0b3I8Q0ZTdHJpbmdSZWY+OwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBw
ZW5kKENGU1RSKCJ2aWRlby8zZ3BwIikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENG
U1RSKCJ2aWRlby8zZ3BwMiIpKTsKLSAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVuZChDRlNUUigi
dmlkZW8vbXA0IikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJ2aWRlby9t
cGVnIikpOworCisgICAgQ29tcG9uZW50RGVzY3JpcHRpb24gZmluZENEOworICAgIFFUQXRvbSBt
aW1lVGFnOworICAgIENvbXBvbmVudCBjb21wOworICAgIGNoYXIgKmF0b21EYXRhOworICAgIGlu
dCBpbmRleDsKKyAgICBsb25nIGNvbXBvbmVudENvdW50OworICAgIE9TRXJyIGVyciA9IG5vRXJy
OworICAgIAorICAgIC8vIFF1aWNrVGltZSBkb2Vzbid0IGhhdmUgYW4gaW1wb3J0ZXIgZm9yIHZp
ZGVvL3F1aWNrdGltZSwgYWRkIGl0IG1hbnVhbGx5CiAgICAgZ1N1cHBvcnRlZFR5cGVzLT5hcHBl
bmQoQ0ZTVFIoInZpZGVvL3F1aWNrdGltZSIpKTsKLSAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVu
ZChDRlNUUigiYXVkaW8vYWMzIikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RS
KCJhdWRpby9haWZmIikpOwotICAgIGdTdXBwb3J0ZWRUeXBlcy0+YXBwZW5kKENGU1RSKCJhdWRp
by9iYXNpYyIpKTsKLSAgICBnU3VwcG9ydGVkVHlwZXMtPmFwcGVuZChDRlNUUigiYXVkaW8vbXBl
ZyIpKTsKKworICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IDI7IGluZGV4KyspIHsKKyAgICAg
ICAgLy8gbG9vayBhdCBhbGwgbW92aWUgaW1wb3J0ZXJzIHRoYXQgY2FuIGltcG9ydCBpbiBwbGFj
ZSBhbmQgYXJlIGluc3RhbGxlZC4gCisgICAgICAgIGZpbmRDRC5jb21wb25lbnRUeXBlID0gTW92
aWVJbXBvcnRUeXBlOworICAgICAgICBmaW5kQ0QuY29tcG9uZW50U3ViVHlwZSA9IDA7CisgICAg
ICAgIGZpbmRDRC5jb21wb25lbnRNYW51ZmFjdHVyZXIgPSAwOworICAgICAgICBmaW5kQ0QuY29t
cG9uZW50RmxhZ3NNYXNrID0gY21wSXNNaXNzaW5nIHwgbW92aWVJbXBvcnRTdWJUeXBlSXNGaWxl
RXh0ZW5zaW9uIHwgY2FuTW92aWVJbXBvcnRJblBsYWNlIHwgZG9udEF1dG9GaWxlTW92aWVJbXBv
cnQ7CisKKyAgICAgICAgLy8gbG9vayBhdCB0aG9zZSByZWdpc3RlcmVkIGJ5IEhGUyBmaWxlIHR5
cGVzIHRoZSBmaXJzdCB0aW1lIHRocm91Z2gsIGJ5IGZpbGUgZXh0ZW5zaW9uIHRoZSBzZWNvbmQg
dGltZQorICAgICAgICBmaW5kQ0QuY29tcG9uZW50RmxhZ3MgPSBjYW5Nb3ZpZUltcG9ydEluUGxh
Y2UgfCAoaW5kZXggPyBtb3ZpZUltcG9ydFN1YlR5cGVJc0ZpbGVFeHRlbnNpb24gOiAwKTsKKyAg
ICAgICAgCisgICAgICAgIGNvbXBvbmVudENvdW50ID0gQ291bnRDb21wb25lbnRzKCZmaW5kQ0Qp
OworICAgICAgICBpZiAoY29tcG9uZW50Q291bnQpIHsKKyAgICAgICAgICAgIGNvbXAgPSAwOwor
ICAgICAgICAgICAgd2hpbGUgKGNvbXAgPSBGaW5kTmV4dENvbXBvbmVudChjb21wLCAmZmluZENE
KSkgeworICAgICAgICAgICAgICAgIFFUQXRvbUNvbnRhaW5lciBtaW1lTGlzdCA9IE5VTEw7Cisg
ICAgICAgICAgICAgICAgQ29tcG9uZW50RGVzY3JpcHRpb24gaW5mb0NEOworICAgICAgICAgICAg
ICAgIGludCB0eXBlSW5kZXgsIHR5cGVDb3VudDsKKyAgICAgICAgICAgICAgICBsb25nIHR5cGVM
ZW5ndGg7CisKKyAgICAgICAgICAgICAgICAvLyBkb2VzIHRoaXMgY29tcG9uZW50IGhhdmUgYSBN
SU1FIHR5cGUgY29udGFpbmVyPworICAgICAgICAgICAgICAgIGVyciA9IEdldENvbXBvbmVudElu
Zm8oY29tcCwgJmluZm9DRCwgbmlsIC8qbmFtZSovLCBuaWwgLyppbmZvKi8sIG5pbCAvKmljb24q
Lyk7CisgICAgICAgICAgICAgICAgaWYgKGVycikKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICAgICAgaWYgKCEoaW5mb0NELmNvbXBvbmVudEZsYWdzICYgaGFzTW92
aWVJbXBvcnRNSU1FTGlzdCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgICAgIGVyciA9IE1vdmllSW1wb3J0R2V0TUlNRVR5cGVMaXN0KChDb21wb25lbnRJbnN0
YW5jZSljb21wLCAmbWltZUxpc3QpOworICAgICAgICAgICAgICAgIGlmIChlcnIgfHwgIW1pbWVM
aXN0KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIC8v
IGdyYWIgZXZlcnkgdHlwZSBmcm9tIHRoZSBjb250YWluZXIKKyAgICAgICAgICAgICAgICBRVExv
Y2tDb250YWluZXIobWltZUxpc3QpOworICAgICAgICAgICAgICAgIHR5cGVDb3VudCA9IFFUQ291
bnRDaGlsZHJlbk9mVHlwZShtaW1lTGlzdCwga1BhcmVudEF0b21Jc0NvbnRhaW5lciwga01pbWVJ
bmZvTWltZVR5cGVUYWcpOworICAgICAgICAgICAgICAgIGZvciAodHlwZUluZGV4ID0gMTsgdHlw
ZUluZGV4IDw9IHR5cGVDb3VudDsgdHlwZUluZGV4KyspIHsKKyAgICAgICAgICAgICAgICAgICAg
Y2hhciB0eXBlQnVmZmVyWzI1Nl07CisgICAgICAgICAgICAgICAgICAgIENGU3RyaW5nUmVmIGNm
TWltZVR5cGU7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgYWxyZWFkeUFkZGVkID0gZmFsc2U7
CisKKyAgICAgICAgICAgICAgICAgICAgbWltZVRhZyA9IFFURmluZENoaWxkQnlJbmRleChtaW1l
TGlzdCwgMCwga01pbWVJbmZvTWltZVR5cGVUYWcsIHR5cGVJbmRleCwgTlVMTCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghbWltZVRhZykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgICAgICAgICBpZiAobm9FcnIgIT0gUVRHZXRBdG9tRGF0YVB0ciht
aW1lTGlzdCwgbWltZVRhZywgJnR5cGVMZW5ndGgsICZhdG9tRGF0YSkpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVMZW5ndGgg
Pj0gc2l6ZW9mKHR5cGVCdWZmZXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgICAgICAgICAgc3RybmNweSh0eXBlQnVmZmVyLCBhdG9tRGF0YSwgdHlw
ZUxlbmd0aCk7CisgICAgICAgICAgICAgICAgICAgIHR5cGVCdWZmZXJbdHlwZUxlbmd0aF0gPSAw
OworICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgLy8gb25seSBhZGQg
ImF1ZGlvLy4uLiIgYW5kICJ2aWRlby8uLi4iIHR5cGVzCisgICAgICAgICAgICAgICAgICAgIGlm
IChzdHJuY21wKHR5cGVCdWZmZXIsICJhdWRpby8iLCA2KSAmJiBzdHJuY21wKHR5cGVCdWZmZXIs
ICJ2aWRlby8iLCA2KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgICAgICAgICAgICAgIGNmTWltZVR5cGUgPSBDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKE5V
TEwsIHR5cGVCdWZmZXIsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCk7CisgICAgICAgICAgICAgICAg
ICAgIGlmICghY2ZNaW1lVHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgYWRkIGVhY2ggdHlwZSBvbmNlCisgICAgICAg
ICAgICAgICAgICAgIGZvciAoaW50IGFkZGVkSW5kZXggPSAwOyBhZGRlZEluZGV4IDwgZ1N1cHBv
cnRlZFR5cGVzLT5zaXplKCk7IGFkZGVkSW5kZXgrKykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgQ0ZTdHJpbmdSZWYgdHlwZSA9IGdTdXBwb3J0ZWRUeXBlcy0+YXQoYWRkZWRJbmRleCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoa0NGQ29tcGFyZUVxdWFsVG8gPT0gQ0ZTdHJpbmdD
b21wYXJlKGNmTWltZVR5cGUsIHR5cGUsIGtDRkNvbXBhcmVDYXNlSW5zZW5zaXRpdmUpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUFkZGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGlmICghYWxyZWFkeUFk
ZGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgZ1N1cHBvcnRlZFR5cGVzLT5hcHBlbmQoY2ZN
aW1lVHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENGUmVsZWFzZShjZk1pbWVUeXBlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgRGlzcG9zZUhhbmRsZShtaW1lTGlzdCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9CiB9CiAKIHVuc2lnbmVkIFFUTW92aWVXaW46OmNvdW50U3VwcG9ydGVkVHlwZXMoKQo=
</data>
<flag name="review"
          id="9383"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>