diff Veneer.lua @ 102:1e511e9aaca5

- clean up handler loading inconsistencies; exclude free frames from anchor cluster iterations, and remove extraneous PLAYER_LOGIN handling - added a Setup method to the handler template that creates and reconciles a SavedVariables table for that module
author Nenue
date Wed, 25 Jan 2017 23:11:27 -0500
parents dadddb8a551f
children 8df154a2bfd6
line wrap: on
line diff
--- a/Veneer.lua	Sat Jan 21 20:12:17 2017 -0500
+++ b/Veneer.lua	Wed Jan 25 23:11:27 2017 -0500
@@ -247,7 +247,7 @@
 function VeneerCore:AddHandler(handler, ...)
   print('|cFFFFFF00*** Adding handler:', handler.moduleName or handler:GetName())
 
-
+  if not handler.anchorFrame then
     local anchorGroup, clusterTable, clusterIndex = self:GetClusterFromArgs(...)
     if clusterIndex == 1 then
       for i, frame in ipairs(clusterTable) do
@@ -255,11 +255,14 @@
       end
     end
     tinsert(clusterTable, clusterIndex, handler)
+    print(' cluster', anchorGroup, 'table', clusterTable, 'position', clusterIndex)
 
-  print(' cluster', anchorGroup, 'table', clusterTable, 'position', clusterIndex)
+    handler.anchorCluster = clusterTable
+    handler.anchorIndex = clusterIndex
+  else
+    print(' free frame')
+  end
 
-  handler.anchorCluster = clusterTable
-  handler.anchorIndex = clusterIndex
   for k,v in pairs(VeneerHandlerMixin) do
     if not handler[k] then
       print(' * from mixin:', k)