<?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>60561</bug_id>
          
          <creation_ts>2011-05-10 10:54:43 -0700</creation_ts>
          <short_desc>[Qt] Implements a disable appearance for Media Elements of Qt port.</short_desc>
          <delta_ts>2011-05-16 14:03:12 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>401338</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-10 10:54:43 -0700</bug_when>
    <thetext>[Qt] Implements a disable appearance for Media Elements of Qt port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401343</commentid>
    <comment_count>1</comment_count>
      <attachid>92984</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-10 10:58:20 -0700</bug_when>
    <thetext>Created attachment 92984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401345</commentid>
    <comment_count>2</comment_count>
      <attachid>92984</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-10 11:02:26 -0700</bug_when>
    <thetext>Comment on attachment 92984
Patch

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

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1228
&gt; +        fgColor = Qt::gray;

I could have used platformInactiveSelectionForegroundColor or platformInactiveSelectionBackgroundColor but they really look crap on my Linux KDE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401371</commentid>
    <comment_count>3</comment_count>
      <attachid>92984</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-05-10 11:28:56 -0700</bug_when>
    <thetext>Comment on attachment 92984
Patch

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

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1227
&gt; +    if (mediaElement &amp;&amp; (!hasSource(mediaElement) || !mediaElement-&gt;hasAudio()))

Do you really want paint the thumb as disabled if the element has no audio track?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401378</commentid>
    <comment_count>4</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-10 11:36:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 92984 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92984&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1227
&gt; &gt; +    if (mediaElement &amp;&amp; (!hasSource(mediaElement) || !mediaElement-&gt;hasAudio()))
&gt; 
&gt; Do you really want paint the thumb as disabled if the element has no audio track?

Should I check instead if maxTimeSeekable &gt; 0 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401382</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-05-10 11:39:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 92984 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92984&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1227
&gt; &gt; &gt; +    if (mediaElement &amp;&amp; (!hasSource(mediaElement) || !mediaElement-&gt;hasAudio()))
&gt; &gt; 
&gt; &gt; Do you really want paint the thumb as disabled if the element has no audio track?
&gt; 
&gt; Should I check instead if maxTimeSeekable &gt; 0 ?

It depends entirely on what you are trying to accomplish. If you want to make it look like seeking is disabled when a file has video but no audio, the current code is probably fine.

