From 38057065c2b18bd455f150e32348a266ecfc1355 Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Sun, 29 Apr 2012 00:34:56 +0100 Subject: Fix bugs when moving signs Signs could not be repositioned on top of another sign (dependent on the indices of the two signs), and could not be placed after selecting an element from the menu. diff --git a/src/interface.c b/src/interface.c index 3ef7ed2..7f7ec65 100644 --- a/src/interface.c +++ b/src/interface.c @@ -150,15 +150,17 @@ void add_sign_ui(pixel *vid_buf, int mx, int my) int x0=(XRES-192)/2,y0=(YRES-80)/2,b=1,bq; ui_edit ed; + // if currently moving a sign, stop doing so + if (MSIGN!=-1) + { + MSIGN = -1; + return; + } + // check if it is an existing sign for (i=0; i=x && mx<=x+w && my>=y && my<=y+h) break; diff --git a/src/main.c b/src/main.c index 4e60674..683cd96 100644 --- a/src/main.c +++ b/src/main.c @@ -2305,7 +2305,7 @@ int main(int argc, char *argv[]) } } - if (c==WL_SIGN+100) + if (c==WL_SIGN+100 || MSIGN!=-1) // if sign tool is selected or a sign is being moved { if (!bq) add_sign_ui(vid_buf, x, y); -- cgit v0.9.2-21-gd62e