rnd-20080615-1-src
[rocksndiamonds.git] / src / events.c
index d08de9edf5ce16d679d5667756b4a70aca33bcad..6d52228b5d4a050eb8e632cb0abe29cfc81d0325 100644 (file)
@@ -223,6 +223,10 @@ void HandleOtherEvents(Event *event)
     case SDL_JOYBUTTONUP:
       HandleJoystickEvent(event);
       break;
+
+    case SDL_SYSWMEVENT:
+      HandleWindowManagerEvent(event);
+      break;
 #endif
 
     default:
@@ -413,6 +417,13 @@ void HandleClientMessageEvent(ClientMessageEvent *event)
     CloseAllAndExit(0);
 }
 
+void HandleWindowManagerEvent(Event *event)
+{
+#if defined(TARGET_SDL)
+  SDLHandleWindowManagerEvent(event);
+#endif
+}
+
 void HandleButton(int mx, int my, int button, int button_nr)
 {
   static int old_mx = 0, old_my = 0;
@@ -811,6 +822,9 @@ void HandleKey(Key key, int key_status)
          break;
 
        case KSYM_Escape:
+         if (game_status != GAME_MODE_MAIN)
+           FadeSkipNextFadeIn();
+
          if (game_status == GAME_MODE_TITLE)
            HandleTitleScreen(0, 0, 0, 0, MB_MENU_LEAVE);
           else if (game_status == GAME_MODE_LEVELS)