<?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>17626</bug_id>
          
          <creation_ts>2008-02-29 21:58:12 -0800</creation_ts>
          <short_desc>Programatically set background color and 16-bit alpha on WebKit GTK</short_desc>
          <delta_ts>2014-04-08 17:45:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sean Egan">seanegan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xfdbse</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>72430</commentid>
    <comment_count>0</comment_count>
    <who name="Sean Egan">seanegan</who>
    <bug_when>2008-02-29 21:58:12 -0800</bug_when>
    <thetext>The OSX API allows you to set a background NSColor, which represents and RGBA value. The GTK+ analog to this is GdkColor, which only supports RGB. I&apos;ve modeled this interface after GtkColorSelection which has separate, but similar, functions and properties for GdkColors and a separate guint16 alpha value.

I&apos;ve kept the set_transparent/get_transparent API for backward compatibility, but suspect they should be deprecated.


I also fixed some compiler warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72431</commentid>
    <comment_count>1</comment_count>
      <attachid>19469</attachid>
    <who name="Sean Egan">seanegan</who>
    <bug_when>2008-02-29 21:59:22 -0800</bug_when>
    <thetext>Created attachment 19469
Patch to set background color and alpha</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72448</commentid>
    <comment_count>2</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-03-01 12:48:11 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; The OSX API allows you to set a background NSColor, which represents and RGBA
&gt; value. The GTK+ analog to this is GdkColor, which only supports RGB. I&apos;ve
&gt; modeled this interface after GtkColorSelection which has separate, but similar,
&gt; functions and properties for GdkColors and a separate guint16 alpha value.
&gt; 
&gt; I&apos;ve kept the set_transparent/get_transparent API for backward compatibility,
&gt; but suspect they should be deprecated.

set_transparent/get_transparent() is actually based directly on the drawsBackground from the Mac API (there might still be a case for removing it), but you are right that setting a background color is also a useful feature present on Mac.

I&apos;ll need to compare the proposed implementation to the one in Mac since Mac&apos;s was slightly more compilicated IIRC.

Out of curiosity, is the background color/alpha setting useful in apps (guessing this is for pidgin)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72449</commentid>
    <comment_count>3</comment_count>
    <who name="Sean Egan">seanegan</who>
    <bug_when>2008-03-01 13:00:33 -0800</bug_when>
    <thetext>(In reply to comment #2)

&gt; set_transparent/get_transparent() is actually based directly on the
&gt; drawsBackground from the Mac API (there might still be a case for removing it),
&gt; but you are right that setting a background color is also a useful feature
&gt; present on Mac.

Oh, ok. I misundersood what &apos;setDrawsBackground&apos; does, but it looks like maybe it&apos;s supposed to be deprecated? Adium says:

        if ([self respondsToSelector:@selector(setBackgroundColor:)]) {
                //As of Safari 3.0, we must call setBackgroundColor: to make the webview transparent
                [self setBackgroundColor:(flag ? [NSColor clearColor] : [NSColor whiteColor])];

        } else {
                [self setDrawsBackground:!flag];
        }

&gt; Out of curiosity, is the background color/alpha setting useful in apps
&gt; (guessing this is for pidgin)?
 
Yeah! http://pidgin.im/~seanegan/webkit11.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72537</commentid>
    <comment_count>4</comment_count>
      <attachid>19469</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-03-02 19:08:54 -0800</bug_when>
    <thetext>Comment on attachment 19469
Patch to set background color and alpha

+        g_value_set_uint(value, webkit_web_view_get_background_alpha(webView));
     default:

Missing a break here. I&apos;m going to set review- because of that. Otherwise looks pretty good, but I&apos;m not a GTK platform expert.

-        gboolean transparent;
+	GdkColor bg_color;
+	guint16 bg_alpha;
+	gboolean bg_color_set;

This indentation in the new code is done with tabs, and there&apos;s also a tab in the ChangeLog entry. We can&apos;t check tabs into our repository, so please try to avoid tabs while writing the patch to help the person committing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73285</commentid>
    <comment_count>5</comment_count>
      <attachid>19655</attachid>
    <who name="Sean Egan">seanegan</who>
    <bug_when>2008-03-10 21:46:51 -0700</bug_when>
    <thetext>Created attachment 19655
New version of patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73444</commentid>
    <comment_count>6</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-03-12 02:24:24 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=19655) [edit]
&gt; New version of patch
&gt; 

+    case PROP_BG_ALPHA:
+        webkit_web_view_set_background_alpha(webView, g_value_get_uint(value));
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);

another missing break?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73445</commentid>
    <comment_count>7</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-03-12 02:27:25 -0700</bug_when>
    <thetext>Some minor coding style issues, the int cast should probably be a different patch but if alp is happy with the API one can sort this out when landing the patch.

But please try to follow the Coding Style it makes it more easy for us to land patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79270</commentid>
    <comment_count>8</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-04-30 00:34:14 -0700</bug_when>
    <thetext>Okay, I will merge this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79274</commentid>
    <comment_count>9</comment_count>
      <attachid>19655</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-04-30 02:11:09 -0700</bug_when>
    <thetext>Comment on attachment 19655
New version of patch

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79275</commentid>
    <comment_count>10</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-04-30 02:14:03 -0700</bug_when>
    <thetext>Okay, I landed the patch in r32723 but there are a couple of things:
   - I added the missing break
   - I removed reading the bg property (also removed the method) because bg_color was unitialized or contained old data. e.g. a call to set_bg_color(NULL) and then asking for the color would still return the old color.
   - You want to set the transparency for the view() in WebKit/gtk/WebCoreSupport/FrameLoaderClient as well.

