<?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>14797</bug_id>
          
          <creation_ts>2007-07-27 20:06:45 -0700</creation_ts>
          <short_desc>[gtk] Make GraphicsContext use a full GdkEventExpose* to ease implementing Widget::paint</short_desc>
          <delta_ts>2007-08-09 17:47:54 -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>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          <dependson>14781</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3563</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-07-27 20:06:45 -0700</bug_when>
    <thetext>To implement Widget::paint we need to paint at the moment RenderWidget is going to request painting. To ease that we will store the full GdkEventExpose inside the GraphicsContext. And create a synthetic GdkEvent and ask gtkWidget to paint, this should be roughly similiar to how GtkContainer is handling exposing of children and will continue to work once we have multiple frames in Gtk as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3552</commentid>
    <comment_count>1</comment_count>
      <attachid>15715</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-07-27 20:11:31 -0700</bug_when>
    <thetext>Created attachment 15715
Store GdkEventExpose* in GraphicsContext and implement Widget::paint

-No ChangeLog entry as it requires 14781
-This is a patch from git and won&apos;t apply with svn-apply

-setGdkExposeEvent matches the Qt naming of such methods (e.g. mousePressEvent,...) but the parameter has it reversed with GdkEventExpose. I think the way I named the method follows the WebCore naming style and is the way to go.
-I ignore the clip rect of Widget::paint but that should directly come from the expose event anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3426</commentid>
    <comment_count>2</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-07-30 12:44:40 -0700</bug_when>
    <thetext>#14729 has this part included as well. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3194</commentid>
    <comment_count>3</comment_count>
      <attachid>15715</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-08-01 20:16:52 -0700</bug_when>
    <thetext>Comment on attachment 15715
Store GdkEventExpose* in GraphicsContext and implement Widget::paint

Seems to be obsoleted by http://bugs.webkit.org/attachment.cgi?id=15794</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15715</attachid>
            <date>2007-07-27 20:11:31 -0700</date>
            <delta_ts>2007-08-09 17:47:54 -0700</delta_ts>
            <desc>Store GdkEventExpose* in GraphicsContext and implement Widget::paint</desc>
            <filename>painting-changes.patch</filename>
            <type>text/plain</type>
            <size>4769</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ2RrL1dpZGdldEdkay5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dkay9XaWRnZXRHZGsuY3BwCmluZGV4IGVhNWI1YjAuLjQ4NTI5NGUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ2RrL1dpZGdldEdkay5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9nZGsvV2lkZ2V0R2RrLmNwcApAQCAtMTY2LDkgKzE2NiwyNyBAQCB2b2lkIFdpZGdl
