diff --git a/cave/com.raytheon.uf.viz.d2d.core/src/com/raytheon/uf/viz/d2d/core/time/D2DTimeMatcher.java b/cave/com.raytheon.uf.viz.d2d.core/src/com/raytheon/uf/viz/d2d/core/time/D2DTimeMatcher.java
index 7a43fb0d27..0cf845c54e 100644
--- a/cave/com.raytheon.uf.viz.d2d.core/src/com/raytheon/uf/viz/d2d/core/time/D2DTimeMatcher.java
+++ b/cave/com.raytheon.uf.viz.d2d.core/src/com/raytheon/uf/viz/d2d/core/time/D2DTimeMatcher.java
@@ -73,8 +73,7 @@ import com.raytheon.uf.viz.d2d.core.D2DLoadProperties;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 10, 2009 chammack Initial creation
- * 2012-04-20 DR 14699 D. Friedman Work around race conditions
- * 2012-08-14 DR 15160 D. Friedman Reduce chance of UI blocking
+ * 2012-04-20 DR 14699 D. Friedman Work around race conditions
*
*
*
@@ -95,7 +94,9 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
@Override
public void disposed(AbstractVizResource, ?> resource) {
if ((resource == timeMatchBasis)) {
- internalSetTimeMatchBasis(null);
+ synchronized (D2DTimeMatcher.this) {
+ timeMatchBasis = null;
+ }
}
}
@@ -127,11 +128,6 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
private boolean needRetry;
private int nRetries;
- // DR 15160 state
- private transient boolean pendingTmbChange = false;
- private transient boolean inTimeMatch = false;
- private transient AbstractVizResource, ?> pendingTimeMatchBasis;
-
/**
* Default Constructor.
*/
@@ -162,15 +158,8 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
public void redoTimeMatching(IDescriptor descriptor) throws VizException {
synchronized (this) {
- if (inTimeMatch) {
- needRetry = true;
- return;
- }
- pendingTmbChange = false;
- inTimeMatch = true;
needRetry = false;
- }
- try {
+
if (timeMatchBasis != null) {
IDescriptor tmDescriptor = timeMatchBasis.getDescriptor();
if (tmDescriptor != null && tmDescriptor != descriptor) {
@@ -216,27 +205,13 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
}
}
- } finally {
- boolean scheduleRetry = false;
- synchronized (this) {
- inTimeMatch = false;
- if (pendingTmbChange) {
- pendingTmbChange = false;
- changeTimeMatchBasis(pendingTimeMatchBasis);
- pendingTimeMatchBasis = null;
- scheduleRetry = true;
- }
-
- if (needRetry) {
- if (nRetries < 200) {
- ++nRetries;
- scheduleRetry = true;
- }
- } else
- nRetries = 0;
- }
- if (scheduleRetry)
- TimeMatchingJob.scheduleTimeMatch(descriptor);
+ if (needRetry) {
+ if (nRetries < 200) {
+ ++nRetries;
+ TimeMatchingJob.scheduleTimeMatch(descriptor);
+ }
+ } else
+ nRetries = 0;
}
}
@@ -733,7 +708,9 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
IDescriptor descriptor) {
if ((resource == timeMatchBasis)
&& (descriptor instanceof AbstractDescriptor)) {
- internalSetTimeMatchBasis(null);
+ synchronized (this) {
+ timeMatchBasis = null;
+ }
}
}
@@ -1027,17 +1004,4 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
configFactory.resetMultiload();
}
- // For DR 15160
- protected void internalSetTimeMatchBasis(AbstractVizResource, ?> timeMatchBasis) {
- synchronized (this) {
- if (inTimeMatch) {
- pendingTmbChange = true;
- pendingTimeMatchBasis = timeMatchBasis;
- } else {
- pendingTmbChange = false;
- pendingTimeMatchBasis = null;
- changeTimeMatchBasis(timeMatchBasis);
- }
- }
- }
}
diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/VCParm.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/VCParm.java
index d9f70456a5..faf6f6ad68 100644
--- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/VCParm.java
+++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/parm/VCParm.java
@@ -25,6 +25,9 @@ import java.util.Collection;
import java.util.Date;
import java.util.List;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+
import com.raytheon.uf.common.dataplugin.gfe.GridDataHistory;
import com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID;
import com.raytheon.uf.common.dataplugin.gfe.slice.DiscreteGridSlice;
@@ -37,6 +40,7 @@ import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.TimeRange;
import com.raytheon.uf.common.util.RWLArrayList;
+import com.raytheon.viz.gfe.Activator;
import com.raytheon.viz.gfe.core.DataManager;
import com.raytheon.viz.gfe.core.griddata.AbstractGridData;
import com.raytheon.viz.gfe.core.griddata.IGridData;
@@ -107,8 +111,13 @@ public class VCParm extends VParm implements IParmListChangedListener,
// Need to check that the above call to mod.getGpi() did not fail
if (!mod.isValid()) {
- statusHandler.handle(Priority.EVENTB, "Can't get GPI: ",
- this.mod.getErrorString());
+ //statusHandler.handle(Priority.EVENTB, "Can't get GPI: ",
+ // this.mod.getErrorString());
+ Activator
+ .getDefault()
+ .getLog()
+ .log(new Status(IStatus.WARNING, Activator.PLUGIN_ID,
+ "Can't get GPI: " + this.mod.getErrorString()));
}
// set the parm type
diff --git a/cave/com.raytheon.viz.volumebrowser/localization/menus/xml/fieldsMenus.xml b/cave/com.raytheon.viz.volumebrowser/localization/menus/xml/fieldsMenus.xml
index 6df01ea438..7399ffd7c1 100644
--- a/cave/com.raytheon.viz.volumebrowser/localization/menus/xml/fieldsMenus.xml
+++ b/cave/com.raytheon.viz.volumebrowser/localization/menus/xml/fieldsMenus.xml
@@ -747,9 +747,10 @@
-
-
-
+
+
+
+
diff --git a/nativeLib/rary.cots.jasper/jasper-1.900.1/configure b/nativeLib/rary.cots.jasper/jasper-1.900.1/configure
index 87e9b022e8..ff1e482e5f 100644
--- a/nativeLib/rary.cots.jasper/jasper-1.900.1/configure
+++ b/nativeLib/rary.cots.jasper/jasper-1.900.1/configure
@@ -20312,7 +20312,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(exit $ac_status); }; }; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
-#define HAVE_VLA 1
+#define HAVE_VLA 0
_ACEOF
else
diff --git a/nativeLib/rary.cots.jasper/jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c b/nativeLib/rary.cots.jasper/jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
index a744044521..4e25fd4edf 100644
--- a/nativeLib/rary.cots.jasper/jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+++ b/nativeLib/rary.cots.jasper/jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
@@ -313,11 +313,8 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity)
{
int bufsize = JPC_CEILDIVPOW2(numcols, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
-#else
- jpc_fix_t splitbuf[bufsize];
-#endif
+
jpc_fix_t *buf = splitbuf;
register jpc_fix_t *srcptr;
register jpc_fix_t *dstptr;
@@ -325,7 +322,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity)
register int m;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Get a buffer. */
if (bufsize > QMFB_SPLITBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
@@ -333,7 +329,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity)
abort();
}
}
-#endif
if (numcols >= 2) {
hstartcol = (numcols + 1 - parity) >> 1;
@@ -367,25 +362,18 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity)
}
}
-#if !defined(HAVE_VLA)
/* If the split buffer was allocated on the heap, free this memory. */
if (buf != splitbuf) {
jas_free(buf);
}
-#endif
-
}
void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride,
int parity)
{
-
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
-#else
- jpc_fix_t splitbuf[bufsize];
-#endif
+
jpc_fix_t *buf = splitbuf;
register jpc_fix_t *srcptr;
register jpc_fix_t *dstptr;
@@ -393,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride,
register int m;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Get a buffer. */
if (bufsize > QMFB_SPLITBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
@@ -401,7 +388,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride,
abort();
}
}
-#endif
if (numrows >= 2) {
hstartcol = (numrows + 1 - parity) >> 1;
@@ -435,25 +421,19 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride,
}
}
-#if !defined(HAVE_VLA)
/* If the split buffer was allocated on the heap, free this memory. */
if (buf != splitbuf) {
jas_free(buf);
}
-#endif
}
void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride,
int parity)
{
-
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
-#else
- jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
-#endif
+
jpc_fix_t *buf = splitbuf;
jpc_fix_t *srcptr;
jpc_fix_t *dstptr;
@@ -464,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride,
int m;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Get a buffer. */
if (bufsize > QMFB_SPLITBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
@@ -472,7 +451,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride,
abort();
}
}
-#endif
if (numrows >= 2) {
hstartcol = (numrows + 1 - parity) >> 1;
@@ -524,25 +502,18 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride,
}
}
-#if !defined(HAVE_VLA)
/* If the split buffer was allocated on the heap, free this memory. */
if (buf != splitbuf) {
jas_free(buf);
}
-#endif
-
}
void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols,
int stride, int parity)
{
-
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
-#else
- jpc_fix_t splitbuf[bufsize * numcols];
-#endif
+
jpc_fix_t *buf = splitbuf;
jpc_fix_t *srcptr;
jpc_fix_t *dstptr;
@@ -553,7 +524,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols,
int m;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Get a buffer. */
if (bufsize > QMFB_SPLITBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
@@ -561,7 +531,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols,
abort();
}
}
-#endif
if (numrows >= 2) {
hstartcol = (numrows + 1 - parity) >> 1;
@@ -613,13 +582,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols,
}
}
-#if !defined(HAVE_VLA)
/* If the split buffer was allocated on the heap, free this memory. */
if (buf != splitbuf) {
jas_free(buf);
}
-#endif
-
}
void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int parity)
@@ -684,18 +650,14 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int stride,
{
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
-#else
- jpc_fix_t joinbuf[bufsize];
-#endif
+
jpc_fix_t *buf = joinbuf;
register jpc_fix_t *srcptr;
register jpc_fix_t *dstptr;
register int n;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if (bufsize > QMFB_JOINBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
@@ -703,7 +665,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int stride,
abort();
}
}
-#endif
hstartcol = (numrows + 1 - parity) >> 1;
@@ -735,12 +696,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int stride,
++srcptr;
}
-#if !defined(HAVE_VLA)
/* If the join buffer was allocated on the heap, free this memory. */
if (buf != joinbuf) {
jas_free(buf);
}
-#endif
}
@@ -749,11 +708,8 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride,
{
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
-#else
- jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
-#endif
+
jpc_fix_t *buf = joinbuf;
jpc_fix_t *srcptr;
jpc_fix_t *dstptr;
@@ -763,7 +719,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride,
register int i;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if (bufsize > QMFB_JOINBUFSIZE) {
if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
@@ -771,7 +726,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride,
abort();
}
}
-#endif
hstartcol = (numrows + 1 - parity) >> 1;
@@ -821,25 +775,19 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride,
srcptr += JPC_QMFB_COLGRPSIZE;
}
-#if !defined(HAVE_VLA)
/* If the join buffer was allocated on the heap, free this memory. */
if (buf != joinbuf) {
jas_free(buf);
}
-#endif
}
void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols,
int stride, int parity)
{
-
int bufsize = JPC_CEILDIVPOW2(numrows, 1);
-#if !defined(HAVE_VLA)
jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
-#else
- jpc_fix_t joinbuf[bufsize * numcols];
-#endif
+
jpc_fix_t *buf = joinbuf;
jpc_fix_t *srcptr;
jpc_fix_t *dstptr;
@@ -849,7 +797,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols,
register int i;
int hstartcol;
-#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if (bufsize > QMFB_JOINBUFSIZE) {
if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
@@ -857,7 +804,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols,
abort();
}
}
-#endif
hstartcol = (numrows + 1 - parity) >> 1;
@@ -907,13 +853,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols,
srcptr += numcols;
}
-#if !defined(HAVE_VLA)
/* If the join buffer was allocated on the heap, free this memory. */
if (buf != joinbuf) {
jas_free(buf);
}
-#endif
-
}
/******************************************************************************\
diff --git a/rpms/awips2.core/Installer.python/component.spec b/rpms/awips2.core/Installer.python/component.spec
index 1ac1df1365..31e24df4c7 100644
--- a/rpms/awips2.core/Installer.python/component.spec
+++ b/rpms/awips2.core/Installer.python/component.spec
@@ -7,7 +7,7 @@
Name: awips2-python
Summary: AWIPS II Python Distribution
Version: 2.7.1
-Release: 6
+Release: 7
Group: AWIPSII
BuildRoot: %{_build_root}
BuildArch: %{_build_arch}
@@ -308,4 +308,4 @@ rm -rf %{_build_root}
%dir /awips2/python/include
/awips2/python/include/*
%dir /awips2/python/bin
-/awips2/python/bin/*
\ No newline at end of file
+/awips2/python/bin/*
diff --git a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so
index a9c7a1dad2..8241d04cda 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so and b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so differ
diff --git a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1 b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1
index a9c7a1dad2..8241d04cda 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1 and b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1 differ
diff --git a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1.0.0 b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1.0.0
index a9c7a1dad2..8241d04cda 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1.0.0 and b/rpms/awips2.core/Installer.python/nativeLib/i386/libjasper.so.1.0.0 differ
diff --git a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so
index 807f7f7bc1..d6ca90898c 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so and b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so differ
diff --git a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1 b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1
index 807f7f7bc1..d6ca90898c 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1 and b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1 differ
diff --git a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1.0.0 b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1.0.0
index 807f7f7bc1..d6ca90898c 100644
Binary files a/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1.0.0 and b/rpms/awips2.core/Installer.python/nativeLib/x86_64/libjasper.so.1.0.0 differ
diff --git a/rpms/build/i386/build.sh b/rpms/build/i386/build.sh
index 18ce3b6eda..6eca717d54 100644
--- a/rpms/build/i386/build.sh
+++ b/rpms/build/i386/build.sh
@@ -205,6 +205,7 @@ if [ "${1}" = "-full" ]; then
buildRPM "awips2-python-pygtk"
buildRPM "awips2-python-pycairo"
+ buildRPM "awips2"
buildRPM "awips2-adapt-native"
buildRPM "awips2-aviation-shared"
buildRPM "awips2-cli"
@@ -221,7 +222,6 @@ if [ "${1}" = "-full" ]; then
buildRPM "awips2-notification"
buildRPM "awips2-pypies"
buildRPM "awips2-data.hdf5-topo"
- buildRPM "awips2"
buildRPM "awips2-rcm"
buildLocalizationRPMs
if [ $? -ne 0 ]; then