fix for bug 12986

Vidh <[email protected]> Mon, 29 Apr 2013 00:25:02 +0530
Newsgroups gmane.editors.abiword.devel
Message-ID <CA+K7uP266M84KXKQKOhsCWgookM2F8bT=dJ1z63yaHUMr58gtA@mail.gmail.com>
Hi,

I worked on this bug:
http://bugzilla.abisource.com/show_bug.cgi?id=12986

I have uploaded the fix and also attached it with this mail.
Let me know how it looks!

thanks!

--
Vidhoon Viswanathan
+91 7760711773
fix_bug_12986.patch (application/octet-stream, 2.7 KB)
Index: src/text/ptbl/xp/pt_PT_DeleteSpan.cpp
===================================================================
--- src/text/ptbl/xp/pt_PT_DeleteSpan.cpp	(revision 32939)
+++ src/text/ptbl/xp/pt_PT_DeleteSpan.cpp	(working copy)
@@ -1824,96 +1824,7 @@
 		{
 			pf_End = pf_End->getPrev();
 		}
-		bool bDoit = false;
-		if(pf_End && ((pf_End->getPos() + pf_End->getLength() - pf_First->getPos())  == (dpos2 - dpos1 +1)))
-		{
-			if((pf_First->getType() == pf_Frag::PFT_Text) && (pf_First->getLength() == 2))
-			{
-				bDoit = false;
-			}
-			else if((pf_First->getType() == pf_Frag::PFT_Text) && (pf_End->getType() == pf_Frag::PFT_Text) && (pf_First != pf_End))
-			{
-				bDoit = false;
-			}
-			else
-			{
-				bDoit = true;
-			}
-		}
-		if(pf_End && ((pf_End->getPos() + pf_End->getLength() - pf_First->getPos())  == (dpos2 - dpos1)))
-		{
-			bDoit = true;
-		}
-		if(bDoit)
-		{
-//
-// OK these frags are entirely contained by dpos1  and dpos2
-// OK now look to see if there is a hyperlink or annotation just before and after these
-//
-			if(pf_End->getType() != pf_Frag::PFT_Object)
-			{
-				pf_End = pf_End->getNext();
-			}
-			while(pf_End && (pf_End->getLength() == 0))
-			{
-				pf_End = pf_End->getNext();
-			}
-			if(pf_First->getType() != pf_Frag::PFT_Object)
-			{
-				pf_First = pf_First->getPrev();
-			}
-			while(pf_First && (pf_First->getLength() == 0))
-			{
-				pf_First = pf_First->getPrev();
-			}
-			if(pf_First && (pf_First->getType() == pf_Frag::PFT_Object))
-			{
-				pf_Frag_Object *pFO = static_cast<pf_Frag_Object *>(pf_First);
-				bool bFoundBook = false;
-				bool bFoundHype = false;
-				bool bFoundAnn = false;
-				if(pFO->getObjectType() == PTO_Bookmark)
-				{
-					bFoundBook = true;
-				}
-				if(pFO->getObjectType() == PTO_Hyperlink)
-				{
-					bFoundHype = true;
-				}
-				if(pFO->getObjectType() == PTO_Annotation)
-				{
-					bFoundAnn = true;
-				}
-				if(pf_End && (pf_End->getType() == pf_Frag::PFT_Object) && (pf_End != pf_First))
-				{
-					pFO = static_cast<pf_Frag_Object *>(pf_End);
-					if(pFO->getObjectType() == PTO_Bookmark && bFoundBook)
-					{
-//
-// Found a bookmark which will have all contents deleted so delete it too
-//
-						dpos1--;
-						dpos2++;
-					}
-					else if(pFO->getObjectType() == PTO_Hyperlink && bFoundHype)
-					{
-//
-// Found a Hyperlink which will have all contents deleted so delte it too
-//
-						dpos1--;
-						dpos2++;
-					}
-					else if(pFO->getObjectType() == PTO_Annotation && bFoundAnn)
-					{
-//
-// Found a Annotation which will have all contents deleted so delte it too
-//
-						dpos1--;
-						dpos2++;
-					}
-				}
-			}
-		}
+		
 	}
 //
 // Can't handle a delete span start from an endTOC. sum1 has arranged corner