Commits

Anonymous committed 1866c5f

#i116258# auto delete temporary SwCursor*

Comments (0)

Files changed (1)

sw/source/core/crsr/swcrsr.cxx

 	{
 		// Cursor als Kopie vom akt. und in den Ring aufnehmen
 		// Verkettung zeigt immer auf den zuerst erzeugten, also vorwaerts
-		SwCursor* pSav = Create( this ); 	// sicher den aktuellen Crsr
+		std::auto_ptr< SwCursor > pSav( Create( this ) ); 	// save the current cursor
 
 		// wenn schon ausserhalb vom Bodytext, suche von der Position,
 		// ansonsten beginne mit der 1. GrundSection
 			return 0;
 		}
 
-		delete pSav;
 		if( !( FND_IN_SELALL & eFndRngs ))
 		{
 			// es sollte nur einer gesucht werden, also fuege in dazu
 	}
 	else if( FND_IN_SELALL & eFndRngs )
 	{
-		SwCursor* pSav = Create( this ); 	// sicher den aktuellen Crsr
+		::std::auto_ptr< SwCursor> pSav( Create( this ) ); 	// save the current cursor
 
 		const SwNode* pSttNd = ( FND_IN_BODYONLY & eFndRngs )
 							? rNds.GetEndOfContent().StartOfSectionNode()
 				DeleteMark();
 			return 0;
 		}
-		// es  wurde ein- bis mehrmals gefunden. Das steht alles
-		// im neuen Crsr-Ring. Darum hebe erstmal den alten Ring auf
-		delete pSav;
 
 		while( GetNext() != this )
 			delete GetNext();