diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2019-01-03 00:09:09 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2019-01-16 07:48:20 +0100 |
commit | 545071e998806235442edda5f575ee61e836abe9 (patch) | |
tree | 45579d717361f24c6f4a06354f5836447e691771 /spline | |
parent | 4766be01022d6de50f7b42647299860c2d9909b8 (diff) |
cruft
Diffstat (limited to 'spline')
-rw-r--r-- | spline/spline-widget.cpp | 5 | ||||
-rw-r--r-- | spline/spline.cpp | 27 |
2 files changed, 16 insertions, 16 deletions
diff --git a/spline/spline-widget.cpp b/spline/spline-widget.cpp index 7c92094d..bfe8aff1 100644 --- a/spline/spline-widget.cpp +++ b/spline/spline-widget.cpp @@ -31,7 +31,10 @@ spline_widget::spline_widget(QWidget *parent) : QWidget(parent) spline_widget::~spline_widget() { if (connection) + { QObject::disconnect(connection); + connection = {}; + } } void spline_widget::setConfig(base_spline* spl) @@ -39,7 +42,7 @@ void spline_widget::setConfig(base_spline* spl) if (connection) { QObject::disconnect(connection); - connection = QMetaObject::Connection(); + connection = {}; } config = spl; diff --git a/spline/spline.cpp b/spline/spline.cpp index 5381a28e..50812bad 100644 --- a/spline/spline.cpp +++ b/spline/spline.cpp @@ -127,7 +127,7 @@ QPointF spline::ensure_in_bounds(const QList<QPointF>& points, int i) int spline::element_count(const QList<QPointF>& points, double max_input) { - const unsigned sz = points.size(); + const unsigned sz = (unsigned)points.size(); for (unsigned k = 0; k < sz; k++) { const QPointF& pt = points[k]; @@ -310,9 +310,6 @@ void spline::save() void spline::invalidate_settings() { - // we're holding the mutex to allow signal disconnection in spline dtor - // before this slot gets called for the next time - { QMutexLocker l(&mtx); validp = false; @@ -373,19 +370,19 @@ void spline::ensure_valid(points_t& list) const std::stable_sort(list.begin(), list.end(), sort_fn); - const int sz = list.size(); + const unsigned sz = (unsigned)list.size(); - QList<QPointF> all_points, tmp; - all_points.reserve(sz); tmp.reserve(sz); + QList<QPointF> tmp_points, all_points; + tmp_points.reserve(sz); all_points.reserve(sz); const double maxx = max_input(); - for (int i = 0; i < sz; i++) + for (unsigned i = 0; i < sz; i++) { QPointF& pt{list[i]}; bool overlap = false; - for (int j = i+1; j < sz; j++) + for (unsigned j = i+1; j < sz; j++) { const QPointF& pt2{list[j]}; const QPointF tmp(pt - pt2); @@ -400,27 +397,27 @@ void spline::ensure_valid(points_t& list) const if (!overlap) { - tmp.append(pt); // all points total + all_points.append(pt); // all points total // points within selected limit, for use in `update_interp_data' if (pt.x() - 1e-4 <= maxx && pt.x() >= 0) - all_points.push_back(pt); + tmp_points.push_back(pt); } } // simply storing to s->points fires bundle::changed leading to a livelock // hence only store if we can't help it - if (tmp.size() < points.size()) + if (all_points.size() < points.size()) { // all points that don't overlap - points = std::move(tmp); + points = std::move(all_points); s->points = points; } - if (all_points.size() < list.size()) + if (tmp_points.size() < list.size()) // points that are within currently-specified bounds - list = std::move(all_points); + list = std::move(tmp_points); last_input_value = {}; activep = false; |