<?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>125588</bug_id>
          
          <creation_ts>2013-12-11 11:08:17 -0800</creation_ts>
          <short_desc>[GStreamer] Use GMutexLocker instead of g_mutex_lock</short_desc>
          <delta_ts>2013-12-14 01:00:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brendan Long">b.long</reporter>
          <assigned_to name="Brendan Long">b.long</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>958805</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-11 11:08:17 -0800</bug_when>
    <thetext>This bit of code would be much simpler with GMutexLocker:

void MediaPlayerPrivateGStreamerBase::paint(GraphicsContext* context, const IntRect&amp; rect)
{
#if USE(ACCELERATED_COMPOSITING) &amp;&amp; USE(TEXTURE_MAPPER_GL) &amp;&amp; !USE(COORDINATED_GRAPHICS)
    if (client())
        return;
#endif

    if (context-&gt;paintingDisabled() || m_skipPainting)
        return;

    if (!m_player-&gt;visible())
        return;

    g_mutex_lock(m_bufferMutex);
    if (!m_buffer) {
        g_mutex_unlock(m_bufferMutex);
        return;
    }

    GRefPtr&lt;GstCaps&gt; caps = currentVideoSinkCaps();
    if (!caps) {
        g_mutex_unlock(m_bufferMutex);
        return;
    }

    RefPtr&lt;ImageGStreamer&gt; gstImage = ImageGStreamer::createImage(m_buffer, caps.get());
    if (!gstImage) {
        g_mutex_unlock(m_bufferMutex);
        return;
    }

    context-&gt;drawImage(reinterpret_cast&lt;Image*&gt;(gstImage-&gt;image().get()), ColorSpaceSRGB,
        rect, gstImage-&gt;rect(), CompositeCopy, ImageOrientationDescription(), false);
    g_mutex_unlock(m_bufferMutex);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959622</commentid>
    <comment_count>1</comment_count>
      <attachid>219180</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-13 12:35:38 -0800</bug_when>
    <thetext>Created attachment 219180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959623</commentid>
    <comment_count>2</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2013-12-13 12:37:19 -0800</bug_when>
    <thetext>This just simplifies some code. There are two cases where it&apos;s not that much simpler, converting this:

    g_mutex_lock(...);
    something();
    g_mutex_unlock(...);

To this:

    {
        GMutexLocker lock(...);
        something();
    }

I decided to make that change anyway though, for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959811</commentid>
    <comment_count>3</comment_count>
      <attachid>219180</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-14 01:00:49 -0800</bug_when>
    <thetext>Comment on attachment 219180
Patch

Clearing flags on attachment: 219180

Committed r160593: &lt;http://trac.webkit.org/changeset/160593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959812</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-14 01:00:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219180</attachid>
            <date>2013-12-13 12:35:38 -0800</date>
            <delta_ts>2013-12-14 01:00:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125588-20131213143537.patch</filename>
            <type>text/plain</type>
            <size>10087</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliNjNkNTAxNTQ3Yzcz
ZWM4ODVkNDI3YjkxMDg4Yzc5YzMyMTM1ZS4uMGY2MzRhMTQ0YTExYjU2ZDIzYzZlNTc5ZTA3MzJm
NjMwZDA1ZjFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTEyLTEzICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBV
c2UgR011dGV4TG9ja2VyIGluc3RlYWQgb2YgZ19tdXRleF9sb2NrCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU1ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlz
IGlzIGp1c3QgY29kZSBzaW1wbGlmaWNhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnVwZGF0ZVRleHR1
cmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
dHJpZ2dlclJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6cGFpbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwOgorICAgICAgICAod2Via2l0VmlkZW9TaW5rVGltZW91
dENhbGxiYWNrKToKKyAgICAgICAgKHdlYmtpdFZpZGVvU2lua1JlbmRlcik6CisgICAgICAgICh1
bmxvY2tCdWZmZXJNdXRleCk6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtVbmxvY2tTdG9wKToK
KyAgICAgICAgKHdlYmtpdFZpZGVvU2lua1N0YXJ0KToKKwogMjAxMy0xMi0xMyAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzb21lIG9wdGltaXphdGlvbnMg
Zm9yIERPTSBiaW5kaW5ncyBpbnZvbHZpbmcgdmVjdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDk2ZjExZTY2ZDFkYTU4
NWFjYjBkYWJlNjFiZGQ5MWU0ZWI5YTFiODYuLjM3NjNhMDA2ZmIyZWM3NGIxODNmZjExOWQ2ZmU0
N2NkMzQ4ODJjMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJWaWRlb1NpbmtH
U3RyZWFtZXIuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuaCIKICNpbmNs
dWRlIDxnc3QvZ3N0Lmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL3N0cmVh
bXZvbHVtZS5oPgpAQCAtMzA2LDI2ICszMDcsMjAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjptdXRlQ2hhbmdlZCgpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCiBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6OnVwZGF0ZVRleHR1cmUoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlcikKIHsKLSAg
ICBnX211dGV4X2xvY2sobV9idWZmZXJNdXRleCk7Ci0gICAgaWYgKCFtX2J1ZmZlcikgewotICAg
ICAgICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsKKyAgICBHTXV0ZXhMb2NrZXIgbG9j
ayhtX2J1ZmZlck11dGV4KTsKKyAgICBpZiAoIW1fYnVmZmVyKQogICAgICAgICByZXR1cm4gMDsK
LSAgICB9CiAKICAgICBjb25zdCB2b2lkKiBzcmNEYXRhID0gMDsKICAgICBHUmVmUHRyPEdzdENh
cHM+IGNhcHMgPSBjdXJyZW50VmlkZW9TaW5rQ2FwcygpOwotICAgIGlmICghY2FwcykgewotICAg
ICAgICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsKKyAgICBpZiAoIWNhcHMpCiAgICAg
ICAgIHJldHVybiAwOwotICAgIH0KIAogICAgIEludFNpemUgc2l6ZTsKICAgICBHc3RWaWRlb0Zv
cm1hdCBmb3JtYXQ7CiAgICAgaW50IHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIHBpeGVsQXNw
ZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlOwotICAgIGlmICghZ2V0VmlkZW9TaXplQW5kRm9y
bWF0RnJvbUNhcHMoY2Fwcy5nZXQoKSwgc2l6ZSwgZm9ybWF0LCBwaXhlbEFzcGVjdFJhdGlvTnVt
ZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZSkpIHsKLSAgICAgICAg
Z19tdXRleF91bmxvY2sobV9idWZmZXJNdXRleCk7CisgICAgaWYgKCFnZXRWaWRlb1NpemVBbmRG
b3JtYXRGcm9tQ2FwcyhjYXBzLmdldCgpLCBzaXplLCBmb3JtYXQsIHBpeGVsQXNwZWN0UmF0aW9O
dW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlKSkKICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgfQogCiAgICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRleHR1cmUgPSB0
ZXh0dXJlTWFwcGVyLT5hY3F1aXJlVGV4dHVyZUZyb21Qb29sKHNpemUpOwogCkBAIC0zMzYsMTAg
KzMzMSw4IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6dXBkYXRlVGV4dHVyZShUZXh0dXJlCiAgICAgICAgICAgICBjb25zdCBCaXRt
YXBUZXh0dXJlR0wqIHRleHR1cmVHTCA9IHN0YXRpY19jYXN0PGNvbnN0IEJpdG1hcFRleHR1cmVH
TCo+KHRleHR1cmUuZ2V0KCkpOwogICAgICAgICAgICAgZ3VpbnQgaWRzWzRdID0geyB0ZXh0dXJl
R0wtPmlkKCksIDAsIDAsIDAgfTsKIAotICAgICAgICAgICAgaWYgKGdzdF92aWRlb19nbF90ZXh0
dXJlX3VwbG9hZF9tZXRhX3VwbG9hZChtZXRhLCBpZHMpKSB7Ci0gICAgICAgICAgICAgICAgZ19t
dXRleF91bmxvY2sobV9idWZmZXJNdXRleCk7CisgICAgICAgICAgICBpZiAoZ3N0X3ZpZGVvX2ds
X3RleHR1cmVfdXBsb2FkX21ldGFfdXBsb2FkKG1ldGEsIGlkcykpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRleHR1cmU7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYK
QEAgLTM1MSw4ICszNDQsNiBAQCBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnVwZGF0ZVRleHR1cmUoVGV4dHVyZQogICAgIHRleHR1cmUt
PnVwZGF0ZUNvbnRlbnRzKHNyY0RhdGEsIFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9p
bnQoMCwgMCksIHNpemUpLCBXZWJDb3JlOjpJbnRQb2ludCgwLCAwKSwgc3RyaWRlLCBCaXRtYXBU
ZXh0dXJlOjpVcGRhdGVDYW5ub3RNb2RpZnlPcmlnaW5hbEltYWdlRGF0YSk7CiAKICAgICBnc3Rf
YnVmZmVyX3VubWFwKG1fYnVmZmVyLCAmc3JjSW5mbyk7Ci0KLSAgICBnX211dGV4X3VubG9jayht
X2J1ZmZlck11dGV4KTsKICAgICByZXR1cm4gdGV4dHVyZTsKIH0KICNlbmRpZgpAQCAtMzYxLDkg
KzM1MiwxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJS
ZXBhaW50KEdzdEJ1ZmZlciogYnVmZmVyKQogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwoR1NUX0lT
X0JVRkZFUihidWZmZXIpKTsKIAotICAgIGdfbXV0ZXhfbG9jayhtX2J1ZmZlck11dGV4KTsKLSAg
ICBnc3RfYnVmZmVyX3JlcGxhY2UoJm1fYnVmZmVyLCBidWZmZXIpOwotICAgIGdfbXV0ZXhfdW5s
b2NrKG1fYnVmZmVyTXV0ZXgpOworICAgIHsKKyAgICAgICAgR011dGV4TG9ja2VyIGxvY2sobV9i
dWZmZXJNdXRleCk7CisgICAgICAgIGdzdF9idWZmZXJfcmVwbGFjZSgmbV9idWZmZXIsIGJ1ZmZl
cik7CisgICAgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVY
VFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgaWYgKHN1
cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSAmJiBtX3BsYXllci0+bWVkaWFQbGF5ZXJDbGll
bnQoKS0+bWVkaWFQbGF5ZXJSZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkKG1fcGxheWVyKSAmJiBj
bGllbnQoKSkgewpAQCAtMzkzLDI3ICszODUsMjAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFIK
ICAgICBpZiAoIW1fcGxheWVyLT52aXNpYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGdf
bXV0ZXhfbG9jayhtX2J1ZmZlck11dGV4KTsKLSAgICBpZiAoIW1fYnVmZmVyKSB7Ci0gICAgICAg
IGdfbXV0ZXhfdW5sb2NrKG1fYnVmZmVyTXV0ZXgpOworICAgIEdNdXRleExvY2tlciBsb2NrKG1f
YnVmZmVyTXV0ZXgpOworICAgIGlmICghbV9idWZmZXIpCiAgICAgICAgIHJldHVybjsKLSAgICB9
CiAKICAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHMgPSBjdXJyZW50VmlkZW9TaW5rQ2FwcygpOwot
ICAgIGlmICghY2FwcykgewotICAgICAgICBnX211dGV4X3VubG9jayhtX2J1ZmZlck11dGV4KTsK
KyAgICBpZiAoIWNhcHMpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBSZWZQdHI8SW1h
Z2VHU3RyZWFtZXI+IGdzdEltYWdlID0gSW1hZ2VHU3RyZWFtZXI6OmNyZWF0ZUltYWdlKG1fYnVm
ZmVyLCBjYXBzLmdldCgpKTsKLSAgICBpZiAoIWdzdEltYWdlKSB7Ci0gICAgICAgIGdfbXV0ZXhf
dW5sb2NrKG1fYnVmZmVyTXV0ZXgpOworICAgIGlmICghZ3N0SW1hZ2UpCiAgICAgICAgIHJldHVy
bjsKLSAgICB9CiAKICAgICBjb250ZXh0LT5kcmF3SW1hZ2UocmVpbnRlcnByZXRfY2FzdDxJbWFn
ZSo+KGdzdEltYWdlLT5pbWFnZSgpLmdldCgpKSwgQ29sb3JTcGFjZVNSR0IsCiAgICAgICAgIHJl
Y3QsIGdzdEltYWdlLT5yZWN0KCksIENvbXBvc2l0ZUNvcHksIEltYWdlT3JpZW50YXRpb25EZXNj
cmlwdGlvbigpLCBmYWxzZSk7Ci0gICAgZ19tdXRleF91bmxvY2sobV9idWZmZXJNdXRleCk7CiB9
CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBF
Ul9HTCkgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAKaW5kZXggMjllNDExMjhiMWFkNjVmMDVlYmQ4YzQyYmY4YWJhZjE4OWUxZGM1
Ni4uMTdkMGFlZjdkOWVlYTdmYmZlNmNkMzIwZDM3ZjNlNzMzZjA1NmE4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTM2LDYgKzM2LDkgQEAKICNpbmNsdWRlIDxnc3Qv
Z3N0Lmg+CiAjaW5jbHVkZSA8Z3N0L3ZpZGVvL2dzdHZpZGVvbWV0YS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HTXV0ZXhMb2NrZXIuaD4KKwordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC8vIENBSVJPX0ZPUk1BVF9SR0IyNCB1c2VkIHRvIHJl
bmRlciB0aGUgdmlkZW8gYnVmZmVycyBpcyBsaXR0bGUvYmlnIGVuZGlhbiBkZXBlbmRhbnQuCiAj
aWYgR19CWVRFX09SREVSID09IEdfTElUVExFX0VORElBTgpAQCAtMTE1LDIxICsxMTgsMTkgQEAg
c3RhdGljIGdib29sZWFuIHdlYmtpdFZpZGVvU2lua1RpbWVvdXRDYWxsYmFjayhncG9pbnRlciBk
YXRhKQogICAgIFdlYktpdFZpZGVvU2luayogc2luayA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViS2l0
VmlkZW9TaW5rKj4oZGF0YSk7CiAgICAgV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSogcHJpdiA9IHNp
bmstPnByaXY7CiAKLSAgICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIEdN
dXRleExvY2tlciBsb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKICAgICBHc3RCdWZmZXIqIGJ1ZmZl
ciA9IHByaXYtPmJ1ZmZlcjsKICAgICBwcml2LT5idWZmZXIgPSAwOwogICAgIHByaXYtPnRpbWVv
dXRJZCA9IDA7CiAKICAgICBpZiAoIWJ1ZmZlciB8fCBwcml2LT51bmxvY2tlZCB8fCBVTkxJS0VM
WSghR1NUX0lTX0JVRkZFUihidWZmZXIpKSkgewogICAgICAgICBnX2NvbmRfc2lnbmFsKHByaXYt
PmRhdGFDb25kaXRpb24pOwotICAgICAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJNdXRl
eCk7CiAgICAgICAgIHJldHVybiBGQUxTRTsKICAgICB9CiAKICAgICBnX3NpZ25hbF9lbWl0KHNp
bmssIHdlYmtpdFZpZGVvU2lua1NpZ25hbHNbUkVQQUlOVF9SRVFVRVNURURdLCAwLCBidWZmZXIp
OwogICAgIGdzdF9idWZmZXJfdW5yZWYoYnVmZmVyKTsKICAgICBnX2NvbmRfc2lnbmFsKHByaXYt
PmRhdGFDb25kaXRpb24pOwotICAgIGdfbXV0ZXhfdW5sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsK
IAogICAgIHJldHVybiBGQUxTRTsKIH0KQEAgLTEzOSwxMiArMTQwLDEwIEBAIHN0YXRpYyBHc3RG
bG93UmV0dXJuIHdlYmtpdFZpZGVvU2lua1JlbmRlcihHc3RCYXNlU2luayogYmFzZVNpbmssIEdz
dEJ1ZmZlciogYnVmCiAgICAgV2ViS2l0VmlkZW9TaW5rKiBzaW5rID0gV0VCS0lUX1ZJREVPX1NJ
TksoYmFzZVNpbmspOwogICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBzaW5rLT5w
cml2OwogCi0gICAgZ19tdXRleF9sb2NrKHByaXYtPmJ1ZmZlck11dGV4KTsKKyAgICBHTXV0ZXhM
b2NrZXIgbG9jayhwcml2LT5idWZmZXJNdXRleCk7CiAKLSAgICBpZiAocHJpdi0+dW5sb2NrZWQp
IHsKLSAgICAgICAgZ19tdXRleF91bmxvY2socHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIGlmIChw
cml2LT51bmxvY2tlZCkKICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwotICAgIH0KIAogICAg
IHByaXYtPmJ1ZmZlciA9IGdzdF9idWZmZXJfcmVmKGJ1ZmZlcik7CiAKQEAgLTE2MCw3ICsxNTks
NiBAQCBzdGF0aWMgR3N0Rmxvd1JldHVybiB3ZWJraXRWaWRlb1NpbmtSZW5kZXIoR3N0QmFzZVNp
bmsqIGJhc2VTaW5rLCBHc3RCdWZmZXIqIGJ1ZgogICAgIGludCBwaXhlbEFzcGVjdFJhdGlvTnVt
ZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZTsKICAgICBpZiAoIWdl
dFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBzKGNhcHMuZ2V0KCksIHNpemUsIGZvcm1hdCwgcGl4
ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLCBzdHJp
ZGUpKSB7CiAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYoYnVmZmVyKTsKLSAgICAgICAgZ19tdXRl
eF91bmxvY2socHJpdi0+YnVmZmVyTXV0ZXgpOwogICAgICAgICByZXR1cm4gR1NUX0ZMT1dfRVJS
T1I7CiAgICAgfQogCkBAIC0xNzUsMTAgKzE3Myw4IEBAIHN0YXRpYyBHc3RGbG93UmV0dXJuIHdl
YmtpdFZpZGVvU2lua1JlbmRlcihHc3RCYXNlU2luayogYmFzZVNpbmssIEdzdEJ1ZmZlciogYnVm
CiAgICAgICAgIEdzdEJ1ZmZlciogbmV3QnVmZmVyID0gV2ViQ29yZTo6Y3JlYXRlR3N0QnVmZmVy
KGJ1ZmZlcik7CiAKICAgICAgICAgLy8gQ2hlY2sgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCi0gICAg
ICAgIGlmIChVTkxJS0VMWSghbmV3QnVmZmVyKSkgewotICAgICAgICAgICAgZ19tdXRleF91bmxv
Y2socHJpdi0+YnVmZmVyTXV0ZXgpOworICAgICAgICBpZiAoVU5MSUtFTFkoIW5ld0J1ZmZlcikp
CiAgICAgICAgICAgICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7Ci0gICAgICAgIH0KIAogICAgICAg
ICAvLyBXZSBkb24ndCB1c2UgQ29sb3I6OnByZW11bHRpcGxpZWRBUkdCRnJvbUNvbG9yKCkgaGVy
ZSBiZWNhdXNlCiAgICAgICAgIC8vIG9uZSBmdW5jdGlvbiBjYWxsIHBlciB2aWRlbyBwaXhlbCBp
cyBqdXN0IHRvbyBleHBlbnNpdmU6CkBAIC0yMjUsNyArMjIxLDYgQEAgc3RhdGljIEdzdEZsb3dS
ZXR1cm4gd2Via2l0VmlkZW9TaW5rUmVuZGVyKEdzdEJhc2VTaW5rKiBiYXNlU2luaywgR3N0QnVm
ZmVyKiBidWYKICAgICBnX3NvdXJjZV9zZXRfbmFtZV9ieV9pZChwcml2LT50aW1lb3V0SWQsICJb
V2ViS2l0XSB3ZWJraXRWaWRlb1NpbmtUaW1lb3V0Q2FsbGJhY2siKTsKIAogICAgIGdfY29uZF93
YWl0KHByaXYtPmRhdGFDb25kaXRpb24sIHByaXYtPmJ1ZmZlck11dGV4KTsKLSAgICBnX211dGV4
X3VubG9jayhwcml2LT5idWZmZXJNdXRleCk7CiAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogfQog
CkBAIC0yNzcsNyArMjcyLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0VmlkZW9TaW5rR2V0UHJvcGVy
dHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wZXJ0eUlkLCBHVmFsdWUKIAogc3RhdGljIHZv
aWQgdW5sb2NrQnVmZmVyTXV0ZXgoV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSogcHJpdikKIHsKLSAg
ICBnX211dGV4X2xvY2socHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIEdNdXRleExvY2tlciBsb2Nr
KHByaXYtPmJ1ZmZlck11dGV4KTsKIAogICAgIGlmIChwcml2LT5idWZmZXIpIHsKICAgICAgICAg
Z3N0X2J1ZmZlcl91bnJlZihwcml2LT5idWZmZXIpOwpAQCAtMjg3LDcgKzI4Miw2IEBAIHN0YXRp
YyB2b2lkIHVubG9ja0J1ZmZlck11dGV4KFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYpCiAg
ICAgcHJpdi0+dW5sb2NrZWQgPSB0cnVlOwogCiAgICAgZ19jb25kX3NpZ25hbChwcml2LT5kYXRh
Q29uZGl0aW9uKTsKLSAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJNdXRleCk7CiB9CiAK
IHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRWaWRlb1NpbmtVbmxvY2soR3N0QmFzZVNpbmsqIGJhc2VT
aW5rKQpAQCAtMzAzLDkgKzI5NywxMCBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0VmlkZW9TaW5r
VW5sb2NrU3RvcChHc3RCYXNlU2luayogYmFzZVNpbmspCiB7CiAgICAgV2ViS2l0VmlkZW9TaW5r
UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9WSURFT19TSU5LKGJhc2VTaW5rKS0+cHJpdjsKIAotICAg
IGdfbXV0ZXhfbG9jayhwcml2LT5idWZmZXJNdXRleCk7Ci0gICAgcHJpdi0+dW5sb2NrZWQgPSBm
YWxzZTsKLSAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJNdXRleCk7CisgICAgeworICAg
ICAgICBHTXV0ZXhMb2NrZXIgbG9jayhwcml2LT5idWZmZXJNdXRleCk7CisgICAgICAgIHByaXYt
PnVubG9ja2VkID0gZmFsc2U7CisgICAgfQogCiAgICAgcmV0dXJuIEdTVF9DQUxMX1BBUkVOVF9X
SVRIX0RFRkFVTFQoR1NUX0JBU0VfU0lOS19DTEFTUywgdW5sb2NrX3N0b3AsIChiYXNlU2luayks
IFRSVUUpOwogfQpAQCAtMzI4LDkgKzMyMyw4IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRWaWRl
b1NpbmtTdGFydChHc3RCYXNlU2luayogYmFzZVNpbmspCiB7CiAgICAgV2ViS2l0VmlkZW9TaW5r
UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9WSURFT19TSU5LKGJhc2VTaW5rKS0+cHJpdjsKIAotICAg
IGdfbXV0ZXhfbG9jayhwcml2LT5idWZmZXJNdXRleCk7CisgICAgR011dGV4TG9ja2VyIGxvY2so
cHJpdi0+YnVmZmVyTXV0ZXgpOwogICAgIHByaXYtPnVubG9ja2VkID0gZmFsc2U7Ci0gICAgZ19t
dXRleF91bmxvY2socHJpdi0+YnVmZmVyTXV0ZXgpOwogICAgIHJldHVybiBUUlVFOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>