projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ignore H-scroll events while scrollbar is begin updated.
[pulseview.git]
/
pv
/
view
/
view.cpp
diff --git
a/pv/view/view.cpp
b/pv/view/view.cpp
index 34676334dc67867ba9b17fa064498232693e74e0..0f9edb3f39719d53a2d991f2a25383e89386e0e6 100644
(file)
--- a/
pv/view/view.cpp
+++ b/
pv/view/view.cpp
@@
-70,6
+70,7
@@
View::View(SigSession &session, QWidget *parent) :
_scale(1e-6),
_offset(0),
_v_offset(0),
_scale(1e-6),
_offset(0),
_v_offset(0),
+ _updating_scroll(false),
_show_cursors(false),
_cursors(pair<Cursor, Cursor>(Cursor(*this, 0.0),
Cursor(*this, 1.0))),
_show_cursors(false),
_cursors(pair<Cursor, Cursor>(Cursor(*this, 0.0),
Cursor(*this, 1.0))),
@@
-210,6
+211,8
@@
void View::update_scroll()
horizontalScrollBar()->setPageStep(areaSize.width());
horizontalScrollBar()->setPageStep(areaSize.width());
+ _updating_scroll = true;
+
if (length < MaxScrollValue) {
horizontalScrollBar()->setRange(0, length);
horizontalScrollBar()->setSliderPosition(offset);
if (length < MaxScrollValue) {
horizontalScrollBar()->setRange(0, length);
horizontalScrollBar()->setSliderPosition(offset);
@@
-219,6
+222,8
@@
void View::update_scroll()
_offset * MaxScrollValue / (_scale * length));
}
_offset * MaxScrollValue / (_scale * length));
}
+ _updating_scroll = false;
+
// Set the vertical scrollbar
verticalScrollBar()->setPageStep(areaSize.height());
verticalScrollBar()->setRange(0,
// Set the vertical scrollbar
verticalScrollBar()->setPageStep(areaSize.height());
verticalScrollBar()->setRange(0,
@@
-290,6
+295,9
@@
void View::resizeEvent(QResizeEvent*)
void View::h_scroll_value_changed(int value)
{
void View::h_scroll_value_changed(int value)
{
+ if (_updating_scroll)
+ return;
+
const int range = horizontalScrollBar()->maximum();
if (range < MaxScrollValue)
_offset = _scale * value;
const int range = horizontalScrollBar()->maximum();
if (range < MaxScrollValue)
_offset = _scale * value;