summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2011-02-15 14:17:24 +0100
committerPetr Mladek <pmladek@suse.cz>2011-02-15 14:17:24 +0100
commit15fd374b68552cab7bf0c9fac581bb03d52e5f5b (patch)
tree5b6b9ba13800702a87f67a57b9d78fb5662d62d5
parent6f0888190f4d1ce0a101eaf9f9642e61c0376999 (diff)
crashing oosplash and malformed picture (bnc#652562)
it was visible only on screens that did not use 32bpp Signed-off-by: Thorsten Behrens <thb@documentfoundation.org> Signed-off-by: Michael Meeks <michael.meeks@novell.com> Signed-off-by: Jan Holesovsky <kendy@suse.cz>
-rw-r--r--desktop/unx/source/splashx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/desktop/unx/source/splashx.c b/desktop/unx/source/splashx.c
index 6e7088b42c..1c6ab45225 100644
--- a/desktop/unx/source/splashx.c
+++ b/desktop/unx/source/splashx.c
@@ -333,6 +333,7 @@ static void create_pixmap()
int x, y; \
for ( y = 0; y < height; ++y ) \
{ \
+ out = data + y * bytes_per_line; \
unsigned long red_delta = 0, green_delta = 0, blue_delta = 0; \
color_t *in = (color_t *)bitmap_rows[y]; \
for ( x = 0; x < width; ++x, ++in ) \
@@ -376,7 +377,7 @@ static void create_pixmap()
{
if ( machine_byte_order == byte_order && byte_order == LSBFirst )
COPY_IN_OUT( 3, *( (color_t *)out ) = *( (color_t *)( &pixel ) ); out += 3; )
- if ( machine_byte_order == byte_order && byte_order == MSBFirst )
+ else if ( machine_byte_order == byte_order && byte_order == MSBFirst )
COPY_IN_OUT( 3, uint32_t tmp = pixel;
*( (uint8_t *)out ) = *( (uint8_t *)(&tmp) + 1 );
*( (uint8_t *)out + 1 ) = *( (uint8_t *)(&tmp) + 2 );