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