forked from external/yambar
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:
parent
0aef2f85ee
commit
e11fe12c98
4 changed files with 12 additions and 4 deletions
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue