particles: fix mouse hover on non-primitive particles

If a ramp, map or progress-bar has an on-click handler, then the mouse
should _always_ reflect this.
This commit is contained in:
Daniel Eklöf 2021-07-02 16:36:09 +02:00
parent 0aef2f85ee
commit e11fe12c98
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 12 additions and 4 deletions

View file

@ -69,7 +69,6 @@ static void
on_mouse(struct exposable *exposable, struct bar *bar,
enum mouse_event event, enum mouse_button btn, int x, int y)
{
//const struct particle *p = exposable->particle;
const struct private *e = exposable->private;
if (exposable->on_click[btn] != NULL) {

View file

@ -66,7 +66,10 @@ on_mouse(struct exposable *exposable, struct bar *bar, enum mouse_event event,
const struct particle *p = exposable->particle;
const struct eprivate *e = exposable->private;
if (exposable->on_click[btn] != NULL) {
if ((event == ON_MOUSE_MOTION &&
exposable->particle->have_on_click_template) ||
exposable->on_click[btn] != NULL)
{
/* We have our own handler */
exposable_default_on_mouse(exposable, bar, event, btn, x, y);
return;

View file

@ -87,7 +87,10 @@ static void
on_mouse(struct exposable *exposable, struct bar *bar, enum mouse_event event,
enum mouse_button btn, int x, int y)
{
if (exposable->on_click == NULL) {
if ((event == ON_MOUSE_MOTION &&
exposable->particle->have_on_click_template) ||
exposable->on_click[btn] != NULL)
{
exposable_default_on_mouse(exposable, bar, event, btn, x, y);
return;
}

View file

@ -62,7 +62,10 @@ on_mouse(struct exposable *exposable, struct bar *bar, enum mouse_event event,
const struct particle *p = exposable->particle;
const struct eprivate *e = exposable->private;
if (exposable->on_click[btn] != NULL) {
if ((event == ON_MOUSE_MOTION &&
exposable->particle->have_on_click_template) ||
exposable->on_click[btn] != NULL)
{
/* We have our own handler */
exposable_default_on_mouse(exposable, bar, event, btn, x, y);
return;