How annoying. Why don’t the developers put optional parameters at the end? That is all it would take to keep the API from breaking. I just don’t get it…
Here is the fix:
row.template_list("UI_UL_list","",ob, "meshfoot_List", ob, "meshfoot_List_Index",3,5) # This show list for the collection
Notice that we now have to put “UI_UL_list”,"" before we list our obj.
If you look at the UIList page that codemanx posted, it says this:
# template_list now takes two new args.
# The first one is the identifier of the registered UIList to use (if you want only the default list,
# with no custom draw code, use "UI_UL_list").
This wasn’t just about a new parameter, we got a whole new RNA type UILayout to allow icons per item. And the limitations of template_list were removed, previously, you could have only one list per panel. API had to change, and the new possibilities are great!