<?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>14485</bug_id>
          
          <creation_ts>2007-06-30 18:05:50 -0700</creation_ts>
          <short_desc>[gdk] Start implementing native styling in RenderThemeGdk.cpp</short_desc>
          <delta_ts>2007-07-06 02:57:58 -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>New Bugs</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.4</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="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>5811</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-06-30 18:05:50 -0700</bug_when>
    <thetext>Start implementing native-styling. The approach is to have one native control for each type (Button,RadioButton,CheckBox,TextArea,TextEdit,...). And to get spacing, margings and other options from the widget and to use the attached GtkStyle for the actual drawing.

The current patch starts with the mapping from Type (Button, CheckBox...) to native control. It does not yet honor the State of the Widget and the spacing informations do not honor the GtkStyle. But I think that this is the right approach to theming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5809</commentid>
    <comment_count>1</comment_count>
      <attachid>15336</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-06-30 18:06:54 -0700</bug_when>
    <thetext>Created attachment 15336
Use GtkStyle and Gtk* for implementing RenderThemeGdk

Start using native controls for rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5668</commentid>
    <comment_count>2</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-07-03 05:46:34 -0700</bug_when>
    <thetext>*** Bug 14119 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5520</commentid>
    <comment_count>3</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-07-05 09:43:08 -0700</bug_when>
    <thetext>For reference, this is how Mozilla seems to do it:
  http://www.koders.com/c/fid26B2A9B188A1947EB8710750C3D48FFAF7CCC4A4.aspx

When Gtk+ bug http://bugzilla.gnome.org/show_bug.cgi?id=318807 (Offscreen windows and window redirection) is fixed, native styling might become less tedious.

Locally I&apos;ve updated the patch so determineState() returns a GtkStateType which I then pass to the gtk_paint_box() calls. This works well.

Right now we end up copying the background colour whereas we actually want to keep transparency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5411</commentid>
    <comment_count>4</comment_count>
      <attachid>15336</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-07-06 02:50:06 -0700</bug_when>
    <thetext>Comment on attachment 15336
Use GtkStyle and Gtk* for implementing RenderThemeGdk

Seems like a fine start. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5413</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-07-06 02:57:58 -0700</bug_when>
    <thetext>Landed in r24051.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15336</attachid>
            <date>2007-06-30 18:06:54 -0700</date>
            <delta_ts>2007-07-06 02:50:06 -0700</delta_ts>
            <desc>Use GtkStyle and Gtk* for implementing RenderThemeGdk</desc>
            <filename>gdk-native-sytling-r0.patch</filename>
            <type>text/plain</type>
            <size>10889</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzg5OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMDctMDctMDEgIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8
emVja2VAc2VsZmlzaC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3RhcnQgaW1wbGVtZW50ZW5pbmcgUmVuZGVyVGhlbWVHZGsvR3RrIHVzaW5n
IEd0a1N0eWxlLiBUaGUgYXBwcm9hY2ggaXMKKyAgICAgICAgdG8gYWxsb2NhdGUgb25lIG5hdGl2
ZSBjb250cm9sIGZvciBlYWNoIHdpZGdldCB0eXBlLiBBbmQgdXNlIG1hcmdpbnMsIHNwYWNpbmcs
CisgICAgICAgIHN0eWxlIHByb3BlcnRpZXMgZnJvbSB0aGUgV2lkZ2V0LiBBbmQgZm9yIGRyYXdp
bmcgdXNlIEd0a1N0eWxlIG9uIHRoZSByZWN0IHN1cHBsaWVkLgorCisgICAgICAgIFRoaXMgc2hv
dWxkIGFsbG93IG5pY2UgaW50ZWdyYXRpb24gYW5kIGJlIHJlbGF0aXZlIHJlc291cmNlIGZyaWVu
ZGx5LiBNb3ppbGxhIGlzIHVzaW5nCisgICAgICAgIGEgc2ltaWxpYXIgYXBwcm9hY2guIFRoZXkg
c2VlbSB0byBzaGFyZSB0aGUgR2RrUGl4bWFwIGFtb25nIHNldmVyYWwgb3BlcmF0aW9ucyBhbmQg
dGhpcworICAgICAgICB3aWxsIGJlIGFuIG9idmlvdXMgY2FuZGlkYXRlIGZvciBpbXByb3ZlbWVu
dHMuIENyZWF0ZSBhIG5vcm1hbGx5IGJpZyBlbm91Z2ggR2RrUGl4bWFwIGFuZAorICAgICAgICB1
c2UgdGhhdCBmb3IgZHJhd2luZyBhbmQgdGhlbiBzZXQgY2xpcCByZWdpb25zIGZvciBjYWlybyB0
byBtYWtlIHN1cmUgdG8gbm90IGdvIGJleW9uZCB0aGUKKyAgICAgICAgd2lkdGggYW5kIGhlaWdo
dC4KKworICAgICAgICBUaGUgbmV4dCBzdGVwcyB3aWxsIGJlIHRvIGludHJvZHVjZSBzdGF0ZXMg
Zm9yIHRoZSB3aWRnZXRzLCBhZGQgbW9yZSB3aWRnZXRzLCBoYW5kbGUgZm9jdXMsCisgICAgICAg
IGFuZCB2YXJpb3VzIG90aGVyIHN0eWxlIGF0dHJpYnV0ZXMsIGhvbm9yIHRoZSBzaXplIGFuZCBt
YXJnaW4gYW5kIHVzZSB0aGF0IHRvIHByb3BhZ2F0ZSB0aGlzCisgICAgICAgIGJhY2sgdG8gUmVu
ZGVyU3R5bGUqCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nZGsvUmVuZGVyVGhlbWVHZGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHZGs6OlJlbmRlclRoZW1lR2RrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR2RrOjpzZXRDaGVja2JveFNpemUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVHZGs6OnBhaW50Q2hlY2tib3gpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVHZGs6OnNldFJhZGlvU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZUdkazo6cGFpbnRSYWRpbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUdk
azo6cGFpbnRCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHZGs6OmNvcHlU
b0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHZGs6Omd0a0J1dHRvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUdkazo6Z3RrQ2hlY2tib3gpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVHZGs6Omd0a1JhZGlvQnV0dG9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lR2RrOjpndGtXaW5kb3dDb250YWluZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dkay9SZW5kZXJUaGVtZUdkay5oOgorCiAyMDA3LTA2LTI5ICBKb2huIFN1bGxpdmFu
ICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9nZGsvUmVuZGVyVGhlbWVHZGsuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ2RrL1JlbmRlclRoZW1lR2RrLmNwcAkocmV2aXNpb24g
MjM4OTgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dkay9SZW5kZXJUaGVtZUdkay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTWljaGFlbCBFbW1lbCBtaWtl
LmVtbWVsQGdtYWlsLmNvbSAKKyAqIENvcHlyaWdodCAoQykgMjAwNyBIb2xnZXIgSGFucyBQZXRl
ciBGcmV5dGhlcgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yNSwx
MCArMjYsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZUdk
ay5oIgogCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKIAorI2luY2x1ZGUgPGdkay9nZGsu
aD4KKwogI2RlZmluZSBUSEVNRV9DT0xPUiAyMDQKICNkZWZpbmUgVEhFTUVfRk9OVCAgMjEwCiAK
QEAgLTQ4LDYgKzUwLDI1IEBACiAjZGVmaW5lIFRGUF9URVhURklFTEQgMQogI2RlZmluZSBURlNf
UkVBRE9OTFkgIDYKIAorLyoKKyAqIEFwcHJvYWNoIHRvIHRoZW1pbmc6CisgKiAgYSkga2VlcCBv
bmUgY29weSBvZiBlYWNoIHRvIGJlIGRyYXduIHdpZGdldCwgR3RrRW50cnksIEd0a0J1dHRvbiwg
R3RrLi4uCisgKiAgICAgKyB0aGUgYnV0dG9uIHdpbGwgbG9vayBsaWtlIHRoZSBuYXRpdmUgY29u
dHJvbAorICogICAgICsgd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBzdHlsZSB1cGRhdGVz
IGFuZCBsb2FkaW5nIHRoZSByaWdodCBHdGtTdHlsZQorICogICAgIC0gcmVzb3VyY2VzIGFyZSB3
YXN0ZWQuIFRoZSBuYXRpdmUgd2luZG93cyB3aWxsIG5vdCBiZSB1c2VkLCB3ZSBtaWdodCBoYXZl
IGlzc3VlcworICogICAgICAgd2l0aAorICoKKyAqICBiKSBVc2UgR3RrU3R5bGUgZGlyZWN0bHkg
YW5kIGNvcHkgYW5kIHBhc3RlIEd0aysgY29kZQorICoKKyAqCisgKiBXZSB3aWxsIG1peCBhIGFu
ZCBiCisgKgorICogLSBDcmVhdGUgR3RrV2lkZ2V0cyB0byBob2xkIHRoZSBzdGF0ZSAoZGlzYWJs
ZWQvZW5hYmxlZCksIHNlbGVjdGVkLCBub3Qgc2VsZWN0ZWQuCisgKiAtIFVzZSBhIEdka1BpeG1h
cCB0byBtYWtlIHRoZSBHdGtTdHlsZSBkcmF3IHRvIGFuZCB0aGVuIHRyeSB0byBjb252ZXJ0IHNl
dCBpdCB0aGUKKyAqICAgc291cmNlIG9mIHRoZSBjdXJyZW50IG9wZXJhdGlvbi4KKyAqCisgKi8K
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJUaGVtZSogdGhlbWUoKQpAQCAtNTYsNiAr
NzcsMTcgQEAgUmVuZGVyVGhlbWUqIHRoZW1lKCkKICAgICByZXR1cm4gJmdka1RoZW1lOwogfQog
CitSZW5kZXJUaGVtZUdkazo6UmVuZGVyVGhlbWVHZGsoKQorICAgIDogbV9ndGtCdXR0b24oMCkK
KyAgICAsIG1fZ3RrQ2hlY2tib3goMCkKKyAgICAsIG1fZ3RrUmFkaW9CdXR0b24oMCkKKyAgICAs
IG1fZ3RrRW50cnkoMCkKKyAgICAsIG1fZ3RrRWRpdGFibGUoMCkKKyAgICAsIG1fdW5tYXBwZWRX
aW5kb3coMCkKKyAgICAsIG1fY29udGFpbmVyKDApCit7Cit9CisKIHZvaWQgUmVuZGVyVGhlbWVH
ZGs6OmNsb3NlKCkKIHsKIH0KQEAgLTE0NiwzMiArMTc4LDcwIEBAIFRoZW1lRGF0YSBSZW5kZXJU
aGVtZUdkazo6Z2V0VGhlbWVEYXRhKFIKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFJl
bmRlclRoZW1lR2RrOjpzZXRDaGVja2JveFNpemUoUmVuZGVyU3R5bGUqKSBjb25zdCAKK3ZvaWQg
UmVuZGVyVGhlbWVHZGs6OnNldENoZWNrYm94U2l6ZShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0
IAogeyAKLSAgICBub3RJbXBsZW1lbnRlZCgpOyAKKyAgICBzZXRSYWRpb1NpemUoc3R5bGUpOwog
fQogCi1ib29sIFJlbmRlclRoZW1lR2RrOjpwYWludENoZWNrYm94KFJlbmRlck9iamVjdCogbywg
Y29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCitib29s
IFJlbmRlclRoZW1lR2RrOjpwYWludENoZWNrYm94KFJlbmRlck9iamVjdCogbywgY29uc3QgUmVu
ZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgLy8g
RklYTUU6IGlzIGl0IHRoZSByaWdodCB0aGluZyB0byBkbz8KLSAgICByZXR1cm4gcGFpbnRCdXR0
b24obywgaSwgcik7IAorICAgIEd0a1dpZGdldCAqY2hlY2tib3ggPSBndGtDaGVja2JveCgpOwor
ICAgIEdka1BpeG1hcCAqcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXcoR0RLX0RSQVdBQkxFKGNoZWNr
Ym94LT53aW5kb3cpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCksIC0xKTsKKyAgICBndGtf
cGFpbnRfYm94KGNoZWNrYm94LT5zdHlsZSwgR0RLX0RSQVdBQkxFKHBpeG1hcCksCisgICAgICAg
ICAgICAgICAgICBHVEtfU1RBVEVfTk9STUFMLCBHVEtfU0hBRE9XX09VVCwKKyAgICAgICAgICAg
ICAgICAgIE5VTEwsIGNoZWNrYm94LCAiY2hlY2tidXR0b24iLAorICAgICAgICAgICAgICAgICAg
MCwgMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKKyAgICBjb3B5VG9Db250ZXh0KHBp
eG1hcCwgaS5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCk7CisKKyAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyVGhlbWVHZGs6OnNldFJhZGlvU2l6ZShSZW5kZXJTdHls
ZSopIGNvbnN0IAordm9pZCBSZW5kZXJUaGVtZUdkazo6c2V0UmFkaW9TaXplKFJlbmRlclN0eWxl
KiBzdHlsZSkgY29uc3QgCiB7IAogICAgIG5vdEltcGxlbWVudGVkKCk7IAorICAgIC8vIElmIHRo
ZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBib3RoIHNwZWNpZmllZCwgdGhlbiB3ZSBoYXZlIG5vdGhp
bmcgdG8gZG8uCisgICAgaWYgKCFzdHlsZS0+d2lkdGgoKS5pc0ludHJpbnNpY09yQXV0bygpICYm
ICFzdHlsZS0+aGVpZ2h0KCkuaXNBdXRvKCkpCisgICAgICAgIHJldHVybjsKKworCisgICAgLy8g
RklYTUU6ICBBIGhhcmQtY29kZWQgc2l6ZSBvZiAxMyBpcyB1c2VkLiAgVGhpcyBpcyB3cm9uZyBi
dXQgbmVjZXNzYXJ5IGZvciBub3cuICBJdCBtYXRjaGVzIEZpcmVmb3guCisgICAgLy8gQXQgZGlm
ZmVyZW50IERQSSBzZXR0aW5ncyBvbiBXaW5kb3dzLCBxdWVyeWluZyB0aGUgdGhlbWUgZ2l2ZXMg
eW91IGEgbGFyZ2VyIHNpemUgdGhhdCBhY2NvdW50cyBmb3IKKyAgICAvLyB0aGUgaGlnaGVyIERQ
SS4gIFVudGlsIG91ciBlbnRpcmUgZW5naW5lIGhvbm9ycyBhIERQSSBzZXR0aW5nIG90aGVyIHRo
YW4gOTYsIHdlIGNhbid0IHJlbHkgb24gdGhlIHRoZW1lJ3MKKyAgICAvLyBtZXRyaWNzLgorICAg
IGNvbnN0IGludCBmZiA9IDEzOworICAgIGlmIChzdHlsZS0+d2lkdGgoKS5pc0ludHJpbnNpY09y
QXV0bygpKQorICAgICAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKGZmLCBGaXhlZCkpOworCisg
ICAgaWYgKHN0eWxlLT5oZWlnaHQoKS5pc0F1dG8oKSkKKyAgICAgICAgc3R5bGUtPnNldEhlaWdo
dChMZW5ndGgoZmYsIEZpeGVkKSk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVHZGs6OnBhaW50UmFk
aW8oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgaSwgY29u
c3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVHZGs6OnBhaW50UmFkaW8oUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgaSwgY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsgCiAgICAgLy8gRklYTUU6IGlzIGl0IHRoZSByaWdodCB0aGluZyB0byBkbz8KLSAg
ICByZXR1cm4gcGFpbnRCdXR0b24obywgaSwgcik7IAorICAgIEd0a1dpZGdldCAqcmFkaW8gPSBn
dGtSYWRpb0J1dHRvbigpOworICAgIEdka1BpeG1hcCAqcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXco
R0RLX0RSQVdBQkxFKHJhZGlvLT53aW5kb3cpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCks
IC0xKTsKKyAgICBndGtfcGFpbnRfYm94KHJhZGlvLT5zdHlsZSwgR0RLX0RSQVdBQkxFKHBpeG1h
cCksCisgICAgICAgICAgICAgICAgICBHVEtfU1RBVEVfTk9STUFMLCBHVEtfU0hBRE9XX09VVCwK
KyAgICAgICAgICAgICAgICAgIE5VTEwsIHJhZGlvLCAicmFkaW9idXR0b24iLAorICAgICAgICAg
ICAgICAgICAgMCwgMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKKyAgICBjb3B5VG9D
b250ZXh0KHBpeG1hcCwgaS5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCk7CisKKyAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVHZGs6OnBhaW50QnV0dG9uKFJl
bmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVj
dCYpIAorYm9vbCBSZW5kZXJUaGVtZUdkazo6cGFpbnRCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3QpIAogeyAK
LSAgICAvLyBGSVhNRTogc2hvdWxkIHVzZSB0aGVtZS1hd2FyZSBkcmF3aW5nCi0gICAgcmV0dXJu
IHRydWU7CisgICAgLy8gRklYTUU6IHNob3VsZCB1c2UgdGhlbWUtYXdhcmUgZHJhd2luZy4gVGhp
cyBzaG91bGQgaG9ub3IgdGhlIHN0YXRlIGFzIHdlbGwKKyAgICBHdGtXaWRnZXQgKmJ1dHRvbiA9
IGd0a0J1dHRvbigpOworICAgIEdka1BpeG1hcCAqcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXcoR0RL
X0RSQVdBQkxFKGJ1dHRvbi0+d2luZG93KSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpLCAt
MSk7CisgICAgZ3RrX3BhaW50X2JveChidXR0b24tPnN0eWxlLCBHREtfRFJBV0FCTEUocGl4bWFw
KSwKKyAgICAgICAgICAgICAgICAgIEdUS19TVEFURV9OT1JNQUwsIEdUS19TSEFET1dfT1VULAor
ICAgICAgICAgICAgICAgICAgTlVMTCwgYnV0dG9uLCAiYnV0dG9uIiwKKyAgICAgICAgICAgICAg
ICAgIDAsIDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CisgICAgY29weVRvQ29udGV4
dChwaXhtYXAsIGkuY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCksIHJlY3QpOworICAgIHJldHVy
biBmYWxzZTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZUdkazo6YWRqdXN0VGV4dEZpZWxkU3R5bGUo
Q1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCogZSkgY29uc3QgCkBAIC0x
OTksNCArMjY5LDYwIEBAIHZvaWQgUmVuZGVyVGhlbWVHZGs6OnN5c3RlbUZvbnQoaW50IHByb3AK
IHsKIH0KIAorLyoKKyAqIGNvcHkgdGhlIHNyYyBzdXJmYWNlIHRvIHRoZSBjdXJyZW50IGNvbnRl
eHQgYXQgcG9zaXRpb24gKHJlY3QueCxyZWN0LnkpIGFuZCBpbnZhbGlkYXRlCisgKiBHZGtQaXht
YXAKKyAqLwordm9pZCBSZW5kZXJUaGVtZUdkazo6Y29weVRvQ29udGV4dChHZGtQaXhtYXAgKnNy
YywgY2Fpcm9fdCogY3IsIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgZ2RrX2NhaXJvX3Nl
dF9zb3VyY2VfcGl4bWFwKGNyLCBzcmMsIHJlY3QueCgpLCByZWN0LnkoKSk7CisgICAgY2Fpcm9f
c2V0X29wZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9PVkVSKTsKKyAgICBjYWlyb19wYWludChj
cik7CisgICAgZ19vYmplY3RfdW5yZWYoc3JjKTsKK30KKworR3RrV2lkZ2V0KiBSZW5kZXJUaGVt
ZUdkazo6Z3RrQnV0dG9uKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZ3RrQnV0dG9uKSB7CisgICAg
ICAgIG1fZ3RrQnV0dG9uID0gZ3RrX2J1dHRvbl9uZXdfd2l0aF9sYWJlbCgiV2ViS2l0IHJvY2tz
Iik7CisgICAgICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoZ3RrV2luZG93Q29u
dGFpbmVyKCkpLCBtX2d0a0J1dHRvbik7CisgICAgICAgIGd0a193aWRnZXRfcmVhbGl6ZShtX2d0
a0J1dHRvbik7CisgICAgfQorCisgICAgcmV0dXJuIG1fZ3RrQnV0dG9uOworfQorCitHdGtXaWRn
ZXQqIFJlbmRlclRoZW1lR2RrOjpndGtDaGVja2JveCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2d0
a0NoZWNrYm94KSB7CisgICAgICAgIG1fZ3RrQ2hlY2tib3ggPSBndGtfY2hlY2tfYnV0dG9uX25l
d193aXRoX2xhYmVsKCJXZWJLaXQgcm9ja3MiKTsgCisgICAgICAgIGd0a19jb250YWluZXJfYWRk
KEdUS19DT05UQUlORVIoZ3RrV2luZG93Q29udGFpbmVyKCkpLCBtX2d0a0NoZWNrYm94KTsKKyAg
ICAgICAgZ3RrX3dpZGdldF9yZWFsaXplKG1fZ3RrQ2hlY2tib3gpOworICAgIH0KKworICAgIHJl
dHVybiBtX2d0a0NoZWNrYm94OworfQorCitHdGtXaWRnZXQqIFJlbmRlclRoZW1lR2RrOjpndGtS
YWRpb0J1dHRvbigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2d0a1JhZGlvQnV0dG9uKSB7CisgICAg
ICAgIG1fZ3RrUmFkaW9CdXR0b24gPSBndGtfcmFkaW9fYnV0dG9uX25ld193aXRoX2xhYmVsKE5V
TEwsICJXZWJLaXQgcm9ja3MiKTsKKyAgICAgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRB
SU5FUihndGtXaW5kb3dDb250YWluZXIoKSksIG1fZ3RrUmFkaW9CdXR0b24pOworICAgICAgICBn
dGtfd2lkZ2V0X3JlYWxpemUobV9ndGtSYWRpb0J1dHRvbik7CisgICAgfQorCisgICAgcmV0dXJu
IG1fZ3RrUmFkaW9CdXR0b247Cit9CisKK0d0a1dpZGdldCogUmVuZGVyVGhlbWVHZGs6Omd0a1dp
bmRvd0NvbnRhaW5lcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2NvbnRhaW5lcikgeworICAgICAg
ICBtX3VubWFwcGVkV2luZG93ID0gZ3RrX3dpbmRvd19uZXcoR1RLX1dJTkRPV19QT1BVUCk7Cisg
ICAgICAgIG1fY29udGFpbmVyID0gZ3RrX2ZpeGVkX25ldygpOworICAgICAgICBndGtfY29udGFp
bmVyX2FkZChHVEtfQ09OVEFJTkVSKG1fdW5tYXBwZWRXaW5kb3cpLCBtX2NvbnRhaW5lcik7Cisg
ICAgICAgIGd0a193aWRnZXRfcmVhbGl6ZShtX3VubWFwcGVkV2luZG93KTsKKyAgICB9CisKKyAg
ICByZXR1cm4gbV9jb250YWluZXI7Cit9CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dkay9S
ZW5kZXJUaGVtZUdkay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ2RrL1JlbmRl
clRoZW1lR2RrLmgJKHJldmlzaW9uIDIzODk4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9nZGsvUmVu
ZGVyVGhlbWVHZGsuaAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAw
NiBNaWNoYWVsIEVtbWVsIG1pa2UuZW1tZWxAZ21haWwuY29tIAorICogQ29weXJpZ2h0IChDKSAy
MDA3IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTI2LDYgKzI3LDkgQEAKICNkZWZpbmUgUmVuZGVyVGhlbWVHZGtfaAog
CiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
KworI2luY2x1ZGUgPGd0ay9ndGsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw3
ICs0Miw3IEBAIHN0cnVjdCBUaGVtZURhdGEgewogCiBjbGFzcyBSZW5kZXJUaGVtZUdkayA6IHB1
YmxpYyBSZW5kZXJUaGVtZSB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyVGhlbWVHZGsoKSA6IFJlbmRl
clRoZW1lKCkgeyB9CisgICAgUmVuZGVyVGhlbWVHZGsoKTsKIAogICAgIC8vIEEgbWV0aG9kIGFz
a2luZyBpZiB0aGUgdGhlbWUncyBjb250cm9scyBhY3R1YWxseSBjYXJlIGFib3V0IHJlZHJhd2lu
ZyB3aGVuIGhvdmVyZWQuCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzSG92ZXIoY29uc3QgUmVu
ZGVyU3R5bGUqIHN0eWxlKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC02OSw2ICs3MywzNCBA
QCBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhFQXBwZWFyYW5jZSk7CiAKICAgICBU
aGVtZURhdGEgZ2V0VGhlbWVEYXRhKFJlbmRlck9iamVjdCopOworCisKKyAgICAvKgorICAgICAq
IGhvbGQgdGhlIHN0YXRlCisgICAgICovCisgICAgR3RrV2lkZ2V0KiBndGtCdXR0b24oKSBjb25z
dDsKKyAgICBHdGtXaWRnZXQqIGd0a0NoZWNrYm94KCkgY29uc3Q7CisgICAgR3RrV2lkZ2V0KiBn
dGtSYWRpb0J1dHRvbigpIGNvbnN0OworICAgIEd0a1dpZGdldCogZ3RrRW50cnkoKSBjb25zdDsK
KyAgICBHdGtXaWRnZXQqIGd0a0VkaXRhYmxlKCkgY29uc3Q7CisKKyAgICAvKgorICAgICAqIHVu
bWFwcGVkIEdka1dpbmRvdyBoYXZpbmcgYSBjb250YWluZXIuIFRoaXMgaXMgaG9sZGluZyBhbGwK
KyAgICAgKiBvdXIgZmFrZSB3aWRnZXRzCisgICAgICovCisgICAgR3RrV2lkZ2V0KiBndGtXaW5k
b3dDb250YWluZXIoKSBjb25zdDsKKworICAgIHZvaWQgY29weVRvQ29udGV4dChHZGtQaXhtYXAg
KnNyYywgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CisKK3ByaXZh
dGU6CisgICAgbXV0YWJsZSBHdGtXaWRnZXQgKm1fZ3RrQnV0dG9uOworICAgIG11dGFibGUgR3Rr
V2lkZ2V0ICptX2d0a0NoZWNrYm94OworICAgIG11dGFibGUgR3RrV2lkZ2V0ICptX2d0a1JhZGlv
QnV0dG9uOworICAgIG11dGFibGUgR3RrV2lkZ2V0ICptX2d0a0VudHJ5OworICAgIG11dGFibGUg
R3RrV2lkZ2V0ICptX2d0a0VkaXRhYmxlOworCisgICAgbXV0YWJsZSBHdGtXaWRnZXQgKm1fdW5t
YXBwZWRXaW5kb3c7CisgICAgbXV0YWJsZSBHdGtXaWRnZXQgKm1fY29udGFpbmVyOwogfTsKIAog
fQo=
</data>
<flag name="review"
          id="6357"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>