Repository navigation
Commit e6ac8fa
committed
Fix LFP Viewer assertion when channels hang off the channel bitmap
Since the channel bitmap became a viewport-sized window, pxPaint() and
pxPaintHistory() measure each channel from channelBitmapYOrigin rather
than from the top of the whole channel stack. The two clamps that bound
the channel span were left as they were, and each of them only moves one
end of that span: jfrom is raised to 0 and jto is lowered to the last row
of the bitmap. A channel sitting above or below the bitmap window
therefore ends up with jto < jfrom.
LfpDisplay::refresh paints every channel that overlaps the bitmap window
at all, so the channels straddling its top and bottom edges are painted
in exactly that state on every refresh. The yellow playhead fillRect and
drawEventOverlay then receive a negative height, which trips the
jassertquiet in juce_GraphicsContext.cpp and floods the console of a
Debug build.
A negative-height rectangle is already a no-op in JUCE, so skipping the
draw when the clipped span is empty leaves rendering unchanged and only
removes the assertion. Also corrects the LfpDisplay doc comment, which
still described the bitmap as spanning the sum of all channel heights.
Adds a regression test that scrolls a tall channel stack past the
viewport and asserts that no JUCE assertion reaches stderr.
Fixes #7051 parent 560c995 commit e6ac8fa
3 files changed
Lines changed: 73 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
157 | 164 | | |
158 | | - | |
| 165 | + | |
159 | 166 | | |
160 | 167 | | |
161 | 168 | | |
| |||
433 | 440 | | |
434 | 441 | | |
435 | 442 | | |
436 | | - | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
437 | 448 | | |
438 | 449 | | |
439 | 450 | | |
| |||
698 | 709 | | |
699 | 710 | | |
700 | 711 | | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
701 | 715 | | |
702 | 716 | | |
703 | 717 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
| |||
602 | 605 | | |
603 | 606 | | |
604 | 607 | | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
0 commit comments