<?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>8412</bug_id>
          
          <creation_ts>2006-04-15 11:45:25 -0700</creation_ts>
          <short_desc>Restore color profile after a crash</short_desc>
          <delta_ts>2010-03-14 17:19:32 -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>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>Mac</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>
          
          <blocked>36101</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>39350</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-15 11:45:25 -0700</bug_when>
    <thetext>The attached patch installs a handler for signals that make the process quit, and restores the color profile. Tested by adding &quot;*(int*)0 = 0;&quot; in the code.

It also fixes a bug where the color profile names weren&apos;t displayed on a non-English system (CFStringGetCStringPtr should NEVER EVER be used!).

I&apos;m also trying to add a way to prevent the Crash Reporter dialog from appearing, but haven&apos;t found a good solution yet. This is why I kept the existing handler for manual interruption (SIGINT/SIGHUP/SIGTERM) separate from the crashing case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39351</commentid>
    <comment_count>1</comment_count>
      <attachid>7730</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-15 11:46:12 -0700</bug_when>
    <thetext>Created attachment 7730
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39394</commentid>
    <comment_count>2</comment_count>
      <attachid>7730</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-15 18:07:12 -0700</bug_when>
    <thetext>Comment on attachment 7730
proposed patch

Looks fine.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7730</attachid>
            <date>2006-04-15 11:46:12 -0700</date>
            <delta_ts>2006-04-15 18:07:12 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>DRTPatch.txt</filename>
            <type>text/plain</type>
            <size>3767</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubQkocmV2
