[Laszlo-checkins] r12027 - openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf9

bargull@openlaszlo.org bargull at openlaszlo.org
Tue Dec 9 08:42:19 PST 2008


Author: bargull
Date: 2008-12-09 08:42:14 -0800 (Tue, 09 Dec 2008)
New Revision: 12027

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
Log:
Change 20081128-bargull-wO4 by bargull at dell--p4--2-53 on 2008-11-28 15:44:11
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: swf9 "onmouseover"-event 

New Features:

Bugs Fixed: LPP-7335

Technical Reviewer: max
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
- only store "__mouseoverInFront" for "onmouseover"-events
- also send deferred "onmouseover"-event if the mouse is released outside ("onmouseupoutside"-event)
    

Tests:
testcases at LPP-7300 and LPP-7335



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf9/LzSprite.as	2008-12-09 16:39:35 UTC (rev 12026)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf9/LzSprite.as	2008-12-09 16:42:14 UTC (rev 12027)
@@ -647,8 +647,17 @@
       // called by LzMouseKernel when mouse goes up on another sprite
       public function __globalmouseup( e:MouseEvent ) :void {
           if (this.__mousedown) {
+              var mouseOverSprite:LzSprite = null;
+              if (this.__mouseoverInFront != null) {
+                  mouseOverSprite = this.__mouseoverInFront;
+                  this.__mouseoverInFront = null;
+              }
               this.__mouseEvent(e);
               this.__mouseEvent(new MouseEvent('mouseupoutside'));
+              if (mouseOverSprite != null) {
+                  // send after onmouseup(outside) (LPP-7335)
+                  LzMouseKernel.__sendEvent(mouseOverSprite.owner, 'onmouseover');
+              }
           }
           LzMouseKernel.__lastMouseDown = null;
       }
@@ -668,11 +677,6 @@
                     LzMouseKernel.__lastMouseDown = null;
                     e.stopPropagation();
                     this.__mousedown = false;
-
-                    if (this.__mouseoverInFront != null) {
-                        LzMouseKernel.__sendEvent(this.__mouseoverInFront.owner, 'onmouseover');
-                        this.__mouseoverInFront = null;
-                    }
                 } else {
                     skipevent = true;
                 }
@@ -695,7 +699,7 @@
                         // check to see if this sprite is in front of the sprite the mouse went down on.  See LPP-7300
                         var relObj:InteractiveObject = e.relatedObject;
                         // relatedObject is the sprite's clickbutton, use parent to access the LzSprite
-                        if (relObj && relObj.parent === LzMouseKernel.__lastMouseDown) {
+                        if (eventname == 'onmouseover' && relObj && relObj.parent === LzMouseKernel.__lastMouseDown) {
                             // store reference to self for sending onmouseover event later - see LPP-7335
                             LzMouseKernel.__lastMouseDown.__mouseoverInFront = this;
                         } else {



More information about the Laszlo-checkins mailing list