[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-awt-dev
Subject:    Re: <AWT Dev> Unwanted MOUSE_MOVED break dispatching MOUSE_RELEASED to the right component
From:       Semyon Sadetsky <semyon.sadetsky () oracle ! com>
Date:       2018-01-09 16:46:03
Message-ID: 5e4eb1b4-5031-cef1-c375-2dce537e7299 () oracle ! com
[Download RAW message or body]

Hello Matthias,

If so, please, file a bug to https://bugreport.java.com/

--Semyon


On 01/09/2018 12:09 AM, Weidemann, Matthias wrote:
>
> Hello Sadetsky,
>
> The discussion you linked to me seems to be a similar problem, but the 
> fix discussed there happens specifically in the method 
> Container.retargetMouseEnterExit(…). The problem we have happens in 
> MOUSE_MOVED, so while this fix might fix the problem in the discussion 
> it won't fix ours.
>
> Kind Regards,
>
> Matthias
>
> *From: *Semyon Sadetsky <semyon.sadetsky@oracle.com>
> *Date: *Monday, January 8, 2018 at 10:55 PM
> *To: *"Weidemann, Matthias" <matthias.weidemann@sap.com>, 
> "awt-dev@openjdk.java.net" <awt-dev@openjdk.java.net>
> *Cc: *"Woersinger, Rolf-Martin" <rolf-martin.woersinger@sap.com>, 
> "Denkel, Christian" <christian.denkel@sap.com>
> *Subject: *Re: <AWT Dev> Unwanted MOUSE_MOVED break dispatching 
> MOUSE_RELEASED to the right component
>
> Hi Matthias,
>
> Thank you for your e-mail.
>
> It seems a fix for this bug is already under discussion on this thread:
>
> http://mail.openjdk.java.net/pipermail/swing-dev/2017-December/008077.html
>
> --Semyon
>
> On 01/04/2018 04:56 AM, Weidemann, Matthias wrote:
>
>     Hello everyone,
>
>     we found a rare occurrence of a bug in JDK1.8 and onwards, might
>     also occur earlier but we didn't check for that.
>
>     In some instances MOUSE_MOVED events occur between a MOUSE_PRESSED
>     and a MOUSE_RELEASED. In Container.java on MOUSE_PRESSED the
>     component is remembered in an instance variable to send a
>     corresponding MOUSE_RELEASED to it.
>
>     The same instance variable is used for the MOUSE_MOVED Event, so
>     if there are MOUSE_MOVED Events between a MOUSE_PRESSED and
>     MOUSE_RELEASED the corresponding MOUSE_RELEASE will be reported to
>     the "wrong" component.
>
>     I attached a simple example to replicate the error.
>
>     I included hardware specifications, because the occurrence
>     fluctuates with the hardware used. We got the best results to
>     reproduce with the Macbook and the magic mouse shown below. With a
>     trackpad it is almost impossible to replicate.
>
>     *How to:*Move the mouse in the blue rectangle VERY FAST from left
>     to right or vice versa. Release the mousebutton near the end of
>     the drag, while you are still in motion.
>
>     We are using a workaround for this, the same custom queue built
>     into the example. If we are between MOUSE_PRESSED and
>     MOUSE_RELEASED we do not dispatch MOUSE_MOVED Events.
>
>     We would still like to see this bug fixed or at least have
>     different instance variables for MOUSE_PRESSED and MOUSE_MOVED so
>     we get the MOUSE_RELEASE on the right component.
>
>     Kind Regards,
>
>     Matthias Weidemann
>
>     *Matthias Weidemann
>     *Software Developer, PI Technology UxP UI P&S (SE) Supp
>     *SAP SE*, Opelstr. 6, 68789 St. Leon - Rot, Germany
>
>     T +49 6227 7-45771 , E matthias.weidemann@sap.com
>     *
>
>     Please consider the impact on the environment before printing this
>     e-mail.
>     *
>
>     Pflichtangaben/Mandatory Disclosure Statement:
>     http://www.sap.com/company/legal/impressum.epx/
>     <http://www.sap.com/company/legal/impressum.epx>
>
>     Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder
>     sonstige vertrauliche Informationen enthalten. Sollten Sie diese
>     E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des
>     Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail
>     ausdrücklich untersagt. Bitte benachrichtigen Sie uns und
>     vernichten Sie die empfangene E-Mail.
>     Vielen Dank.
>
>     This e-mail may contain trade secrets or privileged, undisclosed,
>     or otherwise confidential information. If you have received this
>     e-mail in error, you are hereby notified that any review, copying,
>     or distribution of it is strictly prohibited. Please inform us
>     immediately and destroy the original transmittal.
>     Thank you for your cooperation
>
>
>


[Attachment #3 (multipart/related)]

[Attachment #5 (text/html)]

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello Matthias,</p>
    <p>If so, please, file a bug to <a class="moz-txt-link-freetext" \
href="https://bugreport.java.com/">https://bugreport.java.com/</a><br>  </p>
    <p>--Semyon<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 01/09/2018 12:09 AM, Weidemann,
      Matthias wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:D3ED943D-010E-45AF-B8F2-92C8CB91F39B@sap.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Title" content="">
      <meta name="Keywords" content="">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
	{font-family:Arial;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.msoIns
	{mso-style-type:export-only;
	mso-style-name:"";
	text-decoration:underline;
	color:teal;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size:11.0pt">Hello
            Sadetsky,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt"><o:p>  </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt">The
            discussion you linked to me seems to be a similar problem,
            but the fix discussed there happens specifically in the
            method Container.retargetMouseEnterExit(…). The problem we
            have happens in MOUSE_MOVED, so while this fix might fix the
            problem in the discussion it won't fix ours.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt"><o:p>  </o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt">Kind
            Regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span \
                style="font-size:11.0pt">Matthias<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt"><o:p>  </o:p></span></p>
        <div style="border:none;border-top:solid #B5C4DF
          1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal"><b><span style="color:black">From: </span></b><span
              style="color:black">Semyon Sadetsky
              <a class="moz-txt-link-rfc2396E" \
href="mailto:semyon.sadetsky@oracle.com">&lt;semyon.sadetsky@oracle.com&gt;</a><br>  \
<b>Date: </b>Monday, January 8, 2018 at 10:55 PM<br>  <b>To: </b>"Weidemann, \
                Matthias"
              <a class="moz-txt-link-rfc2396E" \
                href="mailto:matthias.weidemann@sap.com">&lt;matthias.weidemann@sap.com&gt;</a>,
                
              <a class="moz-txt-link-rfc2396E" \
                href="mailto:awt-dev@openjdk.java.net">"awt-dev@openjdk.java.net"</a>
              <a class="moz-txt-link-rfc2396E" \
href="mailto:awt-dev@openjdk.java.net">&lt;awt-dev@openjdk.java.net&gt;</a><br>  \
                <b>Cc: </b>"Woersinger, Rolf-Martin"
              <a class="moz-txt-link-rfc2396E" \
href="mailto:rolf-martin.woersinger@sap.com">&lt;rolf-martin.woersinger@sap.com&gt;</a>, \
                "Denkel,
              Christian" <a class="moz-txt-link-rfc2396E" \
href="mailto:christian.denkel@sap.com">&lt;christian.denkel@sap.com&gt;</a><br>  \
                <b>Subject: </b>Re: &lt;AWT Dev&gt; Unwanted MOUSE_MOVED
              break dispatching MOUSE_RELEASED to the right \
component<o:p></o:p></span></p>  </div>
        <div>
          <p class="MsoNormal"><span style="font-size:11.0pt"><o:p>  \
</o:p></span></p>  </div>
        <p>Hi Matthias,<o:p></o:p></p>
        <p>Thank you for your e-mail. <o:p></o:p></p>
        <p>It seems a fix for this bug is already under discussion on
          this thread:<o:p></o:p></p>
        <p><a
href="http://mail.openjdk.java.net/pipermail/swing-dev/2017-December/008077.html"
            moz-do-not-send="true">http://mail.openjdk.java.net/pipermail/swing-dev/2017-December/008077.html</a><o:p></o:p></p>
  <p>--Semyon<o:p></o:p></p>
        <p class="MsoNormal"><o:p>  </o:p></p>
        <div>
          <p class="MsoNormal">On 01/04/2018 04:56 AM, Weidemann,
            Matthias wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span style="font-size:11.0pt">Hello
              everyone,</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">we found \
a  rare occurrence of a bug in JDK1.8 and onwards, might also
              occur earlier but we didn't check for that.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">In some
              instances MOUSE_MOVED events occur between a MOUSE_PRESSED
              and a MOUSE_RELEASED. In Container.java on MOUSE_PRESSED
              the component is remembered in an instance variable to
              send a corresponding MOUSE_RELEASED to it. </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">The same
              instance variable is used for the MOUSE_MOVED Event, so if
              there are MOUSE_MOVED Events between a MOUSE_PRESSED and
              MOUSE_RELEASED the corresponding MOUSE_RELEASE will be
              reported to the "wrong" component.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">I \
                attached
              a simple example to replicate the error.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">I \
included  hardware specifications, because the occurrence fluctuates
              with the hardware used. We got the best results to
              reproduce with the Macbook and the magic mouse shown
              below. With a trackpad it is almost impossible to
              replicate.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt"><img
                id="_x0000_i1025"
                src="cid:part2.141762E4.0E463498@oracle.com" class=""
                height="344" width="722" border="0"><img
                id="_x0000_i1026"
                src="cid:part3.1D87EC5B.41FDAFAD@oracle.com" class=""
                height="460" width="725" border="0"><img
                id="_x0000_i1027"
                src="cid:part4.DAD08A74.DA8CE330@oracle.com" class=""
                height="577" width="857" border="0"></span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
                </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
                </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
                </span><o:p></o:p></p>
          <p class="MsoNormal"><b><span style="font-size:11.0pt">How \
to:</span></b><span  style="font-size:11.0pt"> Move the mouse in the blue
              rectangle VERY FAST from left to right or vice versa.
              Release the mousebutton near the end of the drag, while
              you are still in motion.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">We are
              using a workaround for this, the same custom queue built
              into the example. If we are between MOUSE_PRESSED and
              MOUSE_RELEASED we do not dispatch MOUSE_MOVED \
Events.</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">We \
would  still like to see this bug fixed or at least have
              different instance variables for MOUSE_PRESSED and
              MOUSE_MOVED so we get the MOUSE_RELEASE on the right
              component.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <p class="MsoNormal"><span style="font-size:11.0pt">Kind
              Regards,</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">Matthias
              Weidemann</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="font-size:11.0pt">  \
</span><o:p></o:p></p>  <div>
            <div>
              <p class="MsoNormal"><b><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">Matthias
  Weidemann<br>
                  </span></b><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">Software
  Developer, PI Technology UxP UI P&amp;S (SE) Supp<br>
                  <b>SAP SE</b></span><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#999999">,
                  Opelstr. 6, 68789 St. Leon - Rot, Germany<br>
                  <br>
                </span><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">T
                  +49 6227 7-45771 , E m</span><span
style="font-size:10.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">atthias</span><span
 style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">.weidemann@sap.com</span><span
  style="font-size:11.0pt;color:black"><br>
                </span><b><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#999999"><br>
                    <br>
                    Please consider the impact on the environment before
                    printing this e-mail.<br>
                  </span></b><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666"><br>
                  <br>
                </span><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666"
                  lang="DE">Pflichtangaben/Mandatory Disclosure
                  Statement:<br>
                </span><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666"><a
href="http://www.sap.com/company/legal/impressum.epx" target="target"
                    moz-do-not-send="true"><span style="color:blue"
                      \
lang="DE">http://www.sap.com/company/legal/impressum.epx/</span></a></span><span \
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666"  \
lang="DE">  <br>  <br>
                  Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse
                  oder sonstige vertrauliche Informationen enthalten.
                  Sollten Sie diese E-Mail irrtümlich erhalten haben,
                  ist Ihnen eine Kenntnisnahme des Inhalts, eine
                  Vervielfältigung oder Weitergabe der E-Mail
                  ausdrücklich untersagt. Bitte benachrichtigen Sie uns
                  und vernichten Sie die empfangene E-Mail.<br>
                </span><span
style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#666666">Vielen
                  Dank.  <br>
                  <br>
                  This e-mail may contain trade secrets or privileged,
                  undisclosed, or otherwise confidential information. If
                  you have received this e-mail in error, you are hereby
                  notified that any review, copying, or distribution of
                  it is strictly prohibited. Please inform us
                  immediately and destroy the original transmittal.<br>
                  Thank you for your cooperation</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"><span
              style="font-size:11.0pt;color:black">  </span><o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><span style="font-size:11.0pt"><br>
            <br>
            <o:p></o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>


["image001.jpg" (image/jpeg)]
["image002.jpg" (image/jpeg)]
["image003.jpg" (image/jpeg)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic