rnd-20031116-2-src
[rocksndiamonds.git] / src / libgame / system.c
index bfa9966bb0eb742f7f370247ffb181f86dede637..96adfcfebc88f2a50b5dd10670c805136593e617 100644 (file)
@@ -821,7 +821,7 @@ void CreateBitmapWithSmallBitmaps(Bitmap *src_bitmap)
   src_height = src_bitmap->height;
 
   tmp_width  = src_width;
-  tmp_height = src_height + src_height / 2;
+  tmp_height = src_height + (src_height + 1) / 2;     /* prevent odd height */
 
   tmp_bitmap = CreateBitmap(tmp_width, tmp_height, DEFAULT_DEPTH);
 
@@ -838,9 +838,11 @@ void CreateBitmapWithSmallBitmaps(Bitmap *src_bitmap)
   FreeBitmap(tmp_bitmap_8);
 
 #if defined(TARGET_SDL)
+  /* !!! what about the old src_bitmap->surface ??? FIX ME !!! */
   src_bitmap->surface = tmp_bitmap->surface;
   tmp_bitmap->surface = NULL;
 #else
+  /* !!! see above !!! */
   src_bitmap->drawable = tmp_bitmap->drawable;
   tmp_bitmap->drawable = None;
 #endif
@@ -855,6 +857,7 @@ void CreateBitmapWithSmallBitmaps(Bitmap *src_bitmap)
 /* mouse pointer functions                                                   */
 /* ------------------------------------------------------------------------- */
 
+#if !defined(PLATFORM_MSDOS)
 /* XPM */
 static const char *cursor_image_playfield[] =
 {
@@ -940,9 +943,11 @@ static struct MouseCursorInfo *get_cursor_from_image(const char **image)
 
   return cursor;
 }
+#endif /* !PLATFORM_MSDOS */
 
 void SetMouseCursor(int mode)
 {
+#if !defined(PLATFORM_MSDOS)
   static struct MouseCursorInfo *cursor_playfield = NULL;
 
   if (cursor_playfield == NULL)
@@ -953,6 +958,7 @@ void SetMouseCursor(int mode)
 #elif defined(TARGET_X11_NATIVE)
   X11SetMouseCursor(mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL);
 #endif
+#endif
 }
 
 
@@ -1072,9 +1078,9 @@ inline Key GetEventKey(KeyEvent *event, boolean with_modifiers)
 
 inline KeyMod HandleKeyModState(Key key, int key_status)
 {
-#if !defined(TARGET_SDL)
   static KeyMod current_modifiers = KMOD_None;
 
+#if !defined(TARGET_SDL)
   if (key != KSYM_UNDEFINED)   /* new key => check for modifier key change */
   {
     KeyMod new_modifier = KMOD_None;
@@ -1114,9 +1120,9 @@ inline KeyMod HandleKeyModState(Key key, int key_status)
     else
       current_modifiers &= ~new_modifier;
   }
+#endif
 
   return current_modifiers;
-#endif
 }
 
 inline KeyMod GetKeyModState()