@@ -270,6 +270,16 @@ local DefaultConfig = {
270
270
},
271
271
}
272
272
273
+ -- Helper function to prevent calls on Blizzards side
274
+ local function CreateDummyPopup (frame )
275
+ local popup = frame or CreateFrame (' Frame' )
276
+
277
+ popup .AttachToButton = noop
278
+ popup .DetatchFromButton = noop
279
+
280
+ return popup
281
+ end
282
+
273
283
--- Create a new action button.
274
284
-- @param id Internal id of the button (not used by LibActionButton-1.0, only for tracking inside the calling addon)
275
285
-- @param name Name of the button frame to be created (not used by LibActionButton-1.0 aside from naming the frame)
@@ -294,8 +304,7 @@ function lib:CreateButton(id, name, header, config)
294
304
button :RegisterForClicks (" AnyUp" )
295
305
end
296
306
297
- button .popup = CreateFrame (' Frame' )
298
- button .popup .AttachToButton = noop
307
+ button .popup = CreateDummyPopup ()
299
308
300
309
button .cooldown :SetFrameStrata (button :GetFrameStrata ())
301
310
button .cooldown :SetFrameLevel (button :GetFrameLevel () + 1 )
@@ -1143,8 +1152,7 @@ if UseCustomFlyout then
1143
1152
for i = # lib .FlyoutButtons + 1 , maxNumSlots do
1144
1153
local button = lib :CreateButton (i , " LABFlyoutButton" .. i , lib .flyoutHandler , nil )
1145
1154
1146
- button .popup = CreateFrame (' Frame' )
1147
- button .popup .AttachToButton = noop
1155
+ button .popup = CreateDummyPopup ()
1148
1156
1149
1157
button :SetScale (0.8 )
1150
1158
button :Hide ()
0 commit comments