aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-09-01 17:25:06 +0000
committerSimon Tatham <anakin@pobox.com>2005-09-01 17:25:06 +0000
commit8d4b62c9bd1053a1aa76862c760618a986306a56 (patch)
tree103aa3c280f6e1a2a616621f0b30afb197715069
parentbd5606ae74aa6b070d980230c56fe337a47bc4a7 (diff)
downloadpuzzles-8d4b62c9bd1053a1aa76862c760618a986306a56.zip
puzzles-8d4b62c9bd1053a1aa76862c760618a986306a56.tar.gz
puzzles-8d4b62c9bd1053a1aa76862c760618a986306a56.tar.bz2
puzzles-8d4b62c9bd1053a1aa76862c760618a986306a56.tar.xz
Stop Light Up from eating system keypresses, which it was previously
doing whenever the cursor was active. [originally from svn r6258]
-rw-r--r--lightup.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/lightup.c b/lightup.c
index ad5d669..b2c9b28 100644
--- a/lightup.c
+++ b/lightup.c
@@ -1824,11 +1824,13 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
int x, int y, int button)
{
enum { NONE, FLIP_LIGHT, FLIP_IMPOSSIBLE } action = NONE;
- int cx = -1, cy = -1, cv = ui->cur_visible;
+ int cx = -1, cy = -1;
unsigned int flags;
- char buf[80], *nullret, *empty = "", c;
+ char buf[80], *nullret = NULL, *empty = "", c;
if (button == LEFT_BUTTON || button == RIGHT_BUTTON) {
+ if (ui->cur_visible)
+ nullret = empty;
ui->cur_visible = 0;
cx = FROMCOORD(x);
cy = FROMCOORD(y);
@@ -1855,13 +1857,9 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
ui->cur_x = min(max(ui->cur_x, 0), state->w - 1);
ui->cur_y = min(max(ui->cur_y, 0), state->h - 1);
ui->cur_visible = 1;
- }
-
- /* Always redraw if the cursor is on, or if it's just been
- * removed. */
- if (ui->cur_visible) nullret = empty;
- else if (cv) nullret = empty;
- else nullret = NULL;
+ nullret = empty;
+ } else
+ return NULL;
switch (action) {
case FLIP_LIGHT: