-
Bug
-
Resolution: Fixed
-
P3
-
6
-
b01
-
generic
-
generic
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2171735 | 7 | Peter Zhelezniakov | P3 | Closed | Fixed | b46 |
Windows LAF initDefault() contains following code:
"Tree.openIcon", new ActiveWindowsIcon("win.icon.shellIconBPP", "shell32Icon 5",
(Icon)table.get("Tree.openIcon")),
"Tree.closedIcon", new ActiveWindowsIcon("win.icon.shellIconBPP", "shell32Icon 4",
(Icon)table.get("Tree.closedIcon")),
It is lazy trying to fetch system icon from the native library but it is greedy creating icon object for fallback.
This is just 2 tiny icons. Their creation do not waste much resources per se.
But this also cause extra request to open resources.jar file and retrieve couple of entries from it. And this is much more expensive.
"Tree.openIcon", new ActiveWindowsIcon("win.icon.shellIconBPP", "shell32Icon 5",
(Icon)table.get("Tree.openIcon")),
"Tree.closedIcon", new ActiveWindowsIcon("win.icon.shellIconBPP", "shell32Icon 4",
(Icon)table.get("Tree.closedIcon")),
It is lazy trying to fetch system icon from the native library but it is greedy creating icon object for fallback.
This is just 2 tiny icons. Their creation do not waste much resources per se.
But this also cause extra request to open resources.jar file and retrieve couple of entries from it. And this is much more expensive.
- backported by
-
JDK-2171735 Windows LAF: ActiveWindowsIcon should not be greedy with fallback icon
- Closed
- duplicates
-
JDK-6642601 Windows LAF has too eager initialization
- Closed