diff -urN RC13-git12-i810/drivers/video/cyblafb.c RC13-git12-cyblafb/drivers/video/cyblafb.c --- RC13-git12-i810/drivers/video/cyblafb.c 2005-09-10 15:41:34.000000000 -0400 +++ RC13-git12-cyblafb/drivers/video/cyblafb.c 2005-09-12 14:50:36.000000000 -0400 @@ -410,20 +410,21 @@ out32(GE0C,point(image->dx+image->width-1,image->dy+image->height-1)); while(index < index_end) { + const char *p = image->data + index; for(i=0;idata + index))); + out32(GE9C,*(u32*)p); + p+=4; index+=4; } switch(width_dbs) { case 0: break; - case 8: out32(GE9C,*((u8*)((u32)image->data+index))); + case 8: out32(GE9C,*(u8*)p); index+=1; break; - case 16: out32(GE9C,*((u16*)((u32)image->data+index))); + case 16: out32(GE9C,*(u16*)p); index+=2; break; - case 24: out32(GE9C,(u32)(*((u16*)((u32)image->data+index))) | - (u32)(*((u8*)((u32)image->data+index+2)))<<16); + case 24: out32(GE9C,*(u16*)p | *(u8*)(p+2)<<16); index+=3; break; }