internal virtual void initSession(Session s) { s.SourceLocator = this; m_fileInfo = new FileInfoCache(); m_exprCache.clear(); m_fileInfo.bind(s); m_exprCache.bind(s); // bind catching a version problem bool correctVersion = true; try { s.bind(); } catch (VersionException) { correctVersion = false; } // reset session properties propertyPut(LIST_LINE, 1); propertyPut(LIST_MODULE, 1); // default to module #1 propertyPut(BPNUM, 0); // set current breakpoint number as something bad propertyPut(LAST_FRAME_DEPTH, 0); propertyPut(CURRENT_FRAME_DEPTH, 0); propertyPut(DISPLAY_FRAME_NUMBER, 0); propertyPut(METADATA_ATTEMPTS_PERIOD, 250); // 1/4s per attempt propertyPut(METADATA_NOT_AVAILABLE, 0); // counter for failures propertyPut(METADATA_ATTEMPTS, METADATA_RETRIES); propertyPut(PLAYER_FULL_SUPPORT, correctVersion?1:0); String previousURI = m_mruURI; m_mruURI = m_session.URI; // try to reapply the breakpoint's if (previousURI != null && m_mruURI != null && previousURI.ToUpper().Equals(m_mruURI.ToUpper())) reapplyBreakpoints(); else { while (m_breakpoints.Count > 0) m_breakpoints.RemoveAt(0); } m_requestResume = false; m_stepResume = false; }