rnd-20030804-1-src
[rocksndiamonds.git] / src / libgame / system.c
index bfa9966bb0eb742f7f370247ffb181f86dede637..4a4c4d352e077da8bc0152e349a08220a01ef0ca 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
@@ -1072,9 +1074,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 +1116,9 @@ inline KeyMod HandleKeyModState(Key key, int key_status)
     else
       current_modifiers &= ~new_modifier;
   }
+#endif
 
   return current_modifiers;
-#endif
 }
 
 inline KeyMod GetKeyModState()