summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadek Doulik <rodo@novell.com>2011-02-09 17:37:06 +0100
committerRadek Doulik <rodo@novell.com>2011-02-09 17:37:06 +0100
commitefea15b58849e766c2df81fe766e1ca5b93d2bb3 (patch)
tree7d1336ed9a23c96f2a28dfb2f21a88048c6abadc
parentd2e9b3ada08db9e00b0b3b48ae4a4f96afffc06a (diff)
reenable emf+ support again, backport emf+ fix from masterooo-build-3-2-1
* patches/dev300/apply: * patches/dev300/svtools-disable-emf-plus.diff: * patches/dev300/vcl-gdimtf-play-use-canvas.diff:
-rw-r--r--patches/dev300/apply2
-rw-r--r--patches/dev300/svtools-disable-emf-plus.diff24
-rw-r--r--patches/dev300/vcl-gdimtf-play-use-canvas.diff34
3 files changed, 35 insertions, 25 deletions
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 66fe0d98f..0266d628e 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -4172,4 +4172,4 @@ oox-pptx-import-backport-from-LO-fix-zero-sized-shapes.diff, n#650051, rodo
vcl-canvastools-fix-crash.diff, n#654065, rodo
filter-fix-too-broad-deep-search.diff, rodo
slideshow-fix-rendering-order.diff, n#656934, rodo
-svtools-disable-emf-plus.diff, n#650049, rodo
+vcl-gdimtf-play-use-canvas.diff, n#650049, rodo
diff --git a/patches/dev300/svtools-disable-emf-plus.diff b/patches/dev300/svtools-disable-emf-plus.diff
deleted file mode 100644
index 80a823894..000000000
--- a/patches/dev300/svtools-disable-emf-plus.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -rup svtools/source/filter.vcl/wmf-orig/enhwmf.cxx svtools/source/filter.vcl/wmf/enhwmf.cxx
---- svtools/source/filter.vcl/wmf-orig/enhwmf.cxx 2011-01-26 14:48:00.000000000 +0100
-+++ svtools/source/filter.vcl/wmf/enhwmf.cxx 2011-01-26 14:53:30.000000000 +0100
-@@ -344,10 +344,17 @@ BOOL EnhWMFReader::ReadEnhWMF()
- sal_Bool bHaveDC = false;
-
- #ifdef UNX
-- static sal_Bool bEnableEMFPlus = ( getenv( "EMF_PLUS_DISABLE" ) == NULL );
-+ static sal_Bool bEnableEMFPlus = sal_False; // disable it for now as
-+ // drawing layer changed the
-+ // way the editing mode is
-+ // rendered and emf+ support
-+ // doesn't work anymore
-+ // ( getenv( "EMF_PLUS_DISABLE" ) == NULL );
- #else
- // TODO: make it possible to disable emf+ on windows
-- static sal_Bool bEnableEMFPlus = sal_True;
-+ // static sal_Bool bEnableEMFPlus = sal_True;
-+ // disable it on windows as well (see above)
-+ static sal_Bool bEnableEMFPlus = sal_False;
- #endif
-
- while( bStatus && nRecordCount-- )
-Only in svtools/source/filter.vcl/wmf: enhwmf.cxx~
diff --git a/patches/dev300/vcl-gdimtf-play-use-canvas.diff b/patches/dev300/vcl-gdimtf-play-use-canvas.diff
new file mode 100644
index 000000000..65cb29b10
--- /dev/null
+++ b/patches/dev300/vcl-gdimtf-play-use-canvas.diff
@@ -0,0 +1,34 @@
+commit 7de8695f19626c764a4b43cfb30179525d9a5956
+Author: Radek Doulik <rodo@novell.com>
+Date: Wed Feb 9 16:02:42 2011 +0100
+
+ GDIMetaFile::bUseCanvas related changes (prerequisite for fixing n#650049)
+
+ - add GetUseCanvas() for read access
+ - update bUseCanvas when playing on metafile
+
+diff --git vcl/inc/vcl/gdimtf.hxx vcl/inc/vcl/gdimtf.hxx
+index 14cc127..4bf3d46 100644
+--- vcl/inc/vcl/gdimtf.hxx
++++ vcl/inc/vcl/gdimtf.hxx
+@@ -247,6 +247,7 @@ public:
+ BOOL CreateThumbnail( sal_uInt32 nMaximumExtent, BitmapEx& rBmpEx, const BitmapEx* pOverlay = NULL, const Rectangle* pOverlayRect = NULL ) const;
+
+ void UseCanvas( BOOL _bUseCanvas );
++ BOOL GetUseCanvas() const { return bUseCanvas; }
+ };
+
+ /** Create a special metaaction that delegates rendering to specified
+diff --git vcl/source/gdi/gdimtf.cxx vcl/source/gdi/gdimtf.cxx
+index 75ff2f8..faf0d02 100644
+--- vcl/source/gdi/gdimtf.cxx
++++ vcl/source/gdi/gdimtf.cxx
+@@ -437,6 +437,8 @@ void GDIMetaFile::Play( GDIMetaFile& rMtf, ULONG nPos )
+ MetaAction* pAction = GetCurAction();
+ const ULONG nObjCount = Count();
+
++ rMtf.UseCanvas( rMtf.GetUseCanvas() | bUseCanvas );
++
+ if( nPos > nObjCount )
+ nPos = nObjCount;
+