<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>284</bug_id>
          
          <creation_ts>2007-02-27 11:15:07 +0100</creation_ts>
          <short_desc>JOGL does not paint when window size==display size and not window.isActive</short_desc>
          <delta_ts>2010-03-24 07:50:15 +0100</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>300</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:50:15 +0100</bug_when>
    <thetext>


---- Reported by jesmith 2007-02-27 11:15:07 ----

When the JOGL GLCanvas is in an undecorated Frame (AWT), which is the same size as the screen, it 
does not paint when the Frame is not Active (that is, when it is in the background, and other 
WindowsXP application windows overlap it).

If the Frame is not exactly the same size as the screen, such as being +/- 1 pixel different in width, 
then Alt-Tab&apos;ing to another application leaves a correctly painting JOGL window in the background.  It 
appears that there is some &quot;exact match&quot; logic somewhere in the JOGL source, although my searches 
turned up no obvious candidates.

I believe this problem started when I switched from JDK 1.4.2 to JDK 1.6.  It exists in 1.1.0 RC3 and 
1.0.0.

This would not be a problem with full-screen-exclusive windows, since they cannot be in the 
background.  Rather, it is only a problem for full-screen, non-exclusive windows.

I am seeing this with NVIDIA Quadro FX 3500 and 4500 cards.  I have not tried to reproduce on an ATI 
system.



---- Additional Comments From jesmith 2007-02-27 12:11:31 ----

I meant to make this P1 when I submitted it.



---- Additional Comments From jesmith 2007-02-27 12:47:11 ----

Created an attachment
Test case




---- Additional Comments From jesmith 2007-02-27 12:49:29 ----

I&apos;ve attached a simple test case, which is the Gears demo with a couple extra lines.

Note that in creating this test case, I discovered that there is another key factor: Antialiasing.  This 
problem does not occur when FSAA is 0.  Therefore I now suspect this is really an NVIDIA bug, not a JOGL 
bug.  Although it&apos;s profoundly weird that it did not happen when we used Java 1.4, and it does happen 
now, with no NVIDIA driver upgrades in between....




---- Additional Comments From kbr 2007-02-27 14:33:22 ----

Are you specifying -Dsun.java2d.noddraw=true on the command line? This is
required for guaranteed correct operation of all JOGL applications on Windows.




---- Additional Comments From jesmith 2007-02-28 06:53:38 ----

Yes, the test case is reproduced with -Dsun.java2d.noddraw=true, and also with -
Dsun.java2d.opengl=true (in any combination)

This is clearly *not* an interaction with AWT since, it happens when you alt-Tab to a completely different 
application as well.  And, keep in mind, that it only happens with antialiasing On.

My bet now is that this is actually an NVIDIA bug, where they are assuming that a fullscreen window is a 
fullscreen *exclusive* window (by testing the window size, but not testing for exclusivity), and doing some 
inappropriate optimizations for that case.

As such, you might just want to close this bug.  Since I now no longer believe it&apos;s JOGL&apos;s fault.



---- Additional Comments From kbr 2007-03-02 10:15:34 ----

As indicated by the submitter, this is almost certainly not a JOGL bug. Closing
as &quot;works for me&quot;.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:50 EDT  ---

This bug was previously known as _bug_ 284 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=284
Imported an attachment (id=95)

The original submitter of attachment 95 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>95</attachid>
            <date>2007-02-27 12:47:00 +0100</date>
            <delta_ts>2007-02-27 12:47:00 +0100</delta_ts>
            <desc>Test case</desc>
            <filename>Gears.java</filename>
            <type>text/plain</type>
            <size>11967</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">CmltcG9ydCBqYXZhLmF3dC4qOwppbXBvcnQgamF2YS5hd3QuZXZlbnQuKjsKCmltcG9ydCBqYXZh
