From a6f051fe392eac0875d88fe603aebca872aa7725 Mon Sep 17 00:00:00 2001 From: Lee Venable Date: Mon, 31 Mar 2014 16:05:09 -0500 Subject: [PATCH] Issue #2970 - added SWT dispose checks to runAsync methods. Former-commit-id: 64f5da88ffad6a201a02d68e0db762a6f9e06307 [formerly 64f5da88ffad6a201a02d68e0db762a6f9e06307 [formerly b07ebb73405c3421c6afa3e45db57162a7ca622b]] Former-commit-id: 4714913a8ca6a9d2991722f51b81a76d999936aa Former-commit-id: 198785dc0c888aef2bf361c2ca2431eae4685647 --- .../stationreporting/StationReportingStatusDlg.java | 11 ++++++++--- .../viz/hydrobase/dialogs/DataIngestFilterDlg.java | 4 ++++ .../viz/hydrobase/dialogs/DataPurgeParamsDlg.java | 13 +++++++++++++ .../viz/hydrobase/dialogs/HydroGenConfigDlg.java | 4 ++++ .../hydrobase/dialogs/QcAlertAlarmLimitsDlg.java | 10 ++++++++++ 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingStatusDlg.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingStatusDlg.java index c2e3768524..9870765fb9 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingStatusDlg.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingStatusDlg.java @@ -69,7 +69,8 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * 21 Feb 2010 2915 mpduff Fixed Time Zone problem. * 23 Feb 2010 4303 mpduff Changed the "missing" date display to be N/A. * 16 Apr 2013 1790 rferrel Make dialog non-blocking. - * 09 Sep 2013 #2349 lvenable Fixed Font memory leak. + * 09 Sep 2013 #2349 lvenable Fixed Font memory leak. + * Mar 31, 2014 #2970 lvenable Put dispose checks in the runAsync calls. * * * @@ -877,9 +878,11 @@ public class StationReportingStatusDlg extends CaveSWTDialog { if (currObs.isEmpty()) { VizApp.runAsync(new Runnable() { - @Override public void run() { + if (isDisposed()) { + return; + } setBusy(false); String showErrorMsg = "No latest obs found. "; MessageBox mb = new MessageBox(shell, @@ -892,9 +895,11 @@ public class StationReportingStatusDlg extends CaveSWTDialog { } else { latestObs = currObs; VizApp.runAsync(new Runnable() { - @Override public void run() { + if (isDisposed()) { + return; + } loadRecords(); } }); diff --git a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataIngestFilterDlg.java b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataIngestFilterDlg.java index bd192b48d0..4858d27cbf 100644 --- a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataIngestFilterDlg.java +++ b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataIngestFilterDlg.java @@ -74,6 +74,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * Sep 4, 2008 lvenable Initial creation * Dec 11, 2008 1787 askripsk Connect to DB * Apr 18, 2013 1790 rferrel Make dialog non-blocking. + * Mar 31, 2014 #2970 lvenable Put dispose checks in the runAsync calls. * * * @@ -1015,6 +1016,9 @@ public class DataIngestFilterDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } updatePopulateList(t); } }); diff --git a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataPurgeParamsDlg.java b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataPurgeParamsDlg.java index e77b96e0dc..35b76e1a4e 100644 --- a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataPurgeParamsDlg.java +++ b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/DataPurgeParamsDlg.java @@ -68,6 +68,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * Dec 17, 2008 1787 askripsk Connected to Database. * May 6, 2009 2181 mpduff Keep selection upon submit. * Apr 18, 2013 1790 rferrel Make dialog non-blocking. + * Mar 31, 2014 #2970 lvenable Put dispose checks in the runAsync calls. * * * @@ -513,6 +514,9 @@ public class DataPurgeParamsDlg extends CaveSWTDialog { VizApp.runAsync(new Runnable() { @Override public void run() { + if (isDisposed()) { + return; + } updateLocDialogDisplay(); } }); @@ -523,6 +527,9 @@ public class DataPurgeParamsDlg extends CaveSWTDialog { VizApp.runAsync(new Runnable() { @Override public void run() { + if (isDisposed()) { + return; + } setBusy(false); } }); @@ -551,6 +558,9 @@ public class DataPurgeParamsDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } updateTextDialogDisplay(); } }); @@ -561,6 +571,9 @@ public class DataPurgeParamsDlg extends CaveSWTDialog { VizApp.runAsync(new Runnable() { @Override public void run() { + if (isDisposed()) { + return; + } setBusy(false); } }); diff --git a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/HydroGenConfigDlg.java b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/HydroGenConfigDlg.java index 964a7a4612..11a2e79b80 100644 --- a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/HydroGenConfigDlg.java +++ b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/HydroGenConfigDlg.java @@ -66,6 +66,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * Sep 4, 2008 lvenable Initial creation * Dec 29, 2008 1802 askripsk Connect to database. * Apr 19, 2013 1790 rferrel Make dialog non-blocking. + * Mar 31, 2014 #2970 lvenable Put dispose checks in the runAsync calls. * * * @@ -371,6 +372,9 @@ public class HydroGenConfigDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } updateDialogDisplay(); shell.setCursor(null); } diff --git a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/QcAlertAlarmLimitsDlg.java b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/QcAlertAlarmLimitsDlg.java index e848ac027a..41ac07bd73 100644 --- a/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/QcAlertAlarmLimitsDlg.java +++ b/cave/com.raytheon.viz.hydrobase/src/com/raytheon/viz/hydrobase/dialogs/QcAlertAlarmLimitsDlg.java @@ -81,6 +81,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * Oct 27,2011 11305 lbousaidi change some logic to have physical * elements matches the selection of default limits * Apr 19, 2013 1790 rferrel Make dialog non-blocking. + * Mar 31, 2014 #2970 lvenable Put dispose checks in the runAsync calls. * * * @@ -835,6 +836,9 @@ public class QcAlertAlarmLimitsDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } for (String currPE : peList) { physElemList.add(currPE); physElemSelItemList.add(currPE); @@ -850,6 +854,9 @@ public class QcAlertAlarmLimitsDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } durationCbo.setItems(durList.toArray(new String[0])); updateDialogState(DialogStates.DEFAULT_LIMITS); loadData(); @@ -864,6 +871,9 @@ public class QcAlertAlarmLimitsDlg extends CaveSWTDialog { @Override public void run() { + if (isDisposed()) { + return; + } setBusy(false); } });