dDo6cmVtb3ZlRnJvbVBhcmVudCgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBX
aWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosIEludFJlY3QgY29uc3QmKQorLyoKKyAqIHNp
bWlsaWFyIHRvIGd0a19jb250YWluZXJfcHJvcGFnYXRlX2V4cG9zZSwgd2Ugd2FudCB0byBtYWtl
IHN1cmUKKyAqIGd0a1dpZGdldCgpIGlzIHBhaW50ZWQgbm93LgorICovCit2b2lkIFdpZGdldDo6
cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBJbnRSZWN0IGNvbnN0JikKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIGlmICghZ3RrV2lkZ2V0KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIEdka0V2ZW50KiBldmVudCA9IGdka19ldmVudF9uZXcoR0RLX0VYUE9TRSk7CisgICAg
ZXZlbnQtPmV4cG9zZSA9ICpjb250ZXh0LT5nZGtFeHBvc2VFdmVudCgpOworICAgIGV2ZW50LT5l
eHBvc2UucmVnaW9uID0gZ3RrX3dpZGdldF9yZWdpb25faW50ZXJzZWN0KGd0a1dpZGdldCgpLCBl
dmVudC0+ZXhwb3NlLnJlZ2lvbik7CisgICAgZ19vYmplY3RfcmVmKGV2ZW50LT5leHBvc2Uud2lu
ZG93KTsKKworICAgIGlmICghZ2RrX3JlZ2lvbl9lbXB0eShldmVudC0+ZXhwb3NlLnJlZ2lvbikp
IHsKKyAgICAgICAgZ2RrX3JlZ2lvbl9nZXRfY2xpcGJveChldmVudC0+ZXhwb3NlLnJlZ2lvbiwg
JmV2ZW50LT5leHBvc2UuYXJlYSk7CisgICAgICAgIGd0a193aWRnZXRfc2VuZF9leHBvc2UoZ3Rr
V2lkZ2V0KCksIGV2ZW50KTsKKyAgICB9CisKKyAgICBndGtfd2lkZ2V0X3NlbmRfZXhwb3NlKGd0
a1dpZGdldCgpLCBldmVudCk7CisgICAgZ2RrX2V2ZW50X2ZyZWUgKGV2ZW50KTsKIH0KIAogdm9p
ZCBXaWRnZXQ6OnNldElzU2VsZWN0ZWQoYm9vbCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDc3MWMxNTMuLmU1Y2ViY2EgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtNDYsNiArNDYsNyBAQCB0eXBl
ZGVmIHZvaWQgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQ7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KEdESykKK3R5cGVkZWYgc3RydWN0IF9HZGtFdmVudEV4cG9zZSBHZGtFdmVudEV4cG9zZTsKIHR5
cGVkZWYgc3RydWN0IF9HZGtEcmF3YWJsZSBHZGtEcmF3YWJsZTsKICNlbmRpZgogCkBAIC0yMDgs
OCArMjA5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICNpZiBQTEFURk9STShH
REspCi0gICAgICAgIHZvaWQgc2V0R2RrRHJhd2FibGUoR2RrRHJhd2FibGUqKTsKLSAgICAgICAg
R2RrRHJhd2FibGUgKmdka0RyYXdhYmxlKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0R2RrRXhw
b3NlRXZlbnQoR2RrRXZlbnRFeHBvc2UqKTsKKyAgICAgICAgR2RrRHJhd2FibGUqIGdka0RyYXdh
YmxlKCkgY29uc3Q7CisgICAgICAgIEdka0V2ZW50RXhwb3NlKiBnZGtFeHBvc2VFdmVudCgpIGNv
bnN0OwogI2VuZGlmCiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCBiMDkyYTNk
Li5lZDRlMDgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgVmVjdG9yPGZsb2F0PiBsYXllcnM7CiAKICNpZiBQTEFURk9STShHREspCi0gICAgR2RrRHJh
d2FibGUgKmRyYXdhYmxlOworICAgIEdka0V2ZW50RXhwb3NlICpleHBvc2U7CiAjZW5kaWYKIH07
CiAKQEAgLTg4LDcgKzg4LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGZpbGxSZWN0U291cmNlT3Zl
cihjYWlyb190KiBjciwgY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdAogR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlOjpHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKQogICAg
IDogIGNyKDApCiAjaWYgUExBVEZPUk0oR0RLKQotICAgICwgZHJhd2FibGUoMCkKKyAgICAsIGV4
cG9zZSgwKQogI2VuZGlmCiB7CiB9CkBAIC03OTgsMTQgKzc5OCwxOSBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZmlsbFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRTaXplJiB0
b3BMZWZ0LCBjbwogfQogCiAjaWYgUExBVEZPUk0oR0RLKQotdm9pZCBHcmFwaGljc0NvbnRleHQ6
OnNldEdka0RyYXdhYmxlKEdka0RyYXdhYmxlKiBkcmF3YWJsZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0OjpzZXRHZGtFeHBvc2VFdmVudChHZGtFdmVudEV4cG9zZSogZXhwb3NlKQogewotICAgIG1f
ZGF0YS0+ZHJhd2FibGUgPSBkcmF3YWJsZTsKKyAgICBtX2RhdGEtPmV4cG9zZSA9IGV4cG9zZTsK
K30KKworR2RrRXZlbnRFeHBvc2UqIEdyYXBoaWNzQ29udGV4dDo6Z2RrRXhwb3NlRXZlbnQoKSBj
b25zdAoreworICAgIHJldHVybiBtX2RhdGEtPmV4cG9zZTsKIH0KIAogR2RrRHJhd2FibGUqIEdy
YXBoaWNzQ29udGV4dDo6Z2RrRHJhd2FibGUoKSBjb25zdAogewotICAgIHJldHVybiBtX2RhdGEt
PmRyYXdhYmxlOworICAgIHJldHVybiBHREtfRFJBV0FCTEUobV9kYXRhLT5leHBvc2UtPndpbmRv
dyk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9BcGkvd2Via2l0Z3RrcGFn
ZS5jcHAgYi9XZWJLaXQvZ3RrL0FwaS93ZWJraXRndGtwYWdlLmNwcAppbmRleCAxYzAxNWUxLi5m
NGNmNThhIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0FwaS93ZWJraXRndGtwYWdlLmNwcAorKysg
Yi9XZWJLaXQvZ3RrL0FwaS93ZWJraXRndGtwYWdlLmNwcApAQCAtNzIsMTkgKzcyLDYgQEAgc3Rh
dGljIGd1aW50IHdlYmtpdF9ndGtfcGFnZV9zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCwgfTsK
IAogR19ERUZJTkVfVFlQRShXZWJLaXRHdGtQYWdlLCB3ZWJraXRfZ3RrX3BhZ2UsIEdUS19UWVBF
X0xBWU9VVCkKIAotc3RydWN0IEZyYW1lRXhwb3NlRGF0YSB7Ci0gICAgR3RrQ29udGFpbmVyICpj
b250YWluZXI7Ci0gICAgR2RrRXZlbnRFeHBvc2UgKmV4cG9zZTsKLX07Ci0KLXN0YXRpYyB2b2lk
IGZyYW1lX2dka19leHBvc2VfY2hpbGQoR3RrV2lkZ2V0ICp3aWRnZXQsIGdwb2ludGVyIF9kYXRh
KQotewotICAgIEZyYW1lRXhwb3NlRGF0YSogZGF0YSA9IChGcmFtZUV4cG9zZURhdGEqKV9kYXRh
OwotICAgIGludCB3aWR0aCwgaGVpZ2h0OwotICAgIGd0a19jb250YWluZXJfcHJvcGFnYXRlX2V4
cG9zZShkYXRhLT5jb250YWluZXIsIHdpZGdldCwgZGF0YS0+ZXhwb3NlKTsKLX0gCi0KLQogc3Rh
dGljIGdib29sZWFuIHdlYmtpdF9ndGtfcGFnZV9leHBvc2VfZXZlbnQoR3RrV2lkZ2V0KiB3aWRn
ZXQsIEdka0V2ZW50RXhwb3NlKiBldmVudCkKIHsKICAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUg
PSBjb3JlKGdldEZyYW1lRnJvbVBhZ2UoV0VCS0lUX0dUS19QQUdFKHdpZGdldCkpKTsKQEAgLTkz
LDcgKzgwLDcgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdF9ndGtfcGFnZV9leHBvc2VfZXZlbnQo
R3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50RXhwb3NlKgogICAgIGdka193aW5kb3dfYmVnaW5f
cGFpbnRfcmVnaW9uKGV2ZW50LT53aW5kb3csIGV2ZW50LT5yZWdpb24pOwogICAgIGNhaXJvX3Qq
IGNyID0gZ2RrX2NhaXJvX2NyZWF0ZShldmVudC0+d2luZG93KTsKICAgICBHcmFwaGljc0NvbnRl
eHQgY3R4KGNyKTsKLSAgICBjdHguc2V0R2RrRHJhd2FibGUoZXZlbnQtPndpbmRvdyk7CisgICAg
Y3R4LnNldEdka0V4cG9zZUV2ZW50KGV2ZW50KTsKICAgICBpZiAoZnJhbWUtPnJlbmRlcmVyKCkp
IHsKICAgICAgICAgaWYgKGZyYW1lLT52aWV3KCktPm5lZWRzTGF5b3V0KCkpCiAgICAgICAgICAg
ICBmcmFtZS0+dmlldygpLT5sYXlvdXQoKTsKQEAgLTEwMiwxMyArODksNiBAQCBzdGF0aWMgZ2Jv
b2xlYW4gd2Via2l0X2d0a19wYWdlX2V4cG9zZV9ldmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2Rr
RXZlbnRFeHBvc2UqCiAgICAgfQogICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwogCi0gICAgLyoKLSAg
ICAgKiBNYWtlIHN1cmUgY2hpbGRyZW4gb2YgdGhlIHZpZXcgZ2V0IHJlZHJhd24KLSAgICAgKi8K
LSAgICBGcmFtZUV4cG9zZURhdGEgZGF0YSA9IHsgR1RLX0NPTlRBSU5FUih3aWRnZXQpLCBldmVu
dH07Ci0gICAgZ3RrX2NvbnRhaW5lcl9mb3JhbGwoR1RLX0NPTlRBSU5FUih3aWRnZXQpLCBmcmFt
ZV9nZGtfZXhwb3NlX2NoaWxkLCAmZGF0YSk7Ci0gICAgZ2RrX3dpbmRvd19lbmRfcGFpbnQoZXZl
bnQtPndpbmRvdyk7Ci0KICAgICByZXR1cm4gVFJVRTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>