From 246c0aaeebd2ddeae2befbf6d97ad8596a1b12df Mon Sep 17 00:00:00 2001 From: "jfrancis%netscape.com" Date: Wed, 11 Oct 2000 00:27:33 +0000 Subject: [PATCH] fixes bug 54895: certain editor operations (like align) crashed when applied to mulit-cell table cell selections; r=kin; sr=sfraser; a=jar git-svn-id: svn://10.0.0.236/trunk@80872 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/editor/base/nsHTMLEditRules.cpp | 3 ++- mozilla/editor/libeditor/html/nsHTMLEditRules.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mozilla/editor/base/nsHTMLEditRules.cpp b/mozilla/editor/base/nsHTMLEditRules.cpp index 5fafac4fc78..35fd0e8f04f 100644 --- a/mozilla/editor/base/nsHTMLEditRules.cpp +++ b/mozilla/editor/base/nsHTMLEditRules.cpp @@ -3419,7 +3419,7 @@ nsHTMLEditRules::GetNodesForOperation(nsISupportsArray *inArrayOfRanges, // first register ranges for special editor gravity for (i = 0; i < (PRInt32)rangeCount; i++) { - isupports = (dont_AddRef)(inArrayOfRanges->ElementAt(i)); + isupports = (dont_AddRef)(inArrayOfRanges->ElementAt(0)); opRange = do_QueryInterface(isupports); nsRangeStore *item = new nsRangeStore(); if (!item) return NS_ERROR_NULL_POINTER; @@ -3440,6 +3440,7 @@ nsHTMLEditRules::GetNodesForOperation(nsISupportsArray *inArrayOfRanges, { nsRangeStore *item = (nsRangeStore*)rangeItemArray.ElementAt(0); if (!item) return NS_ERROR_NULL_POINTER; + rangeItemArray.RemoveElementAt(0); mEditor->mRangeUpdater.DropRangeItem(item); res = item->GetRange(&opRange); if (NS_FAILED(res)) return res; diff --git a/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp b/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp index 5fafac4fc78..35fd0e8f04f 100644 --- a/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp +++ b/mozilla/editor/libeditor/html/nsHTMLEditRules.cpp @@ -3419,7 +3419,7 @@ nsHTMLEditRules::GetNodesForOperation(nsISupportsArray *inArrayOfRanges, // first register ranges for special editor gravity for (i = 0; i < (PRInt32)rangeCount; i++) { - isupports = (dont_AddRef)(inArrayOfRanges->ElementAt(i)); + isupports = (dont_AddRef)(inArrayOfRanges->ElementAt(0)); opRange = do_QueryInterface(isupports); nsRangeStore *item = new nsRangeStore(); if (!item) return NS_ERROR_NULL_POINTER; @@ -3440,6 +3440,7 @@ nsHTMLEditRules::GetNodesForOperation(nsISupportsArray *inArrayOfRanges, { nsRangeStore *item = (nsRangeStore*)rangeItemArray.ElementAt(0); if (!item) return NS_ERROR_NULL_POINTER; + rangeItemArray.RemoveElementAt(0); mEditor->mRangeUpdater.DropRangeItem(item); res = item->GetRange(&opRange); if (NS_FAILED(res)) return res;