]> git.sesse.net Git - casparcg/blobdiff - common/diagnostics/graph.cpp
2.0.2: - graph: Fixed potential buffer overflow.
[casparcg] / common / diagnostics / graph.cpp
index 50f0455601e9a144d46f79690cffee765bbd9683..3e40b4dcb26236685dec1be54f925029eb125661 100644 (file)
@@ -58,9 +58,10 @@ class context : public drawable
 public:                                        \r
 \r
        template<typename Func>\r
-       static auto begin_invoke(Func&& func) -> boost::unique_future<decltype(func())> // noexcept\r
+       static void begin_invoke(Func&& func) // noexcept\r
        {       \r
-               return get_instance().executor_.begin_invoke(std::forward<Func>(func)); \r
+               if(get_instance().executor_.size() < 1024)\r
+                       get_instance().executor_.begin_invoke(std::forward<Func>(func));        \r
        }\r
 \r
        static void register_drawable(const std::shared_ptr<drawable>& drawable)\r
@@ -249,7 +250,7 @@ public:
 \r
                if(!tick_data_.empty())\r
                {\r
-                       float sum = std::accumulate(tick_data_.begin(), tick_data_.end(), 0.0) + std::numeric_limits<float>::min();\r
+                       float sum = *std::max_element(tick_data_.begin(), tick_data_.end()) + std::numeric_limits<float>::min();\r
                        line_data_.push_back(std::make_pair(static_cast<float>(sum)/static_cast<float>(tick_data_.size()), tick_tag_));\r
                        tick_data_.clear();\r
                }\r