| 
 
	
		Ух, жесть, еще один серьезный баг.В общем у тебя (Mortem) есть класс MGFTEXTURE, в
 MGFTEXTURE *MGF::Texture_Add
 идет создание по типу: tex = new TGATEXTURE();     или tex = new PNGTEXTURE(); или tex = new JPGTEXTURE();
 так вот виртуальная функция Load здесь срабатывает, так как в tex
 приведенный указатель к конкретному типу, а вот когда возникает
 Remove в void MGF::Texture_Remove(MGFTEXTURE *tex) {
 указатель уже MGFTEXTURE !!! соответсвенно вызывается пустой Remove из
 MGFTEXTURE, и память через некоторое время кончается и зызы виснет...
 сначала я в Texture_Remove перед delete поправил так:
 ((PNGTEXTURE*)t)->Remove() ...
 но потом посмотрел что везде одно и тоже и удалил везде Remove
 а в базовом MGFTEXTURE  оставил невиртуальный базовый Remove ...
 
 В аттачменте все поправлено и работает ОК.
 
			
			
			
			
				
			
			
			 			 
 Последний раз редактировалось wSlava; 15.05.2007 в 01:39.
 
 |