diff RatPageModel.lua @ 39:ce4ddefb68c2

Fail early when a wow object cannot be created. Default to empty slots rather than empty wow objects.
author madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09
date Thu, 25 Apr 2013 18:16:03 +0000
parents 6ce173840e68
children fb81254bd7b8
line wrap: on
line diff
--- a/RatPageModel.lua	Thu Apr 25 18:15:57 2013 +0000
+++ b/RatPageModel.lua	Thu Apr 25 18:16:03 2013 +0000
@@ -76,13 +76,12 @@
 	if data then
 		for mode=1,RAT7.MODES do
 			for button=1,RAT7.BUTTONS do
-				if self.data[mode][button] then
-					local object = CyborgMMO_CreateWowObject(self.data[mode][button].type, self.data[mode][button].detail, self.data[mode][button].subdetail)
+				local data = self.data[mode][button]
+				if data and data.type then
+					local object = CyborgMMO_CreateWowObject(data.type, data.detail, data.subdetail)
 					self:SetObjectOnButtonNoUpdate(button, mode, object)
 				else
-					local object = CyborgMMO_CreateWowObject()
-					self:SetObjectOnButtonNoUpdate(button, mode, object)
-					self.data[mode][button] = object
+					self:SetObjectOnButtonNoUpdate(button, mode, nil)
 				end
 			end
 		end
@@ -128,12 +127,14 @@
 			slot:SetNormalTexture(object.texture)
 		end
 	else
-		CyborgMMO_DPrint("clearing "..button)
 		CyborgMMO_ClearBinding(CyborgMMO_ProfileKeyBindings[((mode-1)*RAT7.BUTTONS)+button])
 	end
 end
 
 function RatPageModel_methods:SetObjectOnButton(button, mode, object)
+	if not object then
+		CyborgMMO_DPrint("clearing "..button)
+	end
 	self:SetObjectOnButtonNoUpdate(button, mode, object)
 	self:UpdateObservers()
 end