projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fabd25c
)
fixed bug with incorrectly handled "click anywhere" style button events
author
Holger Schemel
<info@artsoft.org>
Wed, 14 Dec 2022 11:27:33 +0000
(12:27 +0100)
committer
Holger Schemel
<info@artsoft.org>
Wed, 14 Dec 2022 11:27:33 +0000
(12:27 +0100)
src/events.c
patch
|
blob
|
history
diff --git
a/src/events.c
b/src/events.c
index 21d9b5a3c23e529c6e6a525921ca24a587c936b3..985dc2a2e2e84f775fbbf2e2e3a650a6c179fa6d 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-1697,6
+1697,7
@@
void HandleButton(int mx, int my, int button, int button_nr)
static int old_mx = 0, old_my = 0;
boolean button_hold = FALSE;
boolean handle_gadgets = TRUE;
static int old_mx = 0, old_my = 0;
boolean button_hold = FALSE;
boolean handle_gadgets = TRUE;
+ int game_status_last = game_status;
if (button_nr < 0)
{
if (button_nr < 0)
{
@@
-1741,8
+1742,12
@@
void HandleButton(int mx, int my, int button, int button_nr)
if (handle_gadgets && HandleGadgets(mx, my, button))
{
if (handle_gadgets && HandleGadgets(mx, my, button))
{
- // do not handle this button event anymore
+ // do not handle this button event anymore
with position on screen
mx = my = -32; // force mouse event to be outside screen tiles
mx = my = -32; // force mouse event to be outside screen tiles
+
+ // do not handle this button event anymore if game status has changed
+ if (game_status != game_status_last)
+ return;
}
if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing)
}
if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing)