Revision 42165
trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/ui/mdiFrame/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) { |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/DefaultProject.java | ||
---|---|---|
1015 | 1015 |
IWindow window = null; |
1016 | 1016 |
for (int i = 0; i < windows.length; i++) { |
1017 | 1017 |
window = windows[i]; |
1018 |
if (window instanceof SingletonWindow) { |
|
1018 |
if (window instanceof SingletonWindow && window instanceof IDocumentWindow) {
|
|
1019 | 1019 |
// Cogemos no la primera ventana, si no la primera |
1020 | 1020 |
// ventana de tipo documento (SingletonWindow). |
1021 | 1021 |
// Y por si las mosca no es un documento, atrapamos |
Also available in: Unified diff