<?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>121180</bug_id>
          
          <creation_ts>2013-09-11 14:07:53 -0700</creation_ts>
          <short_desc>[Windows] Avoid converting from IntSize-&gt;SIZE-&gt;IntSize</short_desc>
          <delta_ts>2013-09-11 15:16:48 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>927972</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-11 14:07:53 -0700</bug_when>
    <thetext>There are several code paths where a WebKit IntSize is converted to a Microsoft SIZE struct, only to be changed back to an IntSize for further work.

Instead, revise the API to take an IntSize argument so we don&apos;t have to do this wasted conversion. The only counter-case is in the IconDatabase, where we will have to convert a SIZE to an IntSize to accommodate this change. However, this &quot;extra copy&quot; code path is much less frequent than the other cases, which are used for cursor handling and the copy/paste buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927985</commentid>
    <comment_count>1</comment_count>
      <attachid>211353</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-11 14:43:30 -0700</bug_when>
    <thetext>Created attachment 211353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927993</commentid>
    <comment_count>2</comment_count>
      <attachid>211353</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-11 14:56:59 -0700</bug_when>
    <thetext>Comment on attachment 211353
Patch

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

&gt; Source/WebCore/platform/graphics/BitmapImage.h:153
&gt; +    virtual bool getHBITMAPOfSize(HBITMAP, const IntSize*);

I think this should take a const IntSize.

&gt; Source/WebCore/platform/graphics/Image.h:164
&gt; +    virtual bool getHBITMAPOfSize(HBITMAP, const IntSize*) { return false; }

Ditto. And use override.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927999</commentid>
    <comment_count>3</comment_count>
      <attachid>211353</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-11 15:06:47 -0700</bug_when>
    <thetext>Comment on attachment 211353
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/BitmapImage.h:153
&gt;&gt; +    virtual bool getHBITMAPOfSize(HBITMAP, const IntSize*);
&gt; 
&gt; I think this should take a const IntSize.

I can&apos;t. The argument is optional, and the implementations take different code paths if an argument is supplied.

&gt;&gt; Source/WebCore/platform/graphics/Image.h:164
&gt;&gt; +    virtual bool getHBITMAPOfSize(HBITMAP, const IntSize*) { return false; }
&gt; 
&gt; Ditto. And use override.

Ditto for me, too. But I will change to use the OVERRIDE macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928009</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-11 15:15:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/14969413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928011</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-11 15:16:48 -0700</bug_when>
    <thetext>Committed r155570: &lt;http://trac.webkit.org/changeset/155570&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211353</attachid>
            <date>2013-09-11 14:43:30 -0700</date>
            <delta_ts>2013-09-11 15:06:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121180-20130911144319.patch</filename>
            <type>text/plain</type>
            <size>12407</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTU2NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA5LTExICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5kb3dzXSBBdm9pZCBj
