]> git.lyx.org Git - features.git/commitdiff
* GuiDocument.cpp (dispatchParams):
authorJürgen Spitzmüller <spitz@lyx.org>
Thu, 8 Jan 2009 07:59:37 +0000 (07:59 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Thu, 8 Jan 2009 07:59:37 +0000 (07:59 +0000)
- do not set master buffer and warn if the master does not include child
- issue warning if the master could not be loaded.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28033 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiDocument.cpp

index 0ad171b5aaf72f3d2e4f8a4181c1fa6fae88ca57..23baa30ce6cf8d3730c8082ee518c5cfbee374d6 100644 (file)
@@ -2365,7 +2365,19 @@ void GuiDocument::dispatchParams()
                           support::onlyPath(buffer().absFileName()));
                if (isLyXFilename(master_file.absFilename())) {
                        Buffer * master = checkAndLoadLyXFile(master_file);
-                       const_cast<Buffer &>(buffer()).setParent(master);
+                       if (master) {
+                               if (master->isChild(const_cast<Buffer *>(&buffer())))
+                                       const_cast<Buffer &>(buffer()).setParent(master);
+                               else
+                                       Alert::warning(_("Assigned master does not include this file"), 
+                                               bformat(_("You must include this file in the document\n"
+                                                         "'%1$s' in order to use the master document\n"
+                                                         "feature."), from_utf8(params().master)));
+                       } else
+                               Alert::warning(_("Could not load master"), 
+                                               bformat(_("The master file '%1$s'\n"
+                                                          "could not be loaded."),
+                                                          from_utf8(params().master)));
                }
        }