diff -r 808caa51b78b -r e0b83131558d controlpanelplugins/themeplugin/src/cpthemechanger.cpp --- a/controlpanelplugins/themeplugin/src/cpthemechanger.cpp Wed Jul 14 07:09:46 2010 +0800 +++ b/controlpanelplugins/themeplugin/src/cpthemechanger.cpp Fri Jul 23 11:04:51 2010 +0800 @@ -93,15 +93,15 @@ /*! Change a theme. Returns true on success, false otherwise. */ -bool CpThemeChanger::changeTheme(const QString& newTheme) +bool CpThemeChanger::changeTheme(const CpThemeInfo& newTheme) { bool result = false; // Skip doing this if the request is for the current theme - if (newTheme.isEmpty() || newTheme == mCurrentTheme->name()) { + if (newTheme.name().isEmpty() || (mCurrentTheme && newTheme.name() == mCurrentTheme->name())) { return result; } - QString themePath = CpThemeUtil::themePath(newTheme); + QString themePath = newTheme.itemData(); if(!themePath.isEmpty()) { HbThemeServices::setTheme(themePath);