thanks Michael.. so lets go with this (if nobody objects) until JTS 1.11.1 or 1.12
hopefully we remember ;) stefan Michaël Michaud wrote: > Michaël Michaud a écrit : >> Hi, >> >> I just wrote a one line quick and dirty patch in EditTransaction (line >> 316) to fix the problem. >> It is not a final choice (I cannot say if it is completely safe) > To be more precise, I think there is now a little risk to valid a > modification where the user would have changed a valid geometry into a > null geometry (a geometry where getCoordinate() returns null). > Not very likely but maybe not impossible. > > Michaël >> and >> I'll remove it if any request or alert. >> Just want to make it easy to test and decide if it is OK until next JTS >> release. >> >> Michaël >> >> Martin Davis a écrit : >> >>> Good point, Stefan. I have to admit, Jon wrote all of that code, so >>> I'm probably no more able to decide whether the modification is safe. >>> >>> Here's an idea - while you're waiting for JTS 1.11.1 or JTS 1.12 with >>> the fix, why not encapsulate the validity check in a >>> >>> GeometryUtil.isValidOrNull(Geometry g) >>> >>> as I suggested earlier. Then the logic can easily be added to check for >>> empty POINTs and return valid for them. >>> >>> >>> Stefan Steiniger wrote: >>> >>> >>>> thanks for fixing and discussing, >>>> >>>> now, I would prefer to leave the OJ code as is, and wait for JTS NB (or >>>> something alike). Because I don't see an elegant way to avoid isValid >>>> checks for EditTransactions.commit(), without telling what type of >>>> transaction is done. >>>> >>>> I.e. we need to do EditTransactions.commit() right? >>>> as performed in DeleteSelectedItemsPlugIn.java:99 >>>> >>>> if not, I would rather change code here, before touching/changing >>>> something in EditTransaction that allows the delivery of the transaction >>>> type. >>>> >>>> mhm.. I am honestly a bit scared to do changes here, because I can not >>>> assess what a change in the EditTransaction code can have for side >>>> effects - especially with respect to writing something back to real >>>> databases. So if a skilled person like Larry or Martin (as the JUMP >>>> designer) or Michael or Andreas would propose and do changes - I am >>>> totally happy with it. >>>> Though.. preferring still no code changes at all and rather a change of >>>> JTS. >>>> >>>> puzzled >>>> stefan >>>> >>>> Martin Davis wrote: >>>> >>>> >>>> >>>>> But not a *good* reason! 8^) For obvious reasons... ! >>>>> >>>>> Larry Becker wrote: >>>>> >>>>> >>>>> >>>>>> Hi Martin, >>>>>> >>>>>> Thanks for the fix. Assuming you meant "why OJ is testing for >>>>>> validity on >>>>>> a delete", the answer may be because it makes the code simpler. Not the >>>>>> best reason, but it is a reason. :-) >>>>>> >>>>>> regards, >>>>>> Larry >>>>>> >>>>>> On Tue, Mar 23, 2010 at 10:52 AM, Martin Davis >>>>>> <[email protected]>wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Yes, POINT EMPTY is valid. This is a bug in JTS. I'll fix this today. >>>>>>> Thanks, Michael! >>>>>>> >>>>>>> One thing that doesn't make sense to me is why JTS is testing for >>>>>>> validity on a delete? Surely it's safe to NOT do this, even for Undo? >>>>>>> >>>>>>> >>>>>>> Michaël Michaud wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi Martin, all, >>>>>>>> >>>>>>>> Finally, I think the problem could be a consistency problem in JTS. >>>>>>>> JTS accepts empty Points, empty LineStrings and empty Polygons created >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> with >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> factory.createPoint(null) -> POINT EMPTY >>>>>>>> factory.createLineString(null) -> LINESTRING EMPTY >>>>>>>> factory.createPolygon(null,null) -> POLYGON EMPTY >>>>>>>> >>>>>>>> empty LineString and empty Polygon, which hold an empty >>>>>>>> CoordinateSequence are seen as valid Geometries >>>>>>>> >>>>>>>> on the other hand, empty Point, which also holds an empty >>>>>>>> CoordinateSequence throws an exception while tested for its validity >>>>>>>> The reason is Point.isValid() does not test its CoordinateSequence but >>>>>>>> tests the validity of Point.getCoordinate(), which returns a null in >>>>>>>> this case. >>>>>>>> >>>>>>>> Could you confirm POINT EMPTY should be considered as a valid Geometry >>>>>>>> ? >>>>>>>> >>>>>>>> Michaël >>>>>>>> >>>>>>>> Stefan Steiniger a écrit : >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hei, >>>>>>>>> >>>>>>>>> so by looking on the JUMP code, >>>>>>>>> >>>>>>>>> deleting always creates a null geometry: >>>>>>>>> com.vividsolutions.jump.workbench.ui.GeometryEditor.remove(Geometry g, >>>>>>>>> Geometry itemToRemove) >>>>>>>>> >>>>>>>>> calls >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.GeometryEditor.createNullGeometry(Class >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>> geometryClass) >>>>>>>>> >>>>>>>>> so, we could do the change in createNullGeometry() [though I don't >>>>>>>>> really like the idea here to create an empty GeometryCollection is >>>>>>>>> Michael did for the other positions] or in >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.EditTransaction.proposedGeometriesValid() >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>> by catching null geometries here and not checking them. >>>>>>>>> >>>>>>>>> or.. of course... both. >>>>>>>>> >>>>>>>>> any suggestions by you Larry, Michael, Martin? >>>>>>>>> Probably the second solution is best? >>>>>>>>> >>>>>>>>> >>>>>>>>> ohh.. @Martin, actually, if that only happens for point geometries >>>>>>>>> now... what is with the other geometry.isValid operations... why don't >>>>>>>>> they return an error if null geomtries are created? >>>>>>>>> >>>>>>>>> stefan >>>>>>>>> >>>>>>>>> Martin Davis wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Ah, yes, right. This was a bug fix introduced in JTS 1.11, to ensure >>>>>>>>>> that Point.isValid checked for invalid (eg NaN) coordinates. >>>>>>>>>> >>>>>>>>>> In general, the contract for IsValid does not support "null" being >>>>>>>>>> passed as in input argument. OJ should not be trying to determine >>>>>>>>>> the >>>>>>>>>> validity of a null geometry - it needs to detect this situation and >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>> make >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>> its own decision about whether null is valid or not. >>>>>>>>>> >>>>>>>>>> So I think the way you'd sum this up is that a bug in JTS 1.10 >>>>>>>>>> masked a >>>>>>>>>> bug in OJ. >>>>>>>>>> >>>>>>>>>> Larry, I think your fix should take care of this in OJ. If it were >>>>>>>>>> me >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>> I >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>> would encapsulate that logic in a general-purpose utility method >>>>>>>>>> called >>>>>>>>>> something like GeometryUtil.isValidOrNull(Geometry g). That gives a >>>>>>>>>> single functionality point for the design decision to allow nulls as >>>>>>>>>> valid geometry, in case it needs to be changed in the future. >>>>>>>>>> >>>>>>>>>> Larry Becker wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> I see that prior versions of JTS Point.isValid() didn't call >>>>>>>>>>> IsValidOP.isValid(). It just returned trure. >>>>>>>>>>> >>>>>>>>>>> Stepping though the debugger, isValid is throwing an NPE when it >>>>>>>>>>> does >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>> the >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>> getCoordinate(). >>>>>>>>>>> >>>>>>>>>>> public boolean isValid() { >>>>>>>>>>> if (! IsValidOp.isValid(getCoordinate())) >>>>>>>>>>> return false; >>>>>>>>>>> return true; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> Larry >>>>>>>>>>> >>>>>>>>>>> On Mon, Mar 22, 2010 at 3:58 PM, Larry Becker >>>>>>>>>>> <[email protected] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> There are no changes in the SVN history for several months before >>>>>>>>>>>> 24 >>>>>>>>>>>> February that seem relevant. I made a bunch of changes to >>>>>>>>>>>> rendering >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> and >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>> such, but nothing related to EditTransactions. >>>>>>>>>>>> >>>>>>>>>>>> I happened to have a copy of OJ dated 22 February and it does not >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> have the >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>> delete point problem. Can't say for sure when it started though. >>>>>>>>>>>> >>>>>>>>>>>> Larry >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Mar 22, 2010 at 3:48 PM, Larry Becker < >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>> [email protected]>wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> Hi Michaël, >>>>>>>>>>>>> >>>>>>>>>>>>> Yes, I am using the latest SVN version. You can do the test >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>> yourself in >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>> a few minutes. >>>>>>>>>>>>> >>>>>>>>>>>>> I just checked and SkyJUMP and OJ both have identical code to >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>> handle >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>> deleting selected items, except for the changes Michaël made to >>>>>>>>>>>>> EditTransaction and the JTS version. Those changes were made in >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>> March. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>> SkyJUMP does not have the problem yet. >>>>>>>>>>>>> >>>>>>>>>>>>> @Stefan, what are the changes for null geometries that you spoke >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>> of? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>> Larry >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2010/3/22 Michaël Michaud <[email protected]> >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Stefan and others, >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> Did you check OJ with the svn code. >>>>>>>>>>>>>> I have fixed EditTransaction a few days ago. >>>>>>>>>>>>>> Fo a reason, in the EditTrasaction process, two methods created a >>>>>>>>>>>>>> Point(null,null,0) geometry. >>>>>>>>>>>>>> This geometry did not throw NPE... until JTS 1.11 >>>>>>>>>>>>>> I replaced Point(null,null,0) by an empty GeometryCollection. >>>>>>>>>>>>>> Hope it does the trick. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Miichaël >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hei, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I haven't found the time to look into it, but I got this error >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> report >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> from Bernd: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> the issue is that he can not delete point features in existing >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> projects >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> or even just created tets layers. (must have been introduced to >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> the NB >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> after Feb 24th) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ava.lang.NullPointerException >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jts.operation.valid.IsValidOp.isValid(IsValidOp.java:62) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jts.geom.Point.isValid(Point.java:117) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.EditTransaction.proposedGeometriesValid(EditTransaction.java:315) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.EditTransaction.commit(EditTransaction.java:256) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.EditTransaction.commit(EditTransaction.java:235) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.plugin.DeleteSelectedItemsPlugIn.execute(DeleteSelectedItemsPlugIn.java:99) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.plugin.AbstractPlugIn$1.actionPerformed(AbstractPlugIn.java:130) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.WorkbenchFrame$24.keyPressed(WorkbenchFrame.java:1142) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> com.vividsolutions.jump.workbench.ui.WorkbenchFrame$9.keyPressed(WorkbenchFrame.java:353) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:233) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.Component.processKeyEvent(Component.java:6221) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> javax.swing.JComponent.processKeyEvent(JComponent.java:2801) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at java.awt.Component.processEvent(Component.java:6040) >>>>>>>>>>>>>>> at java.awt.Container.processEvent(Container.java:2041) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.Component.dispatchEventImpl(Component.java:4630) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.Container.dispatchEventImpl(Container.java:2099) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.awt.Component.dispatchEvent(Component.java:4460) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:704) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:969) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:841) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:668) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.Component.dispatchEventImpl(Component.java:4502) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.Container.dispatchEventImpl(Container.java:2099) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at java.awt.Window.dispatchEventImpl(Window.java:2475) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.awt.Component.dispatchEvent(Component.java:4460) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> java.awt.EventQueue.dispatchEvent(EventQueue.java:599) >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> at >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> java.awt.EventDispatchThread.run(EventDispatchThread.java:122) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Download Intel® Parallel Studio Eval >>>>>>>>>>>>>>> Try the new software tools for yourself. Speed compiling, find >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> bugs >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>>> proactively, and fine-tune applications for parallel >>>>>>>>>>>>>>> performance. >>>>>>>>>>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>>>>>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> Jump-pilot-devel mailing list >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>>>>> Download Intel® Parallel Studio Eval >>>>>>>>>>>>>> Try the new software tools for yourself. Speed compiling, find >>>>>>>>>>>>>> bugs >>>>>>>>>>>>>> proactively, and fine-tune applications for parallel performance. >>>>>>>>>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>>>>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> Jump-pilot-devel mailing list >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>> Download Intel® Parallel Studio Eval >>>>>>>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>>>>>>> proactively, and fine-tune applications for parallel performance. >>>>>>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Jump-pilot-devel mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>> Download Intel® Parallel Studio Eval >>>>>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>>>>> proactively, and fine-tune applications for parallel performance. >>>>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>>>> _______________________________________________ >>>>>>>>> Jump-pilot-devel mailing list >>>>>>>>> [email protected] >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Download Intel® Parallel Studio Eval >>>>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>>>> proactively, and fine-tune applications for parallel performance. >>>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>>> _______________________________________________ >>>>>>>> Jump-pilot-devel mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>>> Martin Davis >>>>>>> Senior Technical Architect >>>>>>> Refractions Research, Inc. >>>>>>> (250) 383-3022 >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Download Intel® Parallel Studio Eval >>>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>>> proactively, and fine-tune applications for parallel performance. >>>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>>> _______________________________________________ >>>>>>> Jump-pilot-devel mailing list >>>>>>> [email protected] >>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------ >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> Download Intel® Parallel Studio Eval >>>>>> Try the new software tools for yourself. Speed compiling, find bugs >>>>>> proactively, and fine-tune applications for parallel performance. >>>>>> See why Intel Parallel Studio got high marks during beta. >>>>>> http://p.sf.net/sfu/intel-sw-dev >>>>>> ------------------------------------------------------------------------ >>>>>> >>>>>> _______________________________________________ >>>>>> Jump-pilot-devel mailing list >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>> >>>>>> >>>>>> >>>>>> >>>> ------------------------------------------------------------------------------ >>>> Download Intel® Parallel Studio Eval >>>> Try the new software tools for yourself. Speed compiling, find bugs >>>> proactively, and fine-tune applications for parallel performance. >>>> See why Intel Parallel Studio got high marks during beta. >>>> http://p.sf.net/sfu/intel-sw-dev >>>> _______________________________________________ >>>> Jump-pilot-devel mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>>> >>>> >>>> >>> >>> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Jump-pilot-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >> >> >> > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Jump-pilot-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Jump-pilot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
