summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/wmf-inout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extension/internal/wmf-inout.cpp')
-rw-r--r--src/extension/internal/wmf-inout.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/extension/internal/wmf-inout.cpp b/src/extension/internal/wmf-inout.cpp
index c7226a58a..a79af5ec1 100644
--- a/src/extension/internal/wmf-inout.cpp
+++ b/src/extension/internal/wmf-inout.cpp
@@ -95,7 +95,7 @@ Wmf::print_document_to_file(SPDocument *doc, const gchar *filename)
SPPrintContext context;
const gchar *oldconst;
gchar *oldoutput;
-
+ doc->getRoot()->c2p = doc->getRoot()->rotation.inverse() * doc->getRoot()->c2p;
doc->ensureUpToDate();
mod = Inkscape::Extension::get_print(PRINT_WMF);
@@ -115,6 +115,7 @@ Wmf::print_document_to_file(SPDocument *doc, const gchar *filename)
/* Print document */
if (mod->begin(doc)) {
g_free(oldoutput);
+ doc->getRoot()->c2p *= doc->getRoot()->rotation;
throw Inkscape::Extension::Output::save_failed();
}
mod->base->invoke_print(&context);
@@ -127,7 +128,7 @@ Wmf::print_document_to_file(SPDocument *doc, const gchar *filename)
mod->set_param_string("destination", oldoutput);
g_free(oldoutput);
-
+ doc->getRoot()->c2p *= doc->getRoot()->rotation;
return;
}
@@ -135,6 +136,8 @@ Wmf::print_document_to_file(SPDocument *doc, const gchar *filename)
void
Wmf::save(Inkscape::Extension::Output *mod, SPDocument *doc, gchar const *filename)
{
+ doc->getRoot()->c2p = doc->getRoot()->rotation.inverse() * doc->getRoot()->c2p;
+ doc->ensureUpToDate();
Inkscape::Extension::Extension * ext;
ext = Inkscape::Extension::db.get(PRINT_WMF);