Fixes a SIGSEGV when using line,polyline,polygon etc. with a starting point below the picture (outside).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@405 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									28805017a2
								
							
						
					
					
						commit
						8862c1994f
					
				
							
								
								
									
										9
									
								
								graph.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								graph.c
									
									
									
									
									
								
							@ -800,6 +800,15 @@ void Remplir(byte Couleur_de_remplissage)
 | 
			
		||||
         (Pos_Y<=Limite_Bas) )
 | 
			
		||||
      Pixel_Preview(Pos_X,Pos_Y,Couleur);
 | 
			
		||||
  }
 | 
			
		||||
  // Affichage d'un point pour une preview, avec sa propre couleur
 | 
			
		||||
  void Pixel_figure_Preview_auto(word Pos_X,word Pos_Y)
 | 
			
		||||
  {
 | 
			
		||||
    if ( (Pos_X>=Limite_Gauche) &&
 | 
			
		||||
         (Pos_X<=Limite_Droite) &&
 | 
			
		||||
         (Pos_Y>=Limite_Haut)   &&
 | 
			
		||||
         (Pos_Y<=Limite_Bas) )
 | 
			
		||||
      Pixel_Preview(Pos_X,Pos_Y,Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Affichage d'un point pour une preview en xor
 | 
			
		||||
  void Pixel_figure_Preview_xor(word Pos_X,word Pos_Y,__attribute__((unused)) byte Couleur)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								graph.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								graph.h
									
									
									
									
									
								
							@ -50,6 +50,7 @@ void Remplir(byte Couleur_de_remplissage);
 | 
			
		||||
void Remplacer(byte Nouvelle_couleur);
 | 
			
		||||
 | 
			
		||||
void Pixel_figure_Preview    (word Pos_X,word Pos_Y,byte Couleur);
 | 
			
		||||
void Pixel_figure_Preview_auto(word Pos_X,word Pos_Y);
 | 
			
		||||
void Pixel_figure_Preview_xor(word Pos_X,word Pos_Y,byte Couleur);
 | 
			
		||||
void Pixel_figure_Dans_brosse(word Pos_X,word Pos_Y,byte Couleur);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								operatio.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								operatio.c
									
									
									
									
									
								
							@ -523,7 +523,7 @@ void Ligne_0_5(void)
 | 
			
		||||
 | 
			
		||||
  Pinceau_Forme=Pinceau_Forme_avant_operation;
 | 
			
		||||
 | 
			
		||||
  Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
  Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
  Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
 | 
			
		||||
  Afficher_pinceau      (Debut_X,Debut_Y,Couleur,0);
 | 
			
		||||
  Tracer_ligne_Definitif(Debut_X,Debut_Y,Fin_X,Fin_Y,Couleur);
 | 
			
		||||
@ -636,7 +636,7 @@ void K_Ligne_0_6(void)
 | 
			
		||||
  if ((Config.Coords_rel) && (Menu_visible))
 | 
			
		||||
    Print_dans_menu("X:±   0   Y:±   0",0);
 | 
			
		||||
 | 
			
		||||
  Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
  Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
  Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
 | 
			
		||||
 | 
			
		||||
  Pinceau_Forme=Pinceau_Forme_avant_operation;
 | 
			
		||||
@ -695,7 +695,7 @@ void K_Ligne_12_7(void)
 | 
			
		||||
  {
 | 
			
		||||
    // La série de ligne est terminée, il faut donc effacer la dernière
 | 
			
		||||
    // preview de ligne
 | 
			
		||||
    Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
    Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
    Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
 | 
			
		||||
 | 
			
		||||
    Afficher_curseur();
 | 
			
		||||
@ -2160,7 +2160,7 @@ void Polygone_12_9(void)
 | 
			
		||||
  {
 | 
			
		||||
    //   La série de ligne est terminée, il faut donc effacer la dernière
 | 
			
		||||
    // preview de ligne et relier le dernier point avec le premier
 | 
			
		||||
    Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
    Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
    Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
 | 
			
		||||
    Operation_POP(&Fin_Y);
 | 
			
		||||
    Operation_POP(&Fin_X);
 | 
			
		||||
@ -4561,7 +4561,7 @@ void Lignes_centrees_12_7(void)
 | 
			
		||||
 | 
			
		||||
      Pinceau_Forme=Pinceau_Forme_avant_operation;
 | 
			
		||||
 | 
			
		||||
      Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
      Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
      Effacer_ligne_Preview (Debut_X,Debut_Y,Dernier_X,Dernier_Y);
 | 
			
		||||
 | 
			
		||||
      Smear_Debut=1;
 | 
			
		||||
@ -4589,7 +4589,7 @@ void Lignes_centrees_12_7(void)
 | 
			
		||||
 | 
			
		||||
    Pinceau_Forme=Pinceau_Forme_avant_operation;
 | 
			
		||||
 | 
			
		||||
    Pixel_figure_Preview  (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
 | 
			
		||||
    Pixel_figure_Preview_auto  (Debut_X,Debut_Y);
 | 
			
		||||
    Effacer_ligne_Preview (Debut_X,Debut_Y,Dernier_X,Dernier_Y);
 | 
			
		||||
 | 
			
		||||
    if ( (Config.Coords_rel) && (Menu_visible) )
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user