diff -x'*~' -ru EngBags.orig/ei_hooks.lua EngBags/ei_hooks.lua
--- EngBags.orig/ei_hooks.lua	2008-06-12 12:41:54.000000000 -0700
+++ EngBags/ei_hooks.lua	2008-06-12 12:42:26.000000000 -0700
@@ -12,7 +12,6 @@
 	"CloseBag",
 	"ToggleBag",
 	"ToggleKeyRing",
-	"ToggleDropDownMenu"
 };
 EngInventory_savedhookfunctions = {};
 
@@ -189,39 +188,3 @@
 	end
 	EngBags_PrintDEBUG("event: ToggleKeyRing()");
 end
-
-function EngInventory_hook_ToggleDropDownMenu(level, value, dropDownFrame, anchorName, xOffset, yOffset)
-	EngBags_PrintDEBUG("event: ToggleDropDownMenu()");
-
-	EngInventory_savedhookfunctions["ToggleDropDownMenu"](level, value, dropDownFrame, anchorName, xOffset, yOffset);
-
-	local frame = getglobal("DropDownList"..UIDROPDOWNMENU_MENU_LEVEL);	
-
-	local adjustX, adjustY;
-	
-	if ( frame and frame:GetLeft() and frame:GetLeft() * frame:GetScale() < UIParent:GetLeft() * UIParent:GetScale() ) then
-		adjustX = ( (UIParent:GetLeft()*UIParent:GetScale()) - (frame:GetLeft()*frame:GetScale()) ) / frame:GetScale();
-	elseif ( frame and frame:GetRight() and frame:GetRight()*frame:GetScale() > UIParent:GetRight()*UIParent:GetScale() ) then
-		adjustX = ( (UIParent:GetRight()*UIParent:GetScale()) - (frame:GetRight()*frame:GetScale()) ) / frame:GetScale();
-	else
-		adjustX = 0;
-	end
-
-	if ( frame and frame:GetTop() and frame:GetTop()*frame:GetScale() > UIParent:GetTop()*UIParent:GetScale() ) then
-		adjustY = ( (UIParent:GetTop()*UIParent:GetScale()) - (frame:GetTop()*frame:GetScale()) ) / frame:GetScale();
-	elseif ( frame and frame:GetBottom() and frame:GetBottom() * frame:GetScale() < UIParent:GetBottom() * UIParent:GetScale() ) then
-		adjustY = ( (UIParent:GetBottom()*UIParent:GetScale()) - (frame:GetBottom()*frame:GetScale()) ) / frame:GetScale();
-	else
-		adjustY = 0;
-	end
-
-	if ( (adjustY ~= 0) or (adjustX ~= 0) ) then
-		EngBags_PrintDEBUG("ToggleDropDownMenu() - adjusting window position by "..adjustX..", "..adjustY);
-
-		adjustX = frame:GetLeft() + adjustX;
-		adjustY = frame:GetTop() + adjustY;
-
-		frame:ClearAllPoints();
-		frame:SetPoint("TOPLEFT", "UIParent", "BOTTOMLEFT", adjustX, adjustY);
-	end	
-end
diff -x'*~' -ru EngBags.orig/hooks.lua EngBags/hooks.lua
--- EngBags.orig/hooks.lua	2008-06-12 12:41:54.000000000 -0700
+++ EngBags/hooks.lua	2008-06-12 12:43:24.000000000 -0700
@@ -2,7 +2,6 @@
 	"BagSlotButton_OnClick",
 	"BagSlotButton_OnDrag",
 	"CloseAllWindows",
-	"ToggleDropDownMenu"
 	};
 
 
@@ -132,8 +131,6 @@
 function EngBank_hook_ToggleDropDownMenu(level, value, dropDownFrame, anchorName, xOffset, yOffset)
 	EngBags_PrintDEBUG("event: ToggleDropDownMenu()");
 
-	EngBank_savedhookfunctions["ToggleDropDownMenu"](level, value, dropDownFrame, anchorName, xOffset, yOffset);
-
 	local frame = getglobal("DropDownList"..UIDROPDOWNMENU_MENU_LEVEL);	
 
 	local adjustX, adjustY;
@@ -164,3 +161,4 @@
 		frame:SetPoint("TOPLEFT", "UIParent", "BOTTOMLEFT", adjustX, adjustY);
 	end	
 end
+hooksecurefunc("ToggleDropDownMenu", EngBank_hook_ToggleDropDownMenu);
