changeset 132:16048f516f5e

More Button refactoring
author Flick <flickerstreak@gmail.com>
date Sat, 07 Mar 2009 00:11:03 +0000
parents e39d80bb0b7a
children 729e284b2576
files classes/ActionButton.lua classes/Button.lua classes/PetActionButton.lua
diffstat 3 files changed, 7 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/classes/ActionButton.lua	Fri Mar 06 23:58:02 2009 +0000
+++ b/classes/ActionButton.lua	Sat Mar 07 00:11:03 2009 +0000
@@ -229,13 +229,12 @@
   local f = self:GetFrame()
   local c = self:GetConfig()
 
-  f:UnregisterAllEvents()
+  f:SetAttribute("_childupdate-vehicle",nil)
+  f:SetAttribute("action",c.actionID) -- so that Destroy releases the right one
 
-  f:SetAttribute("_childupdate-vehicle",nil)
-
-  self:ReleaseActionID(c.actionID)
-  if c.pageactions then
-    for _, id in ipairs(c.pageactions) do
+  if c.pageactions and #c.pageActions > 1 then
+    for i = 2, #c.pageActions do 
+      self:ReleaseActionID(c.pageactions[i])
       self:ReleaseActionID(id)
     end
   end
--- a/classes/Button.lua	Fri Mar 06 23:58:02 2009 +0000
+++ b/classes/Button.lua	Sat Mar 07 00:11:03 2009 +0000
@@ -88,6 +88,8 @@
 
 function Button:Destroy()
   local f = self:GetFrame()
+  f:UnregisterAllEvents()
+  self:ReleaseActionID(self:GetActionID())
   if f then
     f:Hide()
     f:SetParent(trash)
--- a/classes/PetActionButton.lua	Fri Mar 06 23:58:02 2009 +0000
+++ b/classes/PetActionButton.lua	Sat Mar 07 00:11:03 2009 +0000
@@ -139,12 +139,6 @@
   return self
 end
 
-function Pet:Destroy()
-  self:GetFrame():UnregisterAllEvents()
-  self:ReleaseActionID(self:GetConfig().actionID)
-  Super.Destroy(self)
-end
-
 function Pet:Refresh()
   Super.Refresh(self)
   self:Update()