forked from external/yambar
Fix miscalculation of list width in presence of empty particles
This commit is contained in:
parent
c44c66c83f
commit
53dec73ed2
3 changed files with 10 additions and 6 deletions
|
@ -47,6 +47,7 @@
|
||||||
* script: buffer overflow when reading large amounts of data.
|
* script: buffer overflow when reading large amounts of data.
|
||||||
* i3/sway: module fails when reloading config file ([#361][361]).
|
* i3/sway: module fails when reloading config file ([#361][361]).
|
||||||
* Worked around bug in gcc causing a compilation error ([#350][350]).
|
* Worked around bug in gcc causing a compilation error ([#350][350]).
|
||||||
|
* Miscalculation of list width in presence of empty particles ([#369][369]).
|
||||||
|
|
||||||
[311]: https://codeberg.org/dnkl/yambar/issues/311
|
[311]: https://codeberg.org/dnkl/yambar/issues/311
|
||||||
[302]: https://codeberg.org/dnkl/yambar/issues/302
|
[302]: https://codeberg.org/dnkl/yambar/issues/302
|
||||||
|
@ -55,6 +56,7 @@
|
||||||
[352]: https://codeberg.org/dnkl/yambar/issues/352
|
[352]: https://codeberg.org/dnkl/yambar/issues/352
|
||||||
[361]: https://codeberg.org/dnkl/yambar/issues/361
|
[361]: https://codeberg.org/dnkl/yambar/issues/361
|
||||||
[350]: https://codeberg.org/dnkl/yambar/issues/350
|
[350]: https://codeberg.org/dnkl/yambar/issues/350
|
||||||
|
[369]: https://codeberg.org/dnkl/yambar/issues/369
|
||||||
|
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
|
@ -71,7 +71,8 @@ dynlist_expose(const struct exposable *exposable, pixman_image_t *pix, int x, in
|
||||||
for (size_t i = 0; i < e->count; i++) {
|
for (size_t i = 0; i < e->count; i++) {
|
||||||
const struct exposable *ee = e->exposables[i];
|
const struct exposable *ee = e->exposables[i];
|
||||||
ee->expose(ee, pix, x + left_spacing, y, height);
|
ee->expose(ee, pix, x + left_spacing, y, height);
|
||||||
x += left_spacing + e->widths[i] + right_spacing;
|
if (e->widths[i] > 0)
|
||||||
|
x += left_spacing + e->widths[i] + right_spacing;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,8 +96,8 @@ on_mouse(struct exposable *exposable, struct bar *bar,
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (e->exposables[i]->width > 0)
|
||||||
px += e->left_spacing + e->exposables[i]->width + e->right_spacing;
|
px += e->left_spacing + e->exposables[i]->width + e->right_spacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DBG("on_mouse missed all sub-particles");
|
LOG_DBG("on_mouse missed all sub-particles");
|
||||||
|
|
|
@ -80,7 +80,8 @@ expose(const struct exposable *exposable, pixman_image_t *pix, int x, int y, int
|
||||||
for (size_t i = 0; i < e->count; i++) {
|
for (size_t i = 0; i < e->count; i++) {
|
||||||
const struct exposable *ee = e->exposables[i];
|
const struct exposable *ee = e->exposables[i];
|
||||||
ee->expose(ee, pix, x + left_spacing, y, height);
|
ee->expose(ee, pix, x + left_spacing, y, height);
|
||||||
x += left_spacing + e->widths[i] + right_spacing;
|
if (e->widths[i] > 0)
|
||||||
|
x += left_spacing + e->widths[i] + right_spacing;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,8 +110,8 @@ on_mouse(struct exposable *exposable, struct bar *bar,
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (e->exposables[i]->width > 0)
|
||||||
px += e->left_spacing + e->exposables[i]->width + e->right_spacing;
|
px += e->left_spacing + e->exposables[i]->width + e->right_spacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We're between sub-particles (or in the left/right margin) */
|
/* We're between sub-particles (or in the left/right margin) */
|
||||||
|
|
Loading…
Add table
Reference in a new issue