diff --git a/umbraco/cms/businesslogic/macro/Macro.cs b/umbraco/cms/businesslogic/macro/Macro.cs
index f93d0039b6..95c98fd4a1 100644
--- a/umbraco/cms/businesslogic/macro/Macro.cs
+++ b/umbraco/cms/businesslogic/macro/Macro.cs
@@ -474,17 +474,11 @@ namespace umbraco.cms.businesslogic.macro
/// A list of all macroes
public static Macro[] GetAll()
{
- int total = SqlHelper.ExecuteScalar("select count(*) from cmsMacro");
- int count = 0;
+ // zb-00001 #29927 : refactor
IRecordsReader dr = SqlHelper.ExecuteReader("select id from cmsMacro order by macroName");
- Macro[] retval = new Macro[total];
- while (dr.Read())
- {
- retval[count] = new Macro(dr.GetInt("id"));
- count++;
- }
- dr.Close();
- return retval;
+ var list = new System.Collections.Generic.List();
+ while (dr.Read()) list.Add(new Macro(dr.GetInt("id")));
+ return list.ToArray();
}
///