Community
Participate
Working Groups
If a tag library that's registered to provide skins doesn't provide a display-label (and it's not required to do so), SkinsMenuItemBuilder breaks because it tries to set null as a MenuItem's text property. The fix is fairly simple: have SkinsMenuItemBuilder.TaglibData.getName() return the value of the nsURI property when the name property is null (the thinking being that it's better to show NSURI and not throw an exception than to just fail miserably). Manifestation of this condition is visible in the following ways: 1) The dropdown arrow of the skins toolbar button fails and an exception is logged, 2) The WPE context menu shows an empty label for the tag library skin menuitem, 3) The skins preference page shows the NSURI of the taglib instead of a "friendly name" This condition can occur even if the tag library provides the display-label, when the classpath is not fully initialized at the point in time that this code is called. This scenario requires additional investigation and should have its own bug, since it is not only the skinning funtionality that is affected (e.g. the palette also shows NSURI in the absence of a display-label).
Created attachment 181450 [details] Returns value of nsURI property if name property is null.
* Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such. This issue surfaces in multiple places in the WebPageEditor affecting its quality * Is there a work-around? If so, why do you believe the work-around is insufficient? No workaround * How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added? Manual testing. * Give a brief technical overview. Who has reviewed this fix? See description. * What is the risk associated with this fix? low
Checked in (3.2.3 and 3.3) on 1/20/2011.