diff --git a/src/usages_clang.cpp b/src/usages_clang.cpp index 4cba989..2398ab7 100644 --- a/src/usages_clang.cpp +++ b/src/usages_clang.cpp @@ -161,15 +161,16 @@ std::vector Usages::Clang::get_usages(const boost::filesy // Wait for current caching to finish std::unique_ptr message; - const std::string message_string = "Please wait while finding usages"; std::atomic canceled(false); - auto on_cancel = [&canceled] { - canceled = true; + auto create_message = [&canceled] { + return std::make_unique("Please wait while finding usages", [&canceled] { + canceled = true; + }, true); }; size_t tasks = cache_in_progress_count; std::atomic tasks_completed = {0}; if(tasks != 0) { - message = std::make_unique(message_string, std::move(on_cancel), true); + message = create_message(); while(cache_in_progress_count != 0) { message->set_fraction((static_cast(tasks - cache_in_progress_count) / tasks) / 10.0); while(Gtk::Main::events_pending()) @@ -219,7 +220,7 @@ std::vector Usages::Clang::get_usages(const boost::filesy if(!potential_paths.empty()) { tasks += potential_paths.size(); if(!message) - message = std::make_unique(message_string, std::move(on_cancel), true); + message = create_message(); std::vector threads; auto it = potential_paths.begin();