DEADSOFTWARE

Holmes, please, there are no criminals in dedicated server!
[d2df-sdl.git] / src / game / g_window.pas
index 17aa0479563d2239f9a3db5305b5b44a07fad5f9..0ac570dad8b00a296278d4e0163f19ee28785b72 100644 (file)
@@ -452,16 +452,19 @@ begin
           kbev.sym := ev.key.keysym.sym;
           kbev.bstate := curMsButState;
           kbev.kstate := curKbState;
+          {$IF not DEFINED(HEADLESS)}
           if g_Holmes_keyEvent(kbev) then
           begin
             if (ev.type_ <> SDL_KEYDOWN) then e_KeyUpDown(ev.key.keysym.scancode, false);
             exit;
           end;
+          {$ENDIF}
         end;
         if (ev.type_ = SDL_KEYDOWN) then KeyPress(key);
         e_KeyUpDown(ev.key.keysym.scancode, (ev.type_ = SDL_KEYDOWN));
       end;
 
+    {$IF not DEFINED(HEADLESS)}
     SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP:
       begin
         msev.dx := ev.button.x-curMsX;
@@ -475,7 +478,7 @@ begin
         if (msev.but <> 0) then
         begin
           // ev.button.clicks: Byte
-          curMsButState := curMsButState or msev.but;
+          if (ev.type_ = SDL_MOUSEBUTTONDOWN) then curMsButState := curMsButState or msev.but else curMsButState := curMsButState and (not msev.but);
           msev.bstate := curMsButState;
           msev.kstate := curKbState;
           if (g_holmes_enabled) then g_Holmes_mouseEvent(msev);
@@ -510,6 +513,7 @@ begin
         msev.kstate := curKbState;
         if (g_holmes_enabled) then g_Holmes_mouseEvent(msev);
       end;
+    {$ENDIF}
 
     SDL_TEXTINPUT:
       begin