<?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>556</bug_id>
          
          <creation_ts>2012-02-21 18:59:21 +0100</creation_ts>
          <short_desc>mouseDragged events is send instead of mouseMoved by newt</short_desc>
          <delta_ts>2012-04-27 03:54:43 +0200</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Newt</product>
          <component>windows</component>
          <version>1</version>
          <rep_platform>pc_x86_64</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>---</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="jouvieje">jerome.jouvie</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>---</cf_type>
          <cf_scm_refs>8b0aa0e7653f74e713880e77f9afbe59caff38f0</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1412</commentid>
    <comment_count>0</comment_count>
    <who name="jouvieje">jerome.jouvie</who>
    <bug_when>2012-02-21 18:59:21 +0100</bug_when>
    <thetext>mouseDragged events is send instead of mouseMoved by newt (GLWindow) after a drag as ended outside the window. 

Steps to reproduce: 
 * Press mouse button 1 in a window 
 * Drag outside the window 
 * Release mouse button 1
 * Move mouse inside the window =&gt; mouseDragged received by newt (with getButton returning 1) instead of mouseMoved 

Workaround:
press and release the mouse button inside the window to stop sending the mouseDragged events instead of mouseMoved.

It seems newt caching internally mouse pressed states and does not update them when event happens outside the window.

This bug does not appear with GLCanvas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413</commentid>
    <comment_count>1</comment_count>
      <attachid>329</attachid>
    <who name="jouvieje">jerome.jouvie</who>
    <bug_when>2012-02-21 19:16:41 +0100</bug_when>
    <thetext>Created attachment 329
unit test

unit test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414</commentid>
    <comment_count>2</comment_count>
    <who name="jouvieje">jerome.jouvie</who>
    <bug_when>2012-02-22 12:32:06 +0100</bug_when>
    <thetext>Additional info:
Windows 7 x64 with NVidia GTX 260 (Driver: 285.62) and JOGL 661</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558</commentid>
    <comment_count>3</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2012-04-27 03:54:43 +0200</bug_when>
    <thetext>&apos;Fixed&apos; w/ JOGL commit 8b0aa0e7653f74e713880e77f9afbe59caff38f0

    Bug 556: Newt Mouse Synthetic Drag Event: Clear state if mouse enters/leaves window.
    
    Since we cannot guarantee to have the pressed button information when receiving
    the mouse move event, we synthesize the dragged event (move while mouse button pressed).
    
    To simplify the situation and have a compromise,
    we clear the mouse pressed states when mouse
    enters or leaves the window to remove the dragged events at re-entering.
    
    This seems more sensible, since dragging after re-entering the mouse shall not be expected.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>329</attachid>
            <date>2012-02-21 19:16:41 +0100</date>
            <delta_ts>2012-02-21 19:16:41 +0100</delta_ts>
            <desc>unit test</desc>
            <filename>NewtMouseDragged_bug.java</filename>
            <type>application/octet-stream</type>
            <size>5494</size>
            <attacher name="jouvieje">jerome.jouvie</attacher>
            
              <data encoding="base64">LyoqCiAqIENvcHlyaWdodCAyMDEwIEpvZ0FtcCBDb21tdW5pdHkuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZQogKiBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqICAgIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mCiAqICAgICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KICogCiAqICAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
CiAqICAgICAgIG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAqICAgICAgIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICogCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgSm9nQW1wIENvbW11bml0eSBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQK
ICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORAogKiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgSm9nQW1wIENv
bW11bml0eSBPUgogKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgogKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCiAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwogKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYK
ICogQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAqIAogKiBUaGUg
dmlld3MgYW5kIGNvbmNsdXNpb25zIGNvbnRhaW5lZCBpbiB0aGUgc29mdHdhcmUgYW5kIGRvY3Vt
ZW50YXRpb24gYXJlIHRob3NlIG9mIHRoZQogKiBhdXRob3JzIGFuZCBzaG91bGQgbm90IGJlIGlu
dGVycHJldGVkIGFzIHJlcHJlc2VudGluZyBvZmZpY2lhbCBwb2xpY2llcywgZWl0aGVyIGV4cHJl
c3NlZAogKiBvciBpbXBsaWVkLCBvZiBKb2dBbXAgQ29tbXVuaXR5LgogKi8KCnBhY2thZ2UgY29t
LmpvZ2FtcC5vcGVuZ2wudGVzdC5qdW5pdC5qb2dsLmFjb3JlOwoKaW1wb3J0IGphdmF4Lm1lZGlh
Lm9wZW5nbC5HTENhcGFiaWxpdGllczsKaW1wb3J0IGphdmF4Lm1lZGlhLm9wZW5nbC5HTFByb2Zp
bGU7CgppbXBvcnQgY29tLmpvZ2FtcC5uZXd0LmF3dC5OZXd0Q2FudmFzQVdUOwppbXBvcnQgY29t
LmpvZ2FtcC5uZXd0LmV2ZW50Lk1vdXNlRXZlbnQ7CmltcG9ydCBjb20uam9nYW1wLm5ld3QuZXZl
bnQuTW91c2VMaXN0ZW5lcjsKaW1wb3J0IGNvbS5qb2dhbXAubmV3dC5vcGVuZ2wuR0xXaW5kb3c7
CmltcG9ydCBjb20uam9nYW1wLm9wZW5nbC51dGlsLkFuaW1hdG9yOwoKaW1wb3J0IGNvbS5qb2dh
bXAub3BlbmdsLnRlc3QuanVuaXQudXRpbC5VSVRlc3RDYXNlOwppbXBvcnQgY29tLmpvZ2FtcC5v
cGVuZ2wudGVzdC5qdW5pdC5qb2dsLmRlbW9zLmdsMi5HZWFyczsKaW1wb3J0IGNvbS5qb2dhbXAu
b3BlbmdsLnRlc3QuanVuaXQudXRpbC5BV1RSb2JvdFV0aWw7CgppbXBvcnQgamF2YS5hd3QuRnJh
bWU7CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5JbnZvY2F0aW9uVGFyZ2V0RXhjZXB0aW9uOwoK
aW1wb3J0IG9yZy5qdW5pdC5Bc3NlcnQ7CmltcG9ydCBvcmcuanVuaXQuQXNzdW1lOwppbXBvcnQg
b3JnLmp1bml0LkJlZm9yZUNsYXNzOwppbXBvcnQgb3JnLmp1bml0LlRlc3Q7CgovKioKICogQnVn
IDU1NgogKiAKICogU3RlcCB0byByZXByb2R1Y2U6CiAqICAtIFByZXNzIG1vc3VlIGluc2lkZSB3
aW5kb3cKICogIC0gZHJhZyBvdXRzaWRlIHdpbmRvdyBhbmQgcmVsZWFzZSBtb3VzZSBidXR0b24K
ICogIC0gbW92ZSBtb3VzZSBpbnNpZGUgd2luZG93CiAqICAKICogUmVzdWx0OiBtb3VzZURyYWdn
ZWQgcmVjZWl2ZWQKICogRXhwZWN0ZWQ6IG1vdXNlTW92ZWQgcmVjZWl2ZWQKICovCnB1YmxpYyBj
bGFzcyBOZXd0TW91c2VEcmFnZ2VkX2J1ZyBleHRlbmRzIFVJVGVzdENhc2UgaW1wbGVtZW50cyBN
b3VzZUxpc3RlbmVyIHsKCXN0YXRpYyBHTFByb2ZpbGUgZ2xwOwoJc3RhdGljIEdMQ2FwYWJpbGl0
aWVzIGNhcHM7CglzdGF0aWMgaW50IHdpZHRoLCBoZWlnaHQ7CgoJQEJlZm9yZUNsYXNzCglwdWJs
aWMgc3RhdGljIHZvaWQgaW5pdENsYXNzKCkgewoJCWdscCA9IEdMUHJvZmlsZS5nZXREZWZhdWx0
KCk7CgkJQXNzZXJ0LmFzc2VydE5vdE51bGwoZ2xwKTsKCQljYXBzID0gbmV3IEdMQ2FwYWJpbGl0
aWVzKGdscCk7CgkJQXNzZXJ0LmFzc2VydE5vdE51bGwoY2Fwcyk7CgkJd2lkdGggPSAyNTY7CgkJ
aGVpZ2h0ID0gMjU2OwoJfQoJCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG1vdXNlTW92ZWQoTW91
c2VFdmVudCBhcmcwKSB7CgkJU3lzdGVtLm91dC5wcmludGxuKCJNb3ZlZCIpOwoJfQoJQE92ZXJy
aWRlCglwdWJsaWMgdm9pZCBtb3VzZURyYWdnZWQoTW91c2VFdmVudCBhcmcwKSB7CgkJU3lzdGVt
Lm91dC5wcmludGxuKCJEcmFnZ2VkIik7Cgl9CglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG1vdXNl
Q2xpY2tlZChNb3VzZUV2ZW50IGFyZzApIHt9CglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG1vdXNl
RW50ZXJlZChNb3VzZUV2ZW50IGFyZzApIHt9CglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG1vdXNl
RXhpdGVkKE1vdXNlRXZlbnQgYXJnMCkge30KCUBPdmVycmlkZQoJcHVibGljIHZvaWQgbW91c2VQ
cmVzc2VkKE1vdXNlRXZlbnQgYXJnMCkge30KCUBPdmVycmlkZQoJcHVibGljIHZvaWQgbW91c2VS
ZWxlYXNlZChNb3VzZUV2ZW50IGFyZzApIHt9CglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG1vdXNl
V2hlZWxNb3ZlZChNb3VzZUV2ZW50IGFyZzApIHt9CgoJcHJvdGVjdGVkIE5ld3RDYW52YXNBV1Qg
cnVuVGVzdEdMKGZpbmFsIEZyYW1lIGZyYW1lLCBmaW5hbCBBbmltYXRvciBhbmltYXRvciwgZmlu
YWwgaW50IHgsIGZpbmFsIGludCB5LAoJCQlmaW5hbCBib29sZWFuIHZzeW5jKSB0aHJvd3MgSW50
ZXJydXB0ZWRFeGNlcHRpb24sIEludm9jYXRpb25UYXJnZXRFeGNlcHRpb24gewoKCQlHZWFycyBn
ZWFycyA9IG5ldyBHZWFycyh2c3luYyA/IDEgOiAwKTsKCQkKCQlmaW5hbCBHTFdpbmRvdyBnbFdp
bmRvdzsKCQlmaW5hbCBOZXd0Q2FudmFzQVdUIG5ld3RDYW52YXM7IHsKCQkJZ2xXaW5kb3cgPSBH
TFdpbmRvdy5jcmVhdGUoY2Fwcyk7CgkJCWdsV2luZG93LmFkZEdMRXZlbnRMaXN0ZW5lcihnZWFy
cyk7CgkJCQoJCQluZXd0Q2FudmFzID0gbmV3IE5ld3RDYW52YXNBV1QoZ2xXaW5kb3cpOwoJCQlu
ZXd0Q2FudmFzLnNldEZvY3VzVHJhdmVyc2FsS2V5c0VuYWJsZWQoZmFsc2UpOwoJCQkKCQkJZ2xX
aW5kb3cuYWRkTW91c2VMaXN0ZW5lcih0aGlzKTsKCQl9CgkJCgkJQXNzZXJ0LmFzc2VydE5vdE51
bGwobmV3dENhbnZhcyk7CgkJZnJhbWUuYWRkKG5ld3RDYW52YXMpOwoJCWZyYW1lLnNldExvY2F0
aW9uKHgsIHkpOwoJCWZyYW1lLnNldFNpemUod2lkdGgsIGhlaWdodCk7CgoJCWFuaW1hdG9yLmFk
ZChnbFdpbmRvdyk7CgoJCWphdmF4LnN3aW5nLlN3aW5nVXRpbGl0aWVzLmludm9rZUFuZFdhaXQo
bmV3IFJ1bm5hYmxlKCl7CgkJCUBPdmVycmlkZQoJCQlwdWJsaWMgdm9pZCBydW4oKSB7CgkJCQlm
cmFtZS5zZXRWaXNpYmxlKHRydWUpOwoJCQl9CgkJfSk7CgkJQXNzZXJ0LmFzc2VydEVxdWFscyh0
cnVlLCBBV1RSb2JvdFV0aWwud2FpdEZvclJlYWxpemVkKG5ld3RDYW52YXMsIHRydWUpKTsKCgkJ
cmV0dXJuIG5ld3RDYW52YXM7Cgl9CgoJQFRlc3QKCXB1YmxpYyB2b2lkIHRlc3QwMSgpIHRocm93
cyBJbnRlcnJ1cHRlZEV4Y2VwdGlvbiwgSW52b2NhdGlvblRhcmdldEV4Y2VwdGlvbiB7CgkJZmlu
YWwgRnJhbWUgZjEgPSBuZXcgRnJhbWUoKTsKCQlBbmltYXRvciBhbmltYXRvciA9IG5ldyBBbmlt
YXRvcigpOwoKCQlmaW5hbCBOZXd0Q2FudmFzQVdUIGdsYzEgPSBydW5UZXN0R0woZjEsIGFuaW1h
dG9yLCAwLCAwLCBmYWxzZSk7CgoJCWFuaW1hdG9yLnNldFVwZGF0ZUZQU0ZyYW1lcygxLCBudWxs
KTsKCQlhbmltYXRvci5zdGFydCgpOwoJCXdoaWxlKGFuaW1hdG9yLmlzQW5pbWF0aW5nKCkgJiYg
YW5pbWF0b3IuZ2V0VG90YWxGUFNEdXJhdGlvbigpIDwgZHVyYXRpb24pIHsKCQkJVGhyZWFkLnNs
ZWVwKDMwMDAwKTsKCQl9CgkJYW5pbWF0b3Iuc3RvcCgpOwoKCQl0cnkgewoJCQlqYXZheC5zd2lu
Zy5Td2luZ1V0aWxpdGllcy5pbnZva2VBbmRXYWl0KG5ldyBSdW5uYWJsZSgpewoJCQkJQE92ZXJy
aWRlCgkJCQlwdWJsaWMgdm9pZCBydW4oKSB7CgkJCQkJdHJ5IHsKCQkJCQkJZjEuZGlzcG9zZSgp
OwoJCQkJCQlBc3NlcnQuYXNzZXJ0RXF1YWxzKHRydWUsIEFXVFJvYm90VXRpbC53YWl0Rm9yUmVh
bGl6ZWQoZ2xjMSwgZmFsc2UpKTsKCQkJCQl9CgkJCQkJY2F0Y2goVGhyb3dhYmxlIHQpIHsKCQkJ
CQkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24odCk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCQl9
CgkJY2F0Y2goVGhyb3dhYmxlIHRocm93YWJsZSkgewoJCQl0aHJvd2FibGUucHJpbnRTdGFja1Ry
YWNlKCk7CgkJCUFzc3VtZS5hc3N1bWVOb0V4Y2VwdGlvbih0aHJvd2FibGUpOwoJCX0KCX0KCglz
dGF0aWMgbG9uZyBkdXJhdGlvbiA9IDUwMDsgLy8gbXMKCglwdWJsaWMgc3RhdGljIHZvaWQgbWFp
bihTdHJpbmcgYXJnc1tdKSB7CgkJZm9yKGludCBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKysp
IHsKCQkJaWYoYXJnc1tpXS5lcXVhbHMoIi10aW1lIikpIHsKCQkJCWkrKzsKCQkJCXRyeSB7CgkJ
CQkJZHVyYXRpb24gPSBJbnRlZ2VyLnBhcnNlSW50KGFyZ3NbaV0pOwoJCQkJfQoJCQkJY2F0Y2go
RXhjZXB0aW9uIGV4KSB7CgkJCQkJZXgucHJpbnRTdGFja1RyYWNlKCk7CgkJCQl9CgkJCX0KCQl9
CgkJb3JnLmp1bml0LnJ1bm5lci5KVW5pdENvcmUubWFpbihOZXd0TW91c2VEcmFnZ2VkX2J1Zy5j
bGFzcy5nZXROYW1lKCkpOwoJfQp9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>