aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/composer/composer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp
index 556dad7e94..23a9d2ff85 100644
--- a/engines/composer/composer.cpp
+++ b/engines/composer/composer.cpp
@@ -381,11 +381,17 @@ void ComposerEngine::loadLibrary(uint id) {
filename = getStringFromConfig(_bookGroup, Common::String::format("%d", id));
filename = mangleFilename(filename);
+ // bookGroup is the basename of the path.
+ // TODO: tidy this up.
_bookGroup.clear();
for (uint i = 0; i < filename.size(); i++) {
- if (filename[i] == '\\' || filename[i] == ':')
+ if (filename[i] == '~' || filename[i] == '/' || filename[i] == ':')
continue;
for (uint j = 0; j < filename.size(); j++) {
+ if (filename[j] == '/') {
+ _bookGroup.clear();
+ continue;
+ }
if (filename[j] == '.')
break;
_bookGroup += filename[j];