<?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>25597</bug_id>
          
          <creation_ts>2009-05-06 14:32:09 -0700</creation_ts>
          <short_desc>In prepartion for enabling VIDEO, fixing some API drift that caused this code to no longer compiler.</short_desc>
          <delta_ts>2009-05-06 15:56:22 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Albert J. Wong">ajwong</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>fishd</cc>
    
    <cc>scherkus</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120152</commentid>
    <comment_count>0</comment_count>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:32:09 -0700</bug_when>
    <thetext>In preparation for enabling the VIDEO tag in chromium for Mac, there were some compilation errors found in the #ifdef&apos;ed segment of code for rendering media controls.  This patch shores up the API drift.

Note that the copying of MediaControllerThemeStyle from RenderThemeMac.mm is a temporary fix until we can settle on the look/feel of the media controls on Mac.  For now, this is just to get us building and displaying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120153</commentid>
    <comment_count>1</comment_count>
      <attachid>30065</attachid>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:33:22 -0700</bug_when>
    <thetext>Created attachment 30065
Fix some API drift that occurred while this code was ifdefed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120154</commentid>
    <comment_count>2</comment_count>
      <attachid>30065</attachid>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:34:08 -0700</bug_when>
    <thetext>Comment on attachment 30065
Fix some API drift that occurred while this code was ifdefed out.

gha...wrong patch uploaded. uploading the one with the changelog in a sec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120155</commentid>
    <comment_count>3</comment_count>
      <attachid>30066</attachid>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:37:05 -0700</bug_when>
    <thetext>Created attachment 30066
Fix some API drift that occurred while this code was ifdefed out.

This one has the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120156</commentid>
    <comment_count>4</comment_count>
      <attachid>30066</attachid>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:38:39 -0700</bug_when>
    <thetext>Comment on attachment 30066
Fix some API drift that occurred while this code was ifdefed out.

