Changeset 93:eb3ef3b7e244
- Timestamp:
- 07/09/08 12:01:43
(5 months ago)
- Author:
- Frank Benoit <benoit@tionex.de>
- branch:
- default
- Message:
Fix: change to lazy intialization, to prevent Display creation too early.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r90 |
r93 |
|
| 75 | 75 | * The default-default value for <code>FontData[]</code> preferences. |
|---|
| 76 | 76 | */ |
|---|
| 77 | | public static const FontData[] FONTDATA_ARRAY_DEFAULT_DEFAULT; |
|---|
| | 77 | private static bool FONTDATA_ARRAY_DEFAULT_DEFAULT_initialized = false; |
|---|
| | 78 | private static FontData[] FONTDATA_ARRAY_DEFAULT_DEFAULT_; |
|---|
| | 79 | public static FontData[] FONTDATA_ARRAY_DEFAULT_DEFAULT(){ |
|---|
| | 80 | if( !FONTDATA_ARRAY_DEFAULT_DEFAULT_initialized ){ |
|---|
| | 81 | synchronized( PreferenceConverter.classinfo ){ |
|---|
| | 82 | if( !FONTDATA_ARRAY_DEFAULT_DEFAULT_initialized ){ |
|---|
| | 83 | Display display = Display.getCurrent(); |
|---|
| | 84 | if (display is null) { |
|---|
| | 85 | display = Display.getDefault (); |
|---|
| | 86 | } |
|---|
| | 87 | |
|---|
| | 88 | FONTDATA_ARRAY_DEFAULT_DEFAULT_ = display.getSystemFont().getFontData(); |
|---|
| | 89 | FONTDATA_ARRAY_DEFAULT_DEFAULT_initialized = true; |
|---|
| | 90 | } |
|---|
| | 91 | } |
|---|
| | 92 | } |
|---|
| | 93 | return FONTDATA_ARRAY_DEFAULT_DEFAULT_; |
|---|
| | 94 | } |
|---|
| 78 | 95 | |
|---|
| 79 | 96 | /** |
|---|
| 80 | 97 | * The default-default value for <code>FontData</code> preferences. |
|---|
| 81 | 98 | */ |
|---|
| 82 | | public static const FontData FONTDATA_DEFAULT_DEFAULT; |
|---|
| | 99 | private static FontData FONTDATA_DEFAULT_DEFAULT_; |
|---|
| | 100 | private static bool FONTDATA_DEFAULT_DEFAULT_initialized = false; |
|---|
| | 101 | public static FontData FONTDATA_DEFAULT_DEFAULT(){ |
|---|
| | 102 | if( !FONTDATA_DEFAULT_DEFAULT_initialized ){ |
|---|
| | 103 | FONTDATA_ARRAY_DEFAULT_DEFAULT(); |
|---|
| | 104 | synchronized( PreferenceConverter.classinfo ){ |
|---|
| | 105 | if( !FONTDATA_DEFAULT_DEFAULT_initialized ){ |
|---|
| | 106 | /** |
|---|
| | 107 | * The default-default value for <code>FontData</code> preferences. |
|---|
| | 108 | * This is left in for compatibility purposes. It is recommended that |
|---|
| | 109 | * FONTDATA_ARRAY_DEFAULT_DEFAULT is actually used. |
|---|
| | 110 | */ |
|---|
| | 111 | |
|---|
| | 112 | FONTDATA_DEFAULT_DEFAULT_ = FONTDATA_ARRAY_DEFAULT_DEFAULT()[0]; |
|---|
| | 113 | FONTDATA_DEFAULT_DEFAULT_initialized = true; |
|---|
| | 114 | } |
|---|
| | 115 | } |
|---|
| | 116 | } |
|---|
| | 117 | return FONTDATA_DEFAULT_DEFAULT_; |
|---|
| | 118 | } |
|---|
| | 119 | |
|---|
| 83 | 120 | static this() { |
|---|
| 84 | 121 | POINT_DEFAULT_DEFAULT = new Point(0, 0); |
|---|
| … | … | |
| 86 | 123 | 0, 0, 0); |
|---|
| 87 | 124 | COLOR_DEFAULT_DEFAULT = new RGB(0, 0, 0); |
|---|
| 88 | | Display display = Display.getCurrent(); |
|---|
| 89 | | if (display is null) { |
|---|
| 90 | | display = Display.getDefault (); |
|---|
| 91 | | } |
|---|
| 92 | | |
|---|
| 93 | | FONTDATA_ARRAY_DEFAULT_DEFAULT = display.getSystemFont().getFontData(); |
|---|
| 94 | | /** |
|---|
| 95 | | * The default-default value for <code>FontData</code> preferences. |
|---|
| 96 | | * This is left in for compatibility purposes. It is recommended that |
|---|
| 97 | | * FONTDATA_ARRAY_DEFAULT_DEFAULT is actually used. |
|---|
| 98 | | */ |
|---|
| 99 | | |
|---|
| 100 | | FONTDATA_DEFAULT_DEFAULT = FONTDATA_ARRAY_DEFAULT_DEFAULT[0]; |
|---|
| 101 | 125 | } |
|---|
| 102 | 126 | |
|---|