Fixes SIGSEGVs and weird coordinates of viewports when resizing the screen (w/ and w/o zoom, with resolution change or window resize)

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@406 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2008-12-20 19:06:00 +00:00
parent 8862c1994f
commit a81bc2c1a4
2 changed files with 24 additions and 1 deletions

18
graph.c
View File

@@ -336,14 +336,30 @@ void Initialiser_mode_video(int Largeur, int Hauteur, int Fullscreen)
Brouillon_Loupe_Mode=0; // | la résolution.
}
if (Loupe_Mode)
{
Pixel_Preview=Pixel_Preview_Loupe;
}
else
{
Pixel_Preview=Pixel_Preview_Normal;
// Recaler la vue (meme clipping que dans Scroller_ecran())
if (Principal_Decalage_X+Largeur_ecran>Principal_Largeur_image)
Principal_Decalage_X=Principal_Largeur_image-Largeur_ecran;
else if (Principal_Decalage_X<0)
Principal_Decalage_X=0;
if (Principal_Decalage_Y+Menu_Ordonnee>Principal_Hauteur_image)
Principal_Decalage_Y=Principal_Hauteur_image-Menu_Ordonnee;
else if (Principal_Decalage_Y<0)
Principal_Decalage_Y=0;
}
Calculer_donnees_loupe();
if (Loupe_Mode)
Recadrer_ecran_par_rapport_au_zoom();
Calculer_limites();
Calculer_coordonnees_pinceau();
Afficher_ecran();
Resize_Largeur=0;
Resize_Hauteur=0;
}