This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 230630 - NoGo for plugin Dynamic Look And Feel Changer
Summary: NoGo for plugin Dynamic Look And Feel Changer
Status: RESOLVED WORKSFORME
Alias: None
Product: updatecenters
Classification: Unclassified
Component: Pluginportal (show other bugs)
Version: 7.3
Hardware: All All
: P3 normal (vote)
Assignee: adithyank
URL: http://plugins.netbeans.org/plugin/49...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-02 20:47 UTC by ent38
Modified: 2013-06-07 08:34 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
The toolbar after NPE: many icons have disappeared (7.81 KB, image/png)
2013-06-02 20:51 UTC, ent38
Details
NB logs (97.70 KB, application/octet-stream)
2013-06-02 20:52 UTC, ent38
Details
nb ide log for win 7 with jdk 1.7.0_21 (36.61 KB, text/x-log)
2013-06-05 09:04 UTC, adithyank
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ent38 2013-06-02 20:47:45 UTC
NPE and NB toolbar lost some icons. On JDK7 only

http://plugins.netbeans.org/plugin/49218
Comment 1 ent38 2013-06-02 20:50:19 UTC
On NetBeans 7.3.0 with JDK7 only (it doesn't happen with JDK6), Win7 32-bit:
- install module
- set a L&F
- restore previous L&F
- disable module and restart
- enable module: the IDE shows a NPE and the IDE's toolbat lost many items:

java.lang.NullPointerException
	at javax.swing.plaf.basic.BasicProgressBarUI.updateSizes(BasicProgressBarUI.java:488)
	at javax.swing.plaf.basic.BasicProgressBarUI.getBox(BasicProgressBarUI.java:445)
	at com.sun.java.swing.plaf.windows.WindowsProgressBarUI.getBox(WindowsProgressBarUI.java:242)
	at com.sun.java.swing.plaf.windows.WindowsProgressBarUI.paintIndeterminate(WindowsProgressBarUI.java:296)
	at javax.swing.plaf.basic.BasicProgressBarUI.paint(BasicProgressBarUI.java:410)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:778)
	at javax.swing.JComponent.paint(JComponent.java:1054)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JViewport.paint(JViewport.java:731)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5221)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1236)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5169)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4980)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:784)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:757)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706)
	at javax.swing.RepaintManager.access$1000(RepaintManager.java:62)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1651)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1076)
	at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1126)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1098)
	at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:128)
	at org.openide.util.Mutex.doEventAccess(Mutex.java:1363)
	at org.openide.util.Mutex.readAccess(Mutex.java:273)
	at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1083)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.netbeans.modules.autoupdate.ui.wizards.UninstallUnitWizard.invokeWizardImpl(UninstallUnitWizard.java:94)
	at org.netbeans.modules.autoupdate.ui.wizards.UninstallUnitWizard.invokeWizard(UninstallUnitWizard.java:72)
	at org.netbeans.modules.autoupdate.ui.UnitTab$ActivateAction.performerImpl(UnitTab.java:1455)
	at org.netbeans.modules.autoupdate.ui.UnitTab$TabAction.actionPerformed(UnitTab.java:1118)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Comment 2 ent38 2013-06-02 20:51:54 UTC
Created attachment 135239 [details]
The toolbar after NPE: many icons have disappeared
Comment 3 ent38 2013-06-02 20:52:13 UTC
Created attachment 135240 [details]
NB logs
Comment 4 adithyank 2013-06-05 00:22:23 UTC
my dev environment is also jdk1.7.0_21. but in linux (centos). it is working without this issue.
 your screenshot has been taken on windows. So, i will try with winxp and win 7 once and post my comments
Comment 5 adithyank 2013-06-05 08:57:24 UTC
I tested in 
	a. win xp with jdk 1.7.0_21
	b. win 7 with jdk 1.7.0_21

In both the cases, I could not reproduce this error. attached the log for win7
Comment 6 adithyank 2013-06-05 09:02:33 UTC
attachment added
Comment 7 adithyank 2013-06-05 09:04:36 UTC
Created attachment 135365 [details]
nb ide log for win 7 with jdk 1.7.0_21

attachment (nb ide log for win 7 with jdk1.7.0_21) added showing that no NPE.
Also, all the tool bar icons are coming
Comment 8 Jiri Kovalsky 2013-06-05 12:46:48 UTC
Product Version: NetBeans IDE 7.3 (Build 201302132200)
Java: 1.7.0_21; Java HotSpot(TM) Client VM 23.21-b01
Runtime: Java(TM) SE Runtime Environment 1.7.0_21-b11
System: Windows 7 version 6.1 running on x86; Cp1252; en_US (nb)
User directory: C:\Users\Jiri Kovalsky\AppData\Roaming\NetBeans\7.3
Cache directory: C:\Users\Jiri Kovalsky\AppData\Local\NetBeans\Cache\7.3

I have installed full distribution of NetBeans IDE 7.3 on my VirtualBox-ed Windows 7 and launch it on JDK 7 Update 21, followed your steps but no exception occurred and toolbar was functioning normally too. Jonathan, are you sure you also used clean installation of the IDE with empty userdir and no other plugins interfered with the Dynamic Look And Feel Changer? And are you able to 100% reproduce this problem? If not, I propose to close this issue as WORKSFORME and give Go to the plugin. Thanks.
Comment 9 ent38 2013-06-05 15:40:26 UTC
I am able to reproduce this bug, but good news: it seems to be a very specific to my installation.

I run Windows 7 on VirtualBox, and I have two NetBeans 7.3.0 IDE: one with JDK6, the other with JDK7. They have their own user and cache directories (their etc/netbeans.conf has customized netbeans_default_userdir and netbeans_default_cachedir properties), so there should not be any conflict.

When I test a plugin, I run the two IDEs simultaneously.

Depending on which IDE has been started in first, the bug happens on JDK6 or JDK7.
I work on fresh installs of Win7 and NetBeans. I have restored my VirtualBox virtual hard disk drive 3 times: the bug happened 3 times.

If I run an only one IDE, there is no bug.

I'll set a Go vote and try to investigate. This is very strange :p
Comment 10 Jiri Kovalsky 2013-06-05 15:43:54 UTC
Thank you very much Jonathan!
Comment 11 adithyank 2013-06-06 22:10:48 UTC
Should this issue be in NEW State?
Comment 12 Jiri Kovalsky 2013-06-07 08:34:05 UTC
No, it should be resolved until Jonathan find a reliable reproducible scenario which will help you find the cause and fix the problem.