<?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>22560</bug_id>
          
          <creation_ts>2008-11-29 18:36:04 -0800</creation_ts>
          <short_desc>[GTK] Some Gtk Screen functions assume widgets are realized, leading to segfaults.</short_desc>
          <delta_ts>2008-12-11 02:26:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Robert Carr">racarr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hortont424</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100744</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Carr">racarr</who>
    <bug_when>2008-11-29 18:36:04 -0800</bug_when>
    <thetext>Code in PlatformScreenGtk for screenDepth and screenRect can not
assume that the platformWindow for the widget has a valid &quot;window&quot; 
member, and doing so causes segfaults (screenDepth) or GLib warnings (screenRect). For example, the case of, a new browser view opening as a
child of a GtkNotebook, but never being switched to, or manually
realized. Solve by using the toplevel window of the widget, rather
than the widget itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100745</commentid>
    <comment_count>1</comment_count>
      <attachid>25603</attachid>
    <who name="Robert Carr">racarr</who>
    <bug_when>2008-11-29 18:37:07 -0800</bug_when>
    <thetext>Created attachment 25603
Patch to fix described problem, + changelog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100747</commentid>
    <comment_count>2</comment_count>
      <attachid>25603</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-29 19:41:46 -0800</bug_when>
    <thetext>Comment on attachment 25603
Patch to fix described problem, + changelog entry.


&gt; -    GdkVisual* visual = gdk_drawable_get_visual(GDK_DRAWABLE(GTK_WIDGET(widget-&gt;root()-&gt;hostWindow()-&gt;platformWindow())-&gt;window));
&gt; +	if (!GTK_WIDGET_REALIZED(container))
&gt; +	{
&gt; +		GtkWidget * toplevel = gtk_widget_get_toplevel(container);
&gt; +		if (GTK_WIDGET_TOPLEVEL(toplevel))
&gt; +			container = toplevel;
&gt; +		else
&gt; +			return 24;
&gt; +	}

please see the WebKit.org CodingStyle guideleines. the &apos;{&apos; is on the wrong line, your indention is messed up, also the indention of the ChangeLog is messed. Please fix this and attach an updated version of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100749</commentid>
    <comment_count>3</comment_count>
      <attachid>25605</attachid>
    <who name="Timothy P. Horton">hortont424</who>
    <bug_when>2008-11-29 20:09:50 -0800</bug_when>
    <thetext>Created attachment 25605
Update to previous patch, fixing style mistakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100857</commentid>
    <comment_count>4</comment_count>
      <attachid>25605</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-12-01 12:40:36 -0800</bug_when>
    <thetext>Comment on attachment 25605
Update to previous patch, fixing style mistakes.

You can leave the Requestee field blank when requesting review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101468</commentid>
    <comment_count>5</comment_count>
      <attachid>25605</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-12-05 04:01:21 -0800</bug_when>
    <thetext>Comment on attachment 25605
Update to previous patch, fixing style mistakes.


&gt; +        Code in PlatformScreenGtk for screenDepth and screenRect can not

oh well, It can assume it. In fact the current code shows that it can assume it. It should not assume the widget to be realized. :)



&gt; +        assume that the platformWindow for the widget has a valid &quot;window&quot; 
&gt; +        member.	For example in the case of, a new browser view opening as a

remove bogus space when landing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102223</commentid>
    <comment_count>6</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-12-11 02:26:54 -0800</bug_when>
    <thetext>This did land in r39203.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25603</attachid>
            <date>2008-11-29 18:37:07 -0800</date>
            <delta_ts>2008-12-01 12:40:08 -0800</delta_ts>
            <desc>Patch to fix described problem, + changelog entry.</desc>
            <filename>unrealized-widgets.patch</filename>
            <type>text/plain</type>
            <size>2272</size>
            <attacher name="Robert Carr">racarr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzODg0OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDgtMTEtMjkgIFJvYmVydCBDYXJyICA8cmFjYXJyQHN2bi5nbm9t
ZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKwlDb2RlIGlu
IFBsYXRmb3JtU2NyZWVuR3RrIGZvciBzY3JlZW5EZXB0aCBhbmQgc2NyZWVuUmVjdCBjYW4gbm90
CisJYXNzdW1lIHRoYXQgdGhlIHBsYXRmb3JtV2luZG93IGZvciB0aGUgd2lkZ2V0IGhhcyBhIHZh
bGlkICJ3aW5kb3ciIAorCW1lbWJlci4JRm9yIGV4YW1wbGUgaW4gdGhlIGNhc2Ugb2YsIGEgbmV3
IGJyb3dzZXIgdmlldyBvcGVuaW5nIGFzIGEKKwljaGlsZCBvZiBhIEd0a05vdGVib29rLCBidXQg
bmV2ZXIgYmVpbmcgc3dpdGNoZWQgdG8sIG9yIG1hbnVhbGx5CisJcmVhbGl6ZWQuIFNvbHZlIGJ5
IHVzaW5nIHRoZSB0b3BsZXZlbCB3aW5kb3cgb2YgdGhlIHdpZGdldCwgcmF0aGVyCisJdGhhbiB0
aGUgd2lkZ2V0IGl0c2VsZi4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVl
bkd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5EZXB0aCk6CisgICAgICAgIChXZWJD
b3JlOjpzY3JlZW5SZWN0KToKKwogMjAwOC0xMS0yOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFt
QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1BsYXRmb3JtU2NyZWVuR3RrLmNwcAkocmV2aXNp
b24gMzg4NDYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3LDEwICs0NywyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBp
bnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgR3RrV2lkZ2V0KiBjb250YWlu
ZXIgPSBHVEtfV0lER0VUKHdpZGdldC0+cm9vdCgpLT5ob3N0V2luZG93KCktPnBsYXRmb3JtV2lu
ZG93KCkpOworCQogICAgIGlmICghY29udGFpbmVyKQogICAgICAgICByZXR1cm4gMjQ7CiAKLSAg
ICBHZGtWaXN1YWwqIHZpc3VhbCA9IGdka19kcmF3YWJsZV9nZXRfdmlzdWFsKEdES19EUkFXQUJM
RShHVEtfV0lER0VUKHdpZGdldC0+cm9vdCgpLT5ob3N0V2luZG93KCktPnBsYXRmb3JtV2luZG93
KCkpLT53aW5kb3cpKTsKKwlpZiAoIUdUS19XSURHRVRfUkVBTElaRUQoY29udGFpbmVyKSkKKwl7
CisJCUd0a1dpZGdldCAqIHRvcGxldmVsID0gZ3RrX3dpZGdldF9nZXRfdG9wbGV2ZWwoY29udGFp
bmVyKTsKKwkJaWYgKEdUS19XSURHRVRfVE9QTEVWRUwodG9wbGV2ZWwpKQorCQkJY29udGFpbmVy
ID0gdG9wbGV2ZWw7CisJCWVsc2UKKwkJCXJldHVybiAyNDsKKwl9CisKKworICAgIEdka1Zpc3Vh
bCogdmlzdWFsID0gZ2RrX2RyYXdhYmxlX2dldF92aXN1YWwoR0RLX0RSQVdBQkxFKGNvbnRhaW5l
ci0+d2luZG93KSk7CiAgICAgcmV0dXJuIHZpc3VhbC0+ZGVwdGg7CiB9CiAKQEAgLTc1LDggKzg2
LDggQEAgYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUoV2lkZ2V0KiB3aWRnZXQpCiAKIEZsb2F0UmVj
dCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewotICAgIEd0a1dpZGdldCogY29udGFpbmVy
ID0gR1RLX1dJREdFVCh3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVdpbmRv
dygpKTsKLSAgICBpZiAoIWNvbnRhaW5lcikKKyAgICBHdGtXaWRnZXQqIGNvbnRhaW5lciA9IGd0
a193aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQod2lkZ2V0LT5yb290KCktPmhvc3RXaW5k
b3coKS0+cGxhdGZvcm1XaW5kb3coKSkpOworICAgIGlmICghR1RLX1dJREdFVF9UT1BMRVZFTChj
b250YWluZXIpKQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiAKICAgICBHZGtTY3JlZW4q
IHNjcmVlbiA9IGd0a193aWRnZXRfaGFzX3NjcmVlbihjb250YWluZXIpID8gZ3RrX3dpZGdldF9n
ZXRfc2NyZWVuKGNvbnRhaW5lcikgOiBnZGtfc2NyZWVuX2dldF9kZWZhdWx0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25605</attachid>
            <date>2008-11-29 20:09:50 -0800</date>
            <delta_ts>2008-12-05 04:01:21 -0800</delta_ts>
            <desc>Update to previous patch, fixing style mistakes.</desc>
            <filename>unrealized-widgets-style.patch</filename>
            <type>text/plain</type>
            <size>2292</size>
            <attacher name="Timothy P. Horton">hortont424</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzODg0OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDgtMTEtMjkgIFJvYmVydCBDYXJyICA8cmFjYXJyQHN2bi5nbm9t
ZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q29kZSBpbiBQbGF0Zm9ybVNjcmVlbkd0ayBmb3Igc2NyZWVuRGVwdGggYW5kIHNjcmVlblJlY3Qg
Y2FuIG5vdAorICAgICAgICBhc3N1bWUgdGhhdCB0aGUgcGxhdGZvcm1XaW5kb3cgZm9yIHRoZSB3
aWRnZXQgaGFzIGEgdmFsaWQgIndpbmRvdyIgCisgICAgICAgIG1lbWJlci4JRm9yIGV4YW1wbGUg
aW4gdGhlIGNhc2Ugb2YsIGEgbmV3IGJyb3dzZXIgdmlldyBvcGVuaW5nIGFzIGEKKyAgICAgICAg
Y2hpbGQgb2YgYSBHdGtOb3RlYm9vaywgYnV0IG5ldmVyIGJlaW5nIHN3aXRjaGVkIHRvLCBvciBt
YW51YWxseQorICAgICAgICByZWFsaXplZC4gU29sdmUgYnkgdXNpbmcgdGhlIHRvcGxldmVsIHdp
bmRvdyBvZiB0aGUgd2lkZ2V0LCByYXRoZXIKKyAgICAgICAgdGhhbiB0aGUgd2lkZ2V0IGl0c2Vs
Zi4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpzY3JlZW5EZXB0aCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5SZWN0
KToKKwogMjAwOC0xMS0yOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGdtYWlsLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvUGxhdGZvcm1TY3JlZW5HdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3RrL1BsYXRmb3JtU2NyZWVuR3RrLmNwcAkocmV2aXNpb24gMzg4NDgpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2d0ay9QbGF0Zm9ybVNjcmVlbkd0ay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDEwICs0NywyMCBAQAogaW50IHNjcmVlbkRlcHRoKFdpZGdldCogd2lkZ2V0KQogewog
ICAgIEd0a1dpZGdldCogY29udGFpbmVyID0gR1RLX1dJREdFVCh3aWRnZXQtPnJvb3QoKS0+aG9z
dFdpbmRvdygpLT5wbGF0Zm9ybVdpbmRvdygpKTsKKwogICAgIGlmICghY29udGFpbmVyKQogICAg
ICAgICByZXR1cm4gMjQ7CiAKLSAgICBHZGtWaXN1YWwqIHZpc3VhbCA9IGdka19kcmF3YWJsZV9n
ZXRfdmlzdWFsKEdES19EUkFXQUJMRShHVEtfV0lER0VUKHdpZGdldC0+cm9vdCgpLT5ob3N0V2lu
ZG93KCktPnBsYXRmb3JtV2luZG93KCkpLT53aW5kb3cpKTsKKyAgICBpZiAoIUdUS19XSURHRVRf
UkVBTElaRUQoY29udGFpbmVyKSkgeworICAgICAgICBHdGtXaWRnZXQqIHRvcGxldmVsID0gZ3Rr
X3dpZGdldF9nZXRfdG9wbGV2ZWwoY29udGFpbmVyKTsKKyAgICAgICAgaWYgKEdUS19XSURHRVRf
VE9QTEVWRUwodG9wbGV2ZWwpKQorICAgICAgICAgICAgY29udGFpbmVyID0gdG9wbGV2ZWw7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiAyNDsKKyAgICB9CisKKworICAgIEdka1Zp
c3VhbCogdmlzdWFsID0gZ2RrX2RyYXdhYmxlX2dldF92aXN1YWwoR0RLX0RSQVdBQkxFKGNvbnRh
aW5lci0+d2luZG93KSk7CiAgICAgcmV0dXJuIHZpc3VhbC0+ZGVwdGg7CiB9CiAKQEAgLTc1LDgg
Kzg1LDggQEAKIAogRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0gICAg
R3RrV2lkZ2V0KiBjb250YWluZXIgPSBHVEtfV0lER0VUKHdpZGdldC0+cm9vdCgpLT5ob3N0V2lu
ZG93KCktPnBsYXRmb3JtV2luZG93KCkpOwotICAgIGlmICghY29udGFpbmVyKQorICAgIEd0a1dp
ZGdldCogY29udGFpbmVyID0gZ3RrX3dpZGdldF9nZXRfdG9wbGV2ZWwoR1RLX1dJREdFVCh3aWRn
ZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVdpbmRvdygpKSk7CisgICAgaWYgKCFH
VEtfV0lER0VUX1RPUExFVkVMKGNvbnRhaW5lcikpCiAgICAgICAgIHJldHVybiBGbG9hdFJlY3Qo
KTsKIAogICAgIEdka1NjcmVlbiogc2NyZWVuID0gZ3RrX3dpZGdldF9oYXNfc2NyZWVuKGNvbnRh
aW5lcikgPyBndGtfd2lkZ2V0X2dldF9zY3JlZW4oY29udGFpbmVyKSA6IGdka19zY3JlZW5fZ2V0
X2RlZmF1bHQoKTsK
</data>
<flag name="review"
          id="11928"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>