summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/wpg-input.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-06-10 09:46:50 +0000
committerJon A. Cruz <jon@joncruz.org>2011-06-10 09:46:50 +0000
commit8bfebadcfb9a99361782320eab0183410a1fdabf (patch)
tree3c1a98d2f676d524a7fce256ba9a04083367f8af /src/extension/internal/wpg-input.cpp
parentimproving measurement tool (diff)
downloadinkscape-8bfebadcfb9a99361782320eab0183410a1fdabf.tar.gz
inkscape-8bfebadcfb9a99361782320eab0183410a1fdabf.zip
Modified build to conditionally build against either libwpg 0.1.x or 0.2.x. Fixes bug #778951.
Fixed bugs: - https://launchpad.net/bugs/778951 (bzr r10266)
Diffstat (limited to 'src/extension/internal/wpg-input.cpp')
-rw-r--r--src/extension/internal/wpg-input.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/extension/internal/wpg-input.cpp b/src/extension/internal/wpg-input.cpp
index 70fa28967..b6425b380 100644
--- a/src/extension/internal/wpg-input.cpp
+++ b/src/extension/internal/wpg-input.cpp
@@ -50,8 +50,11 @@
#include "document.h"
#include "libwpg/libwpg.h"
+#if WITH_LIBWPG01
#include "libwpg/WPGStreamImplementation.h"
-
+#elif WITH_LIBWPG02
+#include "libwpd-stream/libwpd-stream.h"
+#endif
using namespace libwpg;
@@ -62,9 +65,17 @@ namespace Internal {
SPDocument *
WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) {
+#if WITH_LIBWPG01
WPXInputStream* input = new libwpg::WPGFileStream(uri);
+#elif WITH_LIBWPG02
+ WPXInputStream* input = new WPXFileStream(uri);
+#endif
if (input->isOLEStream()) {
+#if WITH_LIBWPG01
WPXInputStream* olestream = input->getDocumentOLEStream();
+#elif WITH_LIBWPG02
+ WPXInputStream* olestream = input->getDocumentOLEStream("PerfectOffice_MAIN");
+#endif
if (olestream) {
delete input;
input = olestream;
@@ -79,7 +90,11 @@ WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) {
return NULL;
}
+#if WITH_LIBWPG01
libwpg::WPGString output;
+#elif WITH_LIBWPG02
+ WPXString output;
+#endif
if (!libwpg::WPGraphics::generateSVG(input, output)) {
delete input;
return NULL;