jQuery.fx.update doesn't check for "inline-block"

jQuery.fx.update doesn't check for "inline-block"


Hey all,
I was getting popping in my animations when applying to inline-block
(or -moz-inline-box) spans due to them being changed to blocks. I
fixed it by making the following changes
jQuery.fx.prototype = {
    // Simple function for setting a style value
    update: function(){
        if ( this.options.step )
            this.options.step.apply( this.elem, [ this.now, this ] );
        (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
        // Set display property to block for height/width animations
        if ( this.prop == "height" || this.prop == "width" )
            this.elem.style.display = "block";
    },
*to*
jQuery.fx.prototype = {
    // Simple function for setting a style value
    update: function(){
        if ( this.options.step )
            this.options.step.apply( this.elem, [ this.now, this ] );
        (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
        var comp_display = jQuery( this.elem ).css( 'display' );
        // Set display property to block for height/width animations, if it
isn't a
        // block value already.
        if ( ( this.prop == "height" || this.prop == "width" )
                 && comp_display != "inline-block"
                 && comp_display != "-moz-inline-box"
                 && comp_display != "block" )
            this.elem.style.display = "block";
    },
    // Get the current size
    cur: function(force){
        if ( this.elem[this.prop] != null && this.elem.style[this.prop] ==
null )
            return this.elem[ this.prop ];
        var r = parseFloat(jQuery.css(this.elem, this.prop, force));
        return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem,
this.prop)) || 0;
    },
It now works in IE and Safari (still a bit funky in Firefox, but I
think that's the experimental nature of -moz-inline-box). Any
thoughts?
Abhik