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 >>>>> <mbda...@refractions.net>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 <becker.la...@gmail.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>> 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 < >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>> becker.la...@gmail.com>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 <michael.mich...@free.fr> >>>>>>>>>>>> >>>>>>>>>>>> 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 >>>>>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>>>>>>>>> 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 >>>>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>>>>>>>> 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 >>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>>>>> 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 >>>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>>> 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 >>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>> 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 >>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>> 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 >>>>> Jump-pilot-devel@lists.sourceforge.net >>>>> 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 >>> Jump-pilot-devel@lists.sourceforge.net >>> 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 > Jump-pilot-devel@lists.sourceforge.net > 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 Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel