summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc_gui.c5
-rw-r--r--player_gui.c1
-rw-r--r--widget.c2
-rw-r--r--window.c1
4 files changed, 2 insertions, 7 deletions
diff --git a/misc_gui.c b/misc_gui.c
index 8e9bfbb86..c3dc9dc9e 100644
--- a/misc_gui.c
+++ b/misc_gui.c
@@ -735,12 +735,7 @@ void UnclickSomeWindowButtons(Window *w, uint32 mask)
void UnclickWindowButtons(Window *w)
{
- bool sticky = false;
- if (w->desc_flags & WDF_STICKY_BUTTON && HASBIT(w->click_state, 2)) sticky = true;
-
UnclickSomeWindowButtons(w, (uint32)-1);
-
- if (sticky) SETBIT(w->click_state, 2);
}
diff --git a/player_gui.c b/player_gui.c
index 67fa40041..26561b8a1 100644
--- a/player_gui.c
+++ b/player_gui.c
@@ -235,7 +235,6 @@ static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_sti
WP(w,def_d).data_1 = mode;
if (show_stickied) {
w->flags4 |= WF_STICKY;
- w->click_state ^= (1 << 3);
}
}
}
diff --git a/widget.c b/widget.c
index 8d0d3ad58..9e1c4a213 100644
--- a/widget.c
+++ b/widget.c
@@ -394,6 +394,8 @@ void DrawWindowWidgets(const Window *w)
case WWT_STICKYBOX: {
assert(r.right - r.left == 11); // XXX - to ensure the same sizes are used everywhere!
+
+ clicked = !!(w->flags4 & WF_STICKY);
DrawFrameRect(r.left, r.top, r.right, r.bottom, wi->color, (clicked) ? FR_LOWERED : 0);
DrawSprite((clicked) ? SPR_PIN_UP : SPR_PIN_DOWN, r.left + 2 + clicked, r.top + 3 + clicked);
break;
diff --git a/window.c b/window.c
index be2f8d408..3398081a8 100644
--- a/window.c
+++ b/window.c
@@ -74,7 +74,6 @@ static void DispatchLeftClickEvent(Window* w, int x, int y)
}
if (w->desc_flags & WDF_STICKY_BUTTON && wi->type == WWT_STICKYBOX) {
- TOGGLEBIT(w->click_state, e.click.widget);
w->flags4 ^= WF_STICKY;
InvalidateWidget(w, e.click.widget);
return;