forked from len0rd/rockbox
		
	fixed propfonts bug which was related to illegal memory accesing of lcd_bitmap function called by lcd_clearrect.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1158 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
		
							parent
							
								
									5bee7a490f
								
							
						
					
					
						commit
						3bce07ff62
					
				
					 1 changed files with 11 additions and 2 deletions
				
			
		|  | @ -644,10 +644,19 @@ void lcd_bitmap (unsigned char *src, int x, int y, int nx, int ny, | ||||||
|                  bool clear) |                  bool clear) | ||||||
| { | { | ||||||
|     unsigned char *dst; |     unsigned char *dst; | ||||||
|     unsigned char *dst2 = &display[x][y/8]; |     unsigned char *dst2; | ||||||
|     unsigned int data, mask, mask2, mask3, mask4; |     unsigned int data, mask, mask2, mask3, mask4; | ||||||
|     int shift = y & 7; |     int shift; | ||||||
| 
 | 
 | ||||||
|  |     if (((unsigned)x >= LCD_WIDTH) || ((unsigned)y >= LCD_HEIGHT)) | ||||||
|  |         return; | ||||||
|  |     if (((unsigned)(x + nx)) >= LCD_WIDTH) | ||||||
|  |        nx = LCD_WIDTH - x; | ||||||
|  |     if (((unsigned)(y + ny)) >= LCD_HEIGHT) | ||||||
|  |         ny = LCD_HEIGHT - y;       | ||||||
|  | 
 | ||||||
|  |     shift = y & 2; | ||||||
|  |     dst2 = &display[x][y/8]; | ||||||
|     ny += shift; |     ny += shift; | ||||||
| 
 | 
 | ||||||
|     /* Calculate bit masks */ |     /* Calculate bit masks */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue