<?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>146904</bug_id>
          
          <creation_ts>2015-07-13 10:35:57 -0700</creation_ts>
          <short_desc>[GTK] Build error with -DENABLE_SPELLCHECK=OFF</short_desc>
          <delta_ts>2015-09-30 05:55:49 -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>WebKitGTK</component>
          <version>420+</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="nick">unixman</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109130</commentid>
    <comment_count>0</comment_count>
    <who name="nick">unixman</who>
    <bug_when>2015-07-13 10:35:57 -0700</bug_when>
    <thetext>gtk port can not built when -DENABLE_SPELLCHECK=OFF. it complains

error: TextCheckerEnchant was not defined

But cmake allows turn it OFF when generating makefile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128022</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-09-22 10:20:42 -0700</bug_when>
    <thetext>I ACK this bug. When building WebKitGTK+ with -DENABLE_SPELLCHECK=OFF it fails to build with:


../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:43:17: error: no type named &apos;TextCheckerEnchant&apos; in namespace &apos;WebCore&apos;; did you mean &apos;TextCheckerClient&apos;?
static WebCore::TextCheckerEnchant&amp; enchantTextChecker()
       ~~~~~~~~~^~~~~~~~~~~~~~~~~~
                TextCheckerClient
../../Source/WebCore/page/EditorClient.h:63:7: note: &apos;TextCheckerClient&apos; declared here
class TextCheckerClient;
      ^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:45:36: error: no member named &apos;TextCheckerEnchant&apos; in namespace &apos;WebCore&apos;
    static NeverDestroyed&lt;WebCore::TextCheckerEnchant&gt; checker;
                          ~~~~~~~~~^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:116:79: error: cannot initialize a parameter of type &apos;int *&apos; with an lvalue of type &apos;int32_t&apos; (aka &apos;int&apos;)
    enchantTextChecker().checkSpellingOfString(text.toStringWithoutCopying(), misspellingLocation, misspellingLength);
                                                                              ^~~~~~~~~~~~~~~~~~~
../../Source/WebCore/platform/text/TextCheckerClient.h:47:57: note: passing argument to parameter &apos;misspellingLocation&apos; here
    virtual void checkSpellingOfString(StringView, int* misspellingLocation, int* misspellingLength) = 0;
                                                        ^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:142:58: error: too few arguments to function call, expected 3, have 1
    guesses = enchantTextChecker().getGuessesForWord(word);
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     ^
../../Source/WebCore/platform/text/TextCheckerClient.h:58:5: note: &apos;getGuessesForWord&apos; declared here
    virtual void getGuessesForWord(const String&amp; word, const String&amp; context, Vector&lt;String&gt;&amp; guesses) = 0;
    ^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:152:26: error: no member named &apos;ignoreWord&apos; in &apos;WebCore::TextCheckerClient&apos;
    enchantTextChecker().ignoreWord(word);
    ~~~~~~~~~~~~~~~~~~~~ ^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:233:26: error: no member named &apos;updateSpellCheckingLanguages&apos; in &apos;WebCore::TextCheckerClient&apos;
    enchantTextChecker().updateSpellCheckingLanguages(languages);
    ~~~~~~~~~~~~~~~~~~~~ ^
../../Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:238:33: error: no member named &apos;loadedSpellCheckingLanguages&apos; in &apos;WebCore::TextCheckerClient&apos;
    return enchantTextChecker().loadedSpellCheckingLanguages();
           ~~~~~~~~~~~~~~~~~~~~ ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128026</commentid>
    <comment_count>2</comment_count>
      <attachid>261749</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-09-22 10:37:49 -0700</bug_when>
    <thetext>Created attachment 261749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129189</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-09-29 02:39:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created attachment 261749 [details]
&gt; Patch

ping reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129210</commentid>
    <comment_count>4</comment_count>
      <attachid>261749</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-29 03:54:12 -0700</bug_when>
    <thetext>Comment on attachment 261749
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=261749&amp;action=review

&gt; Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:37
&gt; +#if ENABLE(SPELLCHECK)
&gt; +#include &quot;TextBreakIterator.h&quot;
&gt;  #include &quot;WebProcessPool.h&quot;
&gt;  #include &quot;WebTextChecker.h&quot;
&gt; +#endif

