summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/svg/presentation_engine.js26
1 files changed, 18 insertions, 8 deletions
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index ce68bc6484fe..848f2dd84226 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -5570,9 +5570,9 @@ PlaceholderShape.prototype.init = function()
}
}
}
- this.element = aTextFieldElement;
this.textElement = aPlaceholderElement;
}
+ this.element = aTextFieldElement;
}
};
@@ -5783,9 +5783,10 @@ MasterPageView.prototype.initTextFieldHandler =
function( sClassName, aPlaceholderShapeSet, aTextFieldContentProviderSet,
aDefsElement, aTextFieldHandlerSet, sMasterSlideId )
{
+ var sRefId = null;
var aTextFieldHandler = null;
- if( aPlaceholderShapeSet[sClassName] &&
- aPlaceholderShapeSet[sClassName].isValid()
+ var aPlaceholderShape = aPlaceholderShapeSet[sClassName];
+ if( aPlaceholderShape && aPlaceholderShape.isValid()
&& aTextFieldContentProviderSet[sClassName] )
{
var sTextFieldContentProviderId = aTextFieldContentProviderSet[sClassName].sId;
@@ -5794,7 +5795,7 @@ MasterPageView.prototype.initTextFieldHandler =
if ( !aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ] )
{
aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ] =
- new TextFieldHandler( aPlaceholderShapeSet[sClassName],
+ new TextFieldHandler( aPlaceholderShape,
aTextFieldContentProviderSet[sClassName] );
aTextFieldHandler = aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ];
aTextFieldHandler.update();
@@ -5804,13 +5805,22 @@ MasterPageView.prototype.initTextFieldHandler =
{
aTextFieldHandler = aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ];
}
+ sRefId = aTextFieldHandler.sId;
+ }
+ else if( aPlaceholderShape && aPlaceholderShape.element && aPlaceholderShape.element.firstElementChild
+ && !aPlaceholderShape.textElement && !aTextFieldContentProviderSet[sClassName] )
+ {
+ sRefId = aPlaceholderShape.element.firstElementChild.getAttribute('id');
+ }
+ if( sRefId )
+ {
// We create a <use> element referring to the cloned text field and
// append it to the field group element.
- var aTextFieldElement = document.createElementNS( NSS['svg'], 'use' );
- aTextFieldElement.setAttribute( 'class', sClassName );
- setNSAttribute( 'xlink', aTextFieldElement,
- 'href', '#' + aTextFieldHandler.sId );
+ var aTextFieldElement = document.createElementNS(NSS['svg'], 'use');
+ aTextFieldElement.setAttribute('class', sClassName);
+ setNSAttribute('xlink', aTextFieldElement,
+ 'href', '#' + sRefId);
// node linking
this.aBackgroundObjectsElement.appendChild( aTextFieldElement );
}