diff options
Diffstat (limited to 'mod/mod-builds.cxx')
-rw-r--r-- | mod/mod-builds.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mod/mod-builds.cxx b/mod/mod-builds.cxx index f260b72..b0de618 100644 --- a/mod/mod-builds.cxx +++ b/mod/mod-builds.cxx @@ -225,13 +225,19 @@ build_query (const brep::vector<brep::build_target_config_id>* config_ids, // Build result. // const string& rs (params.result ()); + bool add_state (true); if (rs != "*") { if (rs == "pending") + { q = q && qb::force != "unforced"; + } else if (rs == "building") + { q = q && qb::state == "building"; + add_state = false; + } else { query sq (qb::status == rs); @@ -259,8 +265,12 @@ build_query (const brep::vector<brep::build_target_config_id>* config_ids, // well (rebuild). // q = q && qb::state == "built" && sq; + add_state = false; } } + + if (add_state) + q = q && qb::state != "queued"; } catch (const invalid_argument&) { |