From d9828321cab29e371f71451e7ee5b96e05efd061 Mon Sep 17 00:00:00 2001 From: kangax Date: Thu, 17 Feb 2011 16:41:16 -0500 Subject: [PATCH] Fix text rendering in IE9. Now fully works! Fix `fabric.Element#insertAt` not calling `setCoords` and `setupState` on added object. This was affecting `fabric.Element#loadFromJSON`. Thanks vepkenez for bringing it up. --- dist/all.js | 5 +++++ src/element.class.js | 2 ++ 2 files changed, 7 insertions(+) diff --git a/dist/all.js b/dist/all.js index 09265d15..aa20b1d9 100644 --- a/dist/all.js +++ b/dist/all.js @@ -1254,6 +1254,9 @@ Cufon.registerEngine('vml', (function() { if (!document.namespaces) return; + var canvasEl = document.createElement('canvas'); + if (canvasEl && canvasEl.getContext && canvasEl.getContext.apply) return; + if (document.namespaces.cvml == null) { document.namespaces.add('cvml', 'urn:schemas-microsoft-com:vml'); } @@ -4900,6 +4903,8 @@ fabric.util.animate = animate; */ insertAt: function (object, index) { this._objects.splice(index, 0, object); + this.stateful && object.setupState(); + object.setCoords(); this.renderAll(); return this; }, diff --git a/src/element.class.js b/src/element.class.js index 8ccde016..c837d89b 100644 --- a/src/element.class.js +++ b/src/element.class.js @@ -1157,6 +1157,8 @@ */ insertAt: function (object, index) { this._objects.splice(index, 0, object); + this.stateful && object.setupState(); + object.setCoords(); this.renderAll(); return this; },