m_startedUpdate = TRUE;
m_startedUpdate = PR_TRUE;
nsNNTPNewsgroupList::FinishXOVERLINE(int status, int *newstatus){	struct MSG_NewsKnown* k;	/* If any XOVER lines from the last time failed to come in, mark those	 messages as read. */	if (status >= 0 && m_lastProcessedNumber < m_lastMsgNumber) 	{		m_set->AddRange(m_lastProcessedNumber + 1, m_lastMsgNumber);	}	if (m_newsDB)	{#ifdef DEBUG_sspitzer        printf("committing summary file changes\n");#endif		m_newsDB->Commit(kSessionCommit);		m_newsDB->Close(PR_TRUE);		m_newsDB = nsnull;	}	k = &m_knownArts;	if (k == nsnull) {		return NS_ERROR_NULL_POINTER;	}	if (k->set) 	{		PRInt32 n = k->set->FirstNonMember();		if (n < k->first_possible || n > k->last_possible) 		{		  /* We know we've gotten all there is to know.  Take advantage of that to			 update our counts... */			// ### dmb		}	}    if (m_finishingXover)	{		// turn on m_finishingXover - this is a horrible hack to avoid recursive 		// calls which happen when the fe selects a message as a result of getting EndingUpdate,		// which interrupts this url right before it was going to finish and causes FinishXOver		// to get called again.        m_finishingXover = TRUE;		// if we haven't started an update, start one so the fe		// will know to update the size of the view.		if (!m_startedUpdate)		{#ifdef HAVE_PANES			m_pane->StartingUpdate(MSG_NotifyNone, 0, 0);#endif			m_startedUpdate = TRUE;		}#ifdef HAVE_PANES		m_pane->EndingUpdate(MSG_NotifyNone, 0, 0);#endif		m_startedUpdate = PR_FALSE;		if (m_lastMsgNumber > 0)		{#ifdef HAVE_PANES			MWContext *context = m_pane->GetContext();			MSG_Pane* parentpane = m_pane->GetParentPane();			// send progress to parent pane, if any, because progress pane is going down.			if (parentpane)				context = parentpane->GetContext();			char *statusTemplate = XP_GetString (MK_HDR_DOWNLOAD_COUNT);			char *statusString = PR_smprintf (statusTemplate,  m_lastProcessedNumber - m_firstMsgNumber + 1, m_lastMsgNumber - m_firstMsgNumber + 1);			if (statusString)			{				FE_Progress (context, statusString);				PR_Free(statusString);			}#endif		}#ifdef HAVE_PANES		nsINNTPNewsgroup *newsFolder =            (m_pane) ?            savePane->GetMaster()->FindNewsFolder(m_host, m_groupName, PR_FALSE) :            0;		FE_PaneChanged(m_pane, PR_FALSE, MSG_PaneNotifyFolderLoaded, (PRUint32)newsFolder);#endif	}    if (newstatus) *newstatus=0;    return NS_OK;	// nsNNTPNewsgroupList object gets deleted by the master when a new one is created.}