xbmc/xbmc — pull request #1128 by jmarshallnz (2012-07-07 07:21:47+00:00)
Title: Separate db update from CDatabase::Open()

We've been talking about this for a while. This is an attempt.

There's a couple of gotchas. The first is that the addon manager is configured very early, thus the Addon Database has to be updated early (before the addon manager). The rest are happy with things done in Initialize(). The second is we need to re-initialize everything on profile switch.

There's the potential that this could be threaded if we want - CDatabaseManager::CanOpen() would have to be blocking if so - personally I find it only takes about 5 seconds or so to update from quite old databases on load, so possibly not worth it.