summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
Diffstat (limited to 'filter')
-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 3d82aac0eaab..4dd876defba9 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -5556,9 +5556,9 @@ PlaceholderShape.prototype.init = function()
}
}
}
- this.element = aTextFieldElement;
this.textElement = aPlaceholderElement;
}
+ this.element = aTextFieldElement;
}
};
@@ -5769,9 +5769,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;
@@ -5780,7 +5781,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();
@@ -5790,13 +5791,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 );
}