&gt;diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt;index f4cc242..8035487 100644
&gt;--- a/WebCore/ChangeLog
&gt;+++ b/WebCore/ChangeLog
&gt;@@ -1,3 +1,18 @@
&gt;+2009-05-06  Albert J. Wong  &lt;ajwong@chromium.org&gt;
&gt;+
&gt;+        Reviewed by NOBODY (OOPS!).
&gt;+
&gt;+        https://bugs.webkit.org/show_bug.cgi?id=25597
&gt;+        Fix API drift compile errors that occurred while this was ifdef-ed out.
&gt;+
&gt;+        * rendering/RenderThemeChromiumMac.mm:
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
&gt;+        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
&gt;+
&gt; 2009-05-06  Hin-Chung Lam  &lt;hclam@chromium.org&gt;
&gt; 
&gt;         Reviewed by Darin Fisher.
&gt;diff --git a/WebCore/rendering/RenderThemeChromiumMac.mm b/WebCore/rendering/RenderThemeChromiumMac.mm
&gt;index 61bc9eb..56c07de 100644
&gt;--- a/WebCore/rendering/RenderThemeChromiumMac.mm
&gt;+++ b/WebCore/rendering/RenderThemeChromiumMac.mm
&gt;@@ -1779,15 +1779,23 @@ bool RenderThemeChromiumMac::paintSearchFieldResultsButton(RenderObject* o, cons
&gt;     return false;
&gt; }
&gt; 
&gt;+#if ENABLE(VIDEO)
&gt;+// FIXME: This enum is lifted from RenderThemeMac.mm  We need to decide which theme to use for the default controls, or decide to avoid wkDrawMediaUIPart and render our own.
&gt;+typedef enum {
&gt;+    MediaControllerThemeClassic   = 1,
&gt;+    MediaControllerThemeQT        = 2
&gt;+} MediaControllerThemeStyle;
&gt;+#endif
&gt;+
&gt; bool RenderThemeChromiumMac::paintMediaFullscreenButton(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     if (!node)
&gt;         return false;
&gt; 
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(MediaFullscreenButton, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(MediaFullscreenButton, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1795,7 +1803,7 @@ bool RenderThemeChromiumMac::paintMediaFullscreenButton(RenderObject* o, const R
&gt; bool RenderThemeChromiumMac::paintMediaMuteButton(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     Node* mediaNode = node ? node-&gt;shadowAncestorNode() : 0;
&gt;     if (!mediaNode || (!mediaNode-&gt;hasTagName(videoTag) &amp;&amp; !mediaNode-&gt;hasTagName(audioTag)))
&gt;         return false;
&gt;@@ -1805,7 +1813,7 @@ bool RenderThemeChromiumMac::paintMediaMuteButton(RenderObject* o, const RenderO
&gt;         return false;
&gt;     
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(mediaElement-&gt;muted() ? MediaUnMuteButton : MediaMuteButton, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(mediaElement-&gt;muted() ? MediaUnMuteButton : MediaMuteButton, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1813,7 +1821,7 @@ bool RenderThemeChromiumMac::paintMediaMuteButton(RenderObject* o, const RenderO
&gt; bool RenderThemeChromiumMac::paintMediaPlayButton(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     Node* mediaNode = node ? node-&gt;shadowAncestorNode() : 0;
&gt;     if (!mediaNode || (!mediaNode-&gt;hasTagName(videoTag) &amp;&amp; !mediaNode-&gt;hasTagName(audioTag)))
&gt;         return false;
&gt;@@ -1823,7 +1831,7 @@ bool RenderThemeChromiumMac::paintMediaPlayButton(RenderObject* o, const RenderO
&gt;         return false;
&gt; 
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(mediaElement-&gt;canPlay() ? MediaPlayButton : MediaPauseButton, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(mediaElement-&gt;canPlay() ? MediaPlayButton : MediaPauseButton, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1831,12 +1839,12 @@ bool RenderThemeChromiumMac::paintMediaPlayButton(RenderObject* o, const RenderO
&gt; bool RenderThemeChromiumMac::paintMediaSeekBackButton(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     if (!node)
&gt;         return false;
&gt; 
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(MediaSeekBackButton, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(MediaSeekBackButton, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1844,12 +1852,12 @@ bool RenderThemeChromiumMac::paintMediaSeekBackButton(RenderObject* o, const Ren
&gt; bool RenderThemeChromiumMac::paintMediaSeekForwardButton(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     if (!node)
&gt;         return false;
&gt; 
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(MediaSeekForwardButton, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(MediaSeekForwardButton, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1857,7 +1865,7 @@ bool RenderThemeChromiumMac::paintMediaSeekForwardButton(RenderObject* o, const
&gt; bool RenderThemeChromiumMac::paintMediaSliderTrack(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     Node* mediaNode = node ? node-&gt;shadowAncestorNode() : 0;
&gt;     if (!mediaNode || (!mediaNode-&gt;hasTagName(videoTag) &amp;&amp; !mediaNode-&gt;hasTagName(audioTag)))
&gt;         return false;
&gt;@@ -1875,7 +1883,7 @@ bool RenderThemeChromiumMac::paintMediaSliderTrack(RenderObject* o, const Render
&gt;         currentTime = player-&gt;currentTime();
&gt;     }
&gt; 
&gt;-    wkDrawMediaSliderTrack(paintInfo.context-&gt;platformContext(), r, timeLoaded, currentTime, duration);
&gt;+    wkDrawMediaSliderTrack(MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, timeLoaded, currentTime, duration);
&gt; #endif
&gt;     return false;
&gt; }
&gt;@@ -1883,12 +1891,12 @@ bool RenderThemeChromiumMac::paintMediaSliderTrack(RenderObject* o, const Render
&gt; bool RenderThemeChromiumMac::paintMediaSliderThumb(RenderObject* o, const RenderObject::PaintInfo&amp; paintInfo, const IntRect&amp; r)
&gt; {
&gt; #if ENABLE(VIDEO)
&gt;-    Node* node = o-&gt;element();
&gt;+    Node* node = o-&gt;node();
&gt;     if (!node)
&gt;         return false;
&gt; 
&gt;     LocalCurrentGraphicsContext localContext(paintInfo.context);
&gt;-    wkDrawMediaUIPart(MediaSliderThumb, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt;+    wkDrawMediaUIPart(MediaSliderThumb, MediaControllerThemeClassic, paintInfo.context-&gt;platformContext(), r, node-&gt;active());
&gt; #endif
&gt;     return false;
&gt; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120161</commentid>
    <comment_count>5</comment_count>
      <attachid>30068</attachid>
    <who name="Albert J. Wong">ajwong</who>
    <bug_when>2009-05-06 14:52:34 -0700</bug_when>
    <thetext>Created attachment 30068
Fix some API drift that occurred while this code was ifdefed out -- now with correct ChangeLog!

this time for sure!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120172</commentid>
    <comment_count>6</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-06 15:49:51 -0700</bug_when>
    <thetext>Assigned to levin for landing.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120174</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-06 15:56:22 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/43329</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30065</attachid>
            <date>2009-05-06 14:33:22 -0700</date>
            <delta_ts>2009-05-06 14:34:08 -0700</delta_ts>
            <desc>Fix some API drift that occurred while this code was ifdefed out.</desc>
            <filename>rendertheme.path</filename>
            <type>text/plain</type>
            <size>6341</size>
            <attacher name="Albert J. Wong">ajwong</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0g
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCmluZGV4IDYxYmM5
ZWIuLjU2YzA3ZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hy
b21pdW1NYWMubW0KKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1h
Yy5tbQpAQCAtMTc3OSwxNSArMTc3OSwyMyBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29ucwogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShWSURFTykKKy8vIEZJWE1FOiBUaGlzIGVu
dW0gaXMgbGlmdGVkIGZyb20gUmVuZGVyVGhlbWVNYWMubW0gIFdlIG5lZWQgdG8gZGVjaWRlIHdo
aWNoIHRoZW1lIHRvIHVzZSBmb3IgdGhlIGRlZmF1bHQgY29udHJvbHMsIG9yIGRlY2lkZSB0byBh
dm9pZCB3a0RyYXdNZWRpYVVJUGFydCBhbmQgcmVuZGVyIG91ciBvd24uCit0eXBlZGVmIGVudW0g
eworICAgIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYyAgID0gMSwKKyAgICBNZWRpYUNvbnRy
b2xsZXJUaGVtZVFUICAgICAgICA9IDIKK30gTWVkaWFDb250cm9sbGVyVGhlbWVTdHlsZTsKKyNl
bmRpZgorCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVu
QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgTm9k
ZSogbm9kZSA9IG8tPmVsZW1lbnQoKTsKKyAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwogICAg
IGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgTG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCk7Ci0gICAgd2tEcmF3
TWVkaWFVSVBhcnQoTWVkaWFGdWxsc2NyZWVuQnV0dG9uLCBwYWludEluZm8uY29udGV4dC0+cGxh
dGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFy
dChNZWRpYUZ1bGxzY3JlZW5CdXR0b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFp
bnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUoKSk7CiAj
ZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xNzk1LDcgKzE4MDMsNyBAQCBib29sIFJl
bmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9i
amVjdCogbywgY29uc3QgUgogYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlh
TXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAg
IE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsK
ICAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCkg
OiAwOwogICAgIGlmICghbWVkaWFOb2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdOYW1lKHZpZGVv
VGFnKSAmJiAhbWVkaWFOb2RlLT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTE4MDUsNyArMTgxMyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1h
Yzo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdNZWRpYVVJUGFy
dChtZWRpYUVsZW1lbnQtPm11dGVkKCkgPyBNZWRpYVVuTXV0ZUJ1dHRvbiA6IE1lZGlhTXV0ZUJ1
dHRvbiwgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3Rp
dmUoKSk7CisgICAgd2tEcmF3TWVkaWFVSVBhcnQobWVkaWFFbGVtZW50LT5tdXRlZCgpID8gTWVk
aWFVbk11dGVCdXR0b24gOiBNZWRpYU11dGVCdXR0b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xh
c3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3Rp
dmUoKSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODEzLDcgKzE4MjEsNyBA
QCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRl
ck9iamVjdCogbywgY29uc3QgUmVuZGVyTwogYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpw
YWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJ
REVPKQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8t
Pm5vZGUoKTsKICAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93QW5jZXN0
b3JOb2RlKCkgOiAwOwogICAgIGlmICghbWVkaWFOb2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdO
YW1lKHZpZGVvVGFnKSAmJiAhbWVkaWFOb2RlLT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTE4MjMsNyArMTgzMSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYzo6cGFpbnRNZWRpYVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBS
ZW5kZXJPCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlh
VUlQYXJ0KG1lZGlhRWxlbWVudC0+Y2FuUGxheSgpID8gTWVkaWFQbGF5QnV0dG9uIDogTWVkaWFQ
YXVzZUJ1dHRvbiwgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2Rl
LT5hY3RpdmUoKSk7CisgICAgd2tEcmF3TWVkaWFVSVBhcnQobWVkaWFFbGVtZW50LT5jYW5QbGF5
KCkgPyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNlQnV0dG9uLCBNZWRpYUNvbnRyb2xsZXJU
aGVtZUNsYXNzaWMsIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9k
ZS0+YWN0aXZlKCkpOwogI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMTgzMSwxMiAr
MTgzOSwxMiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFQbGF5QnV0
dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyTwogYm9vbCBSZW5kZXJUaGVtZUNocm9t
aXVtTWFjOjpwYWludE1lZGlhU2Vla0JhY2tCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewog
I2lmIEVOQUJMRShWSURFTykKLSAgICBOb2RlKiBub2RlID0gby0+ZWxlbWVudCgpOworICAgIE5v
ZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50
SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYVNlZWtCYWNrQnV0dG9u
LCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgp
KTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYVNlZWtCYWNrQnV0dG9uLCBNZWRpYUNvbnRy
b2xsZXJUaGVtZUNsYXNzaWMsIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwg
ciwgbm9kZS0+YWN0aXZlKCkpOwogI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMTg0
NCwxMiArMTg1MiwxMiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFT
ZWVrQmFja0J1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbgogYm9vbCBSZW5kZXJUaGVt
ZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2Vla0ZvcndhcmRCdXR0b24oUmVuZGVyT2JqZWN0KiBv
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0
JiByKQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBOb2RlKiBub2RlID0gby0+ZWxlbWVudCgp
OworICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250
ZXh0KHBhaW50SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYVNlZWtG
b3J3YXJkQnV0dG9uLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5v
ZGUtPmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYVNlZWtGb3J3YXJkQnV0
dG9uLCBNZWRpYUNvbnRyb2xsZXJUaGVtZUNsYXNzaWMsIHBhaW50SW5mby5jb250ZXh0LT5wbGF0
Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOwogI2VuZGlmCiAgICAgcmV0dXJuIGZh
bHNlOwogfQpAQCAtMTg1Nyw3ICsxODY1LDcgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFj
OjpwYWludE1lZGlhU2Vla0ZvcndhcmRCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdAogYm9v
bCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2xpZGVyVHJhY2soUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJ
bnRSZWN0JiByKQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBOb2RlKiBub2RlID0gby0+ZWxl
bWVudCgpOworICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgTm9kZSogbWVkaWFOb2Rl
ID0gbm9kZSA/IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpIDogMDsKICAgICBpZiAoIW1lZGlh
Tm9kZSB8fCAoIW1lZGlhTm9kZS0+aGFzVGFnTmFtZSh2aWRlb1RhZykgJiYgIW1lZGlhTm9kZS0+
aGFzVGFnTmFtZShhdWRpb1RhZykpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xODc1LDcg
KzE4ODMsNyBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTbGlkZXJU
cmFjayhSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlcgogICAgICAgICBjdXJyZW50VGltZSA9
IHBsYXllci0+Y3VycmVudFRpbWUoKTsKICAgICB9CiAKLSAgICB3a0RyYXdNZWRpYVNsaWRlclRy
YWNrKHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgdGltZUxvYWRlZCwg
Y3VycmVudFRpbWUsIGR1cmF0aW9uKTsKKyAgICB3a0RyYXdNZWRpYVNsaWRlclRyYWNrKE1lZGlh
Q29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4
dCgpLCByLCB0aW1lTG9hZGVkLCBjdXJyZW50VGltZSwgZHVyYXRpb24pOwogI2VuZGlmCiAgICAg
cmV0dXJuIGZhbHNlOwogfQpAQCAtMTg4MywxMiArMTg5MSwxMiBAQCBib29sIFJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OnBhaW50TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqIG8sIGNvbnN0
IFJlbmRlcgogYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2xpZGVyVGh1
bWIoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBOb2RlKiBu
b2RlID0gby0+ZWxlbWVudCgpOworICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgaWYg
KCFub2RlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdNZWRp
YVVJUGFydChNZWRpYVNsaWRlclRodW1iLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250
ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYVNs
aWRlclRodW1iLCBNZWRpYUNvbnRyb2xsZXJUaGVtZUNsYXNzaWMsIHBhaW50SW5mby5jb250ZXh0
LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOwogI2VuZGlmCiAgICAgcmV0
dXJuIGZhbHNlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30066</attachid>
            <date>2009-05-06 14:37:05 -0700</date>
            <delta_ts>2009-05-06 14:52:34 -0700</delta_ts>
            <desc>Fix some API drift that occurred while this code was ifdefed out.</desc>
            <filename>rendertheme.path</filename>
            <type>text/plain</type>
            <size>7279</size>
            <attacher name="Albert J. Wong">ajwong</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjRjYzI0Mi4uODAzNTQ4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wNS0wNiAgQWxiZXJ0IEouIFdv
bmcgIDxhandvbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeCBBUEkgZHJpZnQgY29tcGlsZSBlcnJvcnMgdGhhdCBvY2N1
cnJlZCB3aGlsZSB0aGlzIHdhcyBpZmRlZi1lZCBvdXQuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFQbGF5QnV0dG9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFT
ZWVrQmFja0J1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFj
OjpwYWludE1lZGlhU2Vla0ZvcndhcmRCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisKIDIw
MDktMDUtMDYgIEhpbi1DaHVuZyBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbSBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1NYWMubW0KaW5kZXggNjFiYzllYi4uNTZjMDdkZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbQorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC0xNzc5LDE1ICsxNzc5LDIzIEBAIGJv
b2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24o
UmVuZGVyT2JqZWN0KiBvLCBjb25zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxF
KFZJREVPKQorLy8gRklYTUU6IFRoaXMgZW51bSBpcyBsaWZ0ZWQgZnJvbSBSZW5kZXJUaGVtZU1h
Yy5tbSAgV2UgbmVlZCB0byBkZWNpZGUgd2hpY2ggdGhlbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVs
dCBjb250cm9scywgb3IgZGVjaWRlIHRvIGF2b2lkIHdrRHJhd01lZGlhVUlQYXJ0IGFuZCByZW5k
ZXIgb3VyIG93bi4KK3R5cGVkZWYgZW51bSB7CisgICAgTWVkaWFDb250cm9sbGVyVGhlbWVDbGFz
c2ljICAgPSAxLAorICAgIE1lZGlhQ29udHJvbGxlclRoZW1lUVQgICAgICAgID0gMgorfSBNZWRp
YUNvbnRyb2xsZXJUaGVtZVN0eWxlOworI2VuZGlmCisKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYzo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewog
I2lmIEVOQUJMRShWSURFTykKLSAgICBOb2RlKiBub2RlID0gby0+ZWxlbWVudCgpOworICAgIE5v
ZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50
SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdNZWRpYVVJUGFydChNZWRpYUZ1bGxzY3JlZW5CdXR0
b24sIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZl
KCkpOworICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhRnVsbHNjcmVlbkJ1dHRvbiwgTWVkaWFD
b250cm9sbGVyVGhlbWVDbGFzc2ljLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KQEAg
LTE3OTUsNyArMTgwMyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRp
YUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSCiBib29sIFJlbmRlclRo
ZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikK
IHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgTm9kZSogbm9kZSA9IG8tPmVsZW1lbnQoKTsKKyAg
ICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwogICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUgPyBu
b2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgKCFt
ZWRpYU5vZGUtPmhhc1RhZ05hbWUodmlkZW9UYWcpICYmICFtZWRpYU5vZGUtPmhhc1RhZ05hbWUo
YXVkaW9UYWcpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTgwNSw3ICsxODEzLDcgQEAg
Ym9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJP
YmplY3QqIG8sIGNvbnN0IFJlbmRlck8KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAg
IExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRl
eHQpOwotICAgIHdrRHJhd01lZGlhVUlQYXJ0KG1lZGlhRWxlbWVudC0+bXV0ZWQoKSA/IE1lZGlh
VW5NdXRlQnV0dG9uIDogTWVkaWFNdXRlQnV0dG9uLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydCht
ZWRpYUVsZW1lbnQtPm11dGVkKCkgPyBNZWRpYVVuTXV0ZUJ1dHRvbiA6IE1lZGlhTXV0ZUJ1dHRv
biwgTWVkaWFDb250cm9sbGVyVGhlbWVDbGFzc2ljLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKICNlbmRpZgogICAgIHJldHVybiBmYWxz
ZTsKIH0KQEAgLTE4MTMsNyArMTgyMSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6
cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPCiBib29s
IFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVj
dCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50
UmVjdCYgcikKIHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAgTm9kZSogbm9kZSA9IG8tPmVsZW1l
bnQoKTsKKyAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwogICAgIE5vZGUqIG1lZGlhTm9kZSA9
IG5vZGUgPyBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7CiAgICAgaWYgKCFtZWRpYU5v
ZGUgfHwgKCFtZWRpYU5vZGUtPmhhc1RhZ05hbWUodmlkZW9UYWcpICYmICFtZWRpYU5vZGUtPmhh
c1RhZ05hbWUoYXVkaW9UYWcpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTgyMyw3ICsx
ODMxLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhUGxheUJ1dHRv
bihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck8KICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8u
Y29udGV4dCk7Ci0gICAgd2tEcmF3TWVkaWFVSVBhcnQobWVkaWFFbGVtZW50LT5jYW5QbGF5KCkg
PyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNlQnV0dG9uLCBwYWludEluZm8uY29udGV4dC0+
cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJ
UGFydChtZWRpYUVsZW1lbnQtPmNhblBsYXkoKSA/IE1lZGlhUGxheUJ1dHRvbiA6IE1lZGlhUGF1
c2VCdXR0b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQt
PnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1
cm4gZmFsc2U7CiB9CkBAIC0xODMxLDEyICsxODM5LDEyIEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYzo6cGFpbnRNZWRpYVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5k
ZXJPCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTZWVrQmFja0J1dHRv
bihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5v
ZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAo
IW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlh
VUlQYXJ0KE1lZGlhU2Vla0JhY2tCdXR0b24sIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOworICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlh
U2Vla0JhY2tCdXR0b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNv
bnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUoKSk7CiAjZW5kaWYKICAg
ICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODQ0LDEyICsxODUyLDEyIEBAIGJvb2wgUmVuZGVyVGhl
bWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNlZWtCYWNrQnV0dG9uKFJlbmRlck9iamVjdCogbywg
Y29uc3QgUmVuCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTZWVrRm9y
d2FyZEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAg
IE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdr
RHJhd01lZGlhVUlQYXJ0KE1lZGlhU2Vla0ZvcndhcmRCdXR0b24sIHBhaW50SW5mby5jb250ZXh0
LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOworICAgIHdrRHJhd01lZGlh
VUlQYXJ0KE1lZGlhU2Vla0ZvcndhcmRCdXR0b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3Np
YywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUo
KSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODU3LDcgKzE4NjUsNyBAQCBi
b29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihS
ZW5kZXJPYmplY3QqIG8sIGNvbnN0CiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50
TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVP
KQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5v
ZGUoKTsKICAgICBOb2RlKiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93QW5jZXN0b3JO
b2RlKCkgOiAwOwogICAgIGlmICghbWVkaWFOb2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdOYW1l
KHZpZGVvVGFnKSAmJiAhbWVkaWFOb2RlLT5oYXNUYWdOYW1lKGF1ZGlvVGFnKSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTE4NzUsNyArMTg4Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVu
ZGVyCiAgICAgICAgIGN1cnJlbnRUaW1lID0gcGxheWVyLT5jdXJyZW50VGltZSgpOwogICAgIH0K
IAotICAgIHdrRHJhd01lZGlhU2xpZGVyVHJhY2socGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3Jt
Q29udGV4dCgpLCByLCB0aW1lTG9hZGVkLCBjdXJyZW50VGltZSwgZHVyYXRpb24pOworICAgIHdr
RHJhd01lZGlhU2xpZGVyVHJhY2soTWVkaWFDb250cm9sbGVyVGhlbWVDbGFzc2ljLCBwYWludElu
Zm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIHRpbWVMb2FkZWQsIGN1cnJlbnRUaW1l
LCBkdXJhdGlvbik7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODgzLDEyICsx
ODkxLDEyIEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRy
YWNrKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyCiBib29sIFJlbmRlclRoZW1lQ2hyb21p
dW1NYWM6OnBhaW50TWVkaWFTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRl
ck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYg
RU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSog
bm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZv
LmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2xpZGVyVGh1bWIsIHBhaW50
SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOworICAg
IHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2xpZGVyVGh1bWIsIE1lZGlhQ29udHJvbGxlclRoZW1l
Q2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5h
Y3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30068</attachid>
            <date>2009-05-06 14:52:34 -0700</date>
            <delta_ts>2009-05-06 14:55:34 -0700</delta_ts>
            <desc>Fix some API drift that occurred while this code was ifdefed out -- now with correct ChangeLog!</desc>
            <filename>rendertheme.path</filename>
            <type>text/plain</type>
            <size>7537</size>
            <attacher name="Albert J. Wong">ajwong</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjRjYzI0Mi4uMWZhZGFmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wNS0wNiAgQWxiZXJ0IEouIFdv
bmcgIDxhandvbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTU5NworICAgICAgICBGaXggQVBJIGRyaWZ0IGNvbXBpbGUgZXJyb3JzIHRoYXQgb2NjdXJy
ZWQgd2hpbGUgdGhpcyB3YXMgaWZkZWYtZWQgb3V0LgorICAgICAgICBUaGUgdHdvIGJpZyBpc3N1
ZXMgd2VyZSB0aGF0IFJlbmRlck9iamVjdDo6ZWxlbWVudCgpIGJlY2FtZQorICAgICAgICBSZW5k
ZXJPYmplY3Q6Om5vZGUoKSBhbmQgc29tZSBvZiB0aGUgd2sqIGRyYXdpbmcgZnVuY3Rpb25zIGhh
ZAorICAgICAgICBhbiBleHRyYSB0aGVtZSBwYXJhbWV0ZXIgYWRkZWQgdG8gdGhlIGFyZ3VtZW50
IGxpc3QuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxs
c2NyZWVuQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hy
b21pdW1NYWM6OnBhaW50TWVkaWFQbGF5QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTZWVrQmFja0J1dHRvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2Vla0ZvcndhcmRCdXR0
b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRp
YVNsaWRlclRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisKIDIwMDktMDUtMDYgIEhpbi1DaHVuZyBMYW0gIDxo
Y2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbSBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggNjFiYzll
Yi4uNTZjMDdkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYy5tbQorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFj
Lm1tCkBAIC0xNzc5LDE1ICsxNzc5LDIzIEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6
cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKFZJREVPKQorLy8gRklYTUU6IFRoaXMgZW51
bSBpcyBsaWZ0ZWQgZnJvbSBSZW5kZXJUaGVtZU1hYy5tbSAgV2UgbmVlZCB0byBkZWNpZGUgd2hp
Y2ggdGhlbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBjb250cm9scywgb3IgZGVjaWRlIHRvIGF2
b2lkIHdrRHJhd01lZGlhVUlQYXJ0IGFuZCByZW5kZXIgb3VyIG93bi4KK3R5cGVkZWYgZW51bSB7
CisgICAgTWVkaWFDb250cm9sbGVyVGhlbWVDbGFzc2ljICAgPSAxLAorICAgIE1lZGlhQ29udHJv
bGxlclRoZW1lUVQgICAgICAgID0gMgorfSBNZWRpYUNvbnRyb2xsZXJUaGVtZVN0eWxlOworI2Vu
ZGlmCisKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5C
dXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByKQogewogI2lmIEVOQUJMRShWSURFTykKLSAgICBOb2Rl
KiBub2RlID0gby0+ZWxlbWVudCgpOworICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAg
aWYgKCFub2RlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBMb2NhbEN1cnJlbnRHcmFw
aGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KTsKLSAgICB3a0RyYXdN
ZWRpYVVJUGFydChNZWRpYUZ1bGxzY3JlZW5CdXR0b24sIHBhaW50SW5mby5jb250ZXh0LT5wbGF0
Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOworICAgIHdrRHJhd01lZGlhVUlQYXJ0
KE1lZGlhRnVsbHNjcmVlbkJ1dHRvbiwgTWVkaWFDb250cm9sbGVyVGhlbWVDbGFzc2ljLCBwYWlu
dEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2ZSgpKTsKICNl
bmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTE3OTUsNyArMTgwMyw3IEBAIGJvb2wgUmVu
ZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBSCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFN
dXRlQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsKICNpZiBFTkFCTEUoVklERU8pCi0gICAg
Tm9kZSogbm9kZSA9IG8tPmVsZW1lbnQoKTsKKyAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwog
ICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUgPyBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6
IDA7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgKCFtZWRpYU5vZGUtPmhhc1RhZ05hbWUodmlkZW9U
YWcpICYmICFtZWRpYU5vZGUtPmhhc1RhZ05hbWUoYXVkaW9UYWcpKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMTgwNSw3ICsxODEzLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFj
OjpwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck8KICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlhVUlQYXJ0
KG1lZGlhRWxlbWVudC0+bXV0ZWQoKSA/IE1lZGlhVW5NdXRlQnV0dG9uIDogTWVkaWFNdXRlQnV0
dG9uLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2
ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydChtZWRpYUVsZW1lbnQtPm11dGVkKCkgPyBNZWRp
YVVuTXV0ZUJ1dHRvbiA6IE1lZGlhTXV0ZUJ1dHRvbiwgTWVkaWFDb250cm9sbGVyVGhlbWVDbGFz
c2ljLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUtPmFjdGl2
ZSgpKTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTE4MTMsNyArMTgyMSw3IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVy
T2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBh
aW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsKICNpZiBFTkFCTEUoVklE
RU8pCi0gICAgTm9kZSogbm9kZSA9IG8tPmVsZW1lbnQoKTsKKyAgICBOb2RlKiBub2RlID0gby0+
bm9kZSgpOwogICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5vZGUgPyBub2RlLT5zaGFkb3dBbmNlc3Rv
ck5vZGUoKSA6IDA7CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgKCFtZWRpYU5vZGUtPmhhc1RhZ05h
bWUodmlkZW9UYWcpICYmICFtZWRpYU5vZGUtPmhhc1RhZ05hbWUoYXVkaW9UYWcpKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMTgyMyw3ICsxODMxLDcgQEAgYm9vbCBSZW5kZXJUaGVtZUNo
cm9taXVtTWFjOjpwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJl
bmRlck8KICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCk7Ci0gICAgd2tEcmF3TWVkaWFV
SVBhcnQobWVkaWFFbGVtZW50LT5jYW5QbGF5KCkgPyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBh
dXNlQnV0dG9uLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHIsIG5vZGUt
PmFjdGl2ZSgpKTsKKyAgICB3a0RyYXdNZWRpYVVJUGFydChtZWRpYUVsZW1lbnQtPmNhblBsYXko
KSA/IE1lZGlhUGxheUJ1dHRvbiA6IE1lZGlhUGF1c2VCdXR0b24sIE1lZGlhQ29udHJvbGxlclRo
ZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2Rl
LT5hY3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODMxLDEyICsx
ODM5LDEyIEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVBsYXlCdXR0
b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPCiBib29sIFJlbmRlclRoZW1lQ2hyb21p
dW1NYWM6OnBhaW50TWVkaWFTZWVrQmFja0J1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJl
bmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAj
aWYgRU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9k
ZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJ
bmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2Vla0JhY2tCdXR0b24s
IHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9kZS0+YWN0aXZlKCkp
OworICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2Vla0JhY2tCdXR0b24sIE1lZGlhQ29udHJv
bGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCBy
LCBub2RlLT5hY3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0xODQ0
LDEyICsxODUyLDEyIEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNl
ZWtCYWNrQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuCiBib29sIFJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OnBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihSZW5kZXJPYmplY3QqIG8s
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3Qm
IHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVtZW50KCk7
CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRl
eHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2Vla0Zv
cndhcmRCdXR0b24sIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgciwgbm9k
ZS0+YWN0aXZlKCkpOworICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2Vla0ZvcndhcmRCdXR0
b24sIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQtPnBsYXRm
b3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFs
c2U7CiB9CkBAIC0xODU3LDcgKzE4NjUsNyBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0CiBib29s
IFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmpl
Y3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IElu
dFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5vZGUgPSBvLT5lbGVt
ZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBOb2RlKiBtZWRpYU5vZGUg
PSBub2RlID8gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCkgOiAwOwogICAgIGlmICghbWVkaWFO
b2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdOYW1lKHZpZGVvVGFnKSAmJiAhbWVkaWFOb2RlLT5o
YXNUYWdOYW1lKGF1ZGlvVGFnKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE4NzUsNyAr
MTg4Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRy
YWNrKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyCiAgICAgICAgIGN1cnJlbnRUaW1lID0g
cGxheWVyLT5jdXJyZW50VGltZSgpOwogICAgIH0KIAotICAgIHdrRHJhd01lZGlhU2xpZGVyVHJh
Y2socGFpbnRJbmZvLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByLCB0aW1lTG9hZGVkLCBj
dXJyZW50VGltZSwgZHVyYXRpb24pOworICAgIHdrRHJhd01lZGlhU2xpZGVyVHJhY2soTWVkaWFD
b250cm9sbGVyVGhlbWVDbGFzc2ljLCBwYWludEluZm8uY29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCksIHIsIHRpbWVMb2FkZWQsIGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7CiAjZW5kaWYKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CkBAIC0xODgzLDEyICsxODkxLDEyIEBAIGJvb2wgUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCogbywgY29uc3Qg
UmVuZGVyCiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFTbGlkZXJUaHVt
YihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQotICAgIE5vZGUqIG5v
ZGUgPSBvLT5lbGVtZW50KCk7CisgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAo
IW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHdrRHJhd01lZGlh
VUlQYXJ0KE1lZGlhU2xpZGVyVGh1bWIsIHBhaW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRl
eHQoKSwgciwgbm9kZS0+YWN0aXZlKCkpOworICAgIHdrRHJhd01lZGlhVUlQYXJ0KE1lZGlhU2xp
ZGVyVGh1bWIsIE1lZGlhQ29udHJvbGxlclRoZW1lQ2xhc3NpYywgcGFpbnRJbmZvLmNvbnRleHQt
PnBsYXRmb3JtQ29udGV4dCgpLCByLCBub2RlLT5hY3RpdmUoKSk7CiAjZW5kaWYKICAgICByZXR1
cm4gZmFsc2U7CiB9Cg==
</data>
<flag name="review"
          id="15095"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>