Re: [cp-patches] Re: Help needed to persuade apaches about the Classpath license: Maven does not deal with CORBA, just uses OpenEJB.
Tom Tromey wrote: I've been watching the japi scores go up in awe, as a wave of green sweeps through the org.omg section. Good work. Thanks. I've been meaning to ask about the story behind the japi scores though. Do these reflect reality, as in, the CORBA implementation in Classpath is nearing completion? Or are there parts left un-done behind the scenes? Tom Advertising and proposing a bunch of stubs to Geronimo or OpenEJB would not make sense. The absence of implementation is not a kind of secret one could ever hide. You may not believe, but there are packages were our CORBA passes much more cost.omg.org tests from Iona technologies and Nec corporation than Sun's implementation. The summary of the tested CORBA features is included in org/omg/CORBA/package.html and org/omg/PortableServer/package.html on the CVS. Cheers Audrius. ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Some more AWT cleanup
Hi, I did some more AWT cleanup. This was necessary to get an application working smoothly that uses Espresso, a Swing-like Java-based toolkit based on AWT. The changes are not so heavy as discussed yesterday on IRC, so I'm committing this instantly. 2005-08-12 Roman Kennke [EMAIL PROTECTED] * java/awt/Component.java (reshape): Simplified repainting of parent. (paint): Don't call peer.paint() here. The paint method is exclusivly meant to be overridden by subclasses that wish to perform custom painting and should do nothing by default. (repaint): Use local variable in null pointer checks to avoid NullPointerExceptions. (imageUpdate): Slight formatting adjustments. (dispatchEvent): Don't call peer.handleEvent() here, this must be done in dispatchEventImpl(). (dispatchEventImpl): Dispatch PAINT and UPDATE events to the peer. * java/awt/Container.java (paint): Don't call super.paint() here, this method does nothing anyway. Visit only lightweight children. (update): Instead of clearing the background only for top-level containers, clear the background for all heavyweight containers. /Roman ? java/awt/semantic.cache Index: java/awt/Component.java === RCS file: /cvsroot/classpath/classpath/java/awt/Component.java,v retrieving revision 1.69 diff -u -r1.69 Component.java --- java/awt/Component.java 5 Aug 2005 15:26:08 - 1.69 +++ java/awt/Component.java 12 Aug 2005 11:44:51 - @@ -1404,9 +1404,6 @@ // Erase old bounds and repaint new bounds for lightweights. if (isLightweight() isShowing ()) { -boolean shouldRepaintParent = false; -boolean shouldRepaintSelf = false; - if (parent != null) { Rectangle parentBounds = parent.getBounds(); @@ -1416,14 +1413,11 @@ Rectangle newBounds = new Rectangle(parent.getX() + x, parent.getY() + y, width, height); -shouldRepaintParent = parentBounds.intersects(oldBounds); -shouldRepaintSelf = parentBounds.intersects(newBounds); +Rectangle destroyed = oldBounds.union(newBounds); +if (!destroyed.isEmpty()) + parent.repaint(0, destroyed.x, destroyed.y, destroyed.width, + destroyed.height); } - -if (shouldRepaintParent parent != null) - parent.repaint(oldx, oldy, oldwidth, oldheight); -if (shouldRepaintSelf) - repaint(); } // Only post event if this component is visible and has changed size. @@ -1830,9 +1824,8 @@ */ public void paint(Graphics g) { -// Paint the heavyweight peer -if (!isLightweight() peer != null) - peer.paint(g); +// This is a callback method and is meant to be overridden by subclasses +// that want to perform custom painting. } /** @@ -1858,7 +1851,8 @@ { // Tests show that the clearing of the background is only done in // two cases: -// - If the component is lightwight (yes this is in contrast to the spec). +// - If the component is lightweight (yes this is in contrast to the spec). +// or // - If the component is a toplevel container. if (isLightweight() || getParent() == null) { @@ -1943,14 +1937,18 @@ */ public void repaint(long tm, int x, int y, int width, int height) { -// Handle lightweight repainting by forwarding to native parent -if (isLightweight() parent != null) +if(!isShowing()) { -if (parent != null) - parent.repaint(tm, x + getX(), y + getY(), width, height); +Component p = parent; +if (p != null) + p.repaint(tm, x + getX(), y + getY(), width, height); + } +else + { +ComponentPeer p = peer; +if (p != null) + p.repaint(tm, x, y, width, height); } -else if (peer != null) - peer.repaint(tm, x, y, width, height); } /** @@ -2011,7 +2009,7 @@ public boolean imageUpdate(Image img, int flags, int x, int y, int w, int h) { if ((flags (FRAMEBITS | ALLBITS)) != 0) - repaint (); + repaint(); else if ((flags SOMEBITS) != 0) { if (incrementalDraw) @@ -2021,10 +2019,10 @@ long tm = redrawRate.longValue(); if (tm 0) tm = 0; - repaint (tm); +repaint(tm); } else - repaint (100); + repaint(100); } } return (flags (ALLBITS | ABORT | ERROR)) == 0; @@ -2322,8 +2320,6 @@ // Some subclasses in the AWT package need to override this behavior, // hence the use of dispatchEventImpl(). dispatchEventImpl(e); -if (peer != null ! e.consumed) - peer.handleEvent(e); } /** @@ -4786,7 +4782,7 @@
Re: [cp-patches] Re: Help needed to persuade apaches about the Classpath license: Maven does not deal with CORBA, just uses OpenEJB.
Hi, On Fri, 2005-08-12 at 10:18 +0200, Meskauskas Audrius wrote: You may not believe, but there are packages were our CORBA passes much more cost.omg.org tests from Iona technologies and Nec corporation than Sun's implementation. The summary of the tested CORBA features is included in org/omg/CORBA/package.html and org/omg/PortableServer/package.html on the CVS. These are now also up on developer.classpath.org: http://developer.classpath.org/doc/org/omg/CORBA/package-summary.html http://developer.classpath.org/doc/org/omg/PortableServer/package-summary.html Nice job Audrius! Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] FYI: Qt peers
Hi Sven, Commited a few new files. This was a nice surprise when I cvsup'd tomorrow :-) Thank you. Is there a get-me-going-quickly-file somewhere? Or would you add one? /Roman ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] FYI: Qt peers
Roman Kennke wrote: Hi Sven, Commited a few new files. This was a nice surprise when I cvsup'd tomorrow :-) Thank you. Is there a get-me-going-quickly-file somewhere? Or would you add one? I'll add some build machinery when I merge it into Kaffe later tonight, and post a patch for Classpath for review. cheers, dalibor topic ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] Patch: JSplitPane divider
2005-08-12 Lillian Angel [EMAIL PROTECTED] * javax/swing/plaf/basic/BasicSplitPaneUI.java * (getMinimumDividerLocation): Fixed to work similar to getMaximumDividerLocation. Was not able to move divider in both directions before. Index: javax/swing/plaf/basic/BasicSplitPaneUI.java === RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java,v retrieving revision 1.13 diff -u -r1.13 BasicSplitPaneUI.java --- javax/swing/plaf/basic/BasicSplitPaneUI.java 2 Jul 2005 20:32:50 - 1.13 +++ javax/swing/plaf/basic/BasicSplitPaneUI.java 12 Aug 2005 13:58:16 - @@ -1337,9 +1337,11 @@ */ public int getMinimumDividerLocation(JSplitPane jc) { -int value = layoutManager.getInitialLocation(jc.getInsets()); -if (layoutManager.components[0] != null) - value += layoutManager.minimumSizeOfComponent(0); +int value = layoutManager.getInitialLocation(jc.getInsets()) +- layoutManager.getAvailableSize(jc.getSize(), jc.getInsets()) ++ splitPane.getDividerSize(); +if (layoutManager.components[1] != null) + value += layoutManager.minimumSizeOfComponent(1); return value; } ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Logger fix
I'm committing this on behalf of my collegue Ingo Proetel. This adds checks to a couple of log methods if the specified level is actually allowed to be logged. Otherwise we would end up building up the stacktrace which could be very expensive compared to do nothing at all :-) 2005-08-12 Roman Kennke [EMAIL PROTECTED] Reported by: Ingo Proetel [EMAIL PROTECTED] * java/util/logging/Logger.java This applies to a couple of log() methods: (log): Added check if the specified level is actually enabled, otherwise ignore logging request. /Roman Index: java/util/logging/Logger.java === RCS file: /cvsroot/classpath/classpath/java/util/logging/Logger.java,v retrieving revision 1.11 diff -u -r1.11 Logger.java --- java/util/logging/Logger.java 15 Jul 2005 12:53:15 - 1.11 +++ java/util/logging/Logger.java 12 Aug 2005 14:28:37 - @@ -577,7 +577,8 @@ public void log(Level level, String message) { -log(level, message, (Object[]) null); +if (isLoggable(level)) + log(level, message, (Object[]) null); } @@ -585,12 +586,15 @@ String message, Object param) { -StackTraceElement caller = getCallerStackFrame(); -logp(level, - caller != null ? caller.getClassName() : unknown, - caller != null ? caller.getMethodName() : unknown, - message, - param); +if (isLoggable(level)) + { +StackTraceElement caller = getCallerStackFrame(); +logp(level, + caller != null ? caller.getClassName() : unknown, + caller != null ? caller.getMethodName() : unknown, + message, + param); + } } @@ -598,12 +602,15 @@ String message, Object[] params) { -StackTraceElement caller = getCallerStackFrame(); -logp(level, - caller != null ? caller.getClassName() : unknown, - caller != null ? caller.getMethodName() : unknown, - message, - params); +if (isLoggable(level)) + { +StackTraceElement caller = getCallerStackFrame(); +logp(level, + caller != null ? caller.getClassName() : unknown, + caller != null ? caller.getMethodName() : unknown, + message, + params); + } } @@ -611,12 +618,15 @@ String message, Throwable thrown) { -StackTraceElement caller = getCallerStackFrame(); -logp(level, - caller != null ? caller.getClassName() : unknown, - caller != null ? caller.getMethodName() : unknown, - message, - thrown); +if (isLoggable(level)) + { +StackTraceElement caller = getCallerStackFrame(); +logp(level, + caller != null ? caller.getClassName() : unknown, + caller != null ? caller.getMethodName() : unknown, + message, + thrown); + } } ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Nullpointer check in URLClassLoader
This adds a null check to avoid a NullPointerException. 2005-08-12 Roman Kennke [EMAIL PROTECTED] Reported by: Ingo Proetel [EMAIL PROTECTED] * java/net/URLClassLoader.java (findClass): Added null check to avoid NullPointerException. /Roman Index: java/net/URLClassLoader.java === RCS file: /cvsroot/classpath/classpath/java/net/URLClassLoader.java,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- java/net/URLClassLoader.java 21 Jul 2005 07:48:53 - 1.33 +++ java/net/URLClassLoader.java 12 Aug 2005 14:38:37 - 1.34 @@ -900,7 +900,11 @@ else result = defineClass(className, classData, 0, classData.length, source); -super.setSigners(result, resource.getCertificates()); +// Avoid NullPointerExceptions. +Certificate[] resourceCertificates = resource.getCertificates(); +if(resourceCertificates != null) + super.setSigners(result, resourceCertificates); + return result; } catch (IOException ioe) ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: GapContent fix
Hi, the GapContent was broken which lead to misfunctional textfields and editorpanes. The attached patch fixes this (was a misplaced curly brace of an if() statement of a boundary check) and adds some cleanup. The insertString and remove methods both now call the protected replace() implementation. 2005-08-12 Roman Kennke [EMAIL PROTECTED] * javax/swing/text/GapContent.java (insertString): Use replace() to actually insert content. (remove): Use replace() to actually remove content. (shiftGap): Repaired misplaced curly brace in if block of boudary check. (replace): Check for null argument for addItems. /Roman Index: javax/swing/text/GapContent.java === RCS file: /cvsroot/classpath/classpath/javax/swing/text/GapContent.java,v retrieving revision 1.20 diff -u -r1.20 GapContent.java --- javax/swing/text/GapContent.java 2 Aug 2005 14:44:05 - 1.20 +++ javax/swing/text/GapContent.java 12 Aug 2005 15:24:29 - @@ -228,19 +228,8 @@ throw new BadLocationException(the where argument cannot be greater + than the content length, where); -// check if the gap is big enough to hold the string -if ((gapEnd - gapStart) strLen) - // make room for this string and some more - shiftEnd(strLen + DEFAULT_BUFSIZE); - -// are we at the gap boundary? -if (where != gapStart) - shiftGap(where); - -// now we can simple copy the string into the gap and adjust the -// gap boundaries -System.arraycopy(str.toCharArray(), 0, buffer, gapStart, strLen); -gapStart += strLen; +replace(where, 0, str.toCharArray(), str.length()); + return null; } @@ -268,12 +257,8 @@ throw new BadLocationException(where + nitems cannot be greater + than the content length, where + nitems); -// check if we are at the gap boundary -if (where != gapStart) - shiftGap(where); +replace(where, nitems, null, 0); -// now we simply have to enlarge the gap -gapEnd += nitems; return null; } @@ -419,40 +404,40 @@ // Update the positions between newGapEnd and (old) gapEnd. The marks // must be shifted by (gapEnd - newGapEnd). -int index1 = Collections.binarySearch(positions, new GapContentPosition( -gapEnd)); -int index2 = Collections.binarySearch(positions, new GapContentPosition( -newGapEnd)); +int index1 = Collections.binarySearch(positions, + new GapContentPosition(gapEnd)); +int index2 = Collections.binarySearch(positions, + new GapContentPosition(newGapEnd)); if (index1 0 index2 0) -{ - int i1 = Math.min(index1, index2); - int i2 = Math.max(index1, index2); - for (ListIterator i = positions.listIterator(i1); i.hasNext();) { -if (i.nextIndex() i2) - break; - -GapContentPosition p = (GapContentPosition) i.next(); -p.mark += gapEnd - newGapEnd; +int i1 = Math.min(index1, index2); +int i2 = Math.max(index1, index2); +for (ListIterator i = positions.listIterator(i1); i.hasNext();) + { +if (i.nextIndex() i2) + break; + +GapContentPosition p = (GapContentPosition) i.next(); +p.mark += gapEnd - newGapEnd; + } } - if (newGapStart == gapStart) -return; - else if (newGapStart gapStart) +if (newGapStart == gapStart) + return; +else if (newGapStart gapStart) { System.arraycopy(buffer, newGapStart, buffer, newGapEnd, gapStart -- newGapStart); + - newGapStart); gapStart = newGapStart; gapEnd = newGapEnd; } - else +else { System.arraycopy(buffer, gapEnd, buffer, gapStart, newGapStart -- gapStart); + - gapStart); gapStart = newGapStart; gapEnd = newGapEnd; } -} } /** @@ -473,7 +458,8 @@ * @param addItems the items to add at location * @param addSize the number of items to add */ - protected void replace(int position, int rmSize, Object addItems, int addSize) + protected void replace(int position, int rmSize, Object addItems, + int addSize) { // Remove content shiftGap(position); @@ -484,7 +470,10 @@ shiftEnd(addSize); // Add new items to the buffer. -System.arraycopy(addItems, 0, buffer, gapStart, addSize); -gapStart += addSize; +if (addItems != null) + { +System.arraycopy(addItems, 0, buffer, gapStart, addSize); +gapStart += addSize; + } } } ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Some (jikes) warning fixes
Hi, jikes was complaining about a couple of constructs used in our code. Were it was easy and obviously correct to fix this I did to make the compilation experience with jikes nicer. 2005-08-12 Mark Wielaard [EMAIL PROTECTED] * gnu/java/awt/peer/qt/QtButtonPeer.java: Replace uses of toolkit.eventQueue.postEvent() with QtToolkit.eventQueue.postEvent(). * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Likewise. * gnu/java/awt/peer/qt/QtChoicePeer.java: Likewise. * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise and for guiThread.QApplicationPointer and graphicsEnv.getScreenDevices(). * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. * gnu/java/awt/peer/qt/QtMenuPeer.java: Likewise. * gnu/java/awt/peer/qt/QtScrollbarPeer.java: Likewise. * gnu/java/security/PolicyFile.javai (refresh): Assign only outside if statement. Committed, Mark Index: gnu/java/awt/peer/qt/QtButtonPeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java,v retrieving revision 1.1 diff -u -r1.1 QtButtonPeer.java --- gnu/java/awt/peer/qt/QtButtonPeer.java 11 Aug 2005 17:06:48 - 1.1 +++ gnu/java/awt/peer/qt/QtButtonPeer.java 12 Aug 2005 16:03:40 - @@ -66,7 +66,7 @@ ((Button)owner).getActionCommand(), System.currentTimeMillis(), (modifiers 0x2FF)); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } // Public methods * Index: gnu/java/awt/peer/qt/QtCheckboxPeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java,v retrieving revision 1.1 diff -u -r1.1 QtCheckboxPeer.java --- gnu/java/awt/peer/qt/QtCheckboxPeer.java 11 Aug 2005 17:06:48 - 1.1 +++ gnu/java/awt/peer/qt/QtCheckboxPeer.java 12 Aug 2005 16:03:40 - @@ -84,7 +84,7 @@ ItemEvent.ITEM_STATE_CHANGED, ((Checkbox)owner).getLabel(), sel); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } // Public methods * Index: gnu/java/awt/peer/qt/QtChoicePeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtChoicePeer.java,v retrieving revision 1.1 diff -u -r1.1 QtChoicePeer.java --- gnu/java/awt/peer/qt/QtChoicePeer.java 11 Aug 2005 17:06:48 - 1.1 +++ gnu/java/awt/peer/qt/QtChoicePeer.java 12 Aug 2005 16:03:40 - @@ -68,7 +68,7 @@ ItemEvent.ITEM_STATE_CHANGED, ((Choice)owner).getItem(index), ItemEvent.SELECTED); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } // Public methods * Index: gnu/java/awt/peer/qt/QtComponentPeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/qt/QtComponentPeer.java,v retrieving revision 1.1 diff -u -r1.1 QtComponentPeer.java --- gnu/java/awt/peer/qt/QtComponentPeer.java 11 Aug 2005 17:06:48 - 1.1 +++ gnu/java/awt/peer/qt/QtComponentPeer.java 12 Aug 2005 16:03:40 - @@ -123,7 +123,7 @@ { this.owner = owner; this.toolkit = kit; -qtApp = toolkit.guiThread.QApplicationPointer; +qtApp = QtToolkit.guiThread.QApplicationPointer; nativeObject = 0; callInit(); // Calls the init method FROM THE MAIN THREAD. setup(); @@ -204,7 +204,7 @@ { WindowEvent e = new WindowEvent((Window)owner, WindowEvent.WINDOW_CLOSING); - toolkit.eventQueue.postEvent(e); + QtToolkit.eventQueue.postEvent(e); } } @@ -214,19 +214,19 @@ MouseEvent.MOUSE_ENTERED, System.currentTimeMillis(), (modifiers 0x2FF), x, y, 0, false); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } protected void focusInEvent() { FocusEvent e = new FocusEvent(owner, FocusEvent.FOCUS_GAINED); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } protected void focusOutEvent() { FocusEvent e = new FocusEvent(owner, FocusEvent.FOCUS_LOST); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); } protected void keyPressEvent(int modifiers, int code, int unicode, int dummy) @@ -238,7 +238,7 @@ modifiers, code, (char)(unicode 0x), KeyEvent.KEY_LOCATION_UNKNOWN); if (!manager.dispatchEvent (e)) - toolkit.eventQueue.postEvent(e); + QtToolkit.eventQueue.postEvent(e); } protected void keyReleaseEvent(int modifiers, int code, int unicode, int dummy) @@ -248,7 +248,7 @@ System.currentTimeMillis(), modifiers, code, (char)(unicode 0x), KeyEvent.KEY_LOCATION_UNKNOWN); -toolkit.eventQueue.postEvent(e); +QtToolkit.eventQueue.postEvent(e); }
Re: [cp-patches] Re: Help needed to persuade apaches about the Classpath license: Maven does not deal with CORBA, just uses OpenEJB.
Audrius == Meskauskas Audrius [EMAIL PROTECTED] writes: Audrius You may not believe, but there are packages were our CORBA Audrius passes much more cost.omg.org tests from Iona technologies Audrius and Nec corporation than Sun's implementation. It is hard to believe anybody could do this so quickly. Congratulations! Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] Patch: BasicTreeUI NPE checks
2005-08-12 Lillian Angel [EMAIL PROTECTED] * javax/swing/plaf/basic/BasicTreeUI.java (getCellLocation): Added in a check to make sure the node has children. Fixed loop to use post-increment. (paintRecursive): Fixed loop to use post-increment. (paintControlIcons): Likewise. (getNextNode): Fixed check to make sure that node has children. (getPreviousSibling): Added in check to make sure index is in correct range. Index: javax/swing/plaf/basic/BasicTreeUI.java === RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTreeUI.java,v retrieving revision 1.59 diff -u -r1.59 BasicTreeUI.java --- javax/swing/plaf/basic/BasicTreeUI.java 10 Aug 2005 15:04:15 - 1.59 +++ javax/swing/plaf/basic/BasicTreeUI.java 12 Aug 2005 17:51:32 - @@ -2620,7 +2620,8 @@ } if (!mod.isLeaf(startNode) - tree.isExpanded(new TreePath(getPathToRoot(startNode, 0 + tree.isExpanded(new TreePath(getPathToRoot(startNode, 0))) + mod.getChildCount(startNode) 0) { Object child = mod.getChild(startNode, 0); if (child != null) @@ -2711,7 +2712,7 @@ int max = mod.getChildCount(curr); if (tree.isExpanded(new TreePath(getPathToRoot(curr, 0 { -for (int i = 0; i max; ++i) +for (int i = 0; i max; i++) { int indent = indentation + rightChildIndent; if (!isRootVisible depth == 0) @@ -2783,7 +2784,7 @@ if (!node.equals(mod.getRoot())) ei.paintIcon(tree, g, indentation - rightChildIndent - 3, h); -for (int i = 0; i max; ++i) +for (int i = 0; i max; i++) { int indent = indentation + rightChildIndent; if (depth == 0 !tree.isRootVisible()) @@ -2930,7 +2931,7 @@ Object getNextNode(Object curr) { TreeModel mod = tree.getModel(); -if (mod.getChildCount(curr) != 0) +if (mod.getChildCount(curr) 0) return mod.getChild(curr, 0); Object node = curr; @@ -3013,7 +3014,7 @@ int index = mod.getIndexOfChild(parent, node) - 1; -if (index 0) +if (index 0 || index = mod.getChildCount(parent)) return null; return mod.getChild(parent, index); ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [RFA/JDWP] Frame.java
This class defines an interface to the VM to represent a Frame (as well as changes the imports for the couple command sets that use it) thanks, Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/vm/Frame.java: Implemented interface to Frame to the VM * gnu/classpath/jdwp/processor/StackFrameCommandSet.java: updated import * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: updated import Index: gnu/classpath/jdwp/processor/StackFrameCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/StackFrameCommandSet.java,v retrieving revision 1.1 diff -u -p -r1.1 StackFrameCommandSet.java --- gnu/classpath/jdwp/processor/StackFrameCommandSet.java 9 Aug 2005 19:59:36 - 1.1 +++ gnu/classpath/jdwp/processor/StackFrameCommandSet.java 12 Aug 2005 18:04:55 - @@ -47,7 +47,7 @@ import gnu.classpath.jdwp.exception.Jdwp import gnu.classpath.jdwp.exception.NotImplementedException; import gnu.classpath.jdwp.id.IdManager; import gnu.classpath.jdwp.id.ObjectId; -import gnu.classpath.jdwp.util.Frame; +import gnu.classpath.jdwp.vm.Frame; import gnu.classpath.jdwp.util.Value; import java.io.DataOutputStream; Index: gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java,v retrieving revision 1.1 diff -u -p -r1.1 ThreadReferenceCommandSet.java --- gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java 10 Aug 2005 20:21:24 - 1.1 +++ gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java 12 Aug 2005 18:04:55 - @@ -49,7 +49,7 @@ import gnu.classpath.jdwp.exception.NotI import gnu.classpath.jdwp.id.IdManager; import gnu.classpath.jdwp.id.ObjectId; import gnu.classpath.jdwp.id.ThreadId; -import gnu.classpath.jdwp.util.Frame; +import gnu.classpath.jdwp.vm.Frame; import gnu.classpath.jdwp.util.JdwpString; import gnu.classpath.jdwp.util.Location; --- /dev/null 2005-06-09 16:29:11.371620296 -0400 +++ gnu/classpath/jdwp/vm/Frame.java 2005-08-12 13:59:21.0 -0400 @@ -0,0 +1,88 @@ +/* Frame.java -- Class forming an interface to deal with Frames in the VM + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath.jdwp.vm; + +import gnu.classpath.jdwp.util.Location; + +/** + * Class forming an interface to deal with Frames in the VM. + * + * @author aluchko + */ + +public interface Frame +{ + + /** + * Gets the current location of the frame. + */ + public Location getLoc(); + + /** + * Sets the location of this frame. + */ + public void setLoc(Location loc); + + /** + * Returns the value of the variable in the given slot. + * + * @param slot the slot containing the varialbe + */ + public Object getValue(int slot); + + /** + * Get the object this Frame resides in. + */ + public Object getObject(); + + /** + * Assigns the given variable to the given value. + * @param slot The slot which contains the variable + * @param value The value to assign the variable to + */ +
Re: [cp-patches] [RFA/JDWP] Frame.java
On Fri, 2005-08-12 at 14:11 -0400, Aaron Luchko wrote: This class defines an interface to the VM to represent a Frame (as well as changes the imports for the couple command sets that use it) Ok I talked to Bryce and looked at Keiths email and think I have done this the correct way this time. Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * vm/reference/gnu/classpath/jdwp/Frame.java: Implemented reference implementation of interface to VM for JDWP frame management. * gnu/classpath/jdwp/processor/StackFrameCommandSet.java: updated import * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: updated import (executeFrames): changed getLoc() to getLocation() Index: gnu/classpath/jdwp/processor/StackFrameCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/StackFrameCommandSet.java,v retrieving revision 1.1 diff -u -p -r1.1 StackFrameCommandSet.java --- gnu/classpath/jdwp/processor/StackFrameCommandSet.java 9 Aug 2005 19:59:36 - 1.1 +++ gnu/classpath/jdwp/processor/StackFrameCommandSet.java 12 Aug 2005 18:39:36 - @@ -39,6 +39,7 @@ exception statement from your version. * package gnu.classpath.jdwp.processor; +import gnu.classpath.jdwp.Frame; import gnu.classpath.jdwp.IVirtualMachine; import gnu.classpath.jdwp.Jdwp; import gnu.classpath.jdwp.JdwpConstants; @@ -47,7 +48,6 @@ import gnu.classpath.jdwp.exception.Jdwp import gnu.classpath.jdwp.exception.NotImplementedException; import gnu.classpath.jdwp.id.IdManager; import gnu.classpath.jdwp.id.ObjectId; -import gnu.classpath.jdwp.util.Frame; import gnu.classpath.jdwp.util.Value; import java.io.DataOutputStream; Index: gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java,v retrieving revision 1.1 diff -u -p -r1.1 ThreadReferenceCommandSet.java --- gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java 10 Aug 2005 20:21:24 - 1.1 +++ gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java 12 Aug 2005 18:39:36 - @@ -39,6 +39,7 @@ exception statement from your version. * package gnu.classpath.jdwp.processor; +import gnu.classpath.jdwp.Frame; import gnu.classpath.jdwp.IVirtualMachine; import gnu.classpath.jdwp.Jdwp; import gnu.classpath.jdwp.JdwpConstants; @@ -49,7 +50,6 @@ import gnu.classpath.jdwp.exception.NotI import gnu.classpath.jdwp.id.IdManager; import gnu.classpath.jdwp.id.ObjectId; import gnu.classpath.jdwp.id.ThreadId; -import gnu.classpath.jdwp.util.Frame; import gnu.classpath.jdwp.util.JdwpString; import gnu.classpath.jdwp.util.Location; @@ -189,7 +189,7 @@ public class ThreadReferenceCommandSet i { Frame frame = (Frame) frames.get(i); os.writeLong(frame.getId()); -Location loc = frame.getLoc(); +Location loc = frame.getLocation(); loc.write(os); } } --- /dev/null 2005-06-09 16:29:11.371620296 -0400 +++ vm/reference/gnu/classpath/jdwp/Frame.java 2005-08-12 14:36:44.0 -0400 @@ -0,0 +1,100 @@ +/* Frame.java -- Reference implementation of VM hooks for JDWP Frame access. + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this
Re: [cp-patches] [RFA/JDWP] Frame.java
Bryce == Bryce McKinlay [EMAIL PROTECTED] writes: Bryce 2. You may want to call the Frame class VMFrame, in order to be Bryceconsistent with other reference classes which are meant to be Bryceimplemented by the VM? In the first iteration this was an interface, in which case a non-VM* name seemed appropriate. But if this now has to be actually overridden by the VM, I agree that we should have a VM name, as that is more classpath-y. (A little redundant in this case, as we have the package name, but still.) Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] [RFA/JDWP] Frame.java
Aaron == Aaron Luchko [EMAIL PROTECTED] writes: Aaron + * @param slot the slot containing the varialbe Typo in 'variable'. Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI] fix build
I forgot that although gnu/classpath/jdwp is omitted from the build vm/reference/gnu/classpath isn't and since I referenced stuff in gnu/classpath/jdwp from VMFrame the build broke :( I added vm/reference/standard.omit to omit all the vm/reference/gnu/classpath/jdwp classes until everything is building. Aaron ChangeLog * vm/reference/standard.omit: New file to omit jdwp reference classes from build. ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI/JDWP] EventRequestCommandSet
I submitted the EventRequest CommandSet to HEAD http://java.sun.com/j2se/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html#JDWP_EventRequest The api and locations were just kind of a guess based on IdManager, so there may be changes later on. thanks, Aaron ChangeLog * gnu/classpath/jdwp/processor/EventRequestCommandSet.java: Implemented the EventRequest CommandSet. --- /dev/null 2005-06-09 16:29:11.371620296 -0400 +++ gnu/classpath/jdwp/processor/EventRequestCommandSet.java 2005-08-12 17:09:34.0 -0400 @@ -0,0 +1,208 @@ +/* EventRequestCommandSet.java -- class to implement the EventRequest Command + Set + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath.jdwp.processor; + +import gnu.classpath.jdwp.Jdwp; +import gnu.classpath.jdwp.JdwpConstants; +import gnu.classpath.jdwp.event.EventManager; +import gnu.classpath.jdwp.event.EventRequest; +import gnu.classpath.jdwp.event.filters.ClassExcludeFilter; +import gnu.classpath.jdwp.event.filters.ClassMatchFilter; +import gnu.classpath.jdwp.event.filters.ClassOnlyFilter; +import gnu.classpath.jdwp.event.filters.ConditionalFilter; +import gnu.classpath.jdwp.event.filters.CountFilter; +import gnu.classpath.jdwp.event.filters.ExceptionOnlyFilter; +import gnu.classpath.jdwp.event.filters.FieldOnlyFilter; +import gnu.classpath.jdwp.event.filters.IEventFilter; +import gnu.classpath.jdwp.event.filters.InstanceOnlyFilter; +import gnu.classpath.jdwp.event.filters.LocationOnlyFilter; +import gnu.classpath.jdwp.event.filters.StepFilter; +import gnu.classpath.jdwp.event.filters.ThreadFilter; +import gnu.classpath.jdwp.exception.JdwpException; +import gnu.classpath.jdwp.exception.JdwpInternalErrorException; +import gnu.classpath.jdwp.exception.NotImplementedException; +import gnu.classpath.jdwp.id.IdManager; +import gnu.classpath.jdwp.id.ObjectId; +import gnu.classpath.jdwp.id.ReferenceTypeId; +import gnu.classpath.jdwp.id.ThreadId; +import gnu.classpath.jdwp.util.JdwpString; +import gnu.classpath.jdwp.util.Location; + +import java.io.DataOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Iterator; + +/** + * A class representing the EventRequest Command Set. + * + * @author Aaron Luchko [EMAIL PROTECTED] + */ +public class EventRequestCommandSet implements CommandSet +{ + // Manages all the different ids that are assigned by jdwp + private final IdManager idMan = Jdwp.getIdManager(); + + // The Event Manager + private final EventManager evMan = Jdwp.getDefault().getEventManager(); + + public boolean runCommand(ByteBuffer bb, DataOutputStream os, byte command) + throws JdwpException + { +try + { +switch (command) + { + case JdwpConstants.CommandSet.EventRequest.SET: +executeSet(bb, os); +break; + case JdwpConstants.CommandSet.EventRequest.CLEAR: +executeClear(bb, os); +break; + case JdwpConstants.CommandSet.EventRequest.CLEAR_ALL_BREAKPOINTS: +executeClearAllBreakpoints(bb, os); +break; + default: +throw new NotImplementedException(Command + command + + not found in EventRequest Reference Command Set.); + } + } +catch (IOException ex) + { +
Re: [cp-patches] [RFC/JDWP] ID management
Keith Seitz wrote: Any better? Keith ChangeLog 2005-08-10 Keith Seitz [EMAIL PROTECTED] * vm/reference/gnu/classpath/jdwp/VMIdManager.java: New file with example implementation of ID-management for JDWP back-end. * gnu/classpath/jdwp/id/JdwpIdFactory.java: Removed. Now part of VMIdManager. Keith, this is fine. By the way, you don't need to get approval for every JDWP patch that you submit. I'm certainly happy to look at any RFCs, but you are really the owner of this code and its your call whether something can go in. In most cases its better to get something in early, and change it later, than to hold up other work because the code is not in - at least while the code is still in heavy development. Thanks! Bryce ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI/JDWP] New constructor for JdwpInternalErrorException
Since some errors don't generate an exception I added a constructor to JdwpInternalErrorException and used it in Value. Aaron ChangeLog 2005-08-12 aluchko [EMAIL PROTECTED] * gnu/classpath/jdwp/exception/JdwpInternalErrorException.java (JdwpInternalErrorException): Added new constructor. * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Changed InvalidFieldException to JdwpInternalErrorException. (writeUntaggedValue): Likewise. (writeTaggedValue): Likewise. (writeValue): Likewise. Index: gnu/classpath/jdwp/exception/JdwpInternalErrorException.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java,v retrieving revision 1.2 diff -u -p -r1.2 JdwpInternalErrorException.java --- gnu/classpath/jdwp/exception/JdwpInternalErrorException.java 2 Jul 2005 20:32:10 - 1.2 +++ gnu/classpath/jdwp/exception/JdwpInternalErrorException.java 12 Aug 2005 22:32:26 - @@ -50,8 +50,13 @@ import gnu.classpath.jdwp.JdwpConstants; public class JdwpInternalErrorException extends JdwpException { - public JdwpInternalErrorException (Throwable cause) + public JdwpInternalErrorException(Throwable cause) { -super (JdwpConstants.Error.INTERNAL, cause); +super(JdwpConstants.Error.INTERNAL, cause); + } + + public JdwpInternalErrorException(String msg) + { +super(JdwpConstants.Error.INTERNAL, msg); } } Index: gnu/classpath/jdwp/util/Value.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/util/Value.java,v retrieving revision 1.1 diff -u -p -r1.1 Value.java --- gnu/classpath/jdwp/util/Value.java 27 Jul 2005 16:01:44 - 1.1 +++ gnu/classpath/jdwp/util/Value.java 12 Aug 2005 22:32:26 - @@ -43,6 +43,7 @@ import gnu.classpath.jdwp.JdwpConstants; import gnu.classpath.jdwp.exception.InvalidFieldException; import gnu.classpath.jdwp.exception.JdwpException; import gnu.classpath.jdwp.exception.JdwpInternalErrorException; +import gnu.classpath.jdwp.exception.NotImplementedException; import gnu.classpath.jdwp.id.ObjectId; import java.io.DataOutputStream; @@ -65,7 +66,7 @@ public class Value * @throws InvalidFieldException */ public static void writeUntaggedValue(DataOutputStream os, Object obj) -throws InvalidFieldException, IOException +throws JdwpException, IOException { writeValue(os, obj, false); } @@ -79,7 +80,7 @@ public class Value * @throws InvalidFieldException */ public static void writeTaggedValue(DataOutputStream os, Object obj) -throws InvalidFieldException, IOException +throws JdwpException, IOException { writeValue(os, obj, true); } @@ -96,7 +97,7 @@ public class Value */ private static void writeValue(DataOutputStream os, Object obj, boolean tagged) -throws IOException, InvalidFieldException +throws IOException, JdwpException { Class clazz = obj.getClass(); if (clazz.isPrimitive()) @@ -156,7 +157,8 @@ public class Value } else { // This shouldn't be possible -throw new InvalidFieldException(Field has invalid primitive!); +throw new JdwpInternalErrorException( + Field has invalid primitive!); } } else @@ -235,7 +237,8 @@ public class Value return new byte[0]; else { // This shouldn't be possible -throw new InvalidFieldException(Field has invalid primitive!); +throw new JdwpInternalErrorException( + Field has invalid primitive!); } } else @@ -291,7 +294,8 @@ public class Value ObjectId oid = Jdwp.getIdManager().readId(bb); return oid.getObject(); default: -throw new JdwpInternalErrorException(Could not find TAG: + tag); +throw new NotImplementedException(Tag + tag + + is not implemented.); } } } ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI/JDWP] Location
This is a simple class to handle JDWP locations. It may make sense later on to add some more logic to it or move it around depending on how events are done among other things but this should work for now. (I also fixed up the ChangeLog entry I mucked up last time:) ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/util/Location.java: New class to handle JDWP locations. --- /dev/null 1 Jan 1970 00:00:00 - +++ gnu/classpath/jdwp/util/Location.java 1 Jan 1970 00:00:00 - @@ -0,0 +1,116 @@ +/* Location.java -- class to read/write JDWP locations + Copyright (C) 2005 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath.jdwp.util; + +import gnu.classpath.jdwp.Jdwp; +import gnu.classpath.jdwp.exception.JdwpException; +import gnu.classpath.jdwp.id.ClassReferenceTypeId; +import gnu.classpath.jdwp.id.ObjectId; + +import java.io.DataOutputStream; +import java.io.IOException; +import java.lang.reflect.Method; +import java.nio.ByteBuffer; + +/** + * A class to read/write JDWP locations. + * + * @author Aaron Luchko [EMAIL PROTECTED] + */ +public class Location +{ + + private ClassReferenceTypeId crti; + + private int index; + + private byte tag; + + private ObjectId mid; + + /** + * Create a location with the given parameters. + * + * @param tag the type of construct the location is in + * @param clazz the class the location is in + * @param meth the Method + * @param index location in the method + * @throws JdwpException + */ + public Location(byte tag, Class clazz, Method meth, int index) + throws JdwpException + { +this.tag = tag; +this.crti = + (ClassReferenceTypeId) Jdwp.getIdManager().getReferenceTypeId(clazz); +this.mid = Jdwp.getIdManager().getId(meth); +this.index = index; + } + + /** + * Read a location from the given bytebuffer, consists of a TAG (byte), + * followed by a ReferenceTypeId, a MethodId and an index (int). + * + * @param bb this holds the location + * @throws IOException + * @throws JdwpException + */ + public Location(ByteBuffer bb) throws IOException, JdwpException + { +this.tag = bb.get(); +this.crti = + (ClassReferenceTypeId) Jdwp.getIdManager().readReferenceTypeId(bb); +this.mid = Jdwp.getIdManager().readId(bb); +this.index = bb.getInt(); + } + + /** + * Write the given location to an output stream. + * + * @param os stream to write to + * @throws IOException + */ + public void write(DataOutputStream os) throws IOException + { +os.writeByte(tag); +crti.write(os); +mid.write(os); +os.writeInt(index); + } +} ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] GTK button and label peer preferred size fixes
Hi, This patch fixes GtkButtonPeer and GtkLabelPeer's preferred size methods. We were retrieving incorrect natural sizes for these widgets causing wrong layouts. I committed this to mainline. Tom 2005-08-12 Thomas Fitzsimmons [EMAIL PROTECTED] * gnu/java/awt/peer/gtk/GtkButtonPeer.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (gtkWidgetGetPreferredDimensions): New method. * gnu/java/awt/peer/gtk/GtkLabelPeer.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (gtkWidgetGetPreferredDimensions): New method. * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerate. * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Likewise. Index: gnu/java/awt/peer/gtk/GtkButtonPeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java,v retrieving revision 1.37 diff -u -u -r1.37 GtkButtonPeer.java --- gnu/java/awt/peer/gtk/GtkButtonPeer.java 2 Jul 2005 20:32:12 - 1.37 +++ gnu/java/awt/peer/gtk/GtkButtonPeer.java 12 Aug 2005 22:47:21 - @@ -46,6 +46,9 @@ import java.awt.event.MouseEvent; import java.awt.peer.ButtonPeer; +// A composite widget. GtkButtons have transparent backgrounds. An +// AWT Button is opaque. To compensate, a GtkButtonPeer is a +// GtkButton packed in a GtkEventBox. public class GtkButtonPeer extends GtkComponentPeer implements ButtonPeer { @@ -60,6 +63,11 @@ native void gtkActivate (); native void gtkWidgetRequestFocus (); native void setNativeBounds (int x, int y, int width, int height); + + // Because this is a composite widget, we need to retrieve the + // GtkButton's preferred dimensions, not the enclosing + // GtkEventBox's. + native void gtkWidgetGetPreferredDimensions (int[] dim); public GtkButtonPeer (Button b) { Index: gnu/java/awt/peer/gtk/GtkLabelPeer.java === RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java,v retrieving revision 1.23 diff -u -u -r1.23 GtkLabelPeer.java --- gnu/java/awt/peer/gtk/GtkLabelPeer.java 2 Jul 2005 20:32:12 - 1.23 +++ gnu/java/awt/peer/gtk/GtkLabelPeer.java 12 Aug 2005 22:47:21 - @@ -41,6 +41,9 @@ import java.awt.Label; import java.awt.peer.LabelPeer; +// A composite widget. GtkLabels have transparent backgrounds. An +// AWT Label is opaque. To compensate, a GtkLabelPeer is a GtkLabel +// packed in a GtkEventBox. public class GtkLabelPeer extends GtkComponentPeer implements LabelPeer { @@ -50,6 +53,10 @@ public native void setText(String text); native void setNativeBounds (int x, int y, int width, int height); + + // Because this is a composite widget, we need to retrieve the + // GtkLabel's preferred dimensions, not the enclosing GtkEventBox's. + native void gtkWidgetGetPreferredDimensions (int[] dim); void create () { Index: include/gnu_java_awt_peer_gtk_GtkButtonPeer.h === RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h,v retrieving revision 1.12 diff -u -u -r1.12 gnu_java_awt_peer_gtk_GtkButtonPeer.h --- include/gnu_java_awt_peer_gtk_GtkButtonPeer.h 22 Oct 2004 10:11:11 - 1.12 +++ include/gnu_java_awt_peer_gtk_GtkButtonPeer.h 12 Aug 2005 22:47:23 - @@ -19,6 +19,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkActivate (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkWidgetRequestFocus (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds (JNIEnv *env, jobject, jint, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkWidgetGetPreferredDimensions (JNIEnv *env, jobject, jintArray); #ifdef __cplusplus } Index: include/gnu_java_awt_peer_gtk_GtkLabelPeer.h === RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h,v retrieving revision 1.8 diff -u -u -r1.8 gnu_java_awt_peer_gtk_GtkLabelPeer.h --- include/gnu_java_awt_peer_gtk_GtkLabelPeer.h 22 Oct 2004 10:11:11 - 1.8 +++ include/gnu_java_awt_peer_gtk_GtkLabelPeer.h 12 Aug 2005 22:47:23 - @@ -15,6 +15,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkLabelPeer_nativeSetAlignment (JNIEnv *env, jobject, jfloat); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText (JNIEnv *env, jobject, jstring); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeBounds (JNIEnv *env, jobject, jint, jint, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkLabelPeer_gtkWidgetGetPreferredDimensions (JNIEnv *env, jobject, jintArray); #ifdef __cplusplus } Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
[cp-patches] [FYI/JDWP] Line and Variable Table
I put in these two classes that wrap around values for Line and Variable Tables. It may make sense in the future to move them into vm/reference and have them figure out how to get the information for the tables themselves rather then through IVirtualMachine but for now I think this is the best approach. thanks, Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/util/VariableTable.java: A class representing a Variable Table for a method. * gnu/classpath/jdwp/util/LineTable.java: A class representing a Line Table for a method. ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] RFC: proposed additions to MenuBarPeer and MenuPeer interfaces
On Sat, 2005-08-13 at 01:57 +0200, Mark Wielaard wrote: On Fri, 2005-08-12 at 19:09 -0400, Thomas Fitzsimmons wrote: I propose we add them to our peer interfaces as well. What do people think of this idea? 2005-08-12 Thomas Fitzsimmons [EMAIL PROTECTED] * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (addMenu(Menu)): New method. * gnu/java/awt/peer/gtk/GtkMenuPeer.java (addSeparator): Likewise. * java/awt/peer/MenuBarPeer.java (addMenu): New method declaration. * java/awt/peer/MenuPeer.java (addSeparator): New method declaration. Yep, these seem to be both accidentially ommitted. The big book (JCL sec ed. vol 2) describes both these methods (briefly). The first is documented to be called from MenuBar.add() (and have a non-null parameter) and the second is documented to be called from Menu.addseparator(). OK, patch committed. Thanks for looking into this. Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI/JDWP] Fix ObjectReferenceCommandSet
Fixed ObjectReferenceCommandSet to use MethodResult instead of MethodInvoker. Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java (executeInvokeMethod): Change MethodInvoker to MethodResult. Index: gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java,v retrieving revision 1.2 diff -u -p -r1.2 ObjectReferenceCommandSet.java --- gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java 27 Jul 2005 16:01:43 - 1.2 +++ gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java 13 Aug 2005 00:57:00 - @@ -1,4 +1,4 @@ -/* ObjectReferenceCommandSet.java -- lass to implement the ObjectReference +/* ObjectReferenceCommandSet.java -- class to implement the ObjectReference Command Set Copyright (C) 2005 Free Software Foundation @@ -50,7 +50,7 @@ import gnu.classpath.jdwp.id.IdManager; import gnu.classpath.jdwp.id.ObjectId; import gnu.classpath.jdwp.id.ReferenceTypeId; import gnu.classpath.jdwp.util.Value; -import gnu.classpath.jdwp.util.MethodInvoker; +import gnu.classpath.jdwp.util.MethodResult; import java.io.DataOutputStream; import java.io.IOException; @@ -232,14 +232,14 @@ public class ObjectReferenceCommandSet i nonVirtual = true; else nonVirtual = false; -MethodInvoker vmi = new MethodInvoker(vm); -vmi.executeMethod(obj, thread, clazz, method, values, nonVirtual); -Object value = vmi.getReturnedValue(); -ObjectId exceptionId = vmi.getExceptionId(); +MethodResult mr = vm.executeMethod(obj, thread, clazz, method, values, nonVirtual); +Object value = mr.getReturnedValue(); +Exception exception = mr.getThrownException(); +ObjectId eId = idMan.getId(exception); Value.writeTaggedValue(os, value); -exceptionId.writeTagged(os); +eId.writeTagged(os); } private void executeDisableCollection(ByteBuffer bb, DataOutputStream os) ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] [RFA/JDWP] Frame.java
On Fri, 2005-08-12 at 13:28 -0600, Tom Tromey wrote: Aaron == Aaron Luchko [EMAIL PROTECTED] writes: Aaron + * @param slot the slot containing the varialbe Typo in 'variable'. Oops I really need to get that eclipse spell checker working :) That should be all for this big glut of patches I have lying around. thanks, Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * vm/reference/gnu/classpath/jdwp/VMFrame.java(getValue): Fix typo in comment. Index: VMFrame.java === RCS file: /cvsroot/classpath/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java,v retrieving revision 1.1 diff -u -r1.1 VMFrame.java --- VMFrame.java12 Aug 2005 19:25:50 - 1.1 +++ VMFrame.java13 Aug 2005 01:09:13 - @@ -69,7 +69,7 @@ /** * Returns the value of the variable in the given slot. * - * @param slot the slot containing the varialbe + * @param slot the slot containing the variable */ public native Object getValue(int slot); ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [FYI/JDWP] Minor fixed to VirtualMachineCommandSet
Fixed the exception thrown when an invalid command is given and used root.enumerate(allThreads) instead of root.enumerate(allThreads, true) since they both call the same method. Aaron ChangeLog 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java (executeAllThreads): Use enumerate(Thread[]) instead of enumerate(Thread[], true). (runCommand): Throw NotImplementedException when command is not found. Index: gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java === RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java,v retrieving revision 1.1 diff -u -r1.1 gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java --- gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java 14 Jul 2005 17:23:40 - 1.1 +++ gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java 13 Aug 2005 01:01:24 - @@ -144,9 +144,9 @@ case JdwpConstants.CommandSet.VirtualMachine.ALL_CLASSES_WITH_GENERIC: executeAllClassesWithGeneric(bb, os); break; - default: -break; +throw new NotImplementedException(Command + command + + not found in VirtualMachine Command Set.); } } catch (IOException ex) @@ -246,7 +246,7 @@ int numThreads = root.activeCount(); Thread allThreads[] = new Thread[numThreads]; -root.enumerate(allThreads, true); +root.enumerate(allThreads); // We need to loop through for the true count since some threads may have // been destroyed since we got ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] [RFA/JDWP] Frame.java
On Fri, 2005-08-12 at 21:13 -0400, Aaron Luchko wrote: On Fri, 2005-08-12 at 13:28 -0600, Tom Tromey wrote: Typo in 'variable'. Oops I really need to get that eclipse spell checker working :) If you were using emacs you could turn on flyspell-prog-mode :) Cheers, Mark signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: Help needed to persuade apaches about the Classpath license.
Hi, On Fri, 2005-08-12 at 00:06 +0200, Leo Simons wrote: Third parties probably should not have a lot of problems with replacing the CORBA implementation that geronimo uses with something else That is probably the way forward then for now. Just getting geronimo building and running on one of the free stacks is a good thing anyway. And since we once had jboss (although not a current version) and now jonas working this should in principle not be that hard to get going. Mark wrote: In theory there should be no persuading needed since the Apache hackers have already said that they would like to use GNU Classpath as core library for the Harmony initiative and that the license is in principle not a problem for adoption. Just for the record, that is not an official ASF viewpoint. That is just because there is no official ASF viewpoint at this time it seems. But it is what the harmony hackers have expressed as their view. That said in practise it seems persuading is needed and is not simple. As Dalibor pointed out a while ago [1] the Apache group has a strong tradition of debating and seeking consensus through various committees. Dalibor exaggerated. I thought it was funny :-) No decisions seem to be made unless at least three committees have agreed on a common position/view. Just for the record I thought it funny too. And as you say it is painfully true at times also for FSF/GNU projects. Now, that is simply not the case. In the case of legal matters, no big decision is made without consulting legal counsel, and then in the end the ASF board and the ASF board alone makes a decision based on that legal counsel (and advice and input from many other parties, most importantly our Vice President of Legal Affairs, Cliff Schmidt). Cliff (and David on the FSF side) are doing an amazing job. I am probably just a bit frustrated that we as harmony have to deal with the ASF politics while when we started we wanted a project that was above all parties. Just hackers producing results. I jumped in with that in mind and got a bit of a cold shower when things turned out not to be mainly about combining the amzing amount of code and results of the existing projects but more about ASF legalize. It will probably turn out fine in the end, but boy does it take a long time to reach consensus that cooperation is a good thing and that we shouldn't be blinded by any (perceived) legal issues and just move forward for now. From my experience, the legal processes at the FSF aren't more agile than the ones at the ASF at all. It seems legal processes aren't agile anywhere. :) Now there I can agree. Has nothing to do with committees or consensus. Has to do with lawyers and the law. At times I am afraid the laywers and the law are used as stop energy by free software communities that need an excuse to not work more closely together. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Help needed to persuade apaches about the Classpath license.
Per Bothner wrote: Leo Simons wrote: At the moment the policy with regard to GPL+Classpath Exception @ the ASF is that it is not approved for use within ASF works, and policy remains like that until it changes. (Which is still being worked on.) Questions (I don't really know the answers): (1) Consider application A that depends on library L, with these two alternative scenarios: (a) L uses GPL+Exception; or (b) L uses Sun's J2SE license. (Or one of the J2SE licenses, since Sun seems to use multiple licenses.) Which of these imposes more restrictions on A? b. (2) If the above answer is (b), is there any justification for Apache to allow (b) but not (a)? Hardly. But you have to note that while the Apache Software License v2 *allows* using both a and b, the Apache Software Foundation currently distributes neither, in theory. In practice, there are many apparently BCL licensed jar files strewn around in various tarballs available from Apache.org (tomcat 4.1.27, for example includes certain com.sun.* specific classes in jndi.jar). That's extra work for distributors who don't want to pass on the restrictive terms of BCL to their customers/developers/users. That *is* something some members of the ASF would like to see fixed, even though no official policy seems to exist yet, afaict from various posts on the ASF's legal-discuss mailing list. In practice, that has led to purging BCL licensed JAR files from CVS/Subversion repositories at Apache a while ago. It also led to efforts within Geronimo to rewrite the necessary bits and pieces of the BCL-licensed jars. It also led to Apache deciding to do a free runtime effort, while they are at it ;) As for ASF coming to terms with weak copyleft code, like GPL+Exception, LGPL, or CDDL, I think there is a strong indication for that on legal-discuss, and various mailing lists of projects that are iterested in using weak copyleft licensed code licensed under LGPL and CDDL. Once these licenses are approved by the ASF board, I don't think it will be too hard to convince people that an even more permissive copyleft license (GPL+Exception) is OK. A copyleft requirement is trivially fullfilled in the Java case by putting the source code tarball right in the jar file. Then it takes more effort for redistributors to not be compliant with a copyleft license when redistributing the jar file than to be compliant with the copyleft license. cheers, dalibor topic ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Pacific/Easter TimeZone.java
Tom == Tom Tromey [EMAIL PROTECTED] Bastiaan Unknown link Link America/Buenos_Aires AGT Bastiaan removing this line from tzabbrevs and the timezone.pl works fine. Tom If you want to see why this happens, we'd be grateful. In the file tzabbrevs the line Link America/Buenos_Aires AGT should be changed to Link America/Argentina/Buenos_Aires AGT Like I said only some of the dates and times DST starts and ends in certain zones, differ between the old and the newly generated TimeZone.java (like Pacific/Easter). It is very probable that a faulty tzdata tarball was used to generate the old TimeZone.java. However, I seem to have found a bug in timezone.pl as well. At least The America/Santiago, Pacific/Easter and some EU timezones are wrong IMHO. They end their DST one hour too early in the newly generated TimeZone.java. The DST Rule times are defined with respect to UTC in the tzdata tarball. At least that's how I understand it. Yet they are defined with respect to wall-time in TimeZone.java. So if in tzdata the DST starts and ends at the same UTC time, they should start and end one hour different from each other in TimeZone.java. (In the Netherlands for instance DST changes at 1:00 UTC, which means that the clock goes 2:00-3:00 at the beginning of DST and 3:00-2:00 at the end. This is clearly not the case in the new TimeZone.java, where it goes from 2:00-3:00 at the beginning of DST, and goes from 2:00-1:00 at the end) I believe this actually goes for all DST end-times. So IMHO there are two things wrong with the old TimeZone.java. First of all the wrong tzdata was used to generate it. Second of all, timezone.pl ends DST one hour too early. However, I do not know perl, so I can't fix the bug. Kind regards, Bastiaan Huisman ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Pacific/Easter TimeZone.java
I have looked at it a bit longer, and have created the following patch for timezones.pl 46c46 # in milliseconds since midnight in local standard time --- # in milliseconds since midnight in local wall time 59,62c59,61 $millis += $rawoffset; } elsif ($6 =~ /w/) { print STDERR $timezonename not in standard time\n if $stdoffset; $millis -= $stdoffset; --- $millis += $rawoffset+$stdoffset; } elsif ($6 =~ /s/) { $millis += $stdoffset; 298c297 my $startrule = parseRule($rawoffset, $savings, --- my $startrule = parseRule($rawoffset, 0, The routine parseTime was parsing time with respect to standard time, while the default input for SimpleTimeZone is in wall time. I have changed this. There probably is a different way to patch this, but I guess this is the fastest. $stdoffset=$savings is the offset with respect to standard time just before the end of DST. $stdoffset=0 is the offset with respect to standard time just before the start of DST. When the suffixes g, u or z are present, to get wall time, the total offset with respect to UTC, $rawoffset+$stdoffset, must be used. When the suffix s is present, to get wall time, the offset with respect to standard time, $stdoffset, must be used. When no suffix is present, wall time is assumed. I am no expert on this, so please correct me if I'm wrong. I have tested this on EU and America/Santiago and Pacific/Easter. Kind regards, Bastiaan Huisman ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
cleaning up the AWT
Hi, Now that we have Qt peers, we need to be more diligent about not having gtk-peer specific code in java.awt. Currently, there are two main places where such code has crept in: the native event queue interfacing in EventQueue, and setBoundsCallback in Window. My plan is to re-work these two sections of code to remove these references. Since these are critical areas of java.awt, there may be a brief period of instability. I'll make sure that Swing continues to work with every patch I commit, so as not to disrupt its development. Tom ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Persuading the apaches
Hi, Could someone clarify the difference between GPL+Exception and ASF? I'm interested both in the general differences but also specifically: - Why do you guys prefer GPL+Exception over ASLv2 ? - Why do the Apache guys prefer ASLv2 over GPL+Exception ? (please tell me that there is some tangible difference here, and not just some NIH crap :D) Also, why did GNU go with GPL+Exception this time and not LGPL? Thanks. Regards, martin ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Persuading the apaches
Martin Olsson wrote: Could someone clarify the difference between GPL+Exception and ASF? I'm interested both in the general differences but also specifically: - Why do you guys prefer GPL+Exception over ASLv2 ? Just to clarify: it's not necessarily us guys that prefer GPL+ex over Apache license. Rather (at least in my case) I need to be able to contribute to Classpath, and the only way to do that is to assign copyright assignment to FSF. The FSF owns the copyright and only they have the power to change it. So perhaps you should be asking why does FSF prefer GPL+exception, which may have a more obvious answer. Personally, I'd happily agree to re-license Classpath under a BSD style license or something but that is probably highly unlikely, because I doubt *all* Classpath developers *and* the FSF would agree to that. Cheers, -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Bug database transition and fun with bugs
Hi, On Thu, 2005-08-11 at 22:27 +0100, Andrew John Hughes wrote: Currently we only have the following modules: awt, classpath, cp-tools, gjdoc, inetlib and swing. I had suggested about 20 modules but it seemed that we don't have enough bugs for that yet. But if you think another category would be helpful AND you want to act as Initial owner of that module please say so and it will be added. (Initial owner just means that the bug is automatically assigned to someone who will act as the first person to evaluate the bug.) The most obvious suggestion that springs to mind is a separate projects for the generics branch (particularly because of the different branch). Although I'm not sure this is that worthwhile at present -- one for the future if the branch remains for a while, I guess. My idea was to wait and see if we get enough bug reports on any subject to warrant a new category. A bug database with tens of components most of which are empty isn't so helpful. It looks like currently we have just one explicit generics bug (http://gcc.gnu.org/PR22921). As comparision Swing and AWT have 124 and 74 bugs open against them. But if someone feels that we should open a new component and the bugs will come then please yell (and provide a list of bug numbers that should be in it and the willingness to be the initial owner for new bugs in that component). Note that you can also create a meta-bug that depends on all relevant bugs if you are working on a specific area for a while. See for example http://gcc.gnu.org/PR13603 the [meta-bug] Java security model tracking PR. I currently need to explicitly set some bits to make people be able to edit all fields of a bug. Everybody can open new bugs and add comments to a bug. If you want to be able to confirm, edit or close a bug report please send me the email address as you registered it with bugzilla and I will add you to the admin group. I'd be grateful if you do so with my account under this address ( [EMAIL PROTECTED] ) Done. Please use your new powers wisely. Cheers, Mark signature.asc Description: This is a digitally signed message part ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Default Policy
Hi, On Mon, 2005-08-08 at 21:14 -0700, Casey Marshall wrote: Any opposition to changing the default security policy to gnu.java.security.PolicyFile? The current default policy is all- permissive to all code, which is a pretty bad policy (all code will work without security exceptions, but if something doesn't work because Classpath isn't using privileged actions appropriately, that should be considered a bug; I would rather err on the side of being too strict). Agreed that it would be good to see how well we are doing. Also JNode seems to always run with a security manager in place since Ewout often reports any issues we were missing. Now would be a good time to experiment whether or not this works since we are still some weeks from a next snapshot release (somewhere in the first/second week of September I hope). If it doesn't work out at all we can always disable it again by then. How many runtimes do support our default VMAccessController? If yes, Classpath should also come with a sensible default java.policy file. Any thoughts about what it should contain? I suppose it should be similar to the default policy that comes with most other Sun JREs, but I don't know if we can just use a copy of that one. We cannot just copy such things. Both from a legal and from a practical standpoint. Since our restricted core classes are obviously different so the security properties package.access and package.definition should be set to the appropriate gnu.classpath [gnu|java] entries I guess. According to my security book the default policy should mimic the old 1.1 access mechanisms for untrusted applets as close as possible. Which seems to be minimal SocketPermission for listening on the localhost interface and getting, but not setting PropertyPermission for file.separator and friends plus some java.* properties (probably the once we list under our java.lang.System.getProperties() documentation). And nothing much else. Which seems pretty restricted so programs cannot do much at all. Are you sure other implementations actually activate this default policy by default? I must get myself the new second edition Platform Security book. It might describe the default policy better. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: [cp-patches] Re: Help needed to persuade apaches about the Classpath license: Maven does not deal with CORBA, just uses OpenEJB.
On Aug 11, 2005, at 3:44 PM, Dalibor Topic wrote: Meskauskas Audrius wrote: Building Geronimo and analyzing its source code revealed that this large application does not use CORBA directly at all. All CORBA uses, including references to the proprietary com.sun.corba package, come from the OpenEJB project (http://openejb.codehaus.org). It seems to be a completely independent project. If I am not mistaken, to replace Sun CORBA completely by Trifork donation, Geronimo should keep and maintain they own version of OpenEJB. No - we work closely w/ OpenEJB and will just work with them accordingly. I will try to talk with OpenEJB, but from the downloaded source code I see that OpenEJB needs org.omg.PortableInterceptor, the last missing CORBA package. Completing the interceptor is the first thing I should do. Thanks for looking into it, Audrius. I've played a bit today with building (and *not* running the tests at all) geronimo 1.0 M4 on kaffe's CVS head ... it doesn't fully build yet :( 20-30 out of 70 build steps complete, and then some bug in kaffe's native zip code strikes. Using Classpath's zip gave me some sort of a busy hang (much earlier in the build process). :( There are a few necessary steps to repeat the build, and a few patches to go into geronimo and classpath. I'll clean my resulting patches (RMIClassLoader javax.imageio missing methods, as well as removal of sun-specific code from geronimo) up and send them to geronimo check my classpath fixes in here. I hope that I'll get that zip bug squished eventually, but don't count on it just yet :) Our intention is to get rid of the sun-specific code ASAP. We don't really want it there, but wanted to get over the all tests pass hump. We're focused on getting it out of there for M5. The good news are that maven 1.0.2 works fine on latest GNU Classpath/Kaffe, updating plugins works, download of plugins functions well, too, the jelly scripts function, and so on. what I did pretty much boils down to grab maven 1.0.2 grab geronimo1.0 m4 sources grab kaffe cvs head configure make install it. ln -s $kaffe/jre/lib/tools.jar $kaffe/lib/tools.jar for maven to detect tools.jar (even though there is nothing in there it can use, but forehead seems to want it, desperately, or it trows it arms desperately in the air and refuses to cooperate) set $java_home to wherever you installed kaffe use maven to run maven use maven to update all the plugins out there mkdir $kaffe/share/kaffe (useless empty directory, needed to convince ant 1.5.3 to cooperate with kaffe cvs head) cd into geronimo source maven --debug -Dmaven.test.skip=true build.log the build will break due to a few missing methods that I've got patches for, I am cleaning them up and documenting them. and later the build will break due to Sun-isms in Geronimo::System goal, fixes for which should be later tonight in the geronimo jira. cheers, dalibor topic -- Geir Magnusson Jr +1-203-665-6437 [EMAIL PROTECTED] ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: Persuading the apaches
Martin Olsson wrote: Hi, Could someone clarify the difference between GPL+Exception and ASF? GPL+Exception is a software license, the ASF is an organisation. :) I'm interested both in the general differences but also specifically: - Why do you guys prefer GPL+Exception over ASLv2 ? The former is GPL-compatible, meaning it can be used directly with GPLd software to create new works. The latter is not, due to a patent-retailiation clause, that's formulated in a way that adds restrictions to GPL. See [1] for details; it essentially boils down to a) the GPL requiring you to stop distribution when someone successfully obtains a court decision against you wrt software patents (i.e. they first have to drag you to court and win there with their claims), b) while the ASL2 revokes your right to use the patent-encumbered code as soon as you start a patent litigation (including using patent counterclaims to yourself in court), and c) the GPL not allowing further restrictions The whole ASL2 attampt to retaliate on patents is a bit weird, as the ASF does not have *any* patents it could possibly deny the license to use in retaliation against a patent attack, anyway. Since the ASF is championing the cause of patent-unencumbered protocols (see Sender-Id discussions), for example, it would be pretty weird if the ASF suddendly started to distribute patent-encumbered implementations of the same protocols themselves. Larry Rosen called the ASL2 toothless in that respect.[2] - Why do the Apache guys prefer ASLv2 over GPL+Exception ? Becuse they understand their own license better than a license from the FSF, I guess. For example, I don't necessarily understand all aspects of the ASL2, and the lack of a comprehensive, exhaustive FAQ on the ASL2 is not helpful there. I assume that the Apache guys have a similar feeling of not understanding all the implications of the GPL+LE, so they'd prefer a license that they understand. Sticking with the devil one knows is pretty normal human behavior. Or GNU/Linux would completely rule the desktop. :) (please tell me that there is some tangible difference here, and not just some NIH crap :D) In real life, for a runtime wanting to ship a jar with class libraries, the licenses have pretty much equivalent effect: link as much as you want to the class library jar file without having to license your runtime (or code running on top of it) under the license of the class libraries. But, for developers, GPL+LE has one clear benefit over ASL2: it is GPL-compatible. Given that many runtimes using GNU Classpath are licensed under the GPL (or GPL-compatible licenses), and many authors of GNU Classpath contribute to/use/work on GPL-licensed projects, that argument matters a lot: it allows for unencumbered future development. Licensing GNU Classpath under ASL2 would prohibit that, and cut a part of GNU Classpath developers and users from further development. I.e. it would be a pretty pointless thing to do. See XFree86 vs X.org fork for an example of why alienating your user base with pessimizing license changes is a bad thing to do. :) See also the excellent essay at [3] on why GPL-compatiblity matters. Also, why did GNU go with GPL+Exception this time and not LGPL? The GPL+exception concept exists since the early 90s, and has been sucessfully used in libgcc since dinosaurs walked the earth and mainframes ate bugs. :) For several use cases, in particular in embedded systems, a license more permissive than the LGPL is advantageous. Rather than creating yet another license from scratch and contributing to the general license polution, the FSF chose to grant a specific exception to an existing license, GPL, to make it as permissive as necessary. The reason why GPL is chosen, is presumably because GPL is a bit clearer, as it does not go into the technical mess of how the linking/ creation of derived works is performed. On the 'GPL may be a bit clearer' part: Part of some deveopers' concerns regarding the LGPL was the application of the rather technical terms regarding object file linkage and header files and all that in the LGPL to name-lookup based use of such libraries, for example in the programs written in the Java programming language. That prompted the clarification of the effect of LGPL on programs written in the Java programming language in an article by David Turner on the FSF site.[4] cheers, dalibor topic [1] http://www.apache.org/licenses/GPL-compatibility.html [2] http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200504.mbox/[EMAIL PROTECTED] see also for example his take on the funny notion of copyrightable APIs at http://www.crynwr.com/cgi-bin/ezmlm-cgi?3:mss:3266:200104:fnebghjdoohkgejjfnbd [3] http://www.dwheeler.com/essays/gpl-compatible.html [4] http://www.gnu.org/licenses/lgpl-java.html ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
[Bug classpath/22921] New: [generics-branch] Missing methods in java.util.Collections
The missing methods are: emptySet, emptyList, emptyMap checkedSet, checkedList, Ewout --- Additional Comments From from-classpath at savannah dot gnu dot org 2005-04-17 14:11 --- The full list is (taken from JAPI): # method java.util.Collections.addAll(java.util.Collection, java.lang.Object[]): missing in classpath-generics # method java.util.Collections.checkedCollection(java.util.Collection, java.lang.Class): missing in classpath-generics # method java.util.Collections.checkedList(java.util.List, java.lang.Class): missing in classpath-generics # method java.util.Collections.checkedMap(java.util.Map, java.lang.Class, java.lang.Class): missing in classpath-generics # method java.util.Collections.checkedSet(java.util.Set, java.lang.Class): missing in classpath-generics # method java.util.Collections.checkedSortedMap(java.util.SortedMap, java.lang.Class, java.lang.Class): missing in classpath-generics # method java.util.Collections.checkedSortedSet(java.util.SortedSet, java.lang.Class): missing in classpath-generics # method java.util.Collections.disjoint(java.util.Collection, java.util.Collection): missing in classpath-generics # method java.util.Collections.emptyList(): missing in classpath-generics # method java.util.Collections.emptyMap(): missing in classpath-generics # method java.util.Collections.emptySet(): missing in classpath-generics # method java.util.Collections.frequency(java.util.Collection, java.lang.Object): missing in classpath-generics # method java.util.Collections.reverseOrder(java.util.Comparator): missing in classpath-generics As I don't believe these are specific to the new language features, this is something for HEAD too. There are also some very useful additions to Arrays (a long-awaited toString() method for example). --- Additional Comments From tromey at gcc dot gnu dot org 2005-08-12 18:20 --- Note that the Arrays methods have all been implemented. -- Summary: [generics-branch] Missing methods in java.util.Collections Product: classpath Version: unspecified Status: NEW Severity: normal Priority: P3 Component: classpath AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: from-classpath at savannah dot gnu dot org CC: bug-classpath at gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22921 ___ Bug-classpath mailing list Bug-classpath@gnu.org http://lists.gnu.org/mailman/listinfo/bug-classpath
[commit-cp] classpath ./ChangeLog java/awt/Component.java j...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]05/08/12 11:46:54 Modified files: . : ChangeLog java/awt : Component.java Container.java Log message: 2005-08-12 Roman Kennke [EMAIL PROTECTED] * java/awt/Component.java (reshape): Simplified repainting of parent. (paint): Don't call peer.paint() here. The paint method is exclusivly meant to be overridden by subclasses that wish to perform custom painting and should do nothing by default. (repaint): Use local variable in null pointer checks to avoid NullPointerExceptions. (imageUpdate): Slight formatting adjustments. (dispatchEvent): Don't call peer.handleEvent() here, this must be done in dispatchEventImpl(). (dispatchEventImpl): Dispatch PAINT and UPDATE events to the peer. * java/awt/Container.java (paint): Don't call super.paint() here, this method does nothing anyway. Visit only lightweight children. (update): Instead of clearing the background only for top-level containers, clear the background for all heavyweight containers. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4395tr2=1.4396r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/awt/Component.java.diff?tr1=1.69tr2=1.70r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/awt/Container.java.diff?tr1=1.58tr2=1.59r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/plaf/basic/Ba...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Lillian Angel [EMAIL PROTECTED] 05/08/12 14:02:12 Modified files: . : ChangeLog javax/swing/plaf/basic: BasicSplitPaneUI.java Log message: 2005-08-12 Lillian Angel [EMAIL PROTECTED] * javax/swing/plaf/basic/BasicSplitPaneUI.java * (getMinimumDividerLocation): Fixed to work similar to getMaximumDividerLocation. Was not able to move divider in both directions before. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4396tr2=1.4397r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java.diff?tr1=1.13tr2=1.14r1=textr2=text
[commit-cp] classpath ./ChangeLog java/util/logging/Logger....
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]05/08/12 14:31:59 Modified files: . : ChangeLog java/util/logging: Logger.java Log message: 2005-08-12 Roman Kennke [EMAIL PROTECTED] Reported by: Ingo Proetel [EMAIL PROTECTED] * java/util/logging/Logger.java This applies to a couple of log() methods: (log): Added check if the specified level is actually enabled, otherwise ignore logging request. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4397tr2=1.4398r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/util/logging/Logger.java.diff?tr1=1.11tr2=1.12r1=textr2=text
[commit-cp] classpath javax/swing/text/GapContent.java ./Ch...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]05/08/12 15:33:06 Modified files: javax/swing/text: GapContent.java . : ChangeLog Log message: 2005-08-12 Roman Kennke [EMAIL PROTECTED] * javax/swing/text/GapContent.java (insertString): Use replace() to actually insert content. (remove): Use replace() to actually remove content. (shiftGap): Repaired misplaced curly brace in if block of boudary check. (replace): Check for null argument for addItems. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/text/GapContent.java.diff?tr1=1.20tr2=1.21r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4399tr2=1.4400r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/java/awt/peer/qt/QtBu...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Mark Wielaard [EMAIL PROTECTED] 05/08/12 16:11:31 Modified files: . : ChangeLog gnu/java/awt/peer/qt: QtButtonPeer.java QtCheckboxPeer.java QtChoicePeer.java QtComponentPeer.java QtMenuItemPeer.java QtMenuPeer.java QtScrollbarPeer.java gnu/java/security: PolicyFile.java Log message: * gnu/java/awt/peer/qt/QtButtonPeer.java: Replace uses of toolkit.eventQueue.postEvent() with QtToolkit.eventQueue.postEvent(). * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Likewise. * gnu/java/awt/peer/qt/QtChoicePeer.java: Likewise. * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise and for guiThread.QApplicationPointer and graphicsEnv.getScreenDevices(). * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. * gnu/java/awt/peer/qt/QtMenuPeer.java: Likewise. * gnu/java/awt/peer/qt/QtScrollbarPeer.java: Likewise. * gnu/java/security/PolicyFile.javai (refresh): Assign only outside if statement. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4400tr2=1.4401r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtChoicePeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtComponentPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtMenuPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/qt/QtScrollbarPeer.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/security/PolicyFile.java.diff?tr1=1.5tr2=1.6r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/plaf/basic/Ba...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Lillian Angel [EMAIL PROTECTED] 05/08/12 17:56:48 Modified files: . : ChangeLog javax/swing/plaf/basic: BasicTreeUI.java Log message: 2005-08-12 Lillian Angel [EMAIL PROTECTED] * javax/swing/plaf/basic/BasicTreeUI.java (getCellLocation): Added in a check to make sure the node has children. Fixed loop to use post-increment. (paintRecursive): Fixed loop to use post-increment. (paintControlIcons): Likewise. (getNextNode): Fixed check to make sure that node has children. (getPreviousSibling): Added in check to make sure index is in correct range. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4401tr2=1.4402r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicTreeUI.java.diff?tr1=1.59tr2=1.60r1=textr2=text
[commit-cp] classpath/vm/reference/gnu/classpath/jdwp
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/12 19:25:46 classpath/vm/reference/gnu/classpath/jdwp Update of /cvsroot/classpath/classpath/vm/reference/gnu/classpath/jdwp In directory savannah:/tmp/cvs-serv2527/vm/reference/gnu/classpath/jdwp Log Message: Directory /cvsroot/classpath/classpath/vm/reference/gnu/classpath/jdwp added to the repository
[commit-cp] classpath ./ChangeLog vm/reference/standard.omit
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/12 20:25:29 Modified files: . : ChangeLog Added files: vm/reference : standard.omit Log message: * vm/reference/standard.omit: New file to omit jdwp reference classes from build. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4403tr2=1.4404r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/vm/reference/standard.omit?rev=1.1
[commit-cp] classpath ./ChangeLog javax/swing/JTable.java j...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Anthony Balkissoon [EMAIL PROTECTED] 05/08/12 20:45:17 Modified files: . : ChangeLog javax/swing: JTable.java javax/swing/plaf/basic: BasicLookAndFeel.java BasicTableUI.java Log message: 2005-08-12 Anthony Balkissoon [EMAIL PROTECTED] * javax/swing/JTable.java: (setValueAt): Do nothing if isCellEditable returns false. (editCelLAt): Removed the Key Listener for the JTextField. Listening for ESCAPE should be handled by the JTable itself. Note, this is not implemented yet. * javax/swing/plaf/basic/BasicLookAndFeel.java: (initComponentDefaults): Added several keybindings to JTable's ancestorInputMap. These are all implemented. * javax/swing/plaf/basic/BasicTableUI.java: (KeyHandler): Removed this class. Note that most of the code from the keyPressed method now resides in the actionPerformed method of the BasicTableUI.TableAction class. (convertModifiers): New private method to convert from new InputEvent modifier masks to the old style. (installKeyboardActions): Implemented. Gets the key bindings from the UIManager and registers them for the JTable. (TableAction): New class. This is where the actions corresponding to key presses resides. (installListeners): Removed installation of KeyListener. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4404tr2=1.4405r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/JTable.java.diff?tr1=1.42tr2=1.43r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java.diff?tr1=1.43tr2=1.44r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/javax/swing/plaf/basic/BasicTableUI.java.diff?tr1=1.20tr2=1.21r1=textr2=text
[commit-cp] classpath gnu/classpath/jdwp/exception/JdwpInte...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/12 22:34:57 Modified files: gnu/classpath/jdwp/exception: JdwpInternalErrorException.java . : ChangeLog gnu/classpath/jdwp/util: Value.java Log message: * gnu/classpath/jdwp/exception/JdwpInternalErrorException.java (JdwpInternalErrorException): Added new constructor. * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Changed InvalidFieldException to JdwpInternalErrorException. (writeUntaggedValue): Likewise. (writeTaggedValue): Likewise. (writeValue): Likewise. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java.diff?tr1=1.2tr2=1.3r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4406tr2=1.4407r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/util/Value.java.diff?tr1=1.1tr2=1.2r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/classpath/jdwp/util/L...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/12 22:55:52 Modified files: . : ChangeLog Added files: gnu/classpath/jdwp/util: Location.java Log message: * gnu/classpath/jdwp/util/Location.java: New file to handle JDWP locations. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/util/Location.java?rev=1.1 http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4408tr2=1.4409r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/java/awt/peer/gtk/Gtk...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Thomas Fitzsimmons [EMAIL PROTECTED] 05/08/12 22:49:42 Modified files: . : ChangeLog gnu/java/awt/peer/gtk: GtkButtonPeer.java GtkLabelPeer.java include: gnu_java_awt_peer_gtk_GtkButtonPeer.h gnu_java_awt_peer_gtk_GtkLabelPeer.h native/jni/gtk-peer: gnu_java_awt_peer_gtk_GtkButtonPeer.c gnu_java_awt_peer_gtk_GtkLabelPeer.c Log message: 2005-08-12 Thomas Fitzsimmons [EMAIL PROTECTED] * gnu/java/awt/peer/gtk/GtkButtonPeer.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (gtkWidgetGetPreferredDimensions): New method. * gnu/java/awt/peer/gtk/GtkLabelPeer.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (gtkWidgetGetPreferredDimensions): New method. * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerate. * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Likewise. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4407tr2=1.4408r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java.diff?tr1=1.37tr2=1.38r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java.diff?tr1=1.23tr2=1.24r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h.diff?tr1=1.12tr2=1.13r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h.diff?tr1=1.8tr2=1.9r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c.diff?tr1=1.26tr2=1.27r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c.diff?tr1=1.16tr2=1.17r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/classpath/jdwp/util/L...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/13 00:44:37 Modified files: . : ChangeLog Added files: gnu/classpath/jdwp/util: LineTable.java VariableTable.java Log message: 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/util/VariableTable.java: A class representing a Variable Table for a method. * gnu/classpath/jdwp/util/LineTable.java: A class representing a Line Table for a method. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/util/LineTable.java?rev=1.1 http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/util/VariableTable.java?rev=1.1 http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4411tr2=1.4412r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/java/awt/peer/gtk/Gtk...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Thomas Fitzsimmons [EMAIL PROTECTED] 05/08/13 00:34:31 Modified files: . : ChangeLog gnu/java/awt/peer/gtk: GtkMenuBarPeer.java GtkMenuPeer.java java/awt/peer : MenuBarPeer.java MenuPeer.java Log message: 2005-08-12 Thomas Fitzsimmons [EMAIL PROTECTED] * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (addMenu(Menu)): New method. * gnu/java/awt/peer/gtk/GtkMenuPeer.java (addSeparator): Likewise. * java/awt/peer/MenuBarPeer.java (addMenu): New method declaration. * java/awt/peer/MenuPeer.java (addSeparator): New method declaration. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4410tr2=1.4411r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java.diff?tr1=1.10tr2=1.11r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java.diff?tr1=1.10tr2=1.11r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/awt/peer/MenuBarPeer.java.diff?tr1=1.10tr2=1.11r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/java/awt/peer/MenuPeer.java.diff?tr1=1.12tr2=1.13r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/classpath/jdwp/proces...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/13 01:00:39 Modified files: . : ChangeLog gnu/classpath/jdwp/processor: ObjectReferenceCommandSet.java Log message: 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java (executeInvokeMethod): Change MethodInvoker to MethodResult. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4412tr2=1.4413r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java.diff?tr1=1.2tr2=1.3r1=textr2=text
[commit-cp] classpath gnu/classpath/jdwp/processor/VirtualM...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Aaron Luchko [EMAIL PROTECTED]05/08/13 01:07:10 Modified files: gnu/classpath/jdwp/processor: VirtualMachineCommandSet.java . : ChangeLog Log message: 2005-08-12 Aaron Luchko [EMAIL PROTECTED] * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java (executeAllThreads): Use enumerate(Thread[]) instead of enumerate(Thread[], true). (runCommand): Throw NotImplementedException when command is not found. CVSWeb URLs: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.4413tr2=1.4414r1=textr2=text