]> git.lyx.org Git - lyx.git/blobdiff - src/support/Path.cpp
Replace the text class shared ptr by good old index-into-global-list.
[lyx.git] / src / support / Path.cpp
index 890040580b8315e7ab577dcbc2e8659b81654baf..3bdf22ed0f11deb68a234738684e728b3226038b 100644 (file)
 
 #include <config.h>
 
-// Needed to prevent the definition of the unnamed_Path macro
-// in the header file.
-
-#define PATH_C
-
 #include "support/Path.h"
-#include "support/lyxlib.h"
+
+// undef PathChanger macro when building PathChanger
+#undef PathChanger
 
 
 namespace lyx {
@@ -26,9 +23,9 @@ PathChanger::PathChanger(FileName const & path)
        : popped_(false)
 {
        if (!path.empty()) {
-               pushedDir_ = getcwd();
+               pushedDir_ = FileName::getcwd();
 
-               if (pushedDir_.empty() || chdir(path)) {
+               if (pushedDir_.empty() || !path.chdir()) {
                        /* FIXME: throw */
                }
        } else {
@@ -52,7 +49,7 @@ int PathChanger::pop()
                return 0;
        }
 
-       if (chdir(pushedDir_)) {
+       if (!pushedDir_.chdir()) {
                // should throw an exception
                // throw DirChangeError();
        }
@@ -63,3 +60,7 @@ int PathChanger::pop()
 
 } // namespace support
 } // namespace lyx
+
+
+#define PathChanger(x) unnamed_PathChanger;
+// in merged builds this is not the last line.