Please send an updated patch, leaving the bug open due the above issues. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82639</commentid>
    <comment_count>11</comment_count>
      <attachid>19655</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-08 12:43:59 -0700</bug_when>
    <thetext>Comment on attachment 19655
New version of patch

Clearing the review flag since this patch was landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998922</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-04-08 17:45:37 -0700</bug_when>
    <thetext>WebKit1GTK+ has been removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19469</attachid>
            <date>2008-02-29 21:59:22 -0800</date>
            <delta_ts>2008-03-10 21:46:51 -0700</delta_ts>
            <desc>Patch to set background color and alpha</desc>
            <filename>bg_color_and_alpha.diff</filename>
            <type>text/plain</type>
            <size>10804</size>
            <attacher name="Sean Egan">seanegan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hh
bmdlTG9nCShyZXZpc2lvbiAzMDY5NCkKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMDItMjkgIFNlYW4gRWdhbiAgPHNlYW5lZ2Fu
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCVN1
cHBvcnQgc2V0dGluZyBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBhIDE2LWJpdCBhbHBoYSBjaGFubmVs
LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuaDoKKyAgICAgICAgKiB3ZWJraXQv
d2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuaDoKKwog
MjAwOC0wMi0yNyAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQXR0
ZW1wdCB0byBmaXggdGhlIEdUSysgYnVpbGQKSW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRl
LmgJKHJldmlzaW9uIDMwNjU2KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw5IEBAIGV4dGVybiAiQyIgewogICAgICAgICBH
dGtUYXJnZXRMaXN0KiBjb3B5X3RhcmdldF9saXN0OwogICAgICAgICBHdGtUYXJnZXRMaXN0KiBw
YXN0ZV90YXJnZXRfbGlzdDsKIAotICAgICAgICBnYm9vbGVhbiB0cmFuc3BhcmVudDsKKwlHZGtD
b2xvciBiZ19jb2xvcjsKKwlndWludDE2IGJnX2FscGhhOworCWdib29sZWFuIGJnX2NvbG9yX3Nl
dDsKICAgICB9OwogCiAgICAgI2RlZmluZSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKG9i
aikgICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VC
X0ZSQU1FLCBXZWJLaXRXZWJGcmFtZVByaXZhdGUpKQpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAJKHJldmlzaW9uIDMwNjU2KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDggQEAgZW51bSB7CiAgICAg
UFJPUF9QQVNURV9UQVJHRVRfTElTVCwKICAgICBQUk9QX0VESVRBQkxFLAogICAgIFBST1BfU0VU
VElOR1MsCi0gICAgUFJPUF9UUkFOU1BBUkVOVAorICAgIFBST1BfQkdfQ09MT1IsCisgICAgUFJP
UF9CR19BTFBIQQogfTsKIAogc3RhdGljIGd1aW50IHdlYmtpdF93ZWJfdmlld19zaWduYWxzW0xB
U1RfU0lHTkFMXSA9IHsgMCwgfTsKQEAgLTE5OSw2ICsyMDAsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4g
d2Via2l0X3dlYl92aWV3X3BvcHVwX21lCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhbHVlKiB2YWx1ZSwg
R1BhcmFtU3BlYyogcHNwZWMpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJ
VF9XRUJfVklFVyhvYmplY3QpOworICAgIEdka0NvbG9yIGNvbG9yOwogCiAgICAgc3dpdGNoKHBy
b3BfaWQpIHsKICAgICBjYXNlIFBST1BfQ09QWV9UQVJHRVRfTElTVDoKQEAgLTIxMyw5ICsyMTUs
MTIgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2dldF9wcm9wZXJ0eQogICAgIGNhc2Ug
UFJPUF9TRVRUSU5HUzoKICAgICAgICAgZ192YWx1ZV9zZXRfb2JqZWN0KHZhbHVlLCB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHdlYlZpZXcpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBQUk9QX1RSQU5TUEFSRU5UOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3RyYW5zcGFyZW50KHdlYlZpZXcpKTsKKyAgICBjYXNlIFBST1Bf
QkdfQ09MT1I6CisgICAgICAgIHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2dyb3VuZF9jb2xvcih3
ZWJWaWV3LCAmY29sb3IpOworICAgICAgICBnX3ZhbHVlX3NldF9ib3hlZCh2YWx1ZSwgJmNvbG9y
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0JHX0FMUEhBOgorICAgICAgICBnX3Zh
bHVlX3NldF91aW50KHZhbHVlLCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfYWxwaGEo
d2ViVmlldykpOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9Q
Uk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICB9CkBAIC0yMzIsOSArMjM3
LDExIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfcHJvcGVydHkKICAgICBjYXNl
IFBST1BfU0VUVElOR1M6CiAgICAgICAgIHdlYmtpdF93ZWJfdmlld19zZXRfc2V0dGluZ3Mod2Vi
VmlldywgV0VCS0lUX1dFQl9TRVRUSU5HUyhnX3ZhbHVlX2dldF9vYmplY3QodmFsdWUpKSk7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgUFJPUF9UUkFOU1BBUkVOVDoKLSAgICAgICAgd2Via2l0
X3dlYl92aWV3X3NldF90cmFuc3BhcmVudCh3ZWJWaWV3LCBnX3ZhbHVlX2dldF9ib29sZWFuKHZh
bHVlKSk7CisgICAgY2FzZSBQUk9QX0JHX0NPTE9SOgorICAgICAgICB3ZWJraXRfd2ViX3ZpZXdf
c2V0X2JhY2tncm91bmRfY29sb3Iod2ViVmlldywgKEdka0NvbG9yKikoZ192YWx1ZV9nZXRfYm94
ZWQodmFsdWUpKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9CR19BTFBIQToKKyAg
ICAgICAgd2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5kX2FscGhhKHdlYlZpZXcsIGdfdmFs
dWVfZ2V0X3VpbnQodmFsdWUpKTsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJO
X0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CiAgICAgfQpAQCAt
MjU0LDEyICsyNjEsMjUgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19leHBvc2Vf
ZQogICAgIGlmIChmcmFtZS0+cmVuZGVyZXIoKSkgewogICAgICAgICBmcmFtZS0+dmlldygpLT5s
YXlvdXRJZk5lZWRlZFJlY3Vyc2l2ZSgpOwogCi0gICAgICAgIGlmIChwcml2LT50cmFuc3BhcmVu
dCkgeworICAgICAgICBpZiAocHJpdi0+YmdfYWxwaGEgPCAweGZmZmYpIHsKICAgICAgICAgICAg
IGNhaXJvX3NhdmUoY3IpOwogICAgICAgICAgICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlS
T19PUEVSQVRPUl9DTEVBUik7CiAgICAgICAgICAgICBjYWlyb19wYWludChjcik7CiAgICAgICAg
ICAgICBjYWlyb19yZXN0b3JlKGNyKTsKICAgICAgICAgfQorICAgICAgICBpZiAocHJpdi0+Ymdf
YWxwaGEgPCAweGZmZmYgfHwgcHJpdi0+YmdfY29sb3Jfc2V0KSB7CisgICAgICAgICAgICBjYWly
b19zYXZlKGNyKTsKKyAgICAgICAgICAgIGZsb2F0IHIgPSAxLjAsIGcgPSAxLjAsIGIgPSAxLjAs
IGEgPSAxLjA7CisgICAgICAgICAgICBpZiAocHJpdi0+YmdfY29sb3Jfc2V0KSB7CisgICAgICAg
ICAgICAgICAgIHIgPSAoZmxvYXQpcHJpdi0+YmdfY29sb3IucmVkIC8gMHhmZmZmOworICAgICAg
ICAgICAgICAgICBnID0gKGZsb2F0KXByaXYtPmJnX2NvbG9yLmdyZWVuIC8gMHhmZmZmOworICAg
ICAgICAgICAgICAgICBiID0gKGZsb2F0KXByaXYtPmJnX2NvbG9yLmJsdWUgLyAweGZmZmY7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBhID0gKGZsb2F0KXByaXYtPmJnX2FscGhhIC8gMHhm
ZmZmOworICAgICAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9yZ2JhIChjciwgciwgZywgYiwgYSk7
CisgICAgICAgICAgICBjYWlyb19wYWludChjcik7CisgICAgICAgICAgICBjYWlyb19yZXN0b3Jl
KGNyKTsKKyAgICAgICAgfQogCiAgICAgICAgIGZyYW1lLT52aWV3KCktPnBhaW50KCZjdHgsIGNs
aXApOwogICAgIH0KQEAgLTEwOTUsMTIgKzExMTUsMTkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dl
Yl92aWV3X2NsYXNzX2luaXQoVwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAK
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9iamVjdENsYXNzLCBQUk9QX1RS
QU5TUEFSRU5ULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9z
cGVjX2Jvb2xlYW4oInRyYW5zcGFyZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcmFuc3BhcmVudCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2hldGhlciBjb250
ZW50IGhhcyBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFKSk7CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShvYmplY3RD
bGFzcywgUFJPUF9CR19DT0xPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdfcGFyYW1fc3BlY19ib3hlZCAoImJhY2tncm91bmQtY29sb3IiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFja2dyb3VuZCBjb2xv
ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJUaGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIiwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdES19UWVBFX0NPTE9SLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KG9iamVjdENsYXNzLCBQUk9QX0JHX0FMUEhBLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3VpbnQgKCJiYWNrZ3JvdW5kLWFscGhhIiwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJhY2tn
cm91bmQgYWxwaGEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJUaGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGFscGhhIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAweGZmZmYsIDB4
ZmZmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAKICAgICBnX3R5cGVfY2xhc3NfYWRkX3By
aXZhdGUod2ViVmlld0NsYXNzLCBzaXplb2YoV2ViS2l0V2ViVmlld1ByaXZhdGUpKTsKIH0KQEAg
LTExMzEsMTAgKzExNTgsMTAgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NjcmVlbl9j
aGFuZwogICAgIH0KICNlbmRpZgogICAgIEFTU0VSVChEUEkgPiAwKTsKLSAgICBzZXR0aW5ncy0+
c2V0RGVmYXVsdEZvbnRTaXplKGRlZmF1bHRGb250U2l6ZSAvIDcyLjAgKiBEUEkpOwotICAgIHNl
dHRpbmdzLT5zZXREZWZhdWx0Rml4ZWRGb250U2l6ZShkZWZhdWx0TW9ub3NwYWNlRm9udFNpemUg
LyA3Mi4wICogRFBJKTsKLSAgICBzZXR0aW5ncy0+c2V0TWluaW11bUZvbnRTaXplKG1pbmltdW1G
b250U2l6ZSAvIDcyLjAgKiBEUEkpOwotICAgIHNldHRpbmdzLT5zZXRNaW5pbXVtTG9naWNhbEZv
bnRTaXplKG1pbmltdW1Mb2dpY2FsRm9udFNpemUgLyA3Mi4wICogRFBJKTsKKyAgICBzZXR0aW5n
cy0+c2V0RGVmYXVsdEZvbnRTaXplKChpbnQpKGRlZmF1bHRGb250U2l6ZSAvIDcyLjAgKiBEUEkp
KTsKKyAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoKGludCkoZGVmYXVsdE1v
bm9zcGFjZUZvbnRTaXplIC8gNzIuMCAqIERQSSkpOworICAgIHNldHRpbmdzLT5zZXRNaW5pbXVt
Rm9udFNpemUoKGludCkobWluaW11bUZvbnRTaXplIC8gNzIuMCAqIERQSSkpOworICAgIHNldHRp
bmdzLT5zZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKChpbnQpKG1pbmltdW1Mb2dpY2FsRm9udFNp
emUgLyA3Mi4wICogRFBJKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRh
dGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKQEAgLTExOTUsNyArMTIyMiw5IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3QKICAgICBTZXR0aW5ncyog
c2V0dGluZ3MgPSBjb3JlKHdlYlZpZXcpLT5zZXR0aW5ncygpOwogCiAgICAgY29uc3QgZ2NoYXIq
IG5hbWUgPSBnX2ludGVybl9zdHJpbmcocHNwZWMtPm5hbWUpOwotICAgIEdWYWx1ZSB2YWx1ZSA9
IHswLCAwfTsKKyAgICBHVmFsdWUgdmFsdWU7CisgICAgdmFsdWUuZ190eXBlID0gMDsKKwogICAg
IGdfdmFsdWVfaW5pdCgmdmFsdWUsIHBzcGVjLT52YWx1ZV90eXBlKTsKICAgICBnX29iamVjdF9n
ZXRfcHJvcGVydHkoR19PQkpFQ1Qod2ViU2V0dGluZ3MpLCBuYW1lLCAmdmFsdWUpOwogCkBAIC0x
MjUyLDYgKzEyODEsOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfaW5pdChXZWJLaXRX
CiAgICAgcHJpdi0+bWFpbkZyYW1lID0gV0VCS0lUX1dFQl9GUkFNRSh3ZWJraXRfd2ViX2ZyYW1l
X25ldyh3ZWJWaWV3KSk7CiAgICAgcHJpdi0+bGFzdFBvcHVwWFBvc2l0aW9uID0gcHJpdi0+bGFz
dFBvcHVwWVBvc2l0aW9uID0gLTE7CiAgICAgcHJpdi0+ZWRpdGFibGUgPSBmYWxzZTsKKyAgICBw
cml2LT5iZ19hbHBoYSA9IDB4RkZGRjsKKyAgICBwcml2LT5iZ19jb2xvcl9zZXQgPSBGQUxTRTsK
IAogICAgIHByaXYtPmJhY2tGb3J3YXJkTGlzdCA9IHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xp
c3RfbmV3X3dpdGhfd2ViX3ZpZXcod2ViVmlldyk7CiAKQEAgLTE5MDYsMTAgKzE5MzcsMTAgQEAg
R3RrVGFyZ2V0TGlzdCogd2Via2l0X3dlYl92aWV3X2dldF9wYXN0ZQogICovCiBnYm9vbGVhbiB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3RyYW5zcGFyZW50KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBO
VUxMKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmll
dyksIEZBTFNFKTsKIAogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+
cHJpdjsKLSAgICByZXR1cm4gcHJpdi0+dHJhbnNwYXJlbnQ7CisgICAgcmV0dXJuIHByaXYtPmJn
X2FscGhhIDwgMHhmZmZmOwogfQogCiAvKioKQEAgLTE5MjQsMTUgKzE5NTUsNzYgQEAgZ2Jvb2xl
YW4gd2Via2l0X3dlYl92aWV3X2dldF90cmFuc3BhcmVudAogdm9pZCB3ZWJraXRfd2ViX3ZpZXdf
c2V0X3RyYW5zcGFyZW50KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGdib29sZWFuIGZsYWcpCiB7
CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworICAg
IHdlYmtpdF93ZWJfdmlld19zZXRfYmFja2dyb3VuZF9hbHBoYSh3ZWJWaWV3LCBmbGFnID8gMCA6
IDB4ZmZmZik7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5kX2Nv
bG9yOworICogQHdlYlZpZXcgYSAjV2ViS2l0V2ViVmlldworICogQGNvbG9yIHRoZSBiYWNrZ3Jv
dW5kIGNvbG9yCisgKgorICogU2V0cyB0aGUgQGNvbG9yIHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9y
IG9mIHRoZSAjV2ViS2l0V2ViVmlldworICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19nZXRfYmFj
a2dyb3VuZF9jb2xvciAoV2ViS2l0V2ViVmlldyogd2ViVmlldywgR2RrQ29sb3IgKmNvbG9yKQor
eworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKyAg
ICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisKKyAgICAqY29s
b3IgPSBwcml2LT5iZ19jb2xvcjsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2Jh
Y2tncm91bmRfY29sb3I7CisgKiBAd2ViVmlldyBhICNXZWJLaXRXZWJWaWV3CisgKiBAY29sb3Ig
dGhlIGJhY2tncm91bmQgY29sb3IKKyAqCisgKiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9m
IHRoZSAjV2ViS2l0V2ViVmlldyB0byBAY29sb3IKKyAqLwordm9pZCB3ZWJraXRfd2ViX3ZpZXdf
c2V0X2JhY2tncm91bmRfY29sb3IgKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IEdka0Nv
bG9yICpjb2xvcikKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3
ZWJWaWV3KSk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5wcml2
OworICAgIGlmIChjb2xvciAhPSBOVUxMKSB7CisgICAgICAgIHByaXYtPmJnX2NvbG9yID0gKmNv
bG9yOworICAgICAgICBwcml2LT5iZ19jb2xvcl9zZXQgPSBUUlVFOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHByaXYtPmJnX2NvbG9yX3NldCA9IEZBTFNFOworICAgIH0KK30KKworLyoqCisgKiB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfYWxwaGE7CisgKiBAd2ViVmlldyBhICNXZWJL
aXRXZWJWaWV3CisgKgorICogUmV0dXJuIHZhbHVlOiBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQg
NjU1MzUgCisgKi8KK2d1aW50MTYgd2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5kX2FscGhh
IChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMHhmZmZmKTsKKyAgICBXZWJLaXRXZWJWaWV3UHJp
dmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CiAKKyAgICByZXR1cm4gcHJpdi0+YmdfYWxwaGE7
Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5kX2FscGhhOworICog
QHdlYlZpZXcgYSAjV2ViS2l0V2ViVmlldworICogQGFscGhhIGFuIGludGVnZXIgYmV0d2VlbiAw
IGFuZCA2NTUzNQorICoKKyAqIFNldHMgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gQGFscGhhLgor
ICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfYmFja2dyb3VuZF9hbHBoYSAoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldywgZ3VpbnQxNiBhbHBoYSkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdF
QktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CiAgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHBy
aXYgPSB3ZWJWaWV3LT5wcml2OwotICAgIHByaXYtPnRyYW5zcGFyZW50ID0gZmxhZzsKKyAgICBw
cml2LT5iZ19hbHBoYSA9IGFscGhhOwogCiAgICAgLy8gVE9ETzogVGhpcyBuZWVkcyB0byBiZSBt
YWRlIHBlcnNpc3RlbnQgb3IgaXQgY291bGQgYmVjb21lIGEgcHJvYmxlbSB3aGVuCiAgICAgLy8g
dGhlIG1haW4gZnJhbWUgaXMgcmVwbGFjZWQuCiAgICAgRnJhbWUqIGZyYW1lID0gY29yZSh3ZWJW
aWV3KS0+bWFpbkZyYW1lKCk7CiAgICAgZ19yZXR1cm5faWZfZmFpbChmcmFtZSk7Ci0gICAgZnJh
bWUtPnZpZXcoKS0+c2V0VHJhbnNwYXJlbnQoZmxhZyk7CisgICAgZnJhbWUtPnZpZXcoKS0+c2V0
VHJhbnNwYXJlbnQoYWxwaGEgPCAweGZmZmYpOwogfQogCisKIH0KSW5kZXg6IFdlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJ2aWV3LmgJKHJldmlzaW9uIDMwNjU2KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTcsNiArMjE3LDE4IEBAIHdlYmtpdF93
ZWJfdmlld19nZXRfdHJhbnNwYXJlbnQgKFdlYktpdFcKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0
X3dlYl92aWV3X3NldF90cmFuc3BhcmVudCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcsIGdib29s
ZWFuIGZsYWcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19nZXRfYmFja2dy
b3VuZF9jb2xvciAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcsIEdka0NvbG9yICpjb2xvcik7CisK
K1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5kX2NvbG9yIChX
ZWJLaXRXZWJWaWV3KiB3ZWJfdmlldywgY29uc3QgR2RrQ29sb3IgKmNvbG9yKTsKKworV0VCS0lU
X0FQSSBndWludDE2Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfYWxwaGEgKFdlYktp
dFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdf
c2V0X2JhY2tncm91bmRfYWxwaGEgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3LCBndWludDE2IGFs
cGhhKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="8512"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19655</attachid>
            <date>2008-03-10 21:46:51 -0700</date>
            <delta_ts>2010-06-10 16:30:51 -0700</delta_ts>
            <desc>New version of patch</desc>
            <filename>bg_color_and_alpha.20080310.diff</filename>
            <type>text/plain</type>
            <size>10044</size>
            <attacher name="Sean Egan">seanegan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCShyZXZpc2lvbiAzMDk1MCkKKysr
IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
NSw3ICs5NSw4IEBACiAgICAgUFJPUF9QQVNURV9UQVJHRVRfTElTVCwKICAgICBQUk9QX0VESVRB
QkxFLAogICAgIFBST1BfU0VUVElOR1MsCi0gICAgUFJPUF9UUkFOU1BBUkVOVAorICAgIFBST1Bf
QkdfQ09MT1IsCisgICAgUFJPUF9CR19BTFBIQQogfTsKIAogc3RhdGljIGd1aW50IHdlYmtpdF93
ZWJfdmlld19zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCwgfTsKQEAgLTE5OSw2ICsyMDAsNyBA
QAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmpl
Y3QsIGd1aW50IHByb3BfaWQsIEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBzcGVjKQogewog
ICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcob2JqZWN0KTsKKyAg
ICBHZGtDb2xvciBjb2xvcjsKIAogICAgIHN3aXRjaChwcm9wX2lkKSB7CiAgICAgY2FzZSBQUk9Q
X0NPUFlfVEFSR0VUX0xJU1Q6CkBAIC0yMTMsOSArMjE1LDEzIEBACiAgICAgY2FzZSBQUk9QX1NF
VFRJTkdTOgogICAgICAgICBnX3ZhbHVlX3NldF9vYmplY3QodmFsdWUsIHdlYmtpdF93ZWJfdmll
d19nZXRfc2V0dGluZ3Mod2ViVmlldykpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFBST1Bf
VFJBTlNQQVJFTlQ6Ci0gICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF93
ZWJfdmlld19nZXRfdHJhbnNwYXJlbnQod2ViVmlldykpOworICAgIGNhc2UgUFJPUF9CR19DT0xP
UjoKKyAgICAgICAgd2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5kX2NvbG9yKHdlYlZpZXcs
ICZjb2xvcik7CisgICAgICAgIGdfdmFsdWVfc2V0X2JveGVkKHZhbHVlLCAmY29sb3IpOwogICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfQkdfQUxQSEE6CisgICAgICAgIGdfdmFsdWVfc2V0
X3VpbnQodmFsdWUsIHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2dyb3VuZF9hbHBoYSh3ZWJWaWV3
KSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5f
SU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKICAgICB9CkBAIC0y
MzIsOSArMjM4LDExIEBACiAgICAgY2FzZSBQUk9QX1NFVFRJTkdTOgogICAgICAgICB3ZWJraXRf
d2ViX3ZpZXdfc2V0X3NldHRpbmdzKHdlYlZpZXcsIFdFQktJVF9XRUJfU0VUVElOR1MoZ192YWx1
ZV9nZXRfb2JqZWN0KHZhbHVlKSkpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFBST1BfVFJB
TlNQQVJFTlQ6Ci0gICAgICAgIHdlYmtpdF93ZWJfdmlld19zZXRfdHJhbnNwYXJlbnQod2ViVmll
dywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgIGNhc2UgUFJPUF9CR19DT0xPUjoK
KyAgICAgICAgd2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5kX2NvbG9yKHdlYlZpZXcsIChH
ZGtDb2xvciopKGdfdmFsdWVfZ2V0X2JveGVkKHZhbHVlKSkpOwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFBST1BfQkdfQUxQSEE6CisgICAgICAgIHdlYmtpdF93ZWJfdmlld19zZXRfYmFja2dy
b3VuZF9hbHBoYSh3ZWJWaWV3LCBnX3ZhbHVlX2dldF91aW50KHZhbHVlKSk7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJv
cF9pZCwgcHNwZWMpOwogICAgIH0KQEAgLTI1NCwxMiArMjYyLDI1IEBACiAgICAgaWYgKGZyYW1l
LT5yZW5kZXJlcigpKSB7CiAgICAgICAgIGZyYW1lLT52aWV3KCktPmxheW91dElmTmVlZGVkUmVj
dXJzaXZlKCk7CiAKLSAgICAgICAgaWYgKHByaXYtPnRyYW5zcGFyZW50KSB7CisgICAgICAgIGlm
IChwcml2LT5iZ19hbHBoYSA8IDB4ZmZmZikgewogICAgICAgICAgICAgY2Fpcm9fc2F2ZShjcik7
CiAgICAgICAgICAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJBVE9SX0NMRUFS
KTsKICAgICAgICAgICAgIGNhaXJvX3BhaW50KGNyKTsKICAgICAgICAgICAgIGNhaXJvX3Jlc3Rv
cmUoY3IpOwogICAgICAgICB9CisgICAgICAgIGlmIChwcml2LT5iZ19hbHBoYSA8IDB4ZmZmZiB8
fCBwcml2LT5iZ19jb2xvcl9zZXQpIHsKKyAgICAgICAgICAgIGNhaXJvX3NhdmUoY3IpOworICAg
ICAgICAgICAgZmxvYXQgciA9IDEuMCwgZyA9IDEuMCwgYiA9IDEuMCwgYSA9IDEuMDsKKyAgICAg
ICAgICAgIGlmIChwcml2LT5iZ19jb2xvcl9zZXQpIHsKKyAgICAgICAgICAgICAgICAgciA9IChm
bG9hdClwcml2LT5iZ19jb2xvci5yZWQgLyAweGZmZmY7CisgICAgICAgICAgICAgICAgIGcgPSAo
ZmxvYXQpcHJpdi0+YmdfY29sb3IuZ3JlZW4gLyAweGZmZmY7CisgICAgICAgICAgICAgICAgIGIg
PSAoZmxvYXQpcHJpdi0+YmdfY29sb3IuYmx1ZSAvIDB4ZmZmZjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGEgPSAoZmxvYXQpcHJpdi0+YmdfYWxwaGEgLyAweGZmZmY7CisgICAgICAgICAg
ICBjYWlyb19zZXRfc291cmNlX3JnYmEgKGNyLCByLCBnLCBiLCBhKTsKKyAgICAgICAgICAgIGNh
aXJvX3BhaW50KGNyKTsKKyAgICAgICAgICAgIGNhaXJvX3Jlc3RvcmUoY3IpOworICAgICAgICB9
CiAKICAgICAgICAgZnJhbWUtPnZpZXcoKS0+cGFpbnQoJmN0eCwgY2xpcCk7CiAgICAgfQpAQCAt
MTA5NSwxMyArMTExNiwyMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAK
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KG9iamVjdENsYXNzLCBQUk9QX1RS
QU5TUEFSRU5ULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9z
cGVjX2Jvb2xlYW4oInRyYW5zcGFyZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcmFuc3BhcmVudCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2hldGhlciBjb250
ZW50IGhhcyBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFKSk7CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShvYmplY3RD
bGFzcywgUFJPUF9CR19DT0xPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdfcGFyYW1fc3BlY19ib3hlZCAoImJhY2tncm91bmQtY29sb3IiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFja2dyb3VuZCBjb2xv
ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJUaGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIiwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdES19UWVBFX0NPTE9SLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KG9iamVjdENsYXNzLCBQUk9QX0JHX0FMUEhBLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3VpbnQgKCJiYWNrZ3JvdW5kLWFscGhhIiwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJhY2tn
cm91bmQgYWxwaGEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJUaGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGFscGhhIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAweGZmZmYsIDB4
ZmZmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3By
aXZhdGUod2ViVmlld0NsYXNzLCBzaXplb2YoV2ViS2l0V2ViVmlld1ByaXZhdGUpKTsKIH0KIApA
QCAtMTEzMSwxMCArMTE1OSwxMCBAQAogICAgIH0KICNlbmRpZgogICAgIEFTU0VSVChEUEkgPiAw
KTsKLSAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZvbnRTaXplKGRlZmF1bHRGb250U2l6ZSAvIDcy
LjAgKiBEUEkpOwotICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rml4ZWRGb250U2l6ZShkZWZhdWx0
TW9ub3NwYWNlRm9udFNpemUgLyA3Mi4wICogRFBJKTsKLSAgICBzZXR0aW5ncy0+c2V0TWluaW11
bUZvbnRTaXplKG1pbmltdW1Gb250U2l6ZSAvIDcyLjAgKiBEUEkpOwotICAgIHNldHRpbmdzLT5z
ZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKG1pbmltdW1Mb2dpY2FsRm9udFNpemUgLyA3Mi4wICog
RFBJKTsKKyAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZvbnRTaXplKChpbnQpKGRlZmF1bHRGb250
U2l6ZSAvIDcyLjAgKiBEUEkpKTsKKyAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZpeGVkRm9udFNp
emUoKGludCkoZGVmYXVsdE1vbm9zcGFjZUZvbnRTaXplIC8gNzIuMCAqIERQSSkpOworICAgIHNl
dHRpbmdzLT5zZXRNaW5pbXVtRm9udFNpemUoKGludCkobWluaW11bUZvbnRTaXplIC8gNzIuMCAq
IERQSSkpOworICAgIHNldHRpbmdzLT5zZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKChpbnQpKG1p
bmltdW1Mb2dpY2FsRm9udFNpemUgLyA3Mi4wICogRFBJKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MoV2ViS2l0V2ViVmlldyogd2ViVmlldykKQEAg
LTEyNTIsNiArMTI4MCw4IEBACiAgICAgcHJpdi0+bWFpbkZyYW1lID0gV0VCS0lUX1dFQl9GUkFN
RSh3ZWJraXRfd2ViX2ZyYW1lX25ldyh3ZWJWaWV3KSk7CiAgICAgcHJpdi0+bGFzdFBvcHVwWFBv
c2l0aW9uID0gcHJpdi0+bGFzdFBvcHVwWVBvc2l0aW9uID0gLTE7CiAgICAgcHJpdi0+ZWRpdGFi
bGUgPSBmYWxzZTsKKyAgICBwcml2LT5iZ19hbHBoYSA9IDB4RkZGRjsKKyAgICBwcml2LT5iZ19j
b2xvcl9zZXQgPSBGQUxTRTsKIAogICAgIHByaXYtPmJhY2tGb3J3YXJkTGlzdCA9IHdlYmtpdF93
ZWJfYmFja19mb3J3YXJkX2xpc3RfbmV3X3dpdGhfd2ViX3ZpZXcod2ViVmlldyk7CiAKQEAgLTE5
MDYsMTAgKzE5MzYsMTAgQEAKICAqLwogZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2dldF90cmFu
c3BhcmVudChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgTlVMTCk7CisgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7CiAKICAgICBXZWJL
aXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7Ci0gICAgcmV0dXJuIHByaXYt
PnRyYW5zcGFyZW50OworICAgIHJldHVybiBwcml2LT5iZ19hbHBoYSA8IDB4ZmZmZjsKIH0KIAog
LyoqCkBAIC0xOTI0LDE1ICsxOTU0LDc2IEBACiB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfdHJh
bnNwYXJlbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgZ2Jvb2xlYW4gZmxhZykKIHsKICAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisgICAgd2Via2l0
X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5kX2FscGhhKHdlYlZpZXcsIGZsYWcgPyAwIDogMHhmZmZm
KTsKK30KIAorLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfY29sb3I7Cisg
KiBAd2ViVmlldyBhICNXZWJLaXRXZWJWaWV3CisgKiBAY29sb3IgdGhlIGJhY2tncm91bmQgY29s
b3IKKyAqCisgKiBTZXRzIHRoZSBAY29sb3IgdG8gdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhl
ICNXZWJLaXRXZWJWaWV3CisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X2dldF9iYWNrZ3JvdW5k
X2NvbG9yIChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHZGtDb2xvciAqY29sb3IpCit7CisgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOwogICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKLSAgICBwcml2LT50cmFuc3Bh
cmVudCA9IGZsYWc7CiAKKyAgICAqY29sb3IgPSBwcml2LT5iZ19jb2xvcjsKK30KKworLyoqCisg
KiB3ZWJraXRfd2ViX3ZpZXdfc2V0X2JhY2tncm91bmRfY29sb3I7CisgKiBAd2ViVmlldyBhICNX
ZWJLaXRXZWJWaWV3CisgKiBAY29sb3IgdGhlIGJhY2tncm91bmQgY29sb3IKKyAqCisgKiBTZXRz
IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSAjV2ViS2l0V2ViVmlldyB0byBAY29sb3IKKyAq
Lwordm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X2JhY2tncm91bmRfY29sb3IgKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcsIGNvbnN0IEdka0NvbG9yICpjb2xvcikKK3sKKyAgICBnX3JldHVybl9pZl9m
YWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZh
dGUqIHByaXYgPSB3ZWJWaWV3LT5wcml2OworICAgIGlmIChjb2xvciAhPSBOVUxMKSB7CisgICAg
ICAgIHByaXYtPmJnX2NvbG9yID0gKmNvbG9yOworICAgICAgICBwcml2LT5iZ19jb2xvcl9zZXQg
PSBUUlVFOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaXYtPmJnX2NvbG9yX3NldCA9IEZBTFNF
OworICAgIH0KK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfYWxw
aGE7CisgKiBAd2ViVmlldyBhICNXZWJLaXRXZWJWaWV3CisgKgorICogUmV0dXJuIHZhbHVlOiBh
biBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgNjU1MzUgCisgKi8KK2d1aW50MTYgd2Via2l0X3dlYl92
aWV3X2dldF9iYWNrZ3JvdW5kX2FscGhhIChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMHhmZmZm
KTsKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisKKyAg
ICByZXR1cm4gcHJpdi0+YmdfYWxwaGE7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X3Nl
dF9iYWNrZ3JvdW5kX2FscGhhOworICogQHdlYlZpZXcgYSAjV2ViS2l0V2ViVmlldworICogQGFs
cGhhIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA2NTUzNQorICoKKyAqIFNldHMgdGhlIGJhY2tn
cm91bmQgY29sb3IgdG8gQGFscGhhLgorICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfYmFj
a2dyb3VuZF9hbHBoYSAoV2ViS2l0V2ViVmlldyogd2ViVmlldywgZ3VpbnQxNiBhbHBoYSkKK3sK
KyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisgICAg
V2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5wcml2OworICAgIHByaXYtPmJn
X2FscGhhID0gYWxwaGE7CisKICAgICAvLyBUT0RPOiBUaGlzIG5lZWRzIHRvIGJlIG1hZGUgcGVy
c2lzdGVudCBvciBpdCBjb3VsZCBiZWNvbWUgYSBwcm9ibGVtIHdoZW4KICAgICAvLyB0aGUgbWFp
biBmcmFtZSBpcyByZXBsYWNlZC4KICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdlYlZpZXcpLT5t
YWluRnJhbWUoKTsKICAgICBnX3JldHVybl9pZl9mYWlsKGZyYW1lKTsKLSAgICBmcmFtZS0+dmll
dygpLT5zZXRUcmFuc3BhcmVudChmbGFnKTsKKyAgICBmcmFtZS0+dmlldygpLT5zZXRUcmFuc3Bh
cmVudChhbHBoYSA8IDB4ZmZmZik7CiB9CiAKKwogfQpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuaAkocmV2aXNpb24gMzA5NTApCisrKyBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2
aWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsyMTcsMTggQEAKIFdFQktJVF9BUEkgdm9p
ZAogd2Via2l0X3dlYl92aWV3X3NldF90cmFuc3BhcmVudCAoV2ViS2l0V2ViVmlldyogd2ViX3Zp
ZXcsIGdib29sZWFuIGZsYWcpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19n
ZXRfYmFja2dyb3VuZF9jb2xvciAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcsIEdka0NvbG9yICpj
b2xvcik7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3NldF9iYWNrZ3JvdW5k
X2NvbG9yIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldywgY29uc3QgR2RrQ29sb3IgKmNvbG9yKTsK
KworV0VCS0lUX0FQSSBndWludDE2Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tncm91bmRfYWxw
aGEgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
d2ViX3ZpZXdfc2V0X2JhY2tncm91bmRfYWxwaGEgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3LCBn
dWludDE2IGFscGhhKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCkluZGV4OiBXZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0cHJpdmF0ZS5oCShyZXZpc2lvbiAzMDk1MCkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsOSBAQAogICAgICAgICBH
dGtUYXJnZXRMaXN0KiBjb3B5X3RhcmdldF9saXN0OwogICAgICAgICBHdGtUYXJnZXRMaXN0KiBw
YXN0ZV90YXJnZXRfbGlzdDsKIAotICAgICAgICBnYm9vbGVhbiB0cmFuc3BhcmVudDsKKyAgICAg
ICAgR2RrQ29sb3IgYmdfY29sb3I7CisgICAgICAgIGd1aW50MTYgYmdfYWxwaGE7CisgICAgICAg
IGdib29sZWFuIGJnX2NvbG9yX3NldDsKICAgICB9OwogCiAgICAgI2RlZmluZSBXRUJLSVRfV0VC
X0ZSQU1FX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgo
b2JqKSwgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FLCBXZWJLaXRXZWJGcmFtZVByaXZhdGUpKQpJbmRl
eDogV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9DaGFuZ2VM
b2cJKHJldmlzaW9uIDMwOTUwKQorKysgV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0wMy0xMCAgU2VhbiBFZ2FuICA8c2VhbmVnYW5AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJU3VwcG9y
dCBzZXR0aW5nIGJhY2tncm91bmQgY29sb3IgYW5kIGEgMTYtYml0IGFscGhhIGNoYW5uZWwuCisK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5oOgorCiAyMDA4
LTAzLTEwICBYYW4gTG9wZXogIDx4YW5AZ25vbWUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFscCBUb2tlci4K
</data>

          </attachment>
      

    </bug>

</bugzilla>