Fix debug view stackframe selection.
authorincastrix <incastrix>
Thu, 2 Oct 2008 23:40:13 +0000 (23:40 +0000)
committerincastrix <incastrix>
Thu, 2 Oct 2008 23:40:13 +0000 (23:40 +0000)
net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugStackFrame.java

index e7b1182..4a4831e 100644 (file)
@@ -26,15 +26,12 @@ import org.w3c.dom.NodeList;
  */
 public class XDebugStackFrame  extends XDebugElement implements IStackFrame {
        private XDebugThread fThread;
-
        private URL fName;
        private int fLineNumber;
        private int fLevel;
        private String fType;
        private String fWhere;
-
        private IVariable[] fVariables;
-
        private int fStepCount = 0;
        
        /**
@@ -45,14 +42,15 @@ public class XDebugStackFrame  extends XDebugElement implements IStackFrame {
         * @param data frame data
         * @param id stack frame id (0 is the bottom of the stack)
         */
-       public XDebugStackFrame(XDebugThread thread, int level, String type, int lineNumber, String where, /*URL*/String filename) {
+       public XDebugStackFrame(XDebugThread thread, int id, String type, int lineNumber, String where, /*URL*/String filename) {
                super(thread == null ? null : (XDebugTarget) thread.getDebugTarget());
                
-               fLevel = level;
+               fLevel = id;
                fThread = thread;
                fType = type;
                fLineNumber = lineNumber;
-               fWhere = where; 
+               fWhere = where;
+               
                try {
                fName = new URL(filename);
                } catch (MalformedURLException e) {
@@ -298,7 +296,7 @@ public class XDebugStackFrame  extends XDebugElement implements IStackFrame {
                if (obj instanceof XDebugStackFrame) {
                        XDebugStackFrame sf = (XDebugStackFrame)obj;
                        try {
-                               return sf.getSourceName().equals(fName) &&
+                               return sf.getSourceName().equals(new Path(fName.getFile()).lastSegment()) &&
                                        sf.getLineNumber() == fLineNumber &&
                                        sf.getLevel() == fLevel &&
                                        sf.getType().equals(fType) &&
@@ -320,7 +318,7 @@ public class XDebugStackFrame  extends XDebugElement implements IStackFrame {
        public URL getFullName() {
                return fName;
        }
-       
+
        public int getLevel() {
                return fLevel;
        }