From 1384a98c4c2f5c73e227ef3ba80d8fe2fad54366 Mon Sep 17 00:00:00 2001 From: Roger Ferrel Date: Thu, 7 Feb 2013 12:44:19 -0600 Subject: [PATCH] Issue #1578 Slav's fix for disposed cursors in MonitoringAreaConfigDlg. Change-Id: Ia57cfe88e22544260bbc03483b4c852843f67b42 Former-commit-id: 3275e6adfe9b67e89130f90da188f56c9b98377e [formerly 24c88a1673f53da1a3d1ef54539bbfecdd418b3d] [formerly 130fa3f73d26d6647aa97aa4c574e3998fe6ad02] [formerly 3275e6adfe9b67e89130f90da188f56c9b98377e [formerly 24c88a1673f53da1a3d1ef54539bbfecdd418b3d] [formerly 130fa3f73d26d6647aa97aa4c574e3998fe6ad02] [formerly 873f932f8e658bb39d7a37c584acb3bf92467fe8 [formerly 130fa3f73d26d6647aa97aa4c574e3998fe6ad02 [formerly 64c6e3b9812dc7232bd36feff181805c4fd504d9]]]] Former-commit-id: 873f932f8e658bb39d7a37c584acb3bf92467fe8 Former-commit-id: 26059ae7e0498037e25f1b644c7e0532508d0e35 [formerly 940d442f6f551cd95230fa0a84f817ec5ebe008c] [formerly 55ef04696c780948659739ded23b8f7dfe6ff66c [formerly f30b5846c18a3f78f43b457acde0b3c9911fecfe]] Former-commit-id: 3ca8ee1793c0ddeed4459318c7900a91dedca32b [formerly 0f1f4fb42f371e48a1ca6fd50e24d92e9d5f8d22] Former-commit-id: 06db554bbe7f10990d1166d4a12f4d4110197e12 --- .../ui/dialogs/MonitoringAreaConfigDlg.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/MonitoringAreaConfigDlg.java b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/MonitoringAreaConfigDlg.java index 5b4842ab8f..4fa336684e 100644 --- a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/MonitoringAreaConfigDlg.java +++ b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/MonitoringAreaConfigDlg.java @@ -26,7 +26,6 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Cursor; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; @@ -70,6 +69,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * Apr 29, 2011 DR#8986 zhao Read in "Counties" instead of "Forecast Zones" * Feb 22, 2012 14413 zhao modified to reduce calls to database * Nov 16, 2012 1297 skorolev Changes for non-blocking dialog. + * Feb 06, 2013 1578 skorolev Fixed a cursor problem for checkboxes. * * * @@ -166,12 +166,6 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements /** The current site. **/ protected String currentSite = null; - /** Wait Cursor **/ - private Cursor waitCursor = null; - - /** Arrow Cursor **/ - private Cursor arrowCursor = null; - /** monitor area zones **/ private java.util.List maZones = null; @@ -232,8 +226,6 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements setText(title); this.appName = appName; currentSite = LocalizationManager.getInstance().getCurrentSite(); - waitCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT); - arrowCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_ARROW); } /** @@ -367,11 +359,14 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements zoneRdo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - shell.setCursor(waitCursor); + getShell().setCursor( + getDisplay().getSystemCursor(SWT.CURSOR_WAIT)); mode = Mode.Zone; changeZoneStationControls(); populateLeftLists(); - shell.setCursor(arrowCursor); + if (!getShell().isDisposed()) { + getShell().setCursor(null); + } } }); @@ -380,11 +375,14 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements stationRdo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - shell.setCursor(waitCursor); + getShell().setCursor( + getDisplay().getSystemCursor(SWT.CURSOR_WAIT)); mode = Mode.Station; changeZoneStationControls(); populateLeftLists(); - shell.setCursor(arrowCursor); + if (!getShell().isDisposed()) { + getShell().setCursor(null); + } } }); @@ -567,9 +565,12 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements maRdo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - shell.setCursor(waitCursor); + getShell().setCursor( + getDisplay().getSystemCursor(SWT.CURSOR_WAIT)); populateMaRegionalList(); - shell.setCursor(arrowCursor); + if (!getShell().isDisposed()) { + getShell().setCursor(null); + } } }); @@ -583,9 +584,12 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements regionalRdo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - shell.setCursor(waitCursor); + getShell().setCursor( + getDisplay().getSystemCursor(SWT.CURSOR_WAIT)); populateMaRegionalList(); - shell.setCursor(arrowCursor); + if (!getShell().isDisposed()) { + getShell().setCursor(null); + } } }); @@ -1373,8 +1377,6 @@ public abstract class MonitoringAreaConfigDlg extends CaveSWTDialog implements */ @Override protected void disposed() { - waitCursor.dispose(); - arrowCursor.dispose(); controlFont.dispose(); } }