Commits

Anonymous committed 9f00d98

INTEGRATION: CWS swenhancedfields2 (1.24.230); FILE MERGED
2008/08/04 14:14:29 b_michaelsen 1.24.230.2: RESYNC: (1.24-1.28); FILE MERGED
2008/04/23 14:29:20 ama 1.24.230.1: #i33737#: Enhanced fields

Comments (0)

Files changed (1)

sw/source/filter/ww1/fltshell.cxx

  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: fltshell.cxx,v $
- * $Revision: 1.28 $
+ * $Revision: 1.29 $
  *
  * This file is part of OpenOffice.org.
  *
 	bOld	= FALSE;	// used for marking Attributes *before* skipping field results
 	bLocked = TRUE; 	// locke das Attribut --> darf erst
 	bCopied = FALSE;	// gesetzt werden, wenn es wieder geunlocked ist
+	bConsumedByField = FALSE;
 }
 
 SwFltStackEntry::SwFltStackEntry(const SwFltStackEntry& rEntry) :
 	nMkCntnt= rEntry.nMkCntnt;
 	bOld	= rEntry.bOld;
 	bLocked	= bCopied = TRUE; // when rEntry were NOT bLocked we would never have been called
+	bConsumedByField = rEntry.bConsumedByField;
 }
 
 
 // Returned, ob das gesuchte Attribut / die gesuchten Attribute
 // ueberhaupt auf dem Stack standen
 void SwFltControlStack::SetAttr(const SwPosition& rPos, USHORT nAttrId,
-								BOOL bTstEnde, long nHand )
+								BOOL bTstEnde, long nHand, BOOL consumedByField )
 {
 	ASSERT(!nAttrId ||
 		(POOLATTR_BEGIN <= nAttrId && POOLATTR_END > nAttrId) ||
 					bF = true;
 				}
 			}
-			if (bF)
+			if (bF) {
+				pEntry->bConsumedByField = consumedByField;
 				pEntry->SetEndPos(rPos);
+			}
 			continue;
 		}
 
 				}
 			}
 			if( !pB->IsOnlyRef() &&
-				( !IsFlagSet(HYPO) || IsFlagSet(BOOK_AND_REF) ) )
+				( !IsFlagSet(HYPO) || IsFlagSet(BOOK_AND_REF) ) && !pEntry->bConsumedByField)
 			{
 				MakeBookRegionOrPoint(pEntry, pDoc, aRegion, TRUE);
                 pDoc->makeBookmark( aRegion, aEmptyKeyCode, rName, aEmptyStr, IDocumentBookmarkAccess::BOOKMARK);