47c1c3508ce7d717ce0a3fdd4ffeb9cf20feb146
tdreszer
  Tue Aug 17 17:32:03 2010 -0700
Added some protection for strange interactions between DnD and contextMenu
diff --git src/hg/js/jquery.tablednd.js src/hg/js/jquery.tablednd.js
index 3ac962c..8755aac 100644
--- src/hg/js/jquery.tablednd.js
+++ src/hg/js/jquery.tablednd.js
@@ -132,6 +132,10 @@
             cells.each(function() {
                 // The cell is bound to "this"
                 jQuery(this).mousedown(function(ev) {
+                    if(ev.button != 0)
+                        return true;
+                    if(jQuery.tableDnD == undefined)
+                        return false;
                     jQuery.tableDnD.dragObject = this.parentNode;
                     jQuery.tableDnD.currentTable = table;
                     jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
@@ -229,6 +233,12 @@
     },
 
     mousemove: function(ev) {
+        if(jQuery.tableDnD == undefined) {
+            jQuery(document)
+                .unbind('mousemove')//, jQuery.tableDnD.mousemove);
+                .unbind('mouseup');//, jQuery.tableDnD.mouseup);
+            return;
+        }
         if (jQuery.tableDnD.dragObject == null) {
             return;
         }
@@ -330,6 +340,12 @@
     },
 
     mouseup: function(e) {
+        if(jQuery.tableDnD == undefined) {
+            jQuery(document)
+                .unbind('mousemove')//, jQuery.tableDnD.mousemove);
+                .unbind('mouseup');//, jQuery.tableDnD.mouseup);
+            return;
+        }
         if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
             var droppedRow = jQuery.tableDnD.dragObject;
             var config = jQuery.tableDnD.currentTable.tableDnDConfig;