How are you hoping to help the user with this UI change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401407</commentid>
    <comment_count>6</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-10 12:05:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (From update of attachment 92984 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92984&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1227
&gt; &gt; &gt; &gt; +    if (mediaElement &amp;&amp; (!hasSource(mediaElement) || !mediaElement-&gt;hasAudio()))
&gt; &gt; &gt; 
&gt; &gt; &gt; Do you really want paint the thumb as disabled if the element has no audio track?
&gt; &gt; 
&gt; &gt; Should I check instead if maxTimeSeekable &gt; 0 ?
&gt; 
&gt; It depends entirely on what you are trying to accomplish. If you want to make it look like seeking is disabled when a file has video but no audio, the current code is probably fine.
&gt; 
&gt; How are you hoping to help the user with this UI change?

What I&apos;m trying to achieve is that when we don&apos;t have yet meta-data, no source basically we&apos;re not able to play the video, the controls will look disabled. As soon as data comes in then they look active again. If you have Chromium you&apos;ll see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401964</commentid>
    <comment_count>7</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-05-11 07:37:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; &gt; (From update of attachment 92984 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92984&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1227
&gt; &gt; &gt; &gt; &gt; +    if (mediaElement &amp;&amp; (!hasSource(mediaElement) || !mediaElement-&gt;hasAudio()))
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Do you really want paint the thumb as disabled if the element has no audio track?
&gt; &gt; &gt; 
&gt; &gt; &gt; Should I check instead if maxTimeSeekable &gt; 0 ?
&gt; &gt; 
&gt; &gt; It depends entirely on what you are trying to accomplish. If you want to make it look like seeking is disabled when a file has video but no audio, the current code is probably fine.
&gt; &gt; 
&gt; &gt; How are you hoping to help the user with this UI change?
&gt; 
&gt; What I&apos;m trying to achieve is that when we don&apos;t have yet meta-data, no source basically we&apos;re not able to play the video, the controls will look disabled. As soon as data comes in then they look active again. If you have Chromium you&apos;ll see.


How about we use the readyState:

 - HAVE_NOTHING: If preload is none, draw play-button i normal color (so the user can initiate load), everything else disabled. If preload is not none (metadata or auto), draw everything disabled, until....
 - HAVE_METADATA: start drawing play-button using normal colors regardless, same goes for other controls, unless you want to delay them to HAVE_CURRENT_DATA?

In all cases, if there are errors, we should reflect those by disabling (graying out) all controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402213</commentid>
    <comment_count>8</comment_count>
      <attachid>93166</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-11 13:28:46 -0700</bug_when>
    <thetext>Created attachment 93166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402267</commentid>
    <comment_count>9</comment_count>
      <attachid>93166</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-05-11 14:11:49 -0700</bug_when>
    <thetext>Comment on attachment 93166
Patch

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

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1232
&gt; +    if (!mediaElementCanPlay(o))
&gt; +        fgColor = Qt::gray;

Is disabled always grey with all themes?

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:1455
&gt; +    p.painter-&gt;setBrush(getMediaControlForegroundColor(o-&gt;parent()));

Maybe make it more clear who is the parent here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402375</commentid>
    <comment_count>10</comment_count>
      <attachid>93202</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-11 15:55:58 -0700</bug_when>
    <thetext>Created attachment 93202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402376</commentid>
    <comment_count>11</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-11 15:56:29 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=93202) [details]
&gt; Patch

I use the palette now. So whatever color is used in Disabled will be picked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402377</commentid>
    <comment_count>12</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-05-11 15:57:22 -0700</bug_when>
    <thetext>Thanks ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402521</commentid>
    <comment_count>13</comment_count>
      <attachid>93202</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 18:20:46 -0700</bug_when>
    <thetext>Comment on attachment 93202
Patch

Clearing flags on attachment: 93202

Committed r86299: &lt;http://trac.webkit.org/changeset/86299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402523</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 18:20:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404696</commentid>
    <comment_count>15</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-16 14:03:03 -0700</bug_when>
    <thetext>Revision r86299 cherry-picked into qtwebkit-2.2 with commit ba1970d &lt;http://gitorious.org/webkit/qtwebkit/commit/ba1970d&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92984</attachid>
            <date>2011-05-10 10:58:20 -0700</date>
            <delta_ts>2011-05-11 13:28:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60561-20110510145819.patch</filename>
            <type>text/plain</type>
            <size>2791</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTY4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMTAgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnRzIGEgZGlzYWJsZSBh
cHBlYXJhbmNlIGZvciBNZWRpYSBFbGVtZW50cyBvZiBRdCBwb3J0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA1NjEKKworICAgICAgICBJbXBsZW1l
bnRzIGEgZGlzYWJsZSBhcHBlYXJhbmNlIGZvciB0aGUgbWVkaWEgY29udHJvbHMgb2YgdGhlIFF0
IHBvcnQKKyAgICAgICAgd2hlbiB0aGUgbWVkaWEgaXMgbm90IHlldCBhdmFpbGFibGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Omhhc1NvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpnZXRNZWRpYUNv
bnRyb2xGb3JlZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6
cGFpbnRNZWRpYVNsaWRlclRodW1iKToKKwogMjAxMS0wNS0xMCAgQWxleGFuZGVyIFBhdmxvdiAg
PGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNw
cAkocmV2aXNpb24gODYxNjcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwOCwxMSArMTIwOCwyNSBAQCB2b2lkIFJl
bmRlclRoZW1lUXQ6OnBhaW50TWVkaWFCYWNrZ3JvdW5kCiAgICAgcGFpbnRlci0+ZHJhd1JvdW5k
ZWRSZWN0KHIueCgpLCByLnkoKSwgci53aWR0aCgpLCByLmhlaWdodCgpLCA1LjAsIDUuMCk7CiB9
CiAKK3N0YXRpYyBib29sIGhhc1NvdXJjZShjb25zdCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQpCit7CisgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+bmV0d29ya1N0YXRlKCkgIT0gSFRN
TE1lZGlhRWxlbWVudDo6TkVUV09SS19FTVBUWQorICAgICAgICAmJiBtZWRpYUVsZW1lbnQtPm5l
dHdvcmtTdGF0ZSgpICE9IEhUTUxNZWRpYUVsZW1lbnQ6Ok5FVFdPUktfTk9fU09VUkNFOworfQor
CiBRQ29sb3IgUmVuZGVyVGhlbWVRdDo6Z2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKFJl
bmRlck9iamVjdCogbykgY29uc3QKIHsKICAgICBRQ29sb3IgZmdDb2xvciA9IHBsYXRmb3JtQWN0
aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCk7Ci0gICAgaWYgKG8gJiYgby0+bm9kZSgpLT5h
Y3RpdmUoKSkKKyAgICBpZiAoIW8pCisgICAgICAgIHJldHVybiBmZ0NvbG9yOworCisgICAgaWYg
KG8tPm5vZGUoKS0+YWN0aXZlKCkpCiAgICAgICAgIGZnQ29sb3IgPSBmZ0NvbG9yLmxpZ2h0ZXIo
KTsKKworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFF
bGVtZW50KG8pOworICAgIGlmIChtZWRpYUVsZW1lbnQgJiYgKCFoYXNTb3VyY2UobWVkaWFFbGVt
ZW50KSB8fCAhbWVkaWFFbGVtZW50LT5oYXNBdWRpbygpKSkKKyAgICAgICAgZmdDb2xvciA9IFF0
OjpncmF5OworCiAgICAgcmV0dXJuIGZnQ29sb3I7CiB9CiAKQEAgLTE0MjAsNiArMTQzNCwxMyBA
QCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUcmFjCiAKIGJvb2wgUmVuZGVy
VGhlbWVRdDo6cGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7CisgICAgaWYgKCFvLT5wYXJl
bnQoKS0+aXNTbGlkZXIoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoby0+cGFyZW50KCkp
OworICAgIGlmICghbWVkaWFFbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBT
dHlsZVBhaW50ZXIgcCh0aGlzLCBwYWludEluZm8pOwogICAgIGlmICghcC5pc1ZhbGlkKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTQyNyw3ICsxNDQ4LDcgQEAgYm9vbCBSZW5kZXJUaGVt
ZVF0OjpwYWludE1lZGlhU2xpZGVyVGh1bQogICAgIHAucGFpbnRlci0+c2V0UmVuZGVySGludChR
UGFpbnRlcjo6QW50aWFsaWFzaW5nLCB0cnVlKTsKIAogICAgIHAucGFpbnRlci0+c2V0UGVuKFF0
OjpOb1Blbik7Ci0gICAgcC5wYWludGVyLT5zZXRCcnVzaChnZXRNZWRpYUNvbnRyb2xGb3JlZ3Jv
dW5kQ29sb3IobykpOworICAgIHAucGFpbnRlci0+c2V0QnJ1c2goZ2V0TWVkaWFDb250cm9sRm9y
ZWdyb3VuZENvbG9yKG8tPnBhcmVudCgpKSk7CiAgICAgcC5wYWludGVyLT5kcmF3UmVjdChyLngo
KSwgci55KCksIHIud2lkdGgoKSwgci5oZWlnaHQoKSk7CiAKICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93166</attachid>
            <date>2011-05-11 13:28:46 -0700</date>
            <delta_ts>2011-05-11 15:55:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60561-20110511172838.patch</filename>
            <type>text/plain</type>
            <size>2887</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMTEgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnRzIGEgZGlzYWJsZSBh
cHBlYXJhbmNlIGZvciBNZWRpYSBFbGVtZW50cyBvZiBRdCBwb3J0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA1NjEKKworICAgICAgICBJbXBsZW1l
bnRzIGEgZGlzYWJsZSBhcHBlYXJhbmNlIGZvciB0aGUgbWVkaWEgY29udHJvbHMgb2YgdGhlIFF0
IHBvcnQKKyAgICAgICAgd2hlbiB0aGUgbWVkaWEgaXMgbm90IHlldCBhdmFpbGFibGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om1lZGlhRWxlbWVudENhblBsYXkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6
Z2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisKIDIwMTEtMDUtMTEgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBG
YWxrZW5idXJnLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhl
bWVRdC5jcHAJKHJldmlzaW9uIDg2MjU4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
UmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMDgsMTEgKzEyMDgsMjkgQEAg
dm9pZCBSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhQmFja2dyb3VuZAogICAgIHBhaW50ZXItPmRy
YXdSb3VuZGVkUmVjdChyLngoKSwgci55KCksIHIud2lkdGgoKSwgci5oZWlnaHQoKSwgNS4wLCA1
LjApOwogfQogCitzdGF0aWMgYm9vbCBtZWRpYUVsZW1lbnRDYW5QbGF5KFJlbmRlck9iamVjdCog
bykKK3sKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1lZGlh
RWxlbWVudChvKTsKKyAgICBpZiAoIW1lZGlhRWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+cmVhZHlTdGF0ZSgpID4gSFRNTE1lZGlhRWxl
bWVudDo6SEFWRV9NRVRBREFUQQorICAgICAgICAgICB8fCAobWVkaWFFbGVtZW50LT5yZWFkeVN0
YXRlKCkgPT0gSFRNTE1lZGlhRWxlbWVudDo6SEFWRV9OT1RISU5HCisgICAgICAgICAgICAgICAm
JiBvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFQbGF5QnV0dG9uUGFydCAmJiBtZWRp
YUVsZW1lbnQtPnByZWxvYWQoKSA9PSAibm9uZSIpOworfQorCiBRQ29sb3IgUmVuZGVyVGhlbWVR
dDo6Z2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKFJlbmRlck9iamVjdCogbykgY29uc3QK
IHsKICAgICBRQ29sb3IgZmdDb2xvciA9IHBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yKCk7Ci0gICAgaWYgKG8gJiYgby0+bm9kZSgpLT5hY3RpdmUoKSkKKyAgICBpZiAoIW8p
CisgICAgICAgIHJldHVybiBmZ0NvbG9yOworCisgICAgaWYgKG8tPm5vZGUoKS0+YWN0aXZlKCkp
CiAgICAgICAgIGZnQ29sb3IgPSBmZ0NvbG9yLmxpZ2h0ZXIoKTsKKworICAgIGlmICghbWVkaWFF
bGVtZW50Q2FuUGxheShvKSkKKyAgICAgICAgZmdDb2xvciA9IFF0OjpncmF5OworCiAgICAgcmV0
dXJuIGZnQ29sb3I7CiB9CiAKQEAgLTE0MjAsNiArMTQzOCwxMyBAQCBib29sIFJlbmRlclRoZW1l
UXQ6OnBhaW50TWVkaWFTbGlkZXJUcmFjCiAKIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZWRp
YVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IEludFJlY3QmIHIpCiB7CisgICAgaWYgKCFvLT5wYXJlbnQoKS0+aXNTbGlkZXIoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQoby0+cGFyZW50KCkpOworICAgIGlmICghbWVkaWFF
bGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBTdHlsZVBhaW50ZXIgcCh0aGlz
LCBwYWludEluZm8pOwogICAgIGlmICghcC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwpAQCAtMTQyNyw3ICsxNDUyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhU2xp
ZGVyVGh1bQogICAgIHAucGFpbnRlci0+c2V0UmVuZGVySGludChRUGFpbnRlcjo6QW50aWFsaWFz
aW5nLCB0cnVlKTsKIAogICAgIHAucGFpbnRlci0+c2V0UGVuKFF0OjpOb1Blbik7Ci0gICAgcC5w
YWludGVyLT5zZXRCcnVzaChnZXRNZWRpYUNvbnRyb2xGb3JlZ3JvdW5kQ29sb3IobykpOworICAg
IHAucGFpbnRlci0+c2V0QnJ1c2goZ2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKG8tPnBh
cmVudCgpKSk7CiAgICAgcC5wYWludGVyLT5kcmF3UmVjdChyLngoKSwgci55KCksIHIud2lkdGgo
KSwgci5oZWlnaHQoKSk7CiAKICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93202</attachid>
            <date>2011-05-11 15:55:58 -0700</date>
            <delta_ts>2011-05-11 18:20:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60561-20110511195550.patch</filename>
            <type>text/plain</type>
            <size>3156</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2Mjc3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMTEgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnRzIGEgZGlzYWJsZSBh
cHBlYXJhbmNlIGZvciBNZWRpYSBFbGVtZW50cyBvZiBRdCBwb3J0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA1NjEKKworICAgICAgICBJbXBsZW1l
bnRzIGEgZGlzYWJsZSBhcHBlYXJhbmNlIGZvciB0aGUgbWVkaWEgY29udHJvbHMgb2YgdGhlIFF0
IHBvcnQKKyAgICAgICAgd2hlbiB0aGUgbWVkaWEgaXMgbm90IHlldCBhdmFpbGFibGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om1lZGlhRWxlbWVudENhblBsYXkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6
Z2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6CisKIDIwMTEtMDUtMTEgIE5vYW0gUm9z
ZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDg2Mjc3KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
MDgsMTEgKzEyMDgsMzIgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhQmFja2dyb3Vu
ZAogICAgIHBhaW50ZXItPmRyYXdSb3VuZGVkUmVjdChyLngoKSwgci55KCksIHIud2lkdGgoKSwg
ci5oZWlnaHQoKSwgNS4wLCA1LjApOwogfQogCitzdGF0aWMgYm9vbCBtZWRpYUVsZW1lbnRDYW5Q
bGF5KFJlbmRlck9iamVjdCogbykKK3sKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQgPSB0b1BhcmVudE1lZGlhRWxlbWVudChvKTsKKyAgICBpZiAoIW1lZGlhRWxlbWVudCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+cmVhZHlTdGF0
ZSgpID4gSFRNTE1lZGlhRWxlbWVudDo6SEFWRV9NRVRBREFUQQorICAgICAgICAgICB8fCAobWVk
aWFFbGVtZW50LT5yZWFkeVN0YXRlKCkgPT0gSFRNTE1lZGlhRWxlbWVudDo6SEFWRV9OT1RISU5H
CisgICAgICAgICAgICAgICAmJiBvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFQbGF5
QnV0dG9uUGFydCAmJiBtZWRpYUVsZW1lbnQtPnByZWxvYWQoKSA9PSAibm9uZSIpOworfQorCiBR
Q29sb3IgUmVuZGVyVGhlbWVRdDo6Z2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKFJlbmRl
ck9iamVjdCogbykgY29uc3QKIHsKICAgICBRQ29sb3IgZmdDb2xvciA9IHBsYXRmb3JtQWN0aXZl
U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCk7Ci0gICAgaWYgKG8gJiYgby0+bm9kZSgpLT5hY3Rp
dmUoKSkKKyAgICBpZiAoIW8pCisgICAgICAgIHJldHVybiBmZ0NvbG9yOworCisgICAgaWYgKG8t
Pm5vZGUoKS0+YWN0aXZlKCkpCiAgICAgICAgIGZnQ29sb3IgPSBmZ0NvbG9yLmxpZ2h0ZXIoKTsK
KworICAgIGlmICghbWVkaWFFbGVtZW50Q2FuUGxheShvKSkgeworICAgICAgICBRUGFsZXR0ZSBw
YWwgPSBRQXBwbGljYXRpb246OnBhbGV0dGUoKTsKKyAgICAgICAgc2V0UGFsZXR0ZUZyb21QYWdl
Q2xpZW50SWZFeGlzdHMocGFsKTsKKyAgICAgICAgZmdDb2xvciA9IHBhbC5icnVzaChRUGFsZXR0
ZTo6RGlzYWJsZWQsIFFQYWxldHRlOjpUZXh0KS5jb2xvcigpOworICAgIH0KKwogICAgIHJldHVy
biBmZ0NvbG9yOwogfQogCkBAIC0xNDIwLDYgKzE0NDEsMTQgQEAgYm9vbCBSZW5kZXJUaGVtZVF0
OjpwYWludE1lZGlhU2xpZGVyVHJhYwogCiBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVkaWFT
bGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBJbnRSZWN0JiByKQogeworICAgIGlmICghby0+cGFyZW50KCktPmlzU2xpZGVyKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIGNhbiBnZXQgdGhlIEhUTUxNZWRpYUVs
ZW1lbnQgZnJvbSB0aGUgcGFyZW50IG9mIHRoZSB0aHVtYiA6IE1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudC4KKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1l
ZGlhRWxlbWVudChvLT5wYXJlbnQoKSk7CisgICAgaWYgKCFtZWRpYUVsZW1lbnQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIFN0eWxlUGFpbnRlciBwKHRoaXMsIHBhaW50SW5mbyk7CiAg
ICAgaWYgKCFwLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDI3LDcgKzE0
NTYsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUaHVtCiAgICAgcC5w
YWludGVyLT5zZXRSZW5kZXJIaW50KFFQYWludGVyOjpBbnRpYWxpYXNpbmcsIHRydWUpOwogCiAg
ICAgcC5wYWludGVyLT5zZXRQZW4oUXQ6Ok5vUGVuKTsKLSAgICBwLnBhaW50ZXItPnNldEJydXNo
KGdldE1lZGlhQ29udHJvbEZvcmVncm91bmRDb2xvcihvKSk7CisgICAgcC5wYWludGVyLT5zZXRC
cnVzaChnZXRNZWRpYUNvbnRyb2xGb3JlZ3JvdW5kQ29sb3Ioby0+cGFyZW50KCkpKTsKICAgICBw
LnBhaW50ZXItPmRyYXdSZWN0KHIueCgpLCByLnkoKSwgci53aWR0aCgpLCByLmhlaWdodCgpKTsK
IAogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>