Fixes a severe memory leak, up to 200Kb every time you closed a window. oops!

Fixes a missing refresh when you initiate window dragging.



git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@469 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-01-10 15:41:56 +00:00
parent d287384d93
commit 0b801a28c8
2 changed files with 11 additions and 11 deletions

BIN
gfx2.cfg

Binary file not shown.

View File

@ -1099,8 +1099,17 @@ void Fermer_fenetre(void)
Fenetre_Liste_boutons_special=Temp4;
}
if (Fenetre == 1)
if (Fenetre != 1)
{
// Restore de ce que la fenêtre cachait
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
Fenetre--;
}
else
{
free(Fond_fenetre[Fenetre-1]);
Fenetre--;
Cacher_pinceau=Cacher_pinceau_avant_fenetre;
@ -1109,20 +1118,10 @@ void Fermer_fenetre(void)
Menu_Ordonnee=Menu_Ordonnee_avant_fenetre;
Menu_visible=Menu_visible_avant_fenetre;
Forme_curseur=Forme_curseur_avant_fenetre;
// On le fait ici car Afficher_menu s'en sert pour savoir s'il doit remetre X: Y: dans la toolbar.
Fenetre--;
Afficher_ecran();
Afficher_menu();
}
else
{
// Restore de ce que la fenêtre cachait
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
Fenetre--;
}
Touche=0;
Mouse_K=0;
@ -1666,6 +1665,7 @@ void Deplacer_fenetre(short Dx, short Dy)
Ligne_verticale_XOR(Nouveau_X,Nouveau_Y+1,Hauteur-2);
Ligne_verticale_XOR(Nouveau_X+Largeur-1,Nouveau_Y+1,Hauteur-2);
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y+Hauteur-1,Largeur);
UpdateRect(Nouveau_X,Nouveau_Y,Largeur,Hauteur);
Forme_curseur=FORME_CURSEUR_MULTIDIRECTIONNEL;
Afficher_curseur();