b252ZXJ0aW5nIGZyb20gSW50U2l6ZS0+U0laRS0+SW50U2l6ZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTE4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaDogVGFrZSBjb25zdCBJbnRTaXplKiBhcworICAgICAgICBhcmd1bWVudCwgcmF0aGVy
IHRoYW4gTFBTSVpFLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmdldEhCSVRNQVBPZlNpemUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkJpdG1hcEltYWdlOjpnZXRIQklUTUFQT2ZTaXplKTogVXNlIHBhc3NlZC1pbgorICAgICAgICBJ
bnRTaXplLCByYXRoZXIgdGhhbiBjb252ZXJ0aW5nIGZyb20gU0laRS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VDYWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6Z2V0SEJJVE1BUE9mU2l6ZSk6IERpdHRvLgorCiAyMDEzLTA5LTExICBab2x0
YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgTGluZVdpZHRo
IG91dCBvZiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMTU1NTU2KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAkod29ya2luZyBjb3B5
KQpAQCAtMTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2lmIFBMQVRGT1JNKFdJTikK
ICAgICB2aXJ0dWFsIGJvb2wgZ2V0SEJJVE1BUChIQklUTUFQKTsKLSAgICB2aXJ0dWFsIGJvb2wg
Z2V0SEJJVE1BUE9mU2l6ZShIQklUTUFQLCBMUFNJWkUpOworICAgIHZpcnR1YWwgYm9vbCBnZXRI
QklUTUFQT2ZTaXplKEhCSVRNQVAsIGNvbnN0IEludFNpemUqKTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oR1RLKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
CShyZXZpc2lvbiAxNTU1NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjEsNyArMTYxLDcgQEAgcHVibGljOgogCiAjaWYg
UExBVEZPUk0oV0lOKQogICAgIHZpcnR1YWwgYm9vbCBnZXRIQklUTUFQKEhCSVRNQVApIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGdldEhCSVRNQVBPZlNpemUoSEJJVE1BUCwg
TFBTSVpFKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBnZXRIQklUTUFQT2ZT
aXplKEhCSVRNQVAsIGNvbnN0IEludFNpemUqKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShHVEspCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vSW1hZ2VDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ltYWdlQ0dXaW4uY3BwCShyZXZpc2lvbiAxNTU1NTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VDR1dpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU5LDcgKzU5LDcgQEAgUGFzc1JlZlB0cjxCaXRtYXBJbWFnZT4gQml0bWFwSW1h
Z2U6OmNyZQogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFwSW1hZ2UoY2dJbWFnZSkpOwog
fQogCi1ib29sIEJpdG1hcEltYWdlOjpnZXRIQklUTUFQT2ZTaXplKEhCSVRNQVAgYm1wLCBMUFNJ
WkUgc2l6ZSkKK2Jvb2wgQml0bWFwSW1hZ2U6OmdldEhCSVRNQVBPZlNpemUoSEJJVE1BUCBibXAs
IGNvbnN0IEludFNpemUqIHNpemUpCiB7CiAgICAgQVNTRVJUKGJtcCk7CiAKQEAgLTc2LDcgKzc2
LDcgQEAgYm9vbCBCaXRtYXBJbWFnZTo6Z2V0SEJJVE1BUE9mU2l6ZShIQklUTQogCiAgICAgSW50
U2l6ZSBpbWFnZVNpemUgPSBCaXRtYXBJbWFnZTo6c2l6ZSgpOwogICAgIGlmIChzaXplKQotICAg
ICAgICBkcmF3RnJhbWVNYXRjaGluZ1NvdXJjZVNpemUoJmdjLCBGbG9hdFJlY3QoMC4wZiwgMC4w
ZiwgYm1wSW5mby5ibVdpZHRoLCBibXBJbmZvLmJtSGVpZ2h0KSwgSW50U2l6ZSgqc2l6ZSksIENv
bG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZUNvcHkpOworICAgICAgICBkcmF3RnJhbWVNYXRj
aGluZ1NvdXJjZVNpemUoJmdjLCBGbG9hdFJlY3QoMC4wZiwgMC4wZiwgYm1wSW5mby5ibVdpZHRo
LCBibXBJbmZvLmJtSGVpZ2h0KSwgKnNpemUsIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0
ZUNvcHkpOwogICAgIGVsc2UKICAgICAgICAgZHJhdygmZ2MsIEZsb2F0UmVjdCgwLjBmLCAwLjBm
LCBibXBJbmZvLmJtV2lkdGgsIGJtcEluZm8uYm1IZWlnaHQpLCBGbG9hdFJlY3QoMC4wZiwgMC4w
ZiwgaW1hZ2VTaXplLndpZHRoKCksIGltYWdlU2l6ZS5oZWlnaHQoKSksIENvbG9yU3BhY2VEZXZp
Y2VSR0IsIENvbXBvc2l0ZUNvcHksIEJsZW5kTW9kZU5vcm1hbCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUNhaXJvV2luLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VDYWlyb1dpbi5j
cHAJKHJldmlzaW9uIDE1NTU1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9JbWFnZUNhaXJvV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBAQCBQ
YXNzUmVmUHRyPEJpdG1hcEltYWdlPiBCaXRtYXBJbWFnZTo6Y3JlCiAgICAgcmV0dXJuIEJpdG1h
cEltYWdlOjpjcmVhdGUoc3VyZmFjZS5yZWxlYXNlKCkpOwogfQogCi1ib29sIEJpdG1hcEltYWdl
OjpnZXRIQklUTUFQT2ZTaXplKEhCSVRNQVAgYm1wLCBMUFNJWkUgc2l6ZSkKK2Jvb2wgQml0bWFw
SW1hZ2U6OmdldEhCSVRNQVBPZlNpemUoSEJJVE1BUCBibXAsIGNvbnN0IEludFNpemUqIHNpemUp
CiB7CiAgICAgQVNTRVJUKGJtcCk7CiAKQEAgLTgyLDcgKzgyLDcgQEAgYm9vbCBCaXRtYXBJbWFn
ZTo6Z2V0SEJJVE1BUE9mU2l6ZShIQklUTQogCiAgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBCaXRt
YXBJbWFnZTo6c2l6ZSgpOwogICAgIGlmIChzaXplKQotICAgICAgICBkcmF3RnJhbWVNYXRjaGlu
Z1NvdXJjZVNpemUoJmdjLCBGbG9hdFJlY3QoMC4wZiwgMC4wZiwgYm1wSW5mby5ibVdpZHRoLCBi
bXBJbmZvLmJtSGVpZ2h0KSwgSW50U2l6ZSgqc2l6ZSksIENvbG9yU3BhY2VEZXZpY2VSR0IsIENv
bXBvc2l0ZUNvcHkpOworICAgICAgICBkcmF3RnJhbWVNYXRjaGluZ1NvdXJjZVNpemUoJmdjLCBG
bG9hdFJlY3QoMC4wZiwgMC4wZiwgYm1wSW5mby5ibVdpZHRoLCBibXBJbmZvLmJtSGVpZ2h0KSwg
KnNpemUsIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZUNvcHkpOwogICAgIGVsc2UKICAg
ICAgICAgZHJhdygmZ2MsIEZsb2F0UmVjdCgwLjBmLCAwLjBmLCBibXBJbmZvLmJtV2lkdGgsIGJt
cEluZm8uYm1IZWlnaHQpLCBGbG9hdFJlY3QoMC4wZiwgMC4wZiwgaW1hZ2VTaXplLndpZHRoKCks
IGltYWdlU2l6ZS5oZWlnaHQoKSksIENvbG9yU3BhY2VEZXZpY2VSR0IsIENvbXBvc2l0ZUNvcHks
IEJsZW5kTW9kZU5vcm1hbCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTU1NjUpCisrKyBT
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDEzLTA5LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAg
IFtXaW5kb3dzXSBBdm9pZCBjb252ZXJ0aW5nIGZyb20gSW50U2l6ZS0+U0laRS0+SW50U2l6ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMTgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQu
dmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW46CisgICAg
ICAgIFJlbW92ZSB1bnVzZWQgc3ltYm9sIGV4cG9ydC4KKwogMjAxMy0wOS0wOCAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHdpbmRvdyBidWlsZC4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dl
YktpdEV4cG9ydHMuZGVmLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZj
eHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCShyZXZpc2lv
biAxNTU1NTYpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdl
bmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbgkod29ya2luZyBjb3B5KQpAQCAtMzgyLDcgKzM4
Miw2IEBAIEVYUE9SVFMKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2RyYXdAQml0bWFwSW1h
Z2VAV2ViQ29yZUBATUFFWFBBVkdyYXBoaWNzQ29udGV4dEAyQEFCVkZsb2F0UmVjdEAyQDFXNENv
bG9yU3BhY2VAMkBXNENvbXBvc2l0ZU9wZXJhdG9yQDJAVzRCbGVuZE1vZGVAMkBAWiwgP2RyYXdA
Qml0bWFwSW1hZ2VAV2ViQ29yZUBATUFFWFBBVkdyYXBoaWNzQ29udGV4dEAyQEFCVkZsb2F0UmVj
dEAyQDFXNENvbG9yU3BhY2VAMkBXNENvbXBvc2l0ZU9wZXJhdG9yQDJAVzRCbGVuZE1vZGVAMkBA
WikKICNlbmRpZgogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/Z2V0SEJJVE1BUEBCaXRtYXBJ
bWFnZUBXZWJDb3JlQEBVQUVfTlBBVUhCSVRNQVBfX0BAQFosID9nZXRIQklUTUFQQEJpdG1hcElt
YWdlQFdlYkNvcmVAQFVFQUFfTlBFQVVIQklUTUFQX19AQEBaKQotICAgICAgICBzeW1ib2xXaXRo
UG9pbnRlcig/Z2V0SEJJVE1BUE9mU2l6ZUBCaXRtYXBJbWFnZUBXZWJDb3JlQEBVQUVfTlBBVUhC
SVRNQVBfX0BAUEFVdGFnU0laRUBAQFosID9nZXRIQklUTUFQT2ZTaXplQEJpdG1hcEltYWdlQFdl
YkNvcmVAQFVFQUFfTlBFQVVIQklUTUFQX19AQFBFQVV0YWdTSVpFQEBAWikKICAgICAgICAgc3lt
Ym9sV2l0aFBvaW50ZXIoP2RyYXdQYXR0ZXJuQEltYWdlQFdlYkNvcmVAQFVBRVhQQVZHcmFwaGlj
c0NvbnRleHRAMkBBQlZGbG9hdFJlY3RAMkBBQlZBZmZpbmVUcmFuc2Zvcm1AMkBBQlZGbG9hdFBv
aW50QDJAVzRDb2xvclNwYWNlQDJAVzRDb21wb3NpdGVPcGVyYXRvckAyQDFXNEJsZW5kTW9kZUAy
QEBaLCA/ZHJhd1BhdHRlcm5ASW1hZ2VAV2ViQ29yZUBAVUVBQVhQRUFWR3JhcGhpY3NDb250ZXh0
QDJAQUVCVkZsb2F0UmVjdEAyQEFFQlZBZmZpbmVUcmFuc2Zvcm1AMkBBRUJWRmxvYXRQb2ludEAy
QFc0Q29sb3JTcGFjZUAyQFc0Q29tcG9zaXRlT3BlcmF0b3JAMkAxVzRCbGVuZE1vZGVAMkBAWikK
ICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2RyYXdGcmFtZU1hdGNoaW5nU291cmNlU2l6ZUBC
aXRtYXBJbWFnZUBXZWJDb3JlQEBNQUVYUEFWR3JhcGhpY3NDb250ZXh0QDJAQUJWRmxvYXRSZWN0
QDJAQUJWSW50U2l6ZUAyQFc0Q29sb3JTcGFjZUAyQFc0Q29tcG9zaXRlT3BlcmF0b3JAMkBAWiwg
P2RyYXdGcmFtZU1hdGNoaW5nU291cmNlU2l6ZUBCaXRtYXBJbWFnZUBXZWJDb3JlQEBNRUFBWFBF
QVZHcmFwaGljc0NvbnRleHRAMkBBRUJWRmxvYXRSZWN0QDJAQUVCVkludFNpemVAMkBXNENvbG9y
U3BhY2VAMkBXNENvbXBvc2l0ZU9wZXJhdG9yQDJAQFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2lu
dGVyKD9tYXlGaWxsV2l0aFNvbGlkQ29sb3JAQml0bWFwSW1hZ2VAV2ViQ29yZUBATUFFX05YWiwg
P21heUZpbGxXaXRoU29saWRDb2xvckBCaXRtYXBJbWFnZUBXZWJDb3JlQEBNRUFBX05YWikKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTU2NSkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA5LTExICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5kb3dzXSBB
dm9pZCBjb252ZXJ0aW5nIGZyb20gSW50U2l6ZS0+U0laRS0+SW50U2l6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJJY29uRGF0YWJhc2UuY3Bw
OgorICAgICAgICAoV2ViSWNvbkRhdGFiYXNlOjppY29uRm9yVVJMKTogR3VhcmQgYWdhaW5zdCBu
dWxsIFNJWkUgYXJndW1lbnQuCisgICAgICAgIFRoaXMgd2FzIGRlcmVmZXJlbmNlZCB3aXRoIGNo
ZWNraW5nIGJlZm9yZSEgVXNlIEludFNpemUgYXJndW1lbnRzLgorICAgICAgICAoV2ViSWNvbkRh
dGFiYXNlOjpkZWZhdWx0SWNvbldpdGhTaXplKTogVXNlZCBwYXNzZWQtaW4gSW50U2l6ZS4KKyAg
ICAgICAgKGNyZWF0ZURJQik6IFRha2UgYW4gSW50U2l6ZSBhcmd1bWVudC4KKyAgICAgICAgKFdl
Ykljb25EYXRhYmFzZTo6Z2V0T3JDcmVhdGVTaGFyZWRCaXRtYXApOiBUYWtlIEludFNpemUgYXJn
dW1lbnQuCisgICAgICAgIChXZWJJY29uRGF0YWJhc2U6OmdldE9yQ3JlYXRlRGVmYXVsdEljb25C
aXRtYXApOiBEaXR0by4KKyAgICAgICAgKiBXZWJJY29uRGF0YWJhc2UuaDogVXBkYXRlIGZvciBJ
bnRTaXplIGFyZ3VtZW50cy4KKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZp
ZXc6OmRpc3BhdGNoRGlkUmVjZWl2ZUljb25Gcm9tV2ViRnJhbWUpOiBQYXNzIGFkZHJlc3Mgb2YK
KyAgICAgICAgSW50U2l6ZSBkaXJlY3RseSwgcmF0aGVyIHRoYW4gY2FzdGluZyB0byBTSVpFIGZp
cnN0LgorCiAyMDEzLTA5LTExICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGJ1aWxkIGNvcnJlY3Rpb24gYWZ0ZXIgcjE1
NTUwNy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkljb25EYXRhYmFzZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNlLmNwcAkocmV2aXNpb24g
MTU1NTU2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYxLDEyICsxNjEsMTUgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBX
ZWJJY29uRGF0YWJhcwogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYkljb25EYXRhYmFzZTo6aWNvbkZvclVSTCgKK0hSRVNVTFQgV2ViSWNvbkRhdGFi
YXNlOjppY29uRm9yVVJMKAogICAgICAgICAvKiBbaW5dICovIEJTVFIgdXJsLAogICAgICAgICAv
KiBbb3B0aW9uYWxdW2luXSAqLyBMUFNJWkUgc2l6ZSwKICAgICAgICAgLyogW29wdGlvbmFsXVtp
bl0gKi8gQk9PTCAvKmNhY2hlKi8sCiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gT0xFX0hB
TkRMRSogYml0bWFwKQogeworICAgIGlmICghc2l6ZSkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKKwogICAgIEludFNpemUgaW50U2l6ZSgqc2l6ZSk7CiAKICAgICBJbWFnZSogaWNvbiA9IDA7
CkBAIC0xNzUsOCArMTc4LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJJY29uRGF0
YWJhcwogCiAgICAgLy8gTWFrZSBzdXJlIHdlIGNoZWNrIGZvciB0aGUgY2FzZSBvZiBhbiAiZW1w
dHkgaW1hZ2UiCiAgICAgaWYgKGljb24gJiYgaWNvbi0+d2lkdGgoKSkgewotICAgICAgICAqYml0
bWFwID0gKE9MRV9IQU5ETEUpKFVMT05HNjQpZ2V0T3JDcmVhdGVTaGFyZWRCaXRtYXAoc2l6ZSk7
Ci0gICAgICAgIGlmICghaWNvbi0+Z2V0SEJJVE1BUE9mU2l6ZSgoSEJJVE1BUCkoVUxPTkc2NCkq
Yml0bWFwLCBzaXplKSkgeworICAgICAgICAqYml0bWFwID0gKE9MRV9IQU5ETEUpKFVMT05HNjQp
Z2V0T3JDcmVhdGVTaGFyZWRCaXRtYXAoaW50U2l6ZSk7CisgICAgICAgIGlmICghaWNvbi0+Z2V0
SEJJVE1BUE9mU2l6ZSgoSEJJVE1BUCkoVUxPTkc2NCkqYml0bWFwLCAmaW50U2l6ZSkpIHsKICAg
ICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGRyYXcgSW1hZ2UgdG8gSEJJVE1BUCIpOwog
ICAgICAgICAgICAgKmJpdG1hcCA9IDA7CiAgICAgICAgICAgICByZXR1cm4gRV9GQUlMOwpAQCAt
MTkxLDcgKzE5NCwxMiBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkljb25EYXRhYmFz
CiAgICAgICAgIC8qIFtpbl0gKi8gTFBTSVpFIHNpemUsCiAgICAgICAgIC8qIFtyZXR2YWxdW291
dF0gKi8gT0xFX0hBTkRMRSogcmVzdWx0KQogewotICAgICpyZXN1bHQgPSAoT0xFX0hBTkRMRSko
VUxPTkc2NClnZXRPckNyZWF0ZURlZmF1bHRJY29uQml0bWFwKHNpemUpOworICAgIGlmICghc2l6
ZSkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKworICAgIEludFNpemUgaW50U2l6ZSgqc2l6
ZSk7CisKKyAgICAqcmVzdWx0ID0gKE9MRV9IQU5ETEUpKFVMT05HNjQpZ2V0T3JDcmVhdGVEZWZh
dWx0SWNvbkJpdG1hcChpbnRTaXplKTsKICAgICByZXR1cm4gU19PSzsKIH0KIApAQCAtMjgwLDM0
ICsyODgsMzQgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJJY29uRGF0YWJhcwogICAg
IHJldHVybiBTX09LOwogfQogCi1IQklUTUFQIGNyZWF0ZURJQihMUFNJWkUgc2l6ZSkKK3N0YXRp
YyBIQklUTUFQIGNyZWF0ZURJQihjb25zdCBJbnRTaXplJiBzaXplKQogewotICAgIEJpdG1hcElu
Zm8gYm1JbmZvID0gQml0bWFwSW5mbzo6Y3JlYXRlKEludFNpemUoKnNpemUpKTsKKyAgICBCaXRt
YXBJbmZvIGJtSW5mbyA9IEJpdG1hcEluZm86OmNyZWF0ZShzaXplKTsKIAogICAgIEhXbmREQyBk
YygwKTsKICAgICByZXR1cm4gQ3JlYXRlRElCU2VjdGlvbihkYywgJmJtSW5mbywgRElCX1JHQl9D
T0xPUlMsIDAsIDAsIDApOwogfQogCi1IQklUTUFQIFdlYkljb25EYXRhYmFzZTo6Z2V0T3JDcmVh
dGVTaGFyZWRCaXRtYXAoTFBTSVpFIHNpemUpCitIQklUTUFQIFdlYkljb25EYXRhYmFzZTo6Z2V0
T3JDcmVhdGVTaGFyZWRCaXRtYXAoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKLSAgICBIQklUTUFQ
IHJlc3VsdCA9IG1fc2hhcmVkSWNvbk1hcC5nZXQoKnNpemUpOworICAgIEhCSVRNQVAgcmVzdWx0
ID0gbV9zaGFyZWRJY29uTWFwLmdldChzaXplKTsKICAgICBpZiAocmVzdWx0KQogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIHJlc3VsdCA9IGNyZWF0ZURJQihzaXplKTsKLSAgICBtX3NoYXJl
ZEljb25NYXAuc2V0KCpzaXplLCByZXN1bHQpOworICAgIG1fc2hhcmVkSWNvbk1hcC5zZXQoc2l6
ZSwgcmVzdWx0KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1IQklUTUFQIFdlYkljb25EYXRh
YmFzZTo6Z2V0T3JDcmVhdGVEZWZhdWx0SWNvbkJpdG1hcChMUFNJWkUgc2l6ZSkKK0hCSVRNQVAg
V2ViSWNvbkRhdGFiYXNlOjpnZXRPckNyZWF0ZURlZmF1bHRJY29uQml0bWFwKGNvbnN0IEludFNp
emUmIHNpemUpCiB7Ci0gICAgSEJJVE1BUCByZXN1bHQgPSBtX2RlZmF1bHRJY29uTWFwLmdldCgq
c2l6ZSk7CisgICAgSEJJVE1BUCByZXN1bHQgPSBtX2RlZmF1bHRJY29uTWFwLmdldChzaXplKTsK
ICAgICBpZiAocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAgICAgcmVzdWx0ID0g
Y3JlYXRlRElCKHNpemUpOwogCi0gICAgbV9kZWZhdWx0SWNvbk1hcC5zZXQoKnNpemUsIHJlc3Vs
dCk7Ci0gICAgaWYgKCFpY29uRGF0YWJhc2UoKS5kZWZhdWx0SWNvbigqc2l6ZSkgfHwgIWljb25E
YXRhYmFzZSgpLmRlZmF1bHRJY29uKCpzaXplKS0+Z2V0SEJJVE1BUE9mU2l6ZShyZXN1bHQsIHNp
emUpKSB7CisgICAgbV9kZWZhdWx0SWNvbk1hcC5zZXQoc2l6ZSwgcmVzdWx0KTsKKyAgICBpZiAo
IWljb25EYXRhYmFzZSgpLmRlZmF1bHRJY29uKHNpemUpIHx8ICFpY29uRGF0YWJhc2UoKS5kZWZh
dWx0SWNvbihzaXplKS0+Z2V0SEJJVE1BUE9mU2l6ZShyZXN1bHQsICZzaXplKSkgewogICAgICAg
ICBMT0dfRVJST1IoIkZhaWxlZCB0byBkcmF3IEltYWdlIHRvIEhCSVRNQVAiKTsKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNlLmgJKHJl
dmlzaW9uIDE1NTU1NikKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkljb25EYXRhYmFzZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTksOCArMTE5LDggQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gS2Vl
cCBhIHNldCBvZiBIQklUTUFQcyBhcm91bmQgZm9yIHRoZSBkZWZhdWx0IGljb24sIGFuZCBhbm90
aGVyCiAgICAgLy8gdG8gc2hhcmUgYW1vbmdzdCBwcmVzZW50IHNpdGUgaWNvbnMKLSAgICBIQklU
TUFQIGdldE9yQ3JlYXRlU2hhcmVkQml0bWFwKExQU0laRSBzaXplKTsKLSAgICBIQklUTUFQIGdl
dE9yQ3JlYXRlRGVmYXVsdEljb25CaXRtYXAoTFBTSVpFIHNpemUpOworICAgIEhCSVRNQVAgZ2V0
T3JDcmVhdGVTaGFyZWRCaXRtYXAoY29uc3QgSW50U2l6ZSYpOworICAgIEhCSVRNQVAgZ2V0T3JD
cmVhdGVEZWZhdWx0SWNvbkJpdG1hcChjb25zdCBJbnRTaXplJik7CiAgICAgSGFzaE1hcDxJbnRT
aXplLCBIQklUTUFQPiBtX2RlZmF1bHRJY29uTWFwOwogICAgIEhhc2hNYXA8SW50U2l6ZSwgSEJJ
VE1BUD4gbV9zaGFyZWRJY29uTWFwOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNp
b24gMTU1NTU2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4OTQsNyArMjg5NCw3IEBAIHZvaWQgV2ViVmlldzo6ZGlzcGF0Y2hEaWRSZWNlaXZl
SWNvbkZyb20KICAgICAgICAgaWYgKGljb24gJiYgaWNvbi0+d2lkdGgoKSkgewogICAgICAgICAg
ICAgSFduZERDIGRjKDApOwogICAgICAgICAgICAgaEJpdG1hcCA9IENyZWF0ZURJQlNlY3Rpb24o
ZGMsICZibUluZm8sIERJQl9SR0JfQ09MT1JTLCAwLCAwLCAwKTsKLSAgICAgICAgICAgIGljb24t
PmdldEhCSVRNQVBPZlNpemUoaEJpdG1hcCwgJnN0YXRpY19jYXN0PFNJWkU+KHN6KSk7CisgICAg
ICAgICAgICBpY29uLT5nZXRIQklUTUFQT2ZTaXplKGhCaXRtYXAsICZzeik7CiAgICAgICAgIH0K
IAogICAgICAgICBIUkVTVUxUIGhyID0gbV9mcmFtZUxvYWREZWxlZ2F0ZS0+ZGlkUmVjZWl2ZUlj
b24odGhpcywgKE9MRV9IQU5ETEUpaEJpdG1hcCwgZnJhbWUpOwo=
</data>
<flag name="review"
          id="233444"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>