Closes #52. Fix initialization of fabric.Group with undefined "paths".

This commit is contained in:
kangax 2011-09-20 14:25:25 -04:00
parent db456d2b68
commit 99e64c30ee
6 changed files with 21 additions and 13 deletions

View file

@ -1,6 +1,6 @@
/*! Fabric.js Copyright 2008-2011, Bitsonnet (Juriy Zaytsev, Maxim Chernyak) */
var fabric = fabric || { version: "0.5.12" };
var fabric = fabric || { version: "0.5.13" };
if (typeof exports != 'undefined') {
exports.fabric = fabric;

16
dist/all.js vendored
View file

@ -1,6 +1,6 @@
/*! Fabric.js Copyright 2008-2011, Bitsonnet (Juriy Zaytsev, Maxim Chernyak) */
var fabric = fabric || { version: "0.5.12" };
var fabric = fabric || { version: "0.5.13" };
if (typeof exports != 'undefined') {
exports.fabric = fabric;
@ -2003,6 +2003,8 @@ fabric.Observable = {
* @param {String} byProperty
*/
function max(array, byProperty) {
if (!array || array.length === 0) return undefined;
var i = array.length - 1,
result = byProperty ? array[i][byProperty] : array[i];
if (byProperty) {
@ -2030,6 +2032,8 @@ fabric.Observable = {
* @param {String} byProperty
*/
function min(array, byProperty) {
if (!array || array.length === 0) return undefined;
var i = array.length - 1,
result = byProperty ? array[i][byProperty] : array[i];
@ -9674,7 +9678,7 @@ fabric.util.object.extend(fabric.Canvas.prototype, {
initialize: function(paths, options) {
options = options || { };
this.paths = paths;
this.paths = paths || [ ];
for (var i = this.paths.length; i--; ) {
this.paths[i].group = this;
@ -10281,14 +10285,14 @@ fabric.util.object.extend(fabric.Canvas.prototype, {
minY = min(aY);
maxY = max(aY);
width = maxX - minX;
height = maxY - minY;
width = (maxX - minX) || 0;
height = (maxY - minY) || 0;
this.width = width;
this.height = height;
this.left = minX + width / 2;
this.top = minY + height / 2;
this.left = (minX + width / 2) || 0;
this.top = (minY + height / 2) || 0;
},
/**

View file

@ -1,7 +1,7 @@
{
"name": "fabric",
"description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.",
"version": "0.5.12",
"version": "0.5.13",
"author": "Juriy Zaytsev <kangax@gmail.com>",
"keywords": ["canvas", "graphic", "graphics", "SVG", "node-canvas", "parser", "HTML5", "object model"],
"repository": "git://github.com/kangax/fabric.js",

View file

@ -405,14 +405,14 @@
minY = min(aY);
maxY = max(aY);
width = maxX - minX;
height = maxY - minY;
width = (maxX - minX) || 0;
height = (maxY - minY) || 0;
this.width = width;
this.height = height;
this.left = minX + width / 2;
this.top = minY + height / 2;
this.left = (minX + width / 2) || 0;
this.top = (minY + height / 2) || 0;
},
/**

View file

@ -45,7 +45,7 @@
initialize: function(paths, options) {
options = options || { };
this.paths = paths;
this.paths = paths || [ ];
for (var i = this.paths.length; i--; ) {
this.paths[i].group = this;

View file

@ -147,6 +147,8 @@
* @param {String} byProperty
*/
function max(array, byProperty) {
if (!array || array.length === 0) return undefined;
var i = array.length - 1,
result = byProperty ? array[i][byProperty] : array[i];
if (byProperty) {
@ -174,6 +176,8 @@
* @param {String} byProperty
*/
function min(array, byProperty) {
if (!array || array.length === 0) return undefined;
var i = array.length - 1,
result = byProperty ? array[i][byProperty] : array[i];