Revision 42165 trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/ui/mdiFrame/MDIFrame.java
MDIFrame.java | ||
---|---|---|
50 | 50 |
import java.util.StringTokenizer; |
51 | 51 |
import java.util.Vector; |
52 | 52 |
|
53 |
import javax.sql.rowset.spi.SyncResolver; |
|
53 | 54 |
import javax.swing.AbstractButton; |
54 | 55 |
import javax.swing.ButtonGroup; |
55 | 56 |
import javax.swing.ImageIcon; |
... | ... | |
97 | 98 |
import org.gvsig.tools.i18n.I18nManager; |
98 | 99 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
99 | 100 |
import org.gvsig.tools.swing.icontheme.IconTheme; |
101 |
|
|
100 | 102 |
import org.slf4j.Logger; |
101 | 103 |
import org.slf4j.LoggerFactory; |
102 | 104 |
|
... | ... | |
119 | 121 |
|
120 | 122 |
private MDIManager mdiManager = MDIManagerFactory.createManager(); |
121 | 123 |
|
124 |
private boolean refreshingControls = false; |
|
125 |
|
|
122 | 126 |
/** |
123 | 127 |
* Elementos de la aplicaci�n |
124 | 128 |
*/ |
... | ... | |
1303 | 1307 |
showMemory(); |
1304 | 1308 |
} |
1305 | 1309 |
|
1306 |
public void refreshControls() { |
|
1310 |
public synchronized void refreshControls() {
|
|
1307 | 1311 |
if ( !SwingUtilities.isEventDispatchThread() ) { |
1308 | 1312 |
SwingUtilities.invokeLater(new Runnable() { |
1309 | 1313 |
public void run() { |
... | ... | |
1313 | 1317 |
return; |
1314 | 1318 |
} |
1315 | 1319 |
|
1320 |
if(refreshingControls){ |
|
1321 |
return; |
|
1322 |
} |
|
1323 |
try { |
|
1324 |
refreshingControls = true; |
|
1316 | 1325 |
ActionInfoManager actionManager = PluginsLocator.getActionInfoManager(); |
1317 | 1326 |
ActionInfoStatusCache cache = actionManager.createActionStatusCache(); |
1318 | 1327 |
IconTheme icontheme = ToolsSwingLocator.getIconThemeManager().getCurrent(); |
... | ... | |
1342 | 1351 |
} |
1343 | 1352 |
} |
1344 | 1353 |
enableControls(); |
1354 |
} finally { |
|
1355 |
refreshingControls = false; |
|
1356 |
} |
|
1345 | 1357 |
} |
1346 | 1358 |
|
1347 | 1359 |
public void message(String msg, int messageTyoe) { |
Also available in: Unified diff