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