diff --git a/browser/components/places/src/nsNavHistory.cpp b/browser/components/places/src/nsNavHistory.cpp index 42552919ab6c..044ad3e2a1f9 100644 --- a/browser/components/places/src/nsNavHistory.cpp +++ b/browser/components/places/src/nsNavHistory.cpp @@ -3620,10 +3620,11 @@ nsresult nsNavHistoryQueryOptions::Clone(nsNavHistoryQueryOptions **aResult) { *aResult = nsnull; - nsRefPtr result = new nsNavHistoryQueryOptions(); + nsNavHistoryQueryOptions *result = new nsNavHistoryQueryOptions(); if (! result) return NS_ERROR_OUT_OF_MEMORY; + nsRefPtr resultHolder(result); result->mSort = mSort; result->mResultType = mResultType; result->mGroupCount = mGroupCount; @@ -3639,6 +3640,6 @@ nsNavHistoryQueryOptions::Clone(nsNavHistoryQueryOptions **aResult) } result->mExpandPlaces = mExpandPlaces; - result.swap(*aResult); + resultHolder.swap(*aResult); return NS_OK; }