Voyager-xbmc/xbmc — comment on commit 8a5e3cc7a49fb03a5b0fad400d245a4e3e455bfb
File:  line 0
By Voyager-xbmc:

CApplication::PlayFile of a disc stub calls MEDIA_DETECT::CAutorun::PlayDisc... which calls CAutorun::RunDisc... which calls CUtil::PlayDVD... which calls CApplication::PlayFile. And we're back in CApplication::PlayFile. However at this point m_itemCurrentFile is still pointing to the stub.
PlayFile doesn't set m_itemCurrentFile, unless restart is false.

After considering all this, I think the code is the simplest way to fix it.