Thread Tools Display Modes
11-18-13, 06:26 AM   #1
Clamsoda
A Frostmaul Preserver
Join Date: Nov 2011
Posts: 269
Strange issue since 5.4.1

Good morning,

I have been getting a strange issue since 5.4.1, where I receive an "Interface action failed because of AddOn" error when I join a party while in combat.

I would like to stress that this issue did NOT occur before 5.4.1, and is not related to -- as far as I can tell -- trying to manipulate the secure frames via SetSize, SetScale, etc.

Here is the error:
Code:
1x [ADDON_ACTION_BLOCKED] AddOn "oUF_Clamsoda" tried to call the protected function "UNKNOWN()".
!BugGrabber-r198-release\BugGrabber.lua:552: in function <!BugGrabber\BugGrabber.lua:552>
<in C code>
<in C code>
FrameXML\SecureGroupHeaders.lua:164: in function <FrameXML\SecureGroupHeaders.lua:123>
FrameXML\SecureGroupHeaders.lua:488: in function <FrameXML\SecureGroupHeaders.lua:387>
<in C code>
FrameXML\SecureStateDriver.lua:100: in function <FrameXML\SecureStateDriver.lua:95>
FrameXML\SecureStateDriver.lua:127: in function <FrameXML\SecureStateDriver.lua:119>

Locals:
nil
The error report is pretty useless to me, but I was able to get the error to stop by -- strangely -- getting rid of my SetPoint call on the SpawnHeader. I tried moving the SetPoint call into the oUF-initialConfigFunction with no success.

All that being said, I don't quite understand what is going wrong. I will post all 3 relevant files if it is any use to anyone. They are listed in the order they are called by the toc.

config.lua
functions.lua
units/party.lua

Line 112 of party.lua is what is causing the error, but I can't really get rid of my header's SetPoint call, which is why I am so lost.

As a note, the SetSize and SetScale functions inside of AddonTable:SharedProperties does NOT affect my header units.
  Reply With Quote
11-20-13, 11:51 AM   #2
Rainrider
A Firelord
AddOn Author - Click to view addons
Join Date: Nov 2008
Posts: 454
I believe you are supposed to spawn your frames from within oUF:Factory. Something like that:
lua Code:
  1. oUF:RegisterStyle("oUF_ClamsodaParty", PartyStyle)
  2.  
  3. oUF:Factory(function(self)
  4.         self:SetActiveStyle("oUF_ClamsodaParty")
  5.  
  6.         local party = oUF:SpawnHeader("oUF_ClamsodaParty", nil, customVisibility,
  7.                 "oUF-initialConfigFunction", initialConfigFunction,
  8.                 "template",             "oUF_ClamsodaPartyPets",
  9.                 "showParty",            true,
  10.                 "columnAnchorPoint",    "BOTTOM",
  11.                 "point",                "BOTTOM",
  12.                 "yOffset",              41
  13.         )
  14.  
  15.         -- Why doesn't this anchor perfectly?
  16.         party:SetPoint("BOTTOMRIGHT", oUF_ClamsodaPlayer, "BOTTOMLEFT", -16, 0)
  17. end)
  Reply With Quote
11-20-13, 01:38 PM   #3
Rainrider
A Firelord
AddOn Author - Click to view addons
Join Date: Nov 2008
Posts: 454
You could disregard my previous answer. oUF:Factory should be actually optional.

Could you post your entire code? Especially oUF_ClamsodaPartyPets.
  Reply With Quote
11-20-13, 02:54 PM   #4
Clamsoda
A Frostmaul Preserver
Join Date: Nov 2011
Posts: 269
Thank you for the interest Rainrider. I was going to say, isn't oUF Factory optional? Anyways, oUF_ClamsodaPartyPets is the name of my XML template used for spawning pets with their owner in a party. The code I used is taken from oUF's sample code.

oUF_Clamsoda.xml

Like I said, getting rid of the SetPoint call on the SpawnHeader(line 112 of units/party.lua) completely gets rid of the error. Not to mention, this error was not occurring pre 5.4.1.

I guess there isn't much more I can do than link the entire AddOn. Feel free to go through all of it =X.
Attached Files
File Type: zip oUF_Clamsoda.zip (15.4 KB, 196 views)
  Reply With Quote
11-20-13, 08:35 PM   #5
Rainrider
A Firelord
AddOn Author - Click to view addons
Join Date: Nov 2008
Posts: 454
That you didn't get an error pre 5.4.1 could mean you hadn't encountered it yet. How do you reproduce the error btw?

The error you get would mean something is not right with your template or the attributes you set to the header. The template itself seems ok to me. So, it's kind of a wild guess but could it be something with the way you scale your frames?

Install oUF_MovableFrames and type "/omf" in-game. It seems the scale don't apply to your party header. Further the partypet frame just disappears. Set AddonTable.Config.scale to 1 or a value below 1 and look what happens after typing "/omf". You could move the frames around and then type "/omf x" to see what is the actual scale applied. I can't tell why it is like that though
  Reply With Quote
11-21-13, 02:06 AM   #6
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,740
I have some questions:
  • Does the error appear out of combat or in combat only? Taints are combat only. But they may appear once you entered combat after you did sth.
  • Have you tested it by actually being in a party or have you spawned the group header with solo being enabled?
  • Have you tested changing the SetPoint to UIParent or a secure drag frame?
  • Have you tested the issue with every other addon disabled only oUF and your unitframes running?

Gonna test it on the PTR aswell. Maybe it has sth to do with the parented frame, but actually I doubt that. My group is added to a frame that has UserPlaced enabled. Maybe those frames have special conditions.

Lua Code:
  1. local attr = {
  2.   visibility          = "custom [group:party,nogroup:raid] show;hide",  --show this header in party
  3.   showPlayer          = true,     --make this true to show player in party
  4.   showSolo            = false,    --make this true to show while solo (only works if solo is in visiblity aswell
  5.   showParty           = true,     --make this true to show headerin party
  6.   showRaid            = false,    --show in raid
  7.   point               = "LEFT",
  8. }
  9.  
  10. local pos = { a1 = "TOPLEFT", a2 = "TOPLEFT", af = "UIParent", x = 5, y = -77 },
  11.  
  12. local partyDragFrame = CreateFrame("Frame", "oUF_DiabloPartyDragFrame", UIParent)
  13. partyDragFrame:SetSize(50,50)
  14. partyDragFrame:SetPoint(pos.a1,pos.af,a2,pos.x,pos.y)
  15. partyDragFrame:SetMovable(true)
  16. partyDragFrame:SetUserPlaced(true)
  17.  
  18. local party = oUF:SpawnHeader(
  19.   "oUF_DiabloPartyHeader",
  20.   nil,
  21.   attr.visibility,
  22.   "showPlayer",         attr.showPlayer,
  23.   "showSolo",           attr.showSolo,
  24.   "showParty",          attr.showParty,
  25.   "showRaid",           attr.showRaid,
  26.   "point",              attr.point,
  27.   "oUF-initialConfigFunction", ([[
  28.     self:SetWidth(%d)
  29.     self:SetHeight(%d)
  30.     self:SetScale(%f)
  31.   ]]):format(128, 64, 0.82)
  32. )
  33. party:SetPoint("TOPLEFT",partyDragFrame,0,0)

Basically what I would do to evaluate the bug is to comment out most of the spawn code. Make it as basic as possible. Check for the error. If the error is gone work from that point forward until you found it.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 11-21-13 at 02:29 AM.
  Reply With Quote

WoWInterface » Featured Projects » oUF (Otravi Unit Frames) » Strange issue since 5.4.1


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off