From 4346f74c1d469b876916ba6761a13bc11369c8a9 Mon Sep 17 00:00:00 2001 From: "Ignacio R. Morelle" Date: Wed, 30 May 2012 22:38:34 +0000 Subject: [PATCH] addon/mg: Set the busy mouse cursor earlier The first call to available_addons() in show_addons_manager_dialog() has the potential to be extremely expensive due to filesystem traversal inefficiencies, so it's better to set the busy cursor at that point instead of right before building the list rows. --- src/addon/manager_ui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/addon/manager_ui.cpp b/src/addon/manager_ui.cpp index 2dc370bf350..36c1ed3fd38 100644 --- a/src/addon/manager_ui.cpp +++ b/src/addon/manager_ui.cpp @@ -469,6 +469,8 @@ sorted_addon_pointer_list sort_addons_list(addons_list& addons) void show_addons_manager_dialog(display& disp, addons_client& client, addons_list& addons, std::string& last_addon_id, bool& stay_in_ui, bool& wml_changed, addons_filter_state& filter) { + boost::scoped_ptr cursor_setter(new cursor::setter(cursor::WAIT)); + stay_in_ui = false; filter.changed = false; @@ -534,8 +536,6 @@ void show_addons_manager_dialog(display& disp, addons_client& client, addons_lis // information. // - boost::scoped_ptr cursor_setter(new cursor::setter(cursor::WAIT)); - const sorted_addon_pointer_list& sorted_addons = sort_addons_list(addons); foreach(const sorted_addon_pointer_list::value_type& sorted_entry, sorted_addons) {