Why do we need to protect these? WebTextChecker.h could even be removed, I would say. And the others are not specific to spellchecker. Headers should have their own guards if needed, like TextCheckerEnchant.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129554</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-09-30 05:43:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 261749 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261749&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/gtk/TextCheckerGtk.cpp:37
&gt; &gt; +#if ENABLE(SPELLCHECK)
&gt; &gt; +#include &quot;TextBreakIterator.h&quot;
&gt; &gt;  #include &quot;WebProcessPool.h&quot;
&gt; &gt;  #include &quot;WebTextChecker.h&quot;
&gt; &gt; +#endif
&gt; 
&gt; Why do we need to protect these? WebTextChecker.h could even be removed, I
&gt; would say. And the others are not specific to spellchecker. Headers should
&gt; have their own guards if needed, like TextCheckerEnchant.h

Not other reason that avoiding to include not needed files when the feature is not enabled.

I will remove WebTextChecker.h form the list and remove the ifdef for the headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129556</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-09-30 05:55:49 -0700</bug_when>
    <thetext>Committed r190345: &lt;http://trac.webkit.org/changeset/190345&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261749</attachid>
            <date>2015-09-22 10:37:49 -0700</date>
            <delta_ts>2015-09-29 03:54:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug_146904.patch</filename>
            <type>text/plain</type>
            <size>7655</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlYzQxMWFiLi4xNjFkYmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTUtMDktMjIgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gQnVpbGQgZXJyb3Igd2l0aCAtREVOQUJMRV9TUEVMTENI
RUNLPU9GRgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ2OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGlmZGVmIGd1YXJkcyB0byBhbGxvdyBidWlsZGluZyB3aGVuIFNQRUxMQ0hFQ0sgaXMgbm90
IGVuYWJsZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1RleHRDaGVja2VyR3RrLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdB
bGxvd2VkKToKKyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVs
bENoZWNraW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRHcmFt
bWFyQ2hlY2tpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OmNvbnRp
bnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OlRleHRDaGVja2VyOjpncmFtbWFyQ2hlY2tpbmdFbmFibGVkU3RhdGVDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyk6CisgICAgICAg
IChXZWJLaXQ6OlRleHRDaGVja2VyOjpnZXRHdWVzc2VzRm9yV29yZCk6CisgICAgICAgIChXZWJL
aXQ6OlRleHRDaGVja2VyOjpsZWFybldvcmQpOgorICAgICAgICAoV2ViS2l0OjpUZXh0Q2hlY2tl
cjo6aWdub3JlV29yZCk6CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpyZXF1ZXN0Q2hl
Y2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpjaGVja1RleHRP
ZlBhcmFncmFwaCk6CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRTcGVsbENoZWNr
aW5nTGFuZ3VhZ2VzKToKKyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OmxvYWRlZFNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMpOgorCiAyMDE1LTA5LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBsZWdhY3kgRW50aXR5UmVmZXJl
bmNlIERPTSBOb2RlIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvVGV4dENoZWNrZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9UZXh0
Q2hlY2tlckd0ay5jcHAKaW5kZXggMzViM2YzOS4uYjYzYTVhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9UZXh0Q2hlY2tlckd0ay5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9UZXh0Q2hlY2tlckd0ay5jcHAKQEAgLTI4LDEwICsyOCwxNCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyLmgiCiAKLSNpbmNs
dWRlICJUZXh0QnJlYWtJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyU3RhdGUuaCIK
KworI2lmIEVOQUJMRShTUEVMTENIRUNLKQorI2luY2x1ZGUgIlRleHRCcmVha0l0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tlci5o
IgorI2VuZGlmCisKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9UZXh0Q2hlY2tlckVuY2hhbnQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KQEAgLTQwLDExICs0NCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKKyNpZiBFTkFCTEUoU1BFTExDSEVDSykKIHN0YXRpYyBXZWJD
b3JlOjpUZXh0Q2hlY2tlckVuY2hhbnQmIGVuY2hhbnRUZXh0Q2hlY2tlcigpCiB7CiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFdlYkNvcmU6OlRleHRDaGVja2VyRW5jaGFudD4gY2hlY2tlcjsK
ICAgICByZXR1cm4gY2hlY2tlcjsKIH0KKyNlbmRpZgogCiBUZXh0Q2hlY2tlclN0YXRlJiBjaGVj
a2VyU3RhdGUoKQogewpAQCAtNjMsNDEgKzY5LDYzIEBAIGNvbnN0IFRleHRDaGVja2VyU3RhdGUm
IFRleHRDaGVja2VyOjpzdGF0ZSgpCiAgICAgcmV0dXJuIGNoZWNrZXJTdGF0ZSgpOwogfQogCisj
aWYgRU5BQkxFKFNQRUxMQ0hFQ0spCiBzdGF0aWMgdm9pZCB1cGRhdGVTdGF0ZUZvckFsbFByb2Nl
c3NQb29scygpCiB7CiAgICAgZm9yIChjb25zdCBhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nl
c3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAgICAgICAgcHJvY2Vzc1Bvb2wtPnRleHRDaGVj
a2VyU3RhdGVDaGFuZ2VkKCk7CiB9CisjZW5kaWYKIAogYm9vbCBUZXh0Q2hlY2tlcjo6aXNDb250
aW51b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKQogeworI2lmIEVOQUJMRShTUEVMTENIRUNLKQog
ICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAog
dm9pZCBUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wg
aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpCiB7CisjaWYgRU5BQkxFKFNQRUxMQ0hF
Q0spCiAgICAgaWYgKGNoZWNrZXJTdGF0ZSgpLmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkID09IGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47
CiAgICAgY2hlY2tlclN0YXRlKCkuaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBp
c0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZDsKICAgICB1cGRhdGVTdGF0ZUZvckFsbFBy
b2Nlc3NQb29scygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oaXNDb250aW51b3VzU3BlbGxD
aGVja2luZ0VuYWJsZWQpOworI2VuZGlmCiB9CiAKIHZvaWQgVGV4dENoZWNrZXI6OnNldEdyYW1t
YXJDaGVja2luZ0VuYWJsZWQoYm9vbCBpc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQpCiB7CisjaWYg
RU5BQkxFKFNQRUxMQ0hFQ0spCiAgICAgaWYgKGNoZWNrZXJTdGF0ZSgpLmlzR3JhbW1hckNoZWNr
aW5nRW5hYmxlZCA9PSBpc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQpCiAgICAgICAgIHJldHVybjsK
ICAgICBjaGVja2VyU3RhdGUoKS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgPSBpc0dyYW1tYXJD
aGVja2luZ0VuYWJsZWQ7CiAgICAgdXBkYXRlU3RhdGVGb3JBbGxQcm9jZXNzUG9vbHMoKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKGlzR3JhbW1hckNoZWNraW5nRW5hYmxlZCk7CisjZW5kaWYK
IH0KIAogdm9pZCBUZXh0Q2hlY2tlcjo6Y29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkU3Rh
dGVDaGFuZ2VkKGJvb2wgZW5hYmxlZCkKIHsKKyNpZiBFTkFCTEUoU1BFTExDSEVDSykKICAgICBj
aGVja2VyU3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IGVuYWJsZWQ7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgogfQogCiB2b2lkIFRl
eHRDaGVja2VyOjpncmFtbWFyQ2hlY2tpbmdFbmFibGVkU3RhdGVDaGFuZ2VkKGJvb2wgZW5hYmxl
ZCkKIHsKKyNpZiBFTkFCTEUoU1BFTExDSEVDSykKICAgICBjaGVja2VyU3RhdGUoKS5pc0dyYW1t
YXJDaGVja2luZ0VuYWJsZWQgPSBlbmFibGVkOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5h
YmxlZCk7CisjZW5kaWYKIH0KIAogaW50NjRfdCBUZXh0Q2hlY2tlcjo6dW5pcXVlU3BlbGxEb2N1
bWVudFRhZyhXZWJQYWdlUHJveHkqKQpAQCAtMTExLDkgKzEzOSwxNSBAQCB2b2lkIFRleHRDaGVj
a2VyOjpjbG9zZVNwZWxsRG9jdW1lbnRXaXRoVGFnKGludDY0X3QgLyogdGFnICovKQogCiB2b2lk
IFRleHRDaGVja2VyOjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoaW50NjRfdCAvKiBzcGVsbERvY3Vt
ZW50VGFnICovLCBTdHJpbmdWaWV3IHRleHQsIGludDMyX3QmIG1pc3NwZWxsaW5nTG9jYXRpb24s
IGludDMyX3QmIG1pc3NwZWxsaW5nTGVuZ3RoKQogeworI2lmIEVOQUJMRShTUEVMTENIRUNLKQog
ICAgIG1pc3NwZWxsaW5nTG9jYXRpb24gPSAtMTsKICAgICBtaXNzcGVsbGluZ0xlbmd0aCA9IDA7
CiAgICAgZW5jaGFudFRleHRDaGVja2VyKCkuY2hlY2tTcGVsbGluZ09mU3RyaW5nKHRleHQudG9T
dHJpbmdXaXRob3V0Q29weWluZygpLCBtaXNzcGVsbGluZ0xvY2F0aW9uLCBtaXNzcGVsbGluZ0xl
bmd0aCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh0ZXh0KTsKKyAgICBVTlVTRURfUEFSQU0o
bWlzc3BlbGxpbmdMb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKG1pc3NwZWxsaW5nTGVuZ3Ro
KTsKKyNlbmRpZgogfQogCiB2b2lkIFRleHRDaGVja2VyOjpjaGVja0dyYW1tYXJPZlN0cmluZyhp
bnQ2NF90IC8qIHNwZWxsRG9jdW1lbnRUYWcgKi8sIFN0cmluZ1ZpZXcgLyogdGV4dCAqLywgVmVj
dG9yPFdlYkNvcmU6OkdyYW1tYXJEZXRhaWw+JiAvKiBncmFtbWFyRGV0YWlscyAqLywgaW50MzJf
dCYgLyogYmFkR3JhbW1hckxvY2F0aW9uICovLCBpbnQzMl90JiAvKiBiYWRHcmFtbWFyTGVuZ3Ro
ICovKQpAQCAtMTM5LDIxICsxNzMsMzUgQEAgdm9pZCBUZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxp
bmdVSVdpdGhHcmFtbWFyU3RyaW5nKGludDY0X3QgLyogc3BlbGxEb2N1bWVudFRhZwogCiB2b2lk
IFRleHRDaGVja2VyOjpnZXRHdWVzc2VzRm9yV29yZChpbnQ2NF90IC8qIHNwZWxsRG9jdW1lbnRU
YWcgKi8sIGNvbnN0IFN0cmluZyYgd29yZCwgY29uc3QgU3RyaW5nJiAvKiBjb250ZXh0ICovLCBW
ZWN0b3I8U3RyaW5nPiYgZ3Vlc3NlcykKIHsKKyNpZiBFTkFCTEUoU1BFTExDSEVDSykKICAgICBn
dWVzc2VzID0gZW5jaGFudFRleHRDaGVja2VyKCkuZ2V0R3Vlc3Nlc0ZvcldvcmQod29yZCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTSh3b3JkKTsKKyAgICBVTlVTRURfUEFSQU0oZ3Vlc3Nlcyk7
CisjZW5kaWYKIH0KIAogdm9pZCBUZXh0Q2hlY2tlcjo6bGVhcm5Xb3JkKGludDY0X3QgLyogc3Bl
bGxEb2N1bWVudFRhZyAqLywgY29uc3QgU3RyaW5nJiB3b3JkKQogeworI2lmIEVOQUJMRShTUEVM
TENIRUNLKQogICAgIGVuY2hhbnRUZXh0Q2hlY2tlcigpLmxlYXJuV29yZCh3b3JkKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKHdvcmQpOworI2VuZGlmCiB9CiAKIHZvaWQgVGV4dENoZWNrZXI6
Omlnbm9yZVdvcmQoaW50NjRfdCAvKiBzcGVsbERvY3VtZW50VGFnICovLCBjb25zdCBTdHJpbmcm
IHdvcmQpCiB7CisjaWYgRU5BQkxFKFNQRUxMQ0hFQ0spCiAgICAgZW5jaGFudFRleHRDaGVja2Vy
KCkuaWdub3JlV29yZCh3b3JkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHdvcmQpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgVGV4dENoZWNrZXI6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NS
ZWZQdHI8VGV4dENoZWNrZXJDb21wbGV0aW9uPiBjb21wbGV0aW9uKQogeworI2lmIEVOQUJMRShT
UEVMTENIRUNLKQogICAgIGlmICghY29tcGxldGlvbikKICAgICAgICAgcmV0dXJuOwogCkBAIC0x
NjIsOSArMjEwLDEyIEBAIHZvaWQgVGV4dENoZWNrZXI6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5n
KFBhc3NSZWZQdHI8VGV4dENoZWNrZXJDb21wbGV0aW9uPiBjb21wCiAgICAgQVNTRVJUKHJlcXVl
c3QubWFzaygpICE9IFRleHRDaGVja2luZ1R5cGVOb25lKTsKIAogICAgIGNvbXBsZXRpb24tPmRp
ZEZpbmlzaENoZWNraW5nVGV4dChjaGVja1RleHRPZlBhcmFncmFwaChjb21wbGV0aW9uLT5zcGVs
bERvY3VtZW50VGFnKCksIHJlcXVlc3QudGV4dCgpLCByZXF1ZXN0Lm1hc2soKSkpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oY29tcGxldGlvbik7CisjZW5kaWYKIH0KIAotI2lmIFVTRShVTklG
SUVEX1RFWFRfQ0hFQ0tJTkcpCisjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVDS0lORykgJiYgRU5B
QkxFKFNQRUxMQ0hFQ0spCiBzdGF0aWMgdW5zaWduZWQgbmV4dFdvcmRPZmZzZXQoU3RyaW5nVmll
dyB0ZXh0LCB1bnNpZ25lZCBjdXJyZW50T2Zmc2V0KQogewogICAgIC8vIEZJWE1FOiBhdm9pZCBj
cmVhdGluZyB0ZXh0SXRlcmF0b3Igb2JqZWN0IGhlcmUsIGl0IGNvdWxkIGJlIHBhc3NlZCBhcyBh
IHBhcmFtZXRlci4KQEAgLTE5MCw5ICsyNDEsMTIgQEAgc3RhdGljIHVuc2lnbmVkIG5leHRXb3Jk
T2Zmc2V0KFN0cmluZ1ZpZXcgdGV4dCwgdW5zaWduZWQgY3VycmVudE9mZnNldCkKIAogICAgIHJl
dHVybiB3b3JkT2Zmc2V0OwogfQorI2VuZGlmCiAKKyNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNL
SU5HKQogVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4gVGV4dENoZWNrZXI6OmNoZWNrVGV4dE9m
UGFyYWdyYXBoKGludDY0X3Qgc3BlbGxEb2N1bWVudFRhZywgU3RyaW5nVmlldyB0ZXh0LCB1aW50
NjRfdCBjaGVja2luZ1R5cGVzKQogeworI2lmIEVOQUJMRShTUEVMTENIRUNLKQogICAgIGlmICgh
KGNoZWNraW5nVHlwZXMgJiBUZXh0Q2hlY2tpbmdUeXBlU3BlbGxpbmcpKQogICAgICAgICByZXR1
cm4gVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4oKTsKIApAQCAtMjI1LDE3ICsyNzksMzEgQEAg
VmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4gVGV4dENoZWNrZXI6OmNoZWNrVGV4dE9mUGFyYWdy
YXBoKGludDY0X3Qgc3BlbGxEb2N1bWUKICAgICAgICAgb2Zmc2V0ID0gbmV4dFdvcmRPZmZzZXQo
dGV4dC5zdWJzdHJpbmcoMCwgbGVuZ3RoU3RyaXApLCBvZmZzZXQpOwogICAgIH0KICAgICByZXR1
cm4gcGFyYWdyYXBoQ2hlY2tpbmdSZXN1bHQ7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShzcGVs
bERvY3VtZW50VGFnKTsKKyAgICBVTlVTRURfUEFSQU0odGV4dCk7CisgICAgVU5VU0VEX1BBUkFN
KGNoZWNraW5nVHlwZXMpOworICAgIHJldHVybiBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0Pigp
OworI2VuZGlmIC8vIEVOQUJMRShTUEVMTENIRUNLKQogfQotI2VuZGlmCisjZW5kaWYgLy8gVVNF
KFVOSUZJRURfVEVYVF9DSEVDS0lORykKIAogdm9pZCBUZXh0Q2hlY2tlcjo6c2V0U3BlbGxDaGVj
a2luZ0xhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VzKQogeworI2lmIEVO
QUJMRShTUEVMTENIRUNLKQogICAgIGVuY2hhbnRUZXh0Q2hlY2tlcigpLnVwZGF0ZVNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZXMobGFuZ3VhZ2VzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGxhbmd1
YWdlcyk7CisjZW5kaWYKIH0KIAogVmVjdG9yPFN0cmluZz4gVGV4dENoZWNrZXI6OmxvYWRlZFNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKQogeworI2lmIEVOQUJMRShTUEVMTENIRUNLKQogICAgIHJl
dHVybiBlbmNoYW50VGV4dENoZWNrZXIoKS5sb2FkZWRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCk7
CisjZWxzZQorICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworI2VuZGlmCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="286935"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>