aXNpb24gMTM4NjIpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS5tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDEzIEBAIHN0YXRpYyB2b2lkIHJlc3Rv
cmVDb2xvclNwYWNlKGludCBpZ25vcmUKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIGNyYXNoSGFu
ZGxlcihpbnQgc2lnKQoreworICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIHN0cnNpZ25hbChz
aWcpKTsKKyAgICByZXN0b3JlQ29sb3JTcGFjZSgwKTsKKyAgICBleGl0KDEyOCArIHNpZyk7Cit9
CisKIHN0YXRpYyB2b2lkIHNldERlZmF1bHRDb2xvclByb2ZpbGVUb1JHQih2b2lkKQogewogICAg
IENNUHJvZmlsZVJlZiBnZW5lcmljUHJvZmlsZSA9IFtbTlNDb2xvclNwYWNlIGdlbmVyaWNSR0JD
b2xvclNwYWNlXSBjb2xvclN5bmNQcm9maWxlXTsKQEAgLTEzMCwyNiArMTM3LDI4IEBAIHN0YXRp
YyB2b2lkIHNldERlZmF1bHRDb2xvclByb2ZpbGVUb1JHQigKICAgICAgICAgcmV0dXJuOwogICAg
IENGU3RyaW5nUmVmIHByZXZpb3VzUHJvZmlsZU5hbWU7CiAgICAgQ0ZTdHJpbmdSZWYgZ2VuZXJp
Y1Byb2ZpbGVOYW1lOworICAgIGNoYXIgcHJldmlvdXNQcm9maWxlTmFtZVN0cmluZ1sxMDI0XTsK
KyAgICBjaGFyIGdlbmVyaWNQcm9maWxlTmFtZVN0cmluZ1sxMDI0XTsKICAgICBDTUNvcHlQcm9m
aWxlRGVzY3JpcHRpb25TdHJpbmcocHJldmlvdXNQcm9maWxlLCAmcHJldmlvdXNQcm9maWxlTmFt
ZSk7CiAgICAgQ01Db3B5UHJvZmlsZURlc2NyaXB0aW9uU3RyaW5nKGdlbmVyaWNQcm9maWxlLCAm
Z2VuZXJpY1Byb2ZpbGVOYW1lKTsKKyAgICBDRlN0cmluZ0dldENTdHJpbmcocHJldmlvdXNQcm9m
aWxlTmFtZSwgcHJldmlvdXNQcm9maWxlTmFtZVN0cmluZywgc2l6ZW9mKHByZXZpb3VzUHJvZmls
ZU5hbWVTdHJpbmcpLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpOworICAgIENGU3RyaW5nR2V0Q1N0
cmluZyhnZW5lcmljUHJvZmlsZU5hbWUsIGdlbmVyaWNQcm9maWxlTmFtZVN0cmluZywgc2l6ZW9m
KHByZXZpb3VzUHJvZmlsZU5hbWVTdHJpbmcpLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpOworICAg
IENGUmVsZWFzZShnZW5lcmljUHJvZmlsZU5hbWUpOworICAgIENGUmVsZWFzZShwcmV2aW91c1By
b2ZpbGVOYW1lKTsKICAgICAKLSAgICBmcHJpbnRmKHN0ZGVyciwgIlxuXG5XQVJOSU5HOiBUZW1w
b3JhcmlseSBjaGFuZ2luZyB5b3VyIHN5c3RlbSBjb2xvciBwcm9maWxlIGZyb20gXCIlc1wiIHRv
IFwiJXNcIi5cbiIsCi0gICAgICAgIENGU3RyaW5nR2V0Q1N0cmluZ1B0cihwcmV2aW91c1Byb2Zp
bGVOYW1lLCBrQ0ZTdHJpbmdFbmNvZGluZ01hY1JvbWFuKSwKLSAgICAgICAgQ0ZTdHJpbmdHZXRD
U3RyaW5nUHRyKGdlbmVyaWNQcm9maWxlTmFtZSwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21hbikp
OworICAgIGZwcmludGYoc3RkZXJyLCAiXG5cbldBUk5JTkc6IFRlbXBvcmFyaWx5IGNoYW5naW5n
IHlvdXIgc3lzdGVtIGNvbG9yIHByb2ZpbGUgZnJvbSBcIiVzXCIgdG8gXCIlc1wiLlxuIiwgcHJl
dmlvdXNQcm9maWxlTmFtZVN0cmluZywgZ2VuZXJpY1Byb2ZpbGVOYW1lU3RyaW5nKTsKICAgICBm
cHJpbnRmKHN0ZGVyciwgIlRoaXMgYWxsb3dzIHRoZSBXZWJLaXQgcGl4ZWwtYmFzZWQgcmVncmVz
c2lvbiB0ZXN0cyB0byBoYXZlIGNvbnNpc3RlbnQgY29sb3IgdmFsdWVzIGFjcm9zcyBhbGwgbWFj
aGluZXMuXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIlRoZSBjb2xvcnMgb24geW91ciBzY3Jl
ZW4gd2lsbCBjaGFuZ2UgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdGVzdGluZy5cblxuIik7CiAg
ICAgCiAgICAgaWYgKChlcnJvciA9IENNU2V0RGVmYXVsdFByb2ZpbGVCeVVzZShjbURpc3BsYXlV
c2UsIGdlbmVyaWNQcm9maWxlKSkpCiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRv
IHNldCBjb2xvciBwcm9maWxlIHRvIFwiJXNcIiEgTWFueSBwaXhlbCB0ZXN0cyB3aWxsIGZhaWwg
YXMgYSByZXN1bHQuICAoRXJyb3I6ICVpKSIsCi0gICAgICAgICAgICBDRlN0cmluZ0dldENTdHJp
bmdQdHIoZ2VuZXJpY1Byb2ZpbGVOYW1lLCBrQ0ZTdHJpbmdFbmNvZGluZ01hY1JvbWFuKSwgZXJy
b3IpOworICAgICAgICAgICAgZ2VuZXJpY1Byb2ZpbGVOYW1lU3RyaW5nLCBlcnJvcik7CiAgICAg
ZWxzZSB7CiAgICAgICAgIGN1cnJlbnRDb2xvclByb2ZpbGUgPSBwcmV2aW91c1Byb2ZpbGU7CiAg
ICAgICAgIHNpZ25hbChTSUdJTlQsIHJlc3RvcmVDb2xvclNwYWNlKTsKICAgICAgICAgc2lnbmFs
KFNJR0hVUCwgcmVzdG9yZUNvbG9yU3BhY2UpOwogICAgICAgICBzaWduYWwoU0lHVEVSTSwgcmVz
dG9yZUNvbG9yU3BhY2UpOwogICAgIH0KLSAgICBDRlJlbGVhc2UoZ2VuZXJpY1Byb2ZpbGVOYW1l
KTsKLSAgICBDRlJlbGVhc2UocHJldmlvdXNQcm9maWxlTmFtZSk7CiB9CiAKIHN0YXRpYyB2b2lk
KiAoKnNhdmVkTWFsbG9jKShtYWxsb2Nfem9uZV90Kiwgc2l6ZV90KTsKQEAgLTI3Niw2ICsyODUs
MTcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKICAgICBbd2ViVmll
dyBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ6WUVTXTsKIAogICAgIG1ha2VMYXJn
ZU1hbGxvY0ZhaWxTaWxlbnRseSgpOworCisgICAgc2lnbmFsKFNJR0lMTCwgY3Jhc2hIYW5kbGVy
KTsgICAgLyogNDogICBpbGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQgd2hlbiBjYXVnaHQp
ICovCisgICAgc2lnbmFsKFNJR1RSQVAsIGNyYXNoSGFuZGxlcik7ICAgLyogNTogICB0cmFjZSB0
cmFwIChub3QgcmVzZXQgd2hlbiBjYXVnaHQpICovCisgICAgc2lnbmFsKFNJR0VNVCwgY3Jhc2hI
YW5kbGVyKTsgICAgLyogNzogICBFTVQgaW5zdHJ1Y3Rpb24gKi8KKyAgICBzaWduYWwoU0lHRlBF
LCBjcmFzaEhhbmRsZXIpOyAgICAvKiA4OiAgIGZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiAqLwor
ICAgIHNpZ25hbChTSUdCVVMsIGNyYXNoSGFuZGxlcik7ICAgIC8qIDEwOiAgYnVzIGVycm9yICov
CisgICAgc2lnbmFsKFNJR1NFR1YsIGNyYXNoSGFuZGxlcik7ICAgLyogMTE6ICBzZWdtZW50YXRp
b24gdmlvbGF0aW9uICovCisgICAgc2lnbmFsKFNJR1NZUywgY3Jhc2hIYW5kbGVyKTsgICAgLyog
MTI6ICBiYWQgYXJndW1lbnQgdG8gc3lzdGVtIGNhbGwgKi8KKyAgICBzaWduYWwoU0lHUElQRSwg
Y3Jhc2hIYW5kbGVyKTsgICAvKiAxMzogIHdyaXRlIG9uIGEgcGlwZSB3aXRoIG5vIHJlYWRlciAq
LworICAgIHNpZ25hbChTSUdYQ1BVLCBjcmFzaEhhbmRsZXIpOyAgIC8qIDI0OiAgZXhjZWVkZWQg
Q1BVIHRpbWUgbGltaXQgKi8KKyAgICBzaWduYWwoU0lHWEZTWiwgY3Jhc2hIYW5kbGVyKTsgICAv
KiAyNTogIGV4Y2VlZGVkIGZpbGUgc2l6ZSBsaW1pdCAqLwogICAgIAogICAgIC8vIEZvciByZWFz
b25zIHRoYXQgYXJlIG5vdCBlbnRpcmVseSBjbGVhciwgdGhlIGZvbGxvd2luZyBwYWlyIG9mIGNh
bGxzIG1ha2VzIFdlYlZpZXcgaGFuZGxlIGl0cwogICAgIC8vIGR5bmFtaWMgc2Nyb2xsYmFycyBw
cm9wZXJseS4gV2l0aG91dCBpdCwgZXZlcnkgZnJhbWUgd2lsbCBhbHdheXMgaGF2ZSBzY3JvbGxi
YXJzLgo=
</data>
<flag name="review"
          id="2110"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>