Game crash when trying to add spell on buttonforge bar #5

Fermé
créé 2019-10-20 23:49:19 +02:00 par Albirew · 4 commentaires
Propriétaire

Of course, wow client logs are as useless as ever

Nom d’événement de problème:	AppHangB1
Nom de l’application:	Wow.exe
Version de l’application:	1.13.2.32089
Horodatage de l’application:	5d97969e
Signature de blocage:	a0e7
Type de blocage:	0
Version du système:	6.1.7601.2.1.0.256.48
Identificateur de paramètres régionaux:	1036
Signature de blocage supplém. 1:	a0e774da971752fbc862765f7bfacc66
Signature de blocage supplém. 2:	b489
Signature de blocage supplém. 3:	b4892d1453949ef42e6f41924518dd87
Signature de blocage supplém. 4:	a0e7
Signature de blocage supplém. 5:	a0e774da971752fbc862765f7bfacc66
Signature de blocage supplém. 6:	b489
Signature de blocage supplém. 7:	b4892d1453949ef42e6f41924518dd87
Of course, wow client logs are as useless as ever Nom d’événement de problème: AppHangB1 Nom de l’application: Wow.exe Version de l’application: 1.13.2.32089 Horodatage de l’application: 5d97969e Signature de blocage: a0e7 Type de blocage: 0 Version du système: 6.1.7601.2.1.0.256.48 Identificateur de paramètres régionaux: 1036 Signature de blocage supplém. 1: a0e774da971752fbc862765f7bfacc66 Signature de blocage supplém. 2: b489 Signature de blocage supplém. 3: b4892d1453949ef42e6f41924518dd87 Signature de blocage supplém. 4: a0e7 Signature de blocage supplém. 5: a0e774da971752fbc862765f7bfacc66 Signature de blocage supplém. 6: b489 Signature de blocage supplém. 7: b4892d1453949ef42e6f41924518dd87
Albirew a créé une dépendance 2019-10-20 23:52:27 +02:00.
Albirew a ajouté le label
bug
2019-10-25 18:15:03 +02:00.

Good to see you track the bugs of the addon.

There seems to be an infinite loop in the code when you put a spell in the bar. I can not identify exactly where. I think that's why the logs are useless, the game can not even write.

On the other hand if it is a macro, it goes without problem.

Good to see you track the bugs of the addon. There seems to be an infinite loop in the code when you put a spell in the bar. I can not identify exactly where. I think that's why the logs are useless, the game can not even write. On the other hand if it is a macro, it goes without problem.

I also got to the same conclusion but I couldn't find the loop either. I've tried to hard break from all while.. which could be dangerous but still can't figure it out. Not sure what else could cause infinite loops.

I also got to the same conclusion but I couldn't find the loop either. I've tried to hard break from all while.. which could be dangerous but still can't figure it out. Not sure what else could cause infinite loops.

ok i think i fixed the probleme, the TalentSpellID is never nil, if it is not exists, the function return 0 and we don't care about pvp talent.

in Util.lua function Util.IsSpellIdTalent(SpellId) Replace by :

function Util.IsSpellIdTalent(SpellId)
local TalentInfoFuncs = GetTalentInfo;
-- Scan both normal and PvP talents
-- Note rather than assume number of talents, we just scan till the rows and columns till we hit a nil

	local r = 1;
	local c = 1;
	local TalentSpellID = select(6, TalentInfoFuncs(r, c));

	while (TalentSpellID <= 0) do
		while (TalentSpellID <= 0) do
			if (TalentSpellID == SpellId) then
				return true;
			end
			c = c + 1;
			TalentSpellID = select(6, TalentInfoFuncs(r, c));		
		end
		r = r + 1;
		c = 1;			
	end
return false;

end

ok i think i fixed the probleme, the TalentSpellID is never nil, if it is not exists, the function return 0 and we don't care about pvp talent. in Util.lua function Util.IsSpellIdTalent(SpellId) Replace by : function Util.IsSpellIdTalent(SpellId) local TalentInfoFuncs = GetTalentInfo; -- Scan both normal and PvP talents -- Note rather than assume number of talents, we just scan till the rows and columns till we hit a nil local r = 1; local c = 1; local TalentSpellID = select(6, TalentInfoFuncs(r, c)); while (TalentSpellID <= 0) do while (TalentSpellID <= 0) do if (TalentSpellID == SpellId) then return true; end c = c + 1; TalentSpellID = select(6, TalentInfoFuncs(r, c)); end r = r + 1; c = 1; end return false; end

Great! I've tested it and it works fine. Haven't tried a lot of spell since my Classic character is level 2, but if anyone finds spells that don't work, please open a new issue.

Thank you for that fix Tyr62!

FYI. I've pushed the fix to the repo so everyone could get the latest version.

Great! I've tested it and it works fine. Haven't tried a lot of spell since my Classic character is level 2, but if anyone finds spells that don't work, please open a new issue. Thank you for that fix Tyr62! FYI. I've pushed the fix to the repo so everyone could get the latest version.
Ghost a fermé ce ticket 2019-11-23 16:52:11 +01:00.
Connectez-vous pour rejoindre cette conversation.
Sans jalon
Sans assignation
2 participants
Notifications
Échéance
La date d’échéance est invalide ou hors plage. Veuillez utiliser le format 'aaaa-mm-dd'.

Aucune échéance n'a été définie.

Bloque
#4 Addon is not working in classic WoW
Albirew/ButtonForge-classic
Référence : Albirew/ButtonForge-classic#5
Sans contenu.