Drag/Drop problem jQuery 1.3 and jQuery 1.3.2 + jQueryUI 1.7

Drag/Drop problem jQuery 1.3 and jQuery 1.3.2 + jQueryUI 1.7


Hi,
I'm using jQuery and drag/drop from UI a lot in one of my application.
It works all very well..
thank you jQuery team!!!
Since 1.3 I've got a problem with drag/drop feature, IE7 and jQuery
1.3 though
The problem is, it's ok to drag and drop the object the first time
after page load, but the second time, i've got an "unspecified
error" (on IE6/7 only)
I've done some debug with Visual Studio and found that the problem is
located around the 4176th line
(in the jQuery 1.3 and also in the 1.3.2 file) near this code :
-----------------------------------
if ( document.documentElement["getBoundingClientRect"] )
    jQuery.fn.offset = function() {
        if ( !this[0] ) return { top: 0, left: 0 };
        if ( this[0] === this[0].ownerDocument.body ) return
jQuery.offset.bodyOffset( this[0] );
        var box = this[0].getBoundingClientRect(), doc = this
[0].ownerDocument, body = doc.body, docElem = doc.documentElement,
            clientTop = docElem.clientTop || body.clientTop || 0, clientLeft =
docElem.clientLeft || body.clientLeft || 0,
            top = box.top + (self.pageYOffset || jQuery.boxModel &&
docElem.scrollTop || body.scrollTop ) - clientTop,
            left = box.left + (self.pageXOffset || jQuery.boxModel &&
docElem.scrollLeft || body.scrollLeft) - clientLeft;
        return { top: top, left: left };
    };
else
.....
----------------------------------
For now I did not had the time to investigate more, but I wrote some
quick "try-catch" hack to get things working with IE:
-----------------------------------
if ( document.documentElement["getBoundingClientRect"] )
    jQuery.fn.offset = function() {
        if ( !this[0] ) return { top: 0, left: 0 };
        if ( this[0] === this[0].ownerDocument.body ) return
jQuery.offset.bodyOffset( this[0] );
        //HACK STARTS HERE
        var box = [0, 0];
        try {
         box = this[0].getBoundingClientRect();
        } catch (ex) {
        }
        var doc = this[0].ownerDocument, body = doc.body, docElem =
doc.documentElement,
            clientTop = docElem.clientTop || body.clientTop || 0, clientLeft =
docElem.clientLeft || body.clientLeft || 0,
            top = box.top + (self.pageYOffset || jQuery.boxModel &&
docElem.scrollTop || body.scrollTop ) - clientTop,
            left = box.left + (self.pageXOffset || jQuery.boxModel &&
docElem.scrollLeft || body.scrollLeft) - clientLeft;
        return { top: top, left: left };
    };
else
...
-----------------------------------
maybe it's only me not designing my JS app the right way... :)
Anyway, I thought it was a good idea to share this here..
regards