[Laszlo-dev] For Review: Change 20090427-hqm-Q Summary: fix for swf9 context menus, mouseEnabled no longer always set to true on every sprite

André Bargull andre.bargull at udo.edu
Tue Apr 28 05:35:23 PDT 2009


> +  // Forward the MENU_SELECT event to the desired menu
> +  // first, to give it a chance to modify its items
> +  o.contextMenu.dispatchEvent(e);
> +  cm.customItems = o.contextMenu.customItems; 

Don't you need to copy over the "builtInItems", too?


> +  // If we hit a view with no menu, use the canvas menu as the default
> +  if (iobj.contextMenu == null) {
> +      return canvas.sprite;
> +  } else {

The canvas' context-menu and the default context-menu are different 
objects. See LPP-8113 for a testcase.



On 4/28/2009 4:33 AM, Henry Minsky wrote:
> again, this is a change against 4.2 branch
> 
> I haven't established any performance increase with this change yet, but 
> it  still seems like a good idea to remove the
> mouseEnabled=true hack that we had put in place before.
> 
> 
> 
> Change 20090427-hqm-Q by hqm at badtzmaru.home on 2009-04-27 22:00:56 EDT
>     in /Users/hqm/openlaszlo/4.2
>     for http://svn.openlaszlo.org/openlaszlo/branches/4.2
> 
> Summary: fix for swf9 context menus, mouseEnabled no longer always set 
> to true on every sprite
> 
> New Features:
> 
> Bugs Fixed: LPP-6980
> 
> Technical Reviewer: andre
> QA Reviewer: max
> Doc Reviewer: (pending)
> 
> Documentation:
> 
> Release Notes:
> 
> Details:
> 
> 
> + To work around the original bug (context menus don't work when
> mouseEnabled == false on any parent), I created a context menu at the
> very top level of the sprite hierarchy. This menu is the only context
> menu in the entire application that is active. This is ensured by
> having a "right-click-trap" sprite as the immediate child , that has
> mouseEnabled = false.
> 
> The Laszlo app canvas sprite and its children are children of this
> 'right click trap' sprite.
> 
> + the onmenuopen event on the active contextmenu is forwarded to the
>  appropriate view's menu , giving the view a chance to dynamically set
>  items when menu is opened
> 
> + mouseEnabled is once again false by default for views, and is only
> set to true for clickable views. This should hopefully help with the
> CPU usage problem.
> 
> Tests:
> 
> test/contextmenu/api.lzx in swf9
> test/contextmenu/lpp-6980.lzx in swf9
> 
> 
> Files:
> M      test/contextmenu/api.lzx
> M      test/contextmenu/lpp-6980.lzx
> M      WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
> M      WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
> 
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090427-hqm-Q.tar
> 


More information about the Laszlo-dev mailing list