eC5tZWRpYS5vcGVuZ2wuKjsKaW1wb3J0IGNvbS5zdW4ub3BlbmdsLnV0aWwuKjsKCi8qKgogKiBH
ZWFycy5qYXZhIDxCUj4KICogYXV0aG9yOiBCcmlhbiBQYXVsIChjb252ZXJ0ZWQgdG8gSmF2YSBi
eSBSb24gQ2VtZXIgYW5kIFN2ZW4gR29ldGhlbCkgPFA+CiAqCiAqIFRoaXMgdmVyc2lvbiBpcyBl
cXVhbCB0byBCcmlhbiBQYXVsJ3MgdmVyc2lvbiAxLjIgMTk5OS8xMC8yMQogKi8KCnB1YmxpYyBj
bGFzcyBHZWFycyBpbXBsZW1lbnRzIEdMRXZlbnRMaXN0ZW5lciwgTW91c2VMaXN0ZW5lciwgTW91
c2VNb3Rpb25MaXN0ZW5lciB7CiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJn
cykgewogICAgRnJhbWUgZnJhbWUgPSBuZXcgRnJhbWUoIkdlYXIgRGVtbyIpOwoKICAgIC8qKiBM
aW5lcyBhZGRlZCBieSBqZXNtaXRoIHRvIGRlbW9uc3RyYXRlIEZ1bGwtU2NyZWVuIHBhaW50aW5n
IHByb2JsZW0gKiovCiAgICAvKiovICBmcmFtZS5zZXRVbmRlY29yYXRlZCh0cnVlKTsKICAgIC8q
Ki8gIAogICAgLyoqLyAgR0xDYXBhYmlsaXRpZXMgY2FwYWJpbGl0aWVzID0gbmV3IEdMQ2FwYWJp
bGl0aWVzKCk7CiAgICAvKiovICBjYXBhYmlsaXRpZXMuc2V0RG91YmxlQnVmZmVyZWQodHJ1ZSk7
CiAgICAvKiovICBjYXBhYmlsaXRpZXMuc2V0U2FtcGxlQnVmZmVycyh0cnVlKTsKICAgIC8qKi8g
IGNhcGFiaWxpdGllcy5zZXROdW1TYW1wbGVzKDQpOwogICAgLyoqLyAgR0xDYW52YXMgY2FudmFz
ID0gbmV3IEdMQ2FudmFzKGNhcGFiaWxpdGllcyk7CiAgICAvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKICAg
IC8vIHdhczogR0xDYW52YXMgY2FudmFzID0gbmV3IEdMQ2FudmFzKCk7CgogICAgY2FudmFzLmFk
ZEdMRXZlbnRMaXN0ZW5lcihuZXcgR2VhcnMoKSk7CiAgICBmcmFtZS5hZGQoY2FudmFzKTsKICAg
IC8vIHdhczogZnJhbWUuc2V0U2l6ZSgzMDAsIDMwMCk7CgogICAgLyoqIExpbmVzIGFkZGVkIGJ5
IGplc21pdGggdG8gZGVtb25zdHJhdGUgRnVsbC1TY3JlZW4gcGFpbnRpbmcgcHJvYmxlbSAqKi8K
ICAgIC8qKi8gIERpbWVuc2lvbiBzcyA9IFRvb2xraXQuZ2V0RGVmYXVsdFRvb2xraXQoKS5nZXRT
Y3JlZW5TaXplKCk7CiAgICAvKiovICBmcmFtZS5zZXRCb3VuZHMobmV3IFJlY3RhbmdsZSgwLCAw
LCBzcy53aWR0aCwgc3MuaGVpZ2h0KSk7CiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKICAgIGZpbmFs
IEFuaW1hdG9yIGFuaW1hdG9yID0gbmV3IEFuaW1hdG9yKGNhbnZhcyk7CiAgICBmcmFtZS5hZGRX
aW5kb3dMaXN0ZW5lcihuZXcgV2luZG93QWRhcHRlcigpIHsKICAgICAgICBwdWJsaWMgdm9pZCB3
aW5kb3dDbG9zaW5nKFdpbmRvd0V2ZW50IGUpIHsKICAgICAgICAgIC8vIFJ1biB0aGlzIG9uIGFu
b3RoZXIgdGhyZWFkIHRoYW4gdGhlIEFXVCBldmVudCBxdWV1ZSB0bwogICAgICAgICAgLy8gbWFr
ZSBzdXJlIHRoZSBjYWxsIHRvIEFuaW1hdG9yLnN0b3AoKSBjb21wbGV0ZXMgYmVmb3JlCiAgICAg
ICAgICAvLyBleGl0aW5nCiAgICAgICAgICBuZXcgVGhyZWFkKG5ldyBSdW5uYWJsZSgpIHsKICAg
ICAgICAgICAgICBwdWJsaWMgdm9pZCBydW4oKSB7CiAgICAgICAgICAgICAgICBhbmltYXRvci5z
dG9wKCk7CiAgICAgICAgICAgICAgICBTeXN0ZW0uZXhpdCgwKTsKICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgIH0pLnN0YXJ0KCk7CiAgICAgICAgfQogICAgICB9KTsKICAgIGZyYW1lLnNob3co
KTsKICAgIGFuaW1hdG9yLnN0YXJ0KCk7CiAgfQoKICBwcml2YXRlIGZsb2F0IHZpZXdfcm90eCA9
IDIwLjBmLCB2aWV3X3JvdHkgPSAzMC4wZiwgdmlld19yb3R6ID0gMC4wZjsKICBwcml2YXRlIGlu
dCBnZWFyMSwgZ2VhcjIsIGdlYXIzOwogIHByaXZhdGUgZmxvYXQgYW5nbGUgPSAwLjBmOwoKICBw
cml2YXRlIGludCBwcmV2TW91c2VYLCBwcmV2TW91c2VZOwogIHByaXZhdGUgYm9vbGVhbiBtb3Vz
ZVJCdXR0b25Eb3duID0gZmFsc2U7CgogIHB1YmxpYyB2b2lkIGluaXQoR0xBdXRvRHJhd2FibGUg
ZHJhd2FibGUpIHsKICAgIC8vIFVzZSBkZWJ1ZyBwaXBlbGluZQogICAgLy8gZHJhd2FibGUuc2V0
R0wobmV3IERlYnVnR0woZHJhd2FibGUuZ2V0R0woKSkpOwoKICAgIEdMIGdsID0gZHJhd2FibGUu
Z2V0R0woKTsKCiAgICBTeXN0ZW0uZXJyLnByaW50bG4oIklOSVQgR0wgSVM6ICIgKyBnbC5nZXRD
bGFzcygpLmdldE5hbWUoKSk7CgogICAgU3lzdGVtLmVyci5wcmludGxuKCJDaG9zZW4gR0xDYXBh
YmlsaXRpZXM6ICIgKyBkcmF3YWJsZS5nZXRDaG9zZW5HTENhcGFiaWxpdGllcygpKTsKCiAgICBn
bC5zZXRTd2FwSW50ZXJ2YWwoMSk7CgogICAgZmxvYXQgcG9zW10gPSB7IDUuMGYsIDUuMGYsIDEw
LjBmLCAwLjBmIH07CiAgICBmbG9hdCByZWRbXSA9IHsgMC44ZiwgMC4xZiwgMC4wZiwgMS4wZiB9
OwogICAgZmxvYXQgZ3JlZW5bXSA9IHsgMC4wZiwgMC44ZiwgMC4yZiwgMS4wZiB9OwogICAgZmxv
YXQgYmx1ZVtdID0geyAwLjJmLCAwLjJmLCAxLjBmLCAxLjBmIH07CgogICAgZ2wuZ2xMaWdodGZ2
KEdMLkdMX0xJR0hUMCwgR0wuR0xfUE9TSVRJT04sIHBvcywgMCk7CiAgICBnbC5nbEVuYWJsZShH
TC5HTF9DVUxMX0ZBQ0UpOwogICAgZ2wuZ2xFbmFibGUoR0wuR0xfTElHSFRJTkcpOwogICAgZ2wu
Z2xFbmFibGUoR0wuR0xfTElHSFQwKTsKICAgIGdsLmdsRW5hYmxlKEdMLkdMX0RFUFRIX1RFU1Qp
OwogICAgICAgICAgICAKICAgIC8qIG1ha2UgdGhlIGdlYXJzICovCiAgICBnZWFyMSA9IGdsLmds
R2VuTGlzdHMoMSk7CiAgICBnbC5nbE5ld0xpc3QoZ2VhcjEsIEdMLkdMX0NPTVBJTEUpOwogICAg
Z2wuZ2xNYXRlcmlhbGZ2KEdMLkdMX0ZST05ULCBHTC5HTF9BTUJJRU5UX0FORF9ESUZGVVNFLCBy
ZWQsIDApOwogICAgZ2VhcihnbCwgMS4wZiwgNC4wZiwgMS4wZiwgMjAsIDAuN2YpOwogICAgZ2wu
Z2xFbmRMaXN0KCk7CiAgICAgICAgICAgIAogICAgZ2VhcjIgPSBnbC5nbEdlbkxpc3RzKDEpOwog
ICAgZ2wuZ2xOZXdMaXN0KGdlYXIyLCBHTC5HTF9DT01QSUxFKTsKICAgIGdsLmdsTWF0ZXJpYWxm
dihHTC5HTF9GUk9OVCwgR0wuR0xfQU1CSUVOVF9BTkRfRElGRlVTRSwgZ3JlZW4sIDApOwogICAg
Z2VhcihnbCwgMC41ZiwgMi4wZiwgMi4wZiwgMTAsIDAuN2YpOwogICAgZ2wuZ2xFbmRMaXN0KCk7
CiAgICAgICAgICAgIAogICAgZ2VhcjMgPSBnbC5nbEdlbkxpc3RzKDEpOwogICAgZ2wuZ2xOZXdM
aXN0KGdlYXIzLCBHTC5HTF9DT01QSUxFKTsKICAgIGdsLmdsTWF0ZXJpYWxmdihHTC5HTF9GUk9O
VCwgR0wuR0xfQU1CSUVOVF9BTkRfRElGRlVTRSwgYmx1ZSwgMCk7CiAgICBnZWFyKGdsLCAxLjNm
LCAyLjBmLCAwLjVmLCAxMCwgMC43Zik7CiAgICBnbC5nbEVuZExpc3QoKTsKICAgICAgICAgICAg
CiAgICBnbC5nbEVuYWJsZShHTC5HTF9OT1JNQUxJWkUpOwogICAgICAgICAgICAgICAgCiAgICBk
cmF3YWJsZS5hZGRNb3VzZUxpc3RlbmVyKHRoaXMpOwogICAgZHJhd2FibGUuYWRkTW91c2VNb3Rp
b25MaXN0ZW5lcih0aGlzKTsKICB9CiAgICAKICBwdWJsaWMgdm9pZCByZXNoYXBlKEdMQXV0b0Ry
YXdhYmxlIGRyYXdhYmxlLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkgewog
ICAgR0wgZ2wgPSBkcmF3YWJsZS5nZXRHTCgpOwoKICAgIGZsb2F0IGggPSAoZmxvYXQpaGVpZ2h0
IC8gKGZsb2F0KXdpZHRoOwogICAgICAgICAgICAKICAgIGdsLmdsTWF0cml4TW9kZShHTC5HTF9Q
Uk9KRUNUSU9OKTsKCiAgICBTeXN0ZW0uZXJyLnByaW50bG4oIkdMX1ZFTkRPUjogIiArIGdsLmds
R2V0U3RyaW5nKEdMLkdMX1ZFTkRPUikpOwogICAgU3lzdGVtLmVyci5wcmludGxuKCJHTF9SRU5E
RVJFUjogIiArIGdsLmdsR2V0U3RyaW5nKEdMLkdMX1JFTkRFUkVSKSk7CiAgICBTeXN0ZW0uZXJy
LnByaW50bG4oIkdMX1ZFUlNJT046ICIgKyBnbC5nbEdldFN0cmluZyhHTC5HTF9WRVJTSU9OKSk7
CiAgICBnbC5nbExvYWRJZGVudGl0eSgpOwogICAgZ2wuZ2xGcnVzdHVtKC0xLjBmLCAxLjBmLCAt
aCwgaCwgNS4wZiwgNjAuMGYpOwogICAgZ2wuZ2xNYXRyaXhNb2RlKEdMLkdMX01PREVMVklFVyk7
CiAgICBnbC5nbExvYWRJZGVudGl0eSgpOwogICAgZ2wuZ2xUcmFuc2xhdGVmKDAuMGYsIDAuMGYs
IC00MC4wZik7CiAgfQoKICBwdWJsaWMgdm9pZCBkaXNwbGF5KEdMQXV0b0RyYXdhYmxlIGRyYXdh
YmxlKSB7CiAgICBhbmdsZSArPSAyLjBmOwoKICAgIEdMIGdsID0gZHJhd2FibGUuZ2V0R0woKTsK
ICAgIGlmICgoZHJhd2FibGUgaW5zdGFuY2VvZiBHTEpQYW5lbCkgJiYKICAgICAgICAhKChHTEpQ
YW5lbCkgZHJhd2FibGUpLmlzT3BhcXVlKCkgJiYKICAgICAgICAoKEdMSlBhbmVsKSBkcmF3YWJs
ZSkuc2hvdWxkUHJlc2VydmVDb2xvckJ1ZmZlcklmVHJhbnNsdWNlbnQoKSkgewogICAgICBnbC5n
bENsZWFyKEdMLkdMX0RFUFRIX0JVRkZFUl9CSVQpOwogICAgfSBlbHNlIHsKICAgICAgZ2wuZ2xD
bGVhcihHTC5HTF9DT0xPUl9CVUZGRVJfQklUIHwgR0wuR0xfREVQVEhfQlVGRkVSX0JJVCk7CiAg
ICB9CiAgICAgICAgICAgIAogICAgZ2wuZ2xQdXNoTWF0cml4KCk7CiAgICBnbC5nbFJvdGF0ZWYo
dmlld19yb3R4LCAxLjBmLCAwLjBmLCAwLjBmKTsKICAgIGdsLmdsUm90YXRlZih2aWV3X3JvdHks
IDAuMGYsIDEuMGYsIDAuMGYpOwogICAgZ2wuZ2xSb3RhdGVmKHZpZXdfcm90eiwgMC4wZiwgMC4w
ZiwgMS4wZik7CiAgICAgICAgICAgIAogICAgZ2wuZ2xQdXNoTWF0cml4KCk7CiAgICBnbC5nbFRy
YW5zbGF0ZWYoLTMuMGYsIC0yLjBmLCAwLjBmKTsKICAgIGdsLmdsUm90YXRlZihhbmdsZSwgMC4w
ZiwgMC4wZiwgMS4wZik7CiAgICBnbC5nbENhbGxMaXN0KGdlYXIxKTsKICAgIGdsLmdsUG9wTWF0
cml4KCk7CiAgICAgICAgICAgIAogICAgZ2wuZ2xQdXNoTWF0cml4KCk7CiAgICBnbC5nbFRyYW5z
bGF0ZWYoMy4xZiwgLTIuMGYsIDAuMGYpOwogICAgZ2wuZ2xSb3RhdGVmKC0yLjBmICogYW5nbGUg
LSA5LjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsKICAgIGdsLmdsQ2FsbExpc3QoZ2VhcjIpOwogICAg
Z2wuZ2xQb3BNYXRyaXgoKTsKICAgICAgICAgICAgCiAgICBnbC5nbFB1c2hNYXRyaXgoKTsKICAg
IGdsLmdsVHJhbnNsYXRlZigtMy4xZiwgNC4yZiwgMC4wZik7CiAgICBnbC5nbFJvdGF0ZWYoLTIu
MGYgKiBhbmdsZSAtIDI1LjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsKICAgIGdsLmdsQ2FsbExpc3Qo
Z2VhcjMpOwogICAgZ2wuZ2xQb3BNYXRyaXgoKTsKICAgICAgICAgICAgCiAgICBnbC5nbFBvcE1h
dHJpeCgpOwogIH0KCiAgcHVibGljIHZvaWQgZGlzcGxheUNoYW5nZWQoR0xBdXRvRHJhd2FibGUg
ZHJhd2FibGUsIGJvb2xlYW4gbW9kZUNoYW5nZWQsIGJvb2xlYW4gZGV2aWNlQ2hhbmdlZCkge30K
CiAgcHVibGljIHN0YXRpYyB2b2lkIGdlYXIoR0wgZ2wsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgaW5uZXJfcmFkaXVzLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IG91
dGVyX3JhZGl1cywKICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCB3aWR0aCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgdGVldGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmxvYXQgdG9vdGhfZGVwdGgpCiAgewogICAgaW50IGk7CiAgICBmbG9hdCByMCwgcjEsIHIyOwog
ICAgZmxvYXQgYW5nbGUsIGRhOwogICAgZmxvYXQgdSwgdiwgbGVuOwoKICAgIHIwID0gaW5uZXJf
cmFkaXVzOwogICAgcjEgPSBvdXRlcl9yYWRpdXMgLSB0b290aF9kZXB0aCAvIDIuMGY7CiAgICBy
MiA9IG91dGVyX3JhZGl1cyArIHRvb3RoX2RlcHRoIC8gMi4wZjsKICAgICAgICAgICAgCiAgICBk
YSA9IDIuMGYgKiAoZmxvYXQpIE1hdGguUEkgLyB0ZWV0aCAvIDQuMGY7CiAgICAgICAgICAgIAog
ICAgZ2wuZ2xTaGFkZU1vZGVsKEdMLkdMX0ZMQVQpOwoKICAgIGdsLmdsTm9ybWFsM2YoMC4wZiwg
MC4wZiwgMS4wZik7CgogICAgLyogZHJhdyBmcm9udCBmYWNlICovCiAgICBnbC5nbEJlZ2luKEdM
LkdMX1FVQURfU1RSSVApOwogICAgZm9yIChpID0gMDsgaSA8PSB0ZWV0aDsgaSsrKQogICAgICB7
CiAgICAgICAgYW5nbGUgPSBpICogMi4wZiAqIChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOwogICAg
ICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMCAqIChmbG9h
dClNYXRoLnNpbihhbmdsZSksIHdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihy
MSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwg
d2lkdGggKiAwLjVmKTsKICAgICAgICBpZihpIDwgdGVldGgpCiAgICAgICAgICB7CiAgICAgICAg
ICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMCAqIChmbG9h
dClNYXRoLnNpbihhbmdsZSksIHdpZHRoICogMC41Zik7CiAgICAgICAgICAgIGdsLmdsVmVydGV4
M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAzLjBmICogZGEpLCByMSAqIChmbG9hdClN
YXRoLnNpbihhbmdsZSArIDMuMGYgKiBkYSksIHdpZHRoICogMC41Zik7CiAgICAgICAgICB9CiAg
ICAgIH0KICAgIGdsLmdsRW5kKCk7CgogICAgLyogZHJhdyBmcm9udCBzaWRlcyBvZiB0ZWV0aCAq
LwogICAgZ2wuZ2xCZWdpbihHTC5HTF9RVUFEUyk7CiAgICBmb3IgKGkgPSAwOyBpIDwgdGVldGg7
IGkrKykKICAgICAgewogICAgICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAoZmxvYXQpIE1hdGguUEkg
LyB0ZWV0aDsKICAgICAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xl
KSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGds
LmdsVmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZsb2F0
KU1hdGguc2luKGFuZ2xlICsgZGEpLCB3aWR0aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4
M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAyLjBmICogZGEpLCByMiAqIChmbG9hdClN
YXRoLnNpbihhbmdsZSArIDIuMGYgKiBkYSksIHdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xW
ZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSArIDMuMGYgKiBkYSksIHIxICogKGZs
b2F0KU1hdGguc2luKGFuZ2xlICsgMy4wZiAqIGRhKSwgd2lkdGggKiAwLjVmKTsKICAgICAgfQog
ICAgZ2wuZ2xFbmQoKTsKICAgIAogICAgLyogZHJhdyBiYWNrIGZhY2UgKi8KICAgIGdsLmdsQmVn
aW4oR0wuR0xfUVVBRF9TVFJJUCk7CiAgICBmb3IgKGkgPSAwOyBpIDw9IHRlZXRoOyBpKyspCiAg
ICAgIHsKICAgICAgICBhbmdsZSA9IGkgKiAyLjBmICogKGZsb2F0KSBNYXRoLlBJIC8gdGVldGg7
CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIxICog
KGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0
ZXgzZihyMCAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIwICogKGZsb2F0KU1hdGguc2luKGFu
Z2xlKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClN
YXRoLmNvcyhhbmdsZSArIDMgKiBkYSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMyAq
IGRhKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMCAqIChmbG9hdClN
YXRoLmNvcyhhbmdsZSksIHIwICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgLXdpZHRoICogMC41
Zik7CiAgICAgIH0KICAgIGdsLmdsRW5kKCk7CiAgICAKICAgIC8qIGRyYXcgYmFjayBzaWRlcyBv
ZiB0ZWV0aCAqLwogICAgZ2wuZ2xCZWdpbihHTC5HTF9RVUFEUyk7CiAgICBmb3IgKGkgPSAwOyBp
IDwgdGVldGg7IGkrKykKICAgICAgewogICAgICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAoZmxvYXQp
IE1hdGguUEkgLyB0ZWV0aDsKICAgICAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGgu
Y29zKGFuZ2xlICsgMyAqIGRhKSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAzICogZGEp
LCAtd2lkdGggKiAwLjVmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIyICogKGZsb2F0KU1hdGgu
Y29zKGFuZ2xlICsgMiAqIGRhKSwgcjIgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAyICogZGEp
LCAtd2lkdGggKiAwLjVmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIyICogKGZsb2F0KU1hdGgu
Y29zKGFuZ2xlICsgZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIGRhKSwgLXdpZHRo
ICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmds
ZSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgLXdpZHRoICogMC41Zik7CiAgICAgIH0K
ICAgIGdsLmdsRW5kKCk7CiAgICAKICAgIC8qIGRyYXcgb3V0d2FyZCBmYWNlcyBvZiB0ZWV0aCAq
LwogICAgZ2wuZ2xCZWdpbihHTC5HTF9RVUFEX1NUUklQKTsKICAgIGZvciAoaSA9IDA7IGkgPCB0
ZWV0aDsgaSsrKQogICAgICB7CiAgICAgICAgYW5nbGUgPSBpICogMi4wZiAqIChmbG9hdCkgTWF0
aC5QSSAvIHRlZXRoOwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3Mo
YW5nbGUpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIHdpZHRoICogMC41Zik7CiAgICAg
ICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIxICogKGZsb2F0
KU1hdGguc2luKGFuZ2xlKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgdSA9IHIyICogKGZsb2F0
KU1hdGguY29zKGFuZ2xlICsgZGEpIC0gcjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpOwogICAg
ICAgIHYgPSByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIGRhKSAtIHIxICogKGZsb2F0KU1h
dGguc2luKGFuZ2xlKTsKICAgICAgICBsZW4gPSAoZmxvYXQpTWF0aC5zcXJ0KHUgKiB1ICsgdiAq
IHYpOwogICAgICAgIHUgLz0gbGVuOwogICAgICAgIHYgLz0gbGVuOwogICAgICAgIGdsLmdsTm9y
bWFsM2YodiwgLXUsIDAuMGYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjIgKiAoZmxvYXQpTWF0
aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgZGEpLCB3aWR0
aCAqIDAuNWYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5n
bGUgKyBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgZGEpLCAtd2lkdGggKiAwLjVm
KTsKICAgICAgICBnbC5nbE5vcm1hbDNmKChmbG9hdClNYXRoLmNvcyhhbmdsZSksIChmbG9hdClN
YXRoLnNpbihhbmdsZSksIDAuMGYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjIgKiAoZmxvYXQp
TWF0aC5jb3MoYW5nbGUgKyAyICogZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDIg
KiBkYSksIHdpZHRoICogMC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMiAqIChmbG9hdClN
YXRoLmNvcyhhbmdsZSArIDIgKiBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMiAq
IGRhKSwgLXdpZHRoICogMC41Zik7CiAgICAgICAgdSA9IHIxICogKGZsb2F0KU1hdGguY29zKGFu
Z2xlICsgMyAqIGRhKSAtIHIyICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgMiAqIGRhKTsKICAg
ICAgICB2ID0gcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAzICogZGEpIC0gcjIgKiAoZmxv
YXQpTWF0aC5zaW4oYW5nbGUgKyAyICogZGEpOwogICAgICAgIGdsLmdsTm9ybWFsM2YodiwgLXUs
IDAuMGYpOwogICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUg
KyAzICogZGEpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDMgKiBkYSksIHdpZHRoICog
MC41Zik7CiAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSAr
IDMgKiBkYSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMyAqIGRhKSwgLXdpZHRoICog
MC41Zik7CiAgICAgICAgZ2wuZ2xOb3JtYWwzZigoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCAoZmxv
YXQpTWF0aC5zaW4oYW5nbGUpLCAwLjBmKTsKICAgICAgfQogICAgZ2wuZ2xWZXJ0ZXgzZihyMSAq
IChmbG9hdClNYXRoLmNvcygwKSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oMCksIHdpZHRoICogMC41
Zik7CiAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKDApLCByMSAqIChmbG9h
dClNYXRoLnNpbigwKSwgLXdpZHRoICogMC41Zik7CiAgICBnbC5nbEVuZCgpOwogICAgCiAgICBn
bC5nbFNoYWRlTW9kZWwoR0wuR0xfU01PT1RIKTsKICAgIAogICAgLyogZHJhdyBpbnNpZGUgcmFk
aXVzIGN5bGluZGVyICovCiAgICBnbC5nbEJlZ2luKEdMLkdMX1FVQURfU1RSSVApOwogICAgZm9y
IChpID0gMDsgaSA8PSB0ZWV0aDsgaSsrKQogICAgICB7CiAgICAgICAgYW5nbGUgPSBpICogMi4w
ZiAqIChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOwogICAgICAgIGdsLmdsTm9ybWFsM2YoLShmbG9h
dClNYXRoLmNvcyhhbmdsZSksIC0oZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCAwLjBmKTsKICAgICAg
ICBnbC5nbFZlcnRleDNmKHIwICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjAgKiAoZmxvYXQp
TWF0aC5zaW4oYW5nbGUpLCAtd2lkdGggKiAwLjVmKTsKICAgICAgICBnbC5nbFZlcnRleDNmKHIw
ICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjAgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCB3
aWR0aCAqIDAuNWYpOwogICAgICB9CiAgICBnbC5nbEVuZCgpOwogIH0KCiAgLy8gTWV0aG9kcyBy
ZXF1aXJlZCBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIE1vdXNlTGlzdGVuZXIKICBwdWJsaWMg
dm9pZCBtb3VzZUVudGVyZWQoTW91c2VFdmVudCBlKSB7fQogIHB1YmxpYyB2b2lkIG1vdXNlRXhp
dGVkKE1vdXNlRXZlbnQgZSkge30KCiAgcHVibGljIHZvaWQgbW91c2VQcmVzc2VkKE1vdXNlRXZl
bnQgZSkgewogICAgcHJldk1vdXNlWCA9IGUuZ2V0WCgpOwogICAgcHJldk1vdXNlWSA9IGUuZ2V0
WSgpOwogICAgaWYgKChlLmdldE1vZGlmaWVycygpICYgZS5CVVRUT04zX01BU0spICE9IDApIHsK
ICAgICAgbW91c2VSQnV0dG9uRG93biA9IHRydWU7CiAgICB9CiAgfQogICAgCiAgcHVibGljIHZv
aWQgbW91c2VSZWxlYXNlZChNb3VzZUV2ZW50IGUpIHsKICAgIGlmICgoZS5nZXRNb2RpZmllcnMo
KSAmIGUuQlVUVE9OM19NQVNLKSAhPSAwKSB7CiAgICAgIG1vdXNlUkJ1dHRvbkRvd24gPSBmYWxz
ZTsKICAgIH0KICB9CiAgICAKICBwdWJsaWMgdm9pZCBtb3VzZUNsaWNrZWQoTW91c2VFdmVudCBl
KSB7fQogICAgCiAgLy8gTWV0aG9kcyByZXF1aXJlZCBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9m
IE1vdXNlTW90aW9uTGlzdGVuZXIKICBwdWJsaWMgdm9pZCBtb3VzZURyYWdnZWQoTW91c2VFdmVu
dCBlKSB7CiAgICBpbnQgeCA9IGUuZ2V0WCgpOwogICAgaW50IHkgPSBlLmdldFkoKTsKICAgIERp
bWVuc2lvbiBzaXplID0gZS5nZXRDb21wb25lbnQoKS5nZXRTaXplKCk7CgogICAgZmxvYXQgdGhl
dGFZID0gMzYwLjBmICogKCAoZmxvYXQpKHgtcHJldk1vdXNlWCkvKGZsb2F0KXNpemUud2lkdGgp
OwogICAgZmxvYXQgdGhldGFYID0gMzYwLjBmICogKCAoZmxvYXQpKHByZXZNb3VzZVkteSkvKGZs
b2F0KXNpemUuaGVpZ2h0KTsKICAgIAogICAgcHJldk1vdXNlWCA9IHg7CiAgICBwcmV2TW91c2VZ
ID0geTsKCiAgICB2aWV3X3JvdHggKz0gdGhldGFYOwogICAgdmlld19yb3R5ICs9IHRoZXRhWTsK
ICB9CiAgICAKICBwdWJsaWMgdm9pZCBtb3VzZU1vdmVkKE1vdXNlRXZlbnQgZSkge30KfQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>