From 5050f39798a90e9fb8b13789ef7d5b31adbf9f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Tue, 12 Apr 2011 12:48:59 +0100 Subject: [PATCH] merge patches, etc. --- .gitignore | 1 - ...an-Knot-of-who-owns-the-font-options.patch | 147 -- ...872-cancel-gtk-file-dialog-on-deskto.patch | 152 -- ...460-don-t-bother-with-an-interim-Fon.patch | 91 - ...460-reorganize-this-to-make-it-inher.patch | 320 --- ...684477-make-sure-this-is-thread-safe.patch | 69 - ...hack.-Cursor-on-post-it-now-scrolls-.patch | 37 - ...09-i62414-out-by-one-breaks-CTL-spel.patch | 104 - ...50-i94623-use-optimal-border-width-w.patch | 34 - ...es-rhbz-670020-crash-in-slidesorting.patch | 26 - ...2818-bandaid-for-crash-in-SwTxtNode-.patch | 29 - ...bz-674330-dereference-of-NULL-mpBase.patch | 27 - ...6539-handle-missing-pWindows-from-xW.patch | 44 - ...0460-honour-lcdfilter-subpixeling-et.patch | 223 --- ...solves-rhbz-681159-bandaid-for-crash.patch | 34 - ...2621-better-resizing-of-overtall-gly.patch | 129 -- ...2716-pa-IN-isn-t-handled-by-fontconf.patch | 29 - ...4580-X-and-strike-through-escapes-ra.patch | 130 -- ...hbz-684620-crash-with-NULL-pTableBox.patch | 25 - ...font_face_create_for_pattern-wrapper.patch | 50 - ...flat-xml-types-to-.desktop-files-etc.patch | 573 ------ 0001-beware-of-invalidated-iterator.patch | 31 - 0001-fexceptions-fexceptions.patch | 31 - ...-ctxt-after-taking-lastError-details.patch | 34 - ...-rhbz-655686-get-order-of-shutdown-c.patch | 388 ++-- 0001-install-high-resolution-icons.patch | 34 - ...t-crash-deregistering-diff.-platform.patch | 210 -- ...ent-position-when-shift-page-up-and-.patch | 44 - 0001-set-mime-types-on-flat-xml-filters.patch | 67 - ...-don-t-bail-out-on-mislength-records.patch | 209 -- libreoffice-bootstrap-kde.patch | 26 - libreoffice-fdo33947.sd.print.crash.patch | 13 - libreoffice-gcc4.6.0.patch | 294 --- libreoffice.spec | 177 +- ...123.ooo53397.prelinkoptimize.desktop.patch | 111 -- ...2.0.gccXXXXX.solenv.javaregistration.patch | 53 - ...fice.org-2.4.0.ooo86080.unopkg.bodge.patch | 10 +- ....org-3.0.0.ooo88341.sc.verticalboxes.patch | 125 +- ...org-3.1.0.ooo102061.sc.cellanchoring.patch | 1764 ----------------- ...g-3.1.0.oooXXXXX.solenv.allowmissing.patch | 48 +- ...1.1.ooo105784.vcl.sniffscriptforsubs.patch | 21 +- rhbz680766.fix-mdds-crash.patch | 13 - sources | 1 - turn-script-providers-into-extensions.patch | 395 ---- vbahelper.visibility.patch | 23 - 45 files changed, 449 insertions(+), 5947 deletions(-) delete mode 100644 0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch delete mode 100644 0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch delete mode 100644 0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch delete mode 100644 0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch delete mode 100644 0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch delete mode 100644 0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch delete mode 100644 0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch delete mode 100644 0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch delete mode 100644 0001-Resolves-rhbz-670020-crash-in-slidesorting.patch delete mode 100644 0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch delete mode 100644 0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch delete mode 100644 0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch delete mode 100644 0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch delete mode 100644 0001-Resolves-rhbz-681159-bandaid-for-crash.patch delete mode 100644 0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch delete mode 100644 0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch delete mode 100644 0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch delete mode 100644 0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch delete mode 100644 0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch delete mode 100644 0001-add-flat-xml-types-to-.desktop-files-etc.patch delete mode 100644 0001-beware-of-invalidated-iterator.patch delete mode 100644 0001-fexceptions-fexceptions.patch delete mode 100644 0001-free-ctxt-after-taking-lastError-details.patch delete mode 100644 0001-install-high-resolution-icons.patch delete mode 100644 0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch delete mode 100644 0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch delete mode 100644 0001-set-mime-types-on-flat-xml-filters.patch delete mode 100644 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch delete mode 100644 libreoffice-bootstrap-kde.patch delete mode 100644 libreoffice-fdo33947.sd.print.crash.patch delete mode 100644 libreoffice-gcc4.6.0.patch delete mode 100644 openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch delete mode 100644 openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch delete mode 100644 openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch delete mode 100644 rhbz680766.fix-mdds-crash.patch delete mode 100644 turn-script-providers-into-extensions.patch delete mode 100644 vbahelper.visibility.patch diff --git a/.gitignore b/.gitignore index 8f435f9..144d88b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ /a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip /ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip /fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz -/cf8a6967f7de535ae257fa411c98eb88-mdds_0.3.0.tar.bz2 /17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip /redhat-langpacks.tar.gz /libreoffice-artwork-3.3.2.2.tar.bz2 diff --git a/0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch b/0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch deleted file mode 100644 index ada49b5..0000000 --- a/0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 22ec51681687c4d700336603f6f37e981ad37bf2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 22 Mar 2011 12:59:42 +0000 -Subject: [PATCH] Cut Gordian Knot of who owns the font options - ---- - vcl/inc/vcl/glyphcache.hxx | 8 +++++--- - vcl/source/glyphs/gcach_ftyp.cxx | 5 ++--- - vcl/source/glyphs/gcach_ftyp.hxx | 6 +++--- - vcl/source/glyphs/glyphcache.cxx | 2 -- - vcl/unx/source/gdi/salgdi3.cxx | 8 ++++---- - 5 files changed, 14 insertions(+), 15 deletions(-) - -diff --git a/vcl/inc/vcl/glyphcache.hxx b/vcl/inc/vcl/glyphcache.hxx -index 351eb13..6a375a4 100644 ---- a/vcl/inc/vcl/glyphcache.hxx -+++ b/vcl/inc/vcl/glyphcache.hxx -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - - namespace basegfx { class B2DPolyPolygon; } - -@@ -182,8 +183,9 @@ - virtual bool TestFont() const { return true; } - virtual void* GetFtFace() const { return 0; } - virtual int GetLoadFlags() const { return 0; } -- virtual void SetFontOptions( const ImplFontOptions*) {} -- virtual const ImplFontOptions* GetFontOptions() const { return 0; } -+ virtual void SetFontOptions( boost::shared_ptr ) {} -+ virtual boost::shared_ptr GetFontOptions() const -+ { return boost::shared_ptr(); } - virtual bool NeedsArtificialBold() const { return false; } - virtual bool NeedsArtificialItalic() const { return false; } - -@@ -261,7 +263,7 @@ - { - private: - ServerFont* mpServerFont; -- ImplFontOptions* mpFontOptions; -+ boost::shared_ptr mpFontOptions; - bool mbGotFontOptions; - - public: -diff --git a/vcl/source/glyphs/gcach_ftyp.cxx b/vcl/source/glyphs/gcach_ftyp.cxx -index 3de5082..d482916 100644 ---- a/vcl/source/glyphs/gcach_ftyp.cxx -+++ b/vcl/source/glyphs/gcach_ftyp.cxx -@@ -769,7 +769,6 @@ FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontIn - mpFontInfo( pFI ), - maFaceFT( NULL ), - maSizeFT( NULL ), -- mpFontOptions( NULL ), - mbFaceOk( false ), - maRecodeConverter( NULL ), - mpLayoutEngine( NULL ) -@@ -915,7 +914,7 @@ FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontIn - mnLoadFlags |= FT_LOAD_NO_BITMAP; - } - --void FreetypeServerFont::SetFontOptions( const ImplFontOptions* pFontOptions) -+void FreetypeServerFont::SetFontOptions( boost::shared_ptr pFontOptions) - { - mpFontOptions = pFontOptions; - -@@ -970,7 +969,7 @@ void FreetypeServerFont::SetFontOptions( const ImplFontOptions* pFontOptions) - mnLoadFlags |= FT_LOAD_NO_BITMAP; - } - --const ImplFontOptions* FreetypeServerFont::GetFontOptions() const -+boost::shared_ptr FreetypeServerFont::GetFontOptions() const - { - return mpFontOptions; - } -diff --git a/vcl/source/glyphs/gcach_ftyp.hxx b/vcl/source/glyphs/gcach_ftyp.hxx -index 8ebef45..0af4ed1 100644 ---- a/vcl/source/glyphs/gcach_ftyp.hxx -+++ b/vcl/source/glyphs/gcach_ftyp.hxx -@@ -191,8 +191,8 @@ public: - virtual int GetFontFaceNum() const { return mpFontInfo->GetFaceNum(); } - virtual bool TestFont() const; - virtual void* GetFtFace() const; -- virtual void SetFontOptions( const ImplFontOptions*); -- virtual const ImplFontOptions* GetFontOptions() const; -+ virtual void SetFontOptions( boost::shared_ptr ); -+ virtual boost::shared_ptr GetFontOptions() const; - virtual int GetLoadFlags() const { return (mnLoadFlags & ~FT_LOAD_IGNORE_TRANSFORM); } - virtual bool NeedsArtificialBold() const { return mbArtBold; } - virtual bool NeedsArtificialItalic() const { return mbArtItalic; } -@@ -239,7 +239,7 @@ private: - FT_FaceRec_* maFaceFT; - FT_SizeRec_* maSizeFT; - -- const ImplFontOptions* mpFontOptions; -+ boost::shared_ptr mpFontOptions; - - bool mbFaceOk; - bool mbArtItalic; -diff --git a/vcl/source/glyphs/glyphcache.cxx b/vcl/source/glyphs/glyphcache.cxx -index 649ffb4..373c430 100644 ---- a/vcl/source/glyphs/glyphcache.cxx -+++ b/vcl/source/glyphs/glyphcache.cxx -@@ -534,7 +534,6 @@ bool ServerFont::IsGlyphInvisible( int nGlyphIndex ) - ImplServerFontEntry::ImplServerFontEntry( ImplFontSelectData& rFSD ) - : ImplFontEntry( rFSD ) - , mpServerFont( NULL ) --, mpFontOptions( NULL ) - , mbGotFontOptions( false ) - {} - -@@ -543,7 +542,6 @@ ImplServerFontEntry::ImplServerFontEntry( ImplFontSelectData& rFSD ) - ImplServerFontEntry::~ImplServerFontEntry() - { - // TODO: remove the ServerFont here instead of in the GlyphCache -- delete mpFontOptions; - } - - // ======================================================================= -diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx -index 20fd3cd..4365356 100644 ---- a/vcl/unx/source/gdi/salgdi3.cxx -+++ b/vcl/unx/source/gdi/salgdi3.cxx -@@ -665,8 +665,8 @@ - { - // get and cache the font options - mbGotFontOptions = true; -- mpFontOptions = GetFCFontOptions( *maFontSelData.mpFontData, -- maFontSelData.mnHeight ); -+ mpFontOptions.reset(GetFCFontOptions( *maFontSelData.mpFontData, -+ maFontSelData.mnHeight )); - } - // apply the font options - mpServerFont->SetFontOptions( mpFontOptions ); -@@ -1043,7 +1043,7 @@ - font_face = (cairo_font_face_t*)m_aCairoFontsCache.FindCachedFont(pId); - if (!font_face) - { -- const ImplFontOptions *pOptions = rFont.GetFontOptions(); -+ const ImplFontOptions *pOptions = rFont.GetFontOptions().get(); - void *pPattern = pOptions ? pOptions->GetPattern(pId) : NULL; - if (pPattern) - font_face = rCairo.ft_font_face_create_for_pattern(pPattern); --- -1.7.4.1 - diff --git a/0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch b/0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch deleted file mode 100644 index bb65243..0000000 --- a/0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch +++ /dev/null @@ -1,152 +0,0 @@ -From 8636f3f41f8f6950a0e3c05f50eb4423c4035b2f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 27 Jan 2011 16:41:00 +0000 -Subject: [PATCH 1/2] Related: rhbz#672872 cancel gtk file-dialog on desktop::terminate - ---- - fpicker/source/unx/gnome/SalGtkFilePicker.cxx | 7 +++++-- - fpicker/source/unx/gnome/SalGtkFolderPicker.cxx | 5 ++++- - fpicker/source/unx/gnome/SalGtkPicker.cxx | 19 ++++++++++++++++--- - fpicker/source/unx/gnome/SalGtkPicker.hxx | 20 +++++++++++++++++--- - 4 files changed, 42 insertions(+), 9 deletions(-) - -diff --git a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx -index d08125e..068ead5 100644 ---- a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx -+++ b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx -@@ -1030,7 +1030,10 @@ - uno::Reference< awt::XExtendedToolkit > xToolkit( - m_xServiceMgr->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.awt.Toolkit") ), uno::UNO_QUERY); - -- RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit); -+ uno::Reference< frame::XDesktop > xDesktop( -+ m_xServiceMgr->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), uno::UNO_QUERY); -+ -+ RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit, xDesktop); - uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog); - while( GTK_RESPONSE_NO == btn ) - { -@@ -1063,7 +1066,7 @@ - OUStringToOString(aResProvider.getResString(FILE_PICKER_TITLE_SAVE ), - RTL_TEXTENCODING_UTF8 ).getStr() ); - -- RunDialog* pAnotherDialog = new RunDialog(dlg, xToolkit); -+ RunDialog* pAnotherDialog = new RunDialog(dlg, xToolkit, xDesktop); - uno::Reference < awt::XTopWindowListener > xAnotherLifeCycle(pAnotherDialog); - btn = pAnotherDialog->run(); - -diff --git a/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx b/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx -index c42021c..08bbf04 100644 ---- a/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx -+++ b/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx -@@ -184,7 +184,10 @@ - uno::Reference< awt::XExtendedToolkit > xToolkit( - m_xServiceMgr->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.awt.Toolkit") ), uno::UNO_QUERY); - -- RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit); -+ uno::Reference< frame::XDesktop > xDesktop( -+ m_xServiceMgr->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), uno::UNO_QUERY); -+ -+ RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit, xDesktop); - uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog); - gint nStatus = pRunDialog->run(); - switch( nStatus ) -diff --git a/fpicker/source/unx/gnome/SalGtkPicker.cxx b/fpicker/source/unx/gnome/SalGtkPicker.cxx -index 6dbaa03..9bdad50 100644 ---- a/fpicker/source/unx/gnome/SalGtkPicker.cxx -+++ b/fpicker/source/unx/gnome/SalGtkPicker.cxx -@@ -130,9 +130,10 @@ extern "C" - extern GdkDisplay* gdk_x11_lookup_xdisplay (void*xdisplay); - } - --RunDialog::RunDialog( GtkWidget *pDialog, uno::Reference< awt::XExtendedToolkit >& rToolkit ) : -- cppu::WeakComponentImplHelper1< awt::XTopWindowListener >( maLock ), -- mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit) -+RunDialog::RunDialog( GtkWidget *pDialog, uno::Reference< awt::XExtendedToolkit >& rToolkit, -+ uno::Reference< frame::XDesktop >& rDesktop ) : -+ cppu::WeakComponentImplHelper2< awt::XTopWindowListener, frame::XTerminateListener >( maLock ), -+ mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit), mxDesktop(rDesktop) - { - awt::SystemDependentXWindow aWindowHandle; - -@@ -186,6 +187,18 @@ void SAL_CALL RunDialog::windowOpened( const ::com::sun::star::lang::EventObject - g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)canceldialog, this, NULL); - } - -+void SAL_CALL RunDialog::queryTermination( const ::com::sun::star::lang::EventObject& ) -+ throw(::com::sun::star::frame::TerminationVetoException, ::com::sun::star::uno::RuntimeException) -+{ -+} -+ -+void SAL_CALL RunDialog::notifyTermination( const ::com::sun::star::lang::EventObject& ) -+ throw(::com::sun::star::uno::RuntimeException) -+{ -+ GdkThreadLock aLock; -+ g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)canceldialog, this, NULL); -+} -+ - void RunDialog::cancel() - { - GdkThreadLock aLock; -diff --git a/fpicker/source/unx/gnome/SalGtkPicker.hxx b/fpicker/source/unx/gnome/SalGtkPicker.hxx -index 889790d..52fe5a0 100644 ---- a/fpicker/source/unx/gnome/SalGtkPicker.hxx -+++ b/fpicker/source/unx/gnome/SalGtkPicker.hxx -@@ -34,7 +34,7 @@ - //_____________________________________________________________________________ - - #include --#include -+#include - #include - #include - #include -@@ -43,6 +43,8 @@ - - #include - #include -+#include -+#include - - #include - #include -@@ -85,13 +87,16 @@ public: - //to happen while we're opened waiting for user input, e.g. - //https://bugzilla.redhat.com/show_bug.cgi?id=441108 - class RunDialog : -- public cppu::WeakComponentImplHelper1< ::com::sun::star::awt::XTopWindowListener > -+ public cppu::WeakComponentImplHelper2< -+ ::com::sun::star::awt::XTopWindowListener, -+ ::com::sun::star::frame::XTerminateListener > - { - private: - osl::Mutex maLock; - GtkWidget *mpDialog; - GdkWindow *mpCreatedParent; - ::com::sun::star::uno::Reference< ::com::sun::star::awt::XExtendedToolkit> mxToolkit; -+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > mxDesktop; - public: - - // XTopWindowListener -@@ -112,8 +117,17 @@ public: - throw (::com::sun::star::uno::RuntimeException) {} - virtual void SAL_CALL windowDeactivated( const ::com::sun::star::lang::EventObject& ) - throw (::com::sun::star::uno::RuntimeException) {} -+ -+ // XTerminateListener -+ virtual void SAL_CALL queryTermination( const ::com::sun::star::lang::EventObject& aEvent ) -+ throw(::com::sun::star::frame::TerminationVetoException, ::com::sun::star::uno::RuntimeException); -+ virtual void SAL_CALL notifyTermination( const ::com::sun::star::lang::EventObject& aEvent ) -+ throw(::com::sun::star::uno::RuntimeException); - public: -- RunDialog(GtkWidget *pDialog, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XExtendedToolkit > &rToolkit); -+ RunDialog(GtkWidget *pDialog, -+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XExtendedToolkit > &rToolkit, -+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > &rDesktop -+ ); - gint run(); - void cancel(); - ~RunDialog(); --- -1.7.3.5 - diff --git a/0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch b/0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch deleted file mode 100644 index ade0c91..0000000 --- a/0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch +++ /dev/null @@ -1,91 +0,0 @@ -From cc8f350a5829405832af1177fd32de7c41c30724 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 16 Mar 2011 14:18:42 +0000 -Subject: [PATCH] Related: rhbz#680460 don't bother with an interim FontSet - -I can't see why bother adding it to a FontSet and then -throw away the fontset, why not just use the pattern -directly and throw it away afterwards directly. ---- - vcl/unx/source/fontmanager/fontconfig.cxx | 63 +++++++++++++---------------- - 1 files changed, 28 insertions(+), 35 deletions(-) - -diff --git a/vcl/unx/source/fontmanager/fontconfig.cxx b/vcl/unx/source/fontmanager/fontconfig.cxx -index 3c2f636..92632c7 100644 ---- a/vcl/unx/source/fontmanager/fontconfig.cxx -+++ b/vcl/unx/source/fontmanager/fontconfig.cxx -@@ -1130,43 +1130,36 @@ ImplFontOptions* PrintFontManager::getFontOptions( - FcPattern* pResult = rWrapper.FcFontSetMatch( pConfig, &pFontSet, 1, pPattern, &eResult ); - if( pResult ) - { -- FcFontSet* pSet = rWrapper.FcFontSetCreate(); -- rWrapper.FcFontSetAdd( pSet, pResult ); -- if( pSet->nfont > 0 ) -+ FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool(pResult, -+ FC_EMBEDDED_BITMAP, 0, &embitmap); -+ FcResult eAntialias = rWrapper.FcPatternGetBool(pResult, -+ FC_ANTIALIAS, 0, &antialias); -+ FcResult eAutoHint = rWrapper.FcPatternGetBool(pResult, -+ FC_AUTOHINT, 0, &autohint); -+ FcResult eHinting = rWrapper.FcPatternGetBool(pResult, -+ FC_HINTING, 0, &hinting); -+ /*FcResult eHintStyle =*/ rWrapper.FcPatternGetInteger(pResult, -+ FC_HINT_STYLE, 0, &hintstyle); -+ rWrapper.FcPatternDestroy(pResult); -+ -+ pOptions = new ImplFontOptions; -+ -+ if( eEmbeddedBitmap == FcResultMatch ) -+ pOptions->meEmbeddedBitmap = embitmap ? EMBEDDEDBITMAP_TRUE : EMBEDDEDBITMAP_FALSE; -+ if( eAntialias == FcResultMatch ) -+ pOptions->meAntiAlias = antialias ? ANTIALIAS_TRUE : ANTIALIAS_FALSE; -+ if( eAutoHint == FcResultMatch ) -+ pOptions->meAutoHint = autohint ? AUTOHINT_TRUE : AUTOHINT_FALSE; -+ if( eHinting == FcResultMatch ) -+ pOptions->meHinting = hinting ? HINTING_TRUE : HINTING_FALSE; -+ switch (hintstyle) - { -- FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool(pSet->fonts[0], -- FC_EMBEDDED_BITMAP, 0, &embitmap); -- FcResult eAntialias = rWrapper.FcPatternGetBool(pSet->fonts[0], -- FC_ANTIALIAS, 0, &antialias); -- FcResult eAutoHint = rWrapper.FcPatternGetBool(pSet->fonts[0], -- FC_AUTOHINT, 0, &autohint); -- FcResult eHinting = rWrapper.FcPatternGetBool(pSet->fonts[0], -- FC_HINTING, 0, &hinting); -- /*FcResult eHintStyle =*/ rWrapper.FcPatternGetInteger( pSet->fonts[0], -- FC_HINT_STYLE, 0, &hintstyle); -- -- pOptions = new ImplFontOptions; -- -- if( eEmbeddedBitmap == FcResultMatch ) -- pOptions->meEmbeddedBitmap = embitmap ? EMBEDDEDBITMAP_TRUE : EMBEDDEDBITMAP_FALSE; -- if( eAntialias == FcResultMatch ) -- pOptions->meAntiAlias = antialias ? ANTIALIAS_TRUE : ANTIALIAS_FALSE; -- if( eAutoHint == FcResultMatch ) -- pOptions->meAutoHint = autohint ? AUTOHINT_TRUE : AUTOHINT_FALSE; -- if( eHinting == FcResultMatch ) -- pOptions->meHinting = hinting ? HINTING_TRUE : HINTING_FALSE; -- switch (hintstyle) -- { -- case FC_HINT_NONE: pOptions->meHintStyle = HINT_NONE; break; -- case FC_HINT_SLIGHT: pOptions->meHintStyle = HINT_SLIGHT; break; -- case FC_HINT_MEDIUM: pOptions->meHintStyle = HINT_MEDIUM; break; -- default: // fall through -- case FC_HINT_FULL: pOptions->meHintStyle = HINT_FULL; break; -- } -+ case FC_HINT_NONE: pOptions->meHintStyle = HINT_NONE; break; -+ case FC_HINT_SLIGHT: pOptions->meHintStyle = HINT_SLIGHT; break; -+ case FC_HINT_MEDIUM: pOptions->meHintStyle = HINT_MEDIUM; break; -+ default: // fall through -+ case FC_HINT_FULL: pOptions->meHintStyle = HINT_FULL; break; - } -- // info: destroying the pSet destroys pResult implicitly -- // since pResult was "added" to pSet -- rWrapper.FcFontSetDestroy( pSet ); - } - - // cleanup --- -1.7.4.1 - diff --git a/0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch b/0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch deleted file mode 100644 index 997f78e..0000000 --- a/0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch +++ /dev/null @@ -1,320 +0,0 @@ -From d83bc4d9921afd31f1afddc52f39951bb686e60a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 10 Mar 2011 15:59:44 +0000 -Subject: [PATCH] Related: rhbz#680460 reorganize this to make it inheritable - ---- - vcl/inc/vcl/fontmanager.hxx | 2 +- - vcl/inc/vcl/glyphcache.hxx | 5 +-- - vcl/inc/vcl/impfont.hxx | 25 ++++++++++----------- - vcl/source/glyphs/gcach_ftyp.cxx | 18 ++++++++++----- - vcl/source/glyphs/gcach_ftyp.hxx | 4 ++- - vcl/source/glyphs/glyphcache.cxx | 3 +- - vcl/unx/source/fontmanager/fontconfig.cxx | 32 ++++++++++++++-------------- - vcl/unx/source/gdi/salgdi3.cxx | 17 ++++++--------- - 8 files changed, 55 insertions(+), 51 deletions(-) - -diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx -index 6c76eea..103cd92 100644 ---- a/vcl/inc/vcl/fontmanager.hxx -+++ b/vcl/inc/vcl/fontmanager.hxx -@@ -733,7 +733,7 @@ public: - false else - */ - bool matchFont( FastPrintFontInfo& rInfo, const com::sun::star::lang::Locale& rLocale ); -- bool getFontOptions( const FastPrintFontInfo&, int nSize, void (*subcallback)(void*), ImplFontOptions& rResult ) const; -+ ImplFontOptions* getFontOptions( const FastPrintFontInfo&, int nSize, void (*subcallback)(void*)) const; - - rtl::OUString Substitute( const rtl::OUString& rFontName, rtl::OUString& rMissingCodes, - const rtl::OString& rLangAttrib, italic::type& rItalic, weight::type& rWeight, -diff --git a/vcl/inc/vcl/glyphcache.hxx b/vcl/inc/vcl/glyphcache.hxx -index 8714697..1c03759 100644 ---- a/vcl/inc/vcl/glyphcache.hxx -+++ b/vcl/inc/vcl/glyphcache.hxx -@@ -187,7 +187,7 @@ public: - virtual bool TestFont() const { return true; } - virtual void* GetFtFace() const { return 0; } - virtual int GetLoadFlags() const { return 0; } -- virtual void SetFontOptions( const ImplFontOptions&) {} -+ virtual void SetFontOptions( const ImplFontOptions*) {} - virtual bool NeedsArtificialBold() const { return false; } - virtual bool NeedsArtificialItalic() const { return false; } - -@@ -266,9 +266,8 @@ class VCL_DLLPUBLIC ImplServerFontEntry : public ImplFontEntry - { - private: - ServerFont* mpServerFont; -- ImplFontOptions maFontOptions; -+ ImplFontOptions* mpFontOptions; - bool mbGotFontOptions; -- bool mbValidFontOptions; - - public: - ImplServerFontEntry( ImplFontSelectData& ); -diff --git a/vcl/inc/vcl/impfont.hxx b/vcl/inc/vcl/impfont.hxx -index b7a0368..fa8a837 100644 ---- a/vcl/inc/vcl/impfont.hxx -+++ b/vcl/inc/vcl/impfont.hxx -@@ -135,7 +135,7 @@ public: - }; - - // ------------------ --// - ImplFontHints - -+// - ImplFontOptions - - // ------------------ - - class ImplFontOptions -@@ -154,19 +154,18 @@ public: - meHinting(HINTING_DONTKNOW), - meHintStyle(HINT_SLIGHT) - {} -- ImplFontOptions( FontEmbeddedBitmap eEmbeddedBitmap, FontAntiAlias eAntiAlias, -- FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle) : -- meEmbeddedBitmap(eEmbeddedBitmap), -- meAntiAlias(eAntiAlias), -- meAutoHint(eAutoHint), -- meHinting(eHinting), -- meHintStyle(eHintStyle) -+ virtual ~ImplFontOptions() - {} -- FontAutoHint GetUseAutoHint() const { return meAutoHint; } -- FontHintStyle GetHintStyle() const { return meHintStyle; } -- bool DontUseEmbeddedBitmaps() const { return meEmbeddedBitmap == EMBEDDEDBITMAP_FALSE; } -- bool DontUseAntiAlias() const { return meAntiAlias == ANTIALIAS_FALSE; } -- bool DontUseHinting() const { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); } -+ FontAutoHint GetUseAutoHint() const -+ { return meAutoHint; } -+ FontHintStyle GetHintStyle() const -+ { return meHintStyle; } -+ bool DontUseEmbeddedBitmaps() const -+ { return meEmbeddedBitmap == EMBEDDEDBITMAP_FALSE; } -+ bool DontUseAntiAlias() const -+ { return meAntiAlias == ANTIALIAS_FALSE; } -+ bool DontUseHinting() const -+ { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); } - }; - - // ------------------- -diff --git a/vcl/source/glyphs/gcach_ftyp.cxx b/vcl/source/glyphs/gcach_ftyp.cxx -index 2db53a5..2236bad 100644 ---- a/vcl/source/glyphs/gcach_ftyp.cxx -+++ b/vcl/source/glyphs/gcach_ftyp.cxx -@@ -768,6 +768,7 @@ FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontIn - mpFontInfo( pFI ), - maFaceFT( NULL ), - maSizeFT( NULL ), -+ mpFontOptions( NULL ), - mbFaceOk( false ), - maRecodeConverter( NULL ), - mpLayoutEngine( NULL ) -@@ -913,9 +914,14 @@ FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontIn - mnLoadFlags |= FT_LOAD_NO_BITMAP; - } - --void FreetypeServerFont::SetFontOptions( const ImplFontOptions& rFontOptions) -+void FreetypeServerFont::SetFontOptions( const ImplFontOptions* pFontOptions) - { -- FontAutoHint eHint = rFontOptions.GetUseAutoHint(); -+ mpFontOptions = pFontOptions; -+ -+ if (!mpFontOptions) -+ return; -+ -+ FontAutoHint eHint = mpFontOptions->GetUseAutoHint(); - if( eHint == AUTOHINT_DONTKNOW ) - eHint = mbUseGamma ? AUTOHINT_TRUE : AUTOHINT_FALSE; - -@@ -926,11 +932,11 @@ void FreetypeServerFont::SetFontOptions( const ImplFontOptions& rFontOptions) - mnLoadFlags |= FT_LOAD_NO_HINTING; - mnLoadFlags |= FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH; //#88334# - -- if( rFontOptions.DontUseAntiAlias() ) -+ if( mpFontOptions->DontUseAntiAlias() ) - mnPrioAntiAlias = 0; -- if( rFontOptions.DontUseEmbeddedBitmaps() ) -+ if( mpFontOptions->DontUseEmbeddedBitmaps() ) - mnPrioEmbedded = 0; -- if( rFontOptions.DontUseHinting() ) -+ if( mpFontOptions->DontUseHinting() ) - mnPrioAutoHint = 0; - - #if (FTVERSION >= 2005) || defined(TT_CONFIG_OPTION_BYTECODE_INTERPRETER) -@@ -942,7 +948,7 @@ void FreetypeServerFont::SetFontOptions( const ImplFontOptions& rFontOptions) - if( !(mnLoadFlags & FT_LOAD_NO_HINTING) && (nFTVERSION >= 2103)) - { - mnLoadFlags |= FT_LOAD_TARGET_NORMAL; -- switch( rFontOptions.GetHintStyle() ) -+ switch( mpFontOptions->GetHintStyle() ) - { - case HINT_NONE: - mnLoadFlags |= FT_LOAD_NO_HINTING; -diff --git a/vcl/source/glyphs/gcach_ftyp.hxx b/vcl/source/glyphs/gcach_ftyp.hxx -index cf2284c..6069388 100644 ---- a/vcl/source/glyphs/gcach_ftyp.hxx -+++ b/vcl/source/glyphs/gcach_ftyp.hxx -@@ -186,7 +186,7 @@ public: - virtual int GetFontFaceNum() const { return mpFontInfo->GetFaceNum(); } - virtual bool TestFont() const; - virtual void* GetFtFace() const; -- virtual void SetFontOptions( const ImplFontOptions&); -+ virtual void SetFontOptions( const ImplFontOptions*); - virtual int GetLoadFlags() const { return (mnLoadFlags & ~FT_LOAD_IGNORE_TRANSFORM); } - virtual bool NeedsArtificialBold() const { return mbArtBold; } - virtual bool NeedsArtificialItalic() const { return mbArtItalic; } -@@ -233,6 +233,8 @@ private: - FT_FaceRec_* maFaceFT; - FT_SizeRec_* maSizeFT; - -+ const ImplFontOptions* mpFontOptions; -+ - bool mbFaceOk; - bool mbArtItalic; - bool mbArtBold; -diff --git a/vcl/source/glyphs/glyphcache.cxx b/vcl/source/glyphs/glyphcache.cxx -index 8ad5a87..9668a50 100644 ---- a/vcl/source/glyphs/glyphcache.cxx -+++ b/vcl/source/glyphs/glyphcache.cxx -@@ -522,8 +522,8 @@ bool ServerFont::IsGlyphInvisible( int nGlyphIndex ) - ImplServerFontEntry::ImplServerFontEntry( ImplFontSelectData& rFSD ) - : ImplFontEntry( rFSD ) - , mpServerFont( NULL ) -+, mpFontOptions( NULL ) - , mbGotFontOptions( false ) --, mbValidFontOptions( false ) - {} - - // ----------------------------------------------------------------------- -@@ -531,6 +531,7 @@ ImplServerFontEntry::ImplServerFontEntry( ImplFontSelectData& rFSD ) - ImplServerFontEntry::~ImplServerFontEntry() - { - // TODO: remove the ServerFont here instead of in the GlyphCache -+ delete mpFontOptions; - } - - // ======================================================================= -diff --git a/vcl/unx/source/fontmanager/fontconfig.cxx b/vcl/unx/source/fontmanager/fontconfig.cxx -index 0dd5260..3c2f636 100644 ---- a/vcl/unx/source/fontmanager/fontconfig.cxx -+++ b/vcl/unx/source/fontmanager/fontconfig.cxx -@@ -1093,17 +1093,17 @@ rtl::OUString PrintFontManager::Substitute(const rtl::OUString& rFontName, - return aName; - } - --bool PrintFontManager::getFontOptions( -- const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void*), -- ImplFontOptions& rOptions) const -+ImplFontOptions* PrintFontManager::getFontOptions( -+ const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void*)) const - { - #ifndef ENABLE_FONTCONFIG -- return false; -+ return NULL; - #else // ENABLE_FONTCONFIG - FontCfgWrapper& rWrapper = FontCfgWrapper::get(); - if( ! rWrapper.isValid() ) -- return false; -+ return NULL; - -+ ImplFontOptions *pOptions = NULL; - FcConfig* pConfig = rWrapper.FcConfigGetCurrent(); - FcPattern* pPattern = rWrapper.FcPatternCreate(); - -@@ -1144,22 +1144,24 @@ bool PrintFontManager::getFontOptions( - FC_HINTING, 0, &hinting); - /*FcResult eHintStyle =*/ rWrapper.FcPatternGetInteger( pSet->fonts[0], - FC_HINT_STYLE, 0, &hintstyle); -+ -+ pOptions = new ImplFontOptions; - - if( eEmbeddedBitmap == FcResultMatch ) -- rOptions.meEmbeddedBitmap = embitmap ? EMBEDDEDBITMAP_TRUE : EMBEDDEDBITMAP_FALSE; -+ pOptions->meEmbeddedBitmap = embitmap ? EMBEDDEDBITMAP_TRUE : EMBEDDEDBITMAP_FALSE; - if( eAntialias == FcResultMatch ) -- rOptions.meAntiAlias = antialias ? ANTIALIAS_TRUE : ANTIALIAS_FALSE; -+ pOptions->meAntiAlias = antialias ? ANTIALIAS_TRUE : ANTIALIAS_FALSE; - if( eAutoHint == FcResultMatch ) -- rOptions.meAutoHint = autohint ? AUTOHINT_TRUE : AUTOHINT_FALSE; -+ pOptions->meAutoHint = autohint ? AUTOHINT_TRUE : AUTOHINT_FALSE; - if( eHinting == FcResultMatch ) -- rOptions.meHinting = hinting ? HINTING_TRUE : HINTING_FALSE; -+ pOptions->meHinting = hinting ? HINTING_TRUE : HINTING_FALSE; - switch (hintstyle) - { -- case FC_HINT_NONE: rOptions.meHintStyle = HINT_NONE; break; -- case FC_HINT_SLIGHT: rOptions.meHintStyle = HINT_SLIGHT; break; -- case FC_HINT_MEDIUM: rOptions.meHintStyle = HINT_MEDIUM; break; -+ case FC_HINT_NONE: pOptions->meHintStyle = HINT_NONE; break; -+ case FC_HINT_SLIGHT: pOptions->meHintStyle = HINT_SLIGHT; break; -+ case FC_HINT_MEDIUM: pOptions->meHintStyle = HINT_MEDIUM; break; - default: // fall through -- case FC_HINT_FULL: rOptions.meHintStyle = HINT_FULL; break; -+ case FC_HINT_FULL: pOptions->meHintStyle = HINT_FULL; break; - } - } - // info: destroying the pSet destroys pResult implicitly -@@ -1170,9 +1172,7 @@ bool PrintFontManager::getFontOptions( - // cleanup - rWrapper.FcPatternDestroy( pPattern ); - -- // TODO: return true only if non-default font options are set -- const bool bOK = (pResult != NULL); -- return bOK; -+ return pOptions; - #endif - } - -diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx -index 9834028..6de93fe 100644 ---- a/vcl/unx/source/gdi/salgdi3.cxx -+++ b/vcl/unx/source/gdi/salgdi3.cxx -@@ -632,22 +632,21 @@ bool X11SalGraphics::setFont( const ImplFontSelectData *pEntry, int nFallbackLev - return false; - } - -+ImplFontOptions* GetFCFontOptions( const ImplFontAttributes& rFontAttributes, int nSize); -+ - void ImplServerFontEntry::HandleFontOptions( void ) - { -- bool GetFCFontOptions( const ImplFontAttributes&, int nSize, ImplFontOptions& ); -- - if( !mpServerFont ) - return; - if( !mbGotFontOptions ) - { - // get and cache the font options - mbGotFontOptions = true; -- mbValidFontOptions = GetFCFontOptions( *maFontSelData.mpFontData, -- maFontSelData.mnHeight, maFontOptions ); -+ mpFontOptions = GetFCFontOptions( *maFontSelData.mpFontData, -+ maFontSelData.mnHeight ); - } - // apply the font options -- if( mbValidFontOptions ) -- mpServerFont->SetFontOptions( maFontOptions ); -+ mpServerFont->SetFontOptions( mpFontOptions ); - } - - //-------------------------------------------------------------------------- -@@ -1636,8 +1635,7 @@ void cairosubcallback( void* pPattern ) - rCairo.ft_font_options_substitute( pFontOptions, pPattern ); - } - --bool GetFCFontOptions( const ImplFontAttributes& rFontAttributes, int nSize, -- ImplFontOptions& rFontOptions) -+ImplFontOptions* GetFCFontOptions( const ImplFontAttributes& rFontAttributes, int nSize) - { - // TODO: get rid of these insane enum-conversions - // e.g. by using the classic vclenum values inside VCL -@@ -1734,8 +1732,7 @@ bool GetFCFontOptions( const ImplFontAttributes& rFontAttributes, int nSize, - } - - const psp::PrintFontManager& rPFM = psp::PrintFontManager::get(); -- bool bOK = rPFM.getFontOptions( aInfo, nSize, cairosubcallback, rFontOptions); -- return bOK; -+ return rPFM.getFontOptions(aInfo, nSize, cairosubcallback); - } - - // ---------------------------------------------------------------------------- --- -1.7.4.1 - diff --git a/0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch b/0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch deleted file mode 100644 index 1fbcb67..0000000 --- a/0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch +++ /dev/null @@ -1,69 +0,0 @@ -From fca3e47954fe36687989328ac90cbc6747e4bc4e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Mon, 14 Mar 2011 10:20:12 +0000 -Subject: [PATCH] Related: rhbz#684477 make sure this is thread safe - ---- - basegfx/source/polygon/b2dpolygontools.cxx | 36 +++++++++++++++++---------- - 1 files changed, 23 insertions(+), 13 deletions(-) - -diff --git a/basegfx/source/polygon/b2dpolygontools.cxx b/basegfx/source/polygon/b2dpolygontools.cxx -index 1967e6e..3271314 100644 ---- a/basegfx/source/polygon/b2dpolygontools.cxx -+++ b/basegfx/source/polygon/b2dpolygontools.cxx -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -1836,22 +1837,31 @@ namespace basegfx - return aRetval; - } - -- B2DPolygon createUnitPolygon() -+ namespace - { -- static B2DPolygon aRetval; -- -- if(!aRetval.count()) -+ struct theUnitPolygon : -+ public rtl::StaticWithInit - { -- aRetval.append( B2DPoint( 0.0, 0.0 ) ); -- aRetval.append( B2DPoint( 1.0, 0.0 ) ); -- aRetval.append( B2DPoint( 1.0, 1.0 ) ); -- aRetval.append( B2DPoint( 0.0, 1.0 ) ); -+ B2DPolygon operator () () -+ { -+ B2DPolygon aRetval; - -- // close -- aRetval.setClosed( true ); -- } -- -- return aRetval; -+ aRetval.append( B2DPoint( 0.0, 0.0 ) ); -+ aRetval.append( B2DPoint( 1.0, 0.0 ) ); -+ aRetval.append( B2DPoint( 1.0, 1.0 ) ); -+ aRetval.append( B2DPoint( 0.0, 1.0 ) ); -+ -+ // close -+ aRetval.setClosed( true ); -+ -+ return aRetval; -+ } -+ }; -+ } -+ -+ B2DPolygon createUnitPolygon() -+ { -+ return theUnitPolygon::get(); - } - - B2DPolygon createPolygonFromCircle( const B2DPoint& rCenter, double fRadius ) --- -1.7.4.1 - diff --git a/0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch b/0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch deleted file mode 100644 index 4251db7..0000000 --- a/0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 092e1494c1d7d68873f50a0da7699b0fdd15c439 Mon Sep 17 00:00:00 2001 -From: Andy Hearn -Date: Sat, 8 Jan 2011 23:26:13 +0000 -Subject: [PATCH] Removed suspect hack. Cursor on post-it now scrolls out of view. - -Previously, when the user scrolls when the cursor is within a -post-it note, the main view judders, refusing to let the cursor - go out of view. The removed lines appears to have been a hack -to retain focus of a post-it note containing the cursor. ---- - sw/source/ui/docvw/PostItMgr.cxx | 10 ---------- - 1 files changed, 0 insertions(+), 10 deletions(-) - -diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx -index cb3e783..7dcdad7 100644 ---- a/sw/source/ui/docvw/PostItMgr.cxx -+++ b/sw/source/ui/docvw/PostItMgr.cxx -@@ -716,16 +716,6 @@ void SwPostItMgr::LayoutPostIts() - OSL_ENSURE(mPages[n]->bScrollbar,"SwPostItMgr::LayoutByPage(): note overlaps, but bScrollbar is not true"); - } - } -- -- // do some magic so we really see the focused note -- for(SwSidebarWin_iterator i = aVisiblePostItList.begin(); i!= aVisiblePostItList.end() ; i++) -- { -- if ((*i)->HasChildPathFocus()) -- { -- MakeVisible((*i),n+1); -- break; -- } -- } - } - else - { --- -1.7.3.4 - diff --git a/0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch b/0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch deleted file mode 100644 index 0e37637..0000000 --- a/0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch +++ /dev/null @@ -1,104 +0,0 @@ -From ec7ff475f480619787131d0a193d7786c30dac10 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Fri, 28 Jan 2011 21:16:36 +0000 -Subject: [PATCH] Resolves: fdo#33509, #i62414# out-by-one breaks CTL spell-checking popup - -ABCD -0123 - ^ - -Currently calls GetCharRect for position "0" and position "4". It should be -"3". We were placing the cursor *after* the final character. We really need to -place it *before* the final character and get the bounding box of the last char -to union it with the first char's bounding box. It works out ok for western -text, but you get a far different value for CTL text. ---- - sw/source/core/crsr/crsrsh.cxx | 4 ++-- - sw/source/core/edit/edlingu.cxx | 14 +++++--------- - 2 files changed, 7 insertions(+), 11 deletions(-) - -diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx -index ed8d37b..a6db747 100644 ---- a/sw/source/core/crsr/crsrsh.cxx -+++ b/sw/source/core/crsr/crsrsh.cxx -@@ -3419,7 +3419,7 @@ void SwCrsrShell::GetSmartTagTerm( const Point& rPt, SwRect& rSelectRect, - //no determine the rectangle in the current line - xub_StrLen nWordStart = (nBegin + nLeft) < nLineStart ? nLineStart : nBegin + nLeft; - //take one less than the line end - otherwise the next line would be calculated -- xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd - 1: (nBegin + nLen - nLeft - nRight); -+ xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd : (nBegin + nLen - nLeft - nRight); - Push(); - pCrsr->DeleteMark(); - SwIndex& rContent = GetCrsr()->GetPoint()->nContent; -@@ -3431,7 +3431,7 @@ void SwCrsrShell::GetSmartTagTerm( const Point& rPt, SwRect& rSelectRect, - SwCntntFrm *pCntntFrame = pCntntNode->GetFrm( &rPt, pCrsr->GetPoint(), FALSE); - - pCntntFrame->GetCharRect( aStartRect, *pCrsr->GetPoint(), &aState ); -- rContent = nWordEnd; -+ rContent = nWordEnd - 1; - SwRect aEndRect; - pCntntFrame->GetCharRect( aEndRect, *pCrsr->GetPoint(),&aState ); - rSelectRect = aStartRect.Union( aEndRect ); -diff --git a/sw/source/core/edit/edlingu.cxx b/sw/source/core/edit/edlingu.cxx -index 7e186f9..a3d1572 100644 ---- a/sw/source/core/edit/edlingu.cxx -+++ b/sw/source/core/edit/edlingu.cxx -@@ -550,7 +550,6 @@ uno::Any SwHyphIter::Continue( sal_uInt16* pPageCnt, sal_uInt16* pPageSt ) - - const sal_Bool bAuto = IsAuto(); - uno::Reference< XHyphenatedWord > xHyphWord; -- sal_uInt16 nRet; - sal_Bool bGoOn = sal_False; - do { - SwPaM *pCrsr; -@@ -565,10 +564,7 @@ uno::Any SwHyphIter::Continue( sal_uInt16* pPageCnt, sal_uInt16* pPageSt ) - pCrsr->SetMark(); - } - -- // geraten BUG: -- if ( *pCrsr->End() > *GetEnd() ) -- nRet = 0; -- else -+ if ( *pCrsr->End() <= *GetEnd() ) - { - *pCrsr->GetMark() = *GetEnd(); - -@@ -1076,7 +1072,7 @@ uno::Reference< XSpellAlternatives > - //no determine the rectangle in the current line - xub_StrLen nWordStart = (nBegin + nLeft) < nLineStart ? nLineStart : nBegin + nLeft; - //take one less than the line end - otherwise the next line would be calculated -- xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd - 1: (nBegin + nLen - nLeft - nRight); -+ xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd: (nBegin + nLen - nLeft - nRight); - Push(); - pCrsr->DeleteMark(); - SwIndex& rContent = GetCrsr()->GetPoint()->nContent; -@@ -1088,7 +1084,7 @@ uno::Reference< XSpellAlternatives > - SwCntntFrm *pCntntFrame = pCntntNode->GetFrm(pPt, pCrsr->GetPoint(), FALSE); - - pCntntFrame->GetCharRect( aStartRect, *pCrsr->GetPoint(), &aState ); -- rContent = nWordEnd; -+ rContent = nWordEnd - 1; - SwRect aEndRect; - pCntntFrame->GetCharRect( aEndRect, *pCrsr->GetPoint(),&aState ); - rSelectRect = aStartRect.Union( aEndRect ); -@@ -1210,7 +1206,7 @@ bool SwEditShell::GetGrammarCorrection( - //no determine the rectangle in the current line - xub_StrLen nWordStart = (nBegin + nLeft) < nLineStart ? nLineStart : nBegin + nLeft; - //take one less than the line end - otherwise the next line would be calculated -- xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd - 1: (nBegin + nLen - nLeft - nRight); -+ xub_StrLen nWordEnd = (nBegin + nLen - nLeft - nRight) > nLineEnd ? nLineEnd: (nBegin + nLen - nLeft - nRight); - Push(); - pCrsr->DeleteMark(); - SwIndex& rContent = GetCrsr()->GetPoint()->nContent; -@@ -1222,7 +1218,7 @@ bool SwEditShell::GetGrammarCorrection( - SwCntntFrm *pCntntFrame = pCntntNode->GetFrm(pPt, pCrsr->GetPoint(), FALSE); - - pCntntFrame->GetCharRect( aStartRect, *pCrsr->GetPoint(), &aState ); -- rContent = nWordEnd; -+ rContent = nWordEnd - 1; - SwRect aEndRect; - pCntntFrame->GetCharRect( aEndRect, *pCrsr->GetPoint(),&aState ); - rSelectRect = aStartRect.Union( aEndRect ); --- -1.7.3.5 - diff --git a/0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch b/0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch deleted file mode 100644 index 5d763b2..0000000 --- a/0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 773d856c8ef2bf65aec25289cb0186d81d76f5f1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 10 Feb 2011 12:46:34 +0000 -Subject: [PATCH] Resolves: fdo#33750 #i94623# use optimal border width when zooming to optimal - ---- - sw/source/ui/uiview/viewmdi.cxx | 10 ++-------- - 1 files changed, 2 insertions(+), 8 deletions(-) - -diff --git a/sw/source/ui/uiview/viewmdi.cxx b/sw/source/ui/uiview/viewmdi.cxx -index 3310b83..28af9ca 100644 ---- a/sw/source/ui/uiview/viewmdi.cxx -+++ b/sw/source/ui/uiview/viewmdi.cxx -@@ -123,15 +123,9 @@ void SwView::_SetZoom( const Size &rEditSize, SvxZoomType eZoomType, - - if( SVX_ZOOM_OPTIMAL == eZoomType ) - { -- if (pPostItMgr->HasNotes() && pPostItMgr->ShowNotes()) -- { -- lLeftMargin = long(rLRSpace.GetLeft()) + aPageRect.Left() + nLeftOfst; -- } -- else -- { -+ if (!pPostItMgr->HasNotes() || !pPostItMgr->ShowNotes()) - aPageSize.Width() -= ( rLRSpace.GetLeft() + rLRSpace.GetRight() + nLeftOfst * 2 ); -- lLeftMargin = long(rLRSpace.GetLeft()) + aPageRect.Left() + nLeftOfst; -- } -+ lLeftMargin = long(rLRSpace.GetLeft()) + DOCUMENTBORDER + nLeftOfst; - nFac = aWindowSize.Width() * 100 / aPageSize.Width(); - } - else if(SVX_ZOOM_WHOLEPAGE == eZoomType || SVX_ZOOM_PAGEWIDTH == eZoomType ) --- -1.7.4 - diff --git a/0001-Resolves-rhbz-670020-crash-in-slidesorting.patch b/0001-Resolves-rhbz-670020-crash-in-slidesorting.patch deleted file mode 100644 index e886a8b..0000000 --- a/0001-Resolves-rhbz-670020-crash-in-slidesorting.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 48f4f5f4283cb9a58223c6cc6f4d0ebadce53722 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 2 Feb 2011 16:05:01 +0000 -Subject: [PATCH] Resolves: rhbz#670020 crash in slidesorting - ---- - sd/source/ui/view/drviews1.cxx | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx -index d1acb96..e0b220e 100644 ---- a/sd/source/ui/view/drviews1.cxx -+++ b/sd/source/ui/view/drviews1.cxx -@@ -712,6 +712,9 @@ SdPage* DrawViewShell::getCurrentPage() const - - void DrawViewShell::ResetActualPage() - { -+ if (!GetDoc()) -+ return; -+ - USHORT nCurrentPage = maTabControl.GetCurPageId() - 1; - USHORT nPageCount = (meEditMode == EM_PAGE)?GetDoc()->GetSdPageCount(mePageKind):GetDoc()->GetMasterSdPageCount(mePageKind); - if (nPageCount > 0) --- -1.7.4 - diff --git a/0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch b/0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch deleted file mode 100644 index 2351274..0000000 --- a/0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f0ec7af75b7c3566a0e8e71735b5cc237eb505d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 2 Mar 2011 13:00:18 +0000 -Subject: [PATCH] Resolves: rhbz#672818 bandaid for crash in SwTxtNode::GetTxtAttrForCharAt - ---- - sw/source/core/unocore/unorefmk.cxx | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/sw/source/core/unocore/unorefmk.cxx b/sw/source/core/unocore/unorefmk.cxx -index 436a2bb..e461f71 100644 ---- a/sw/source/core/unocore/unorefmk.cxx -+++ b/sw/source/core/unocore/unorefmk.cxx -@@ -261,8 +261,10 @@ void SwXReferenceMark::Impl::InsertRefMark(SwPaM& rPam, - } - else - { -- pTxtAttr = rPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt( -- rPam.GetPoint()->nContent.GetIndex() - 1, RES_TXTATR_REFMARK); -+ SwTxtNode *pTxtNd = rPam.GetNode()->GetTxtNode(); -+ OSL_ASSERT(pTxtNd); -+ pTxtAttr = pTxtNd ? rPam.GetNode()->GetTxtNode()->GetTxtAttrForCharAt( -+ rPam.GetPoint()->nContent.GetIndex() - 1, RES_TXTATR_REFMARK) : NULL; - } - - if (!pTxtAttr) --- -1.7.4.1 - diff --git a/0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch b/0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch deleted file mode 100644 index ea20d29..0000000 --- a/0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1a9c37ac56b97aaf7535bff7bd2fb84b13ef8e50 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 16 Feb 2011 16:45:48 +0000 -Subject: [PATCH] Resolves: rhbz#674330 dereference of NULL mpBase - ---- - sd/source/ui/unoidl/DrawController.cxx | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/sd/source/ui/unoidl/DrawController.cxx b/sd/source/ui/unoidl/DrawController.cxx -index 6f3c1e1..f64b649 100644 ---- a/sd/source/ui/unoidl/DrawController.cxx -+++ b/sd/source/ui/unoidl/DrawController.cxx -@@ -166,7 +166,9 @@ void SAL_CALL DrawController::dispose (void) - { - mbDisposing = true; - -- boost::shared_ptr pViewShell = mpBase->GetMainViewShell(); -+ boost::shared_ptr pViewShell; -+ if (mpBase) -+ pViewShell = mpBase->GetMainViewShell(); - if ( pViewShell ) - { - pViewShell->DeactivateCurrentFunction(); --- -1.7.4 - diff --git a/0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch b/0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch deleted file mode 100644 index 2c4d256..0000000 --- a/0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9745fccacaa88bded763cc31c9aa7c04a5186a48 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 10 Feb 2011 09:51:46 +0000 -Subject: [PATCH] Resolves: rhbz#676539 handle missing pWindows from xWindows - ---- - framework/source/layoutmanager/layoutmanager.cxx | 8 ++++---- - 1 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx -index a67c71d..2905f03 100644 ---- a/framework/source/layoutmanager/layoutmanager.cxx -+++ b/framework/source/layoutmanager/layoutmanager.cxx -@@ -130,13 +130,13 @@ bool lcl_checkUIElement(const Reference< XUIElement >& xUIElement,css::awt::Rect - _rPosSize = _xWindow->getPosSize(); - - Window* pWindow = VCLUnoHelper::GetWindow( _xWindow ); -- if ( pWindow->GetType() == WINDOW_TOOLBOX ) -+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX ) - { - ::Size aSize = ((ToolBox*)pWindow)->CalcWindowSizePixel( 1 ); - _rPosSize.Width = aSize.Width(); - _rPosSize.Height = aSize.Height(); - } -- } // if ( xUIElement.is() ) -+ } - return bRet; - } - -@@ -1007,9 +1007,9 @@ void LayoutManager::implts_createAddonsToolBars() - // Set generic title for add-on toolbar - SolarMutexGuard aGuard; - Window* pWindow = VCLUnoHelper::GetWindow( xWindow ); -- if ( pWindow->GetText().Len() == 0 ) -+ if ( pWindow && pWindow->GetText().Len() == 0 ) - pWindow->SetText( aGenericAddonTitle ); -- if ( pWindow->GetType() == WINDOW_TOOLBOX ) -+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX ) - { - ToolBox* pToolbar = (ToolBox *)pWindow; - pToolbar->SetMenuType(); --- -1.7.4 - diff --git a/0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch b/0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch deleted file mode 100644 index 9224bb2..0000000 --- a/0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch +++ /dev/null @@ -1,223 +0,0 @@ -From 5aab60551b825b3ad283f19263f3ce549c725055 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 16 Mar 2011 15:47:14 +0000 -Subject: [PATCH] Resolves: rhbz#680460 honour lcdfilter, subpixeling etc. - ---- - vcl/inc/vcl/glyphcache.hxx | 1 + - vcl/inc/vcl/impfont.hxx | 2 + - vcl/source/glyphs/gcach_ftyp.cxx | 5 +++ - vcl/source/glyphs/gcach_ftyp.hxx | 1 + - vcl/unx/source/fontmanager/fontconfig.cxx | 41 +++++++++++++++++++++++++--- - vcl/unx/source/gdi/salgdi3.cxx | 20 ++++++++++---- - 6 files changed, 59 insertions(+), 11 deletions(-) - -diff --git a/vcl/inc/vcl/glyphcache.hxx b/vcl/inc/vcl/glyphcache.hxx -index 1c03759..035fd5c 100644 ---- a/vcl/inc/vcl/glyphcache.hxx -+++ b/vcl/inc/vcl/glyphcache.hxx -@@ -188,6 +188,7 @@ public: - virtual void* GetFtFace() const { return 0; } - virtual int GetLoadFlags() const { return 0; } - virtual void SetFontOptions( const ImplFontOptions*) {} -+ virtual const ImplFontOptions* GetFontOptions() const { return 0; } - virtual bool NeedsArtificialBold() const { return false; } - virtual bool NeedsArtificialItalic() const { return false; } - -diff --git a/vcl/inc/vcl/impfont.hxx b/vcl/inc/vcl/impfont.hxx -index fa8a837..ed9c35c 100644 ---- a/vcl/inc/vcl/impfont.hxx -+++ b/vcl/inc/vcl/impfont.hxx -@@ -166,6 +166,8 @@ public: - { return meAntiAlias == ANTIALIAS_FALSE; } - bool DontUseHinting() const - { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); } -+ virtual void *GetPattern(void * /*pFace*/) const -+ { return NULL; } - }; - - // ------------------- -diff --git a/vcl/source/glyphs/gcach_ftyp.cxx b/vcl/source/glyphs/gcach_ftyp.cxx -index a6a13da..8c46009 100644 ---- a/vcl/source/glyphs/gcach_ftyp.cxx -+++ b/vcl/source/glyphs/gcach_ftyp.cxx -@@ -967,6 +967,11 @@ void FreetypeServerFont::SetFontOptions( const ImplFontOptions* pFontOptions) - mnLoadFlags |= FT_LOAD_NO_BITMAP; - } - -+const ImplFontOptions* FreetypeServerFont::GetFontOptions() const -+{ -+ return mpFontOptions; -+} -+ - // ----------------------------------------------------------------------- - - bool FreetypeServerFont::TestFont() const -diff --git a/vcl/source/glyphs/gcach_ftyp.hxx b/vcl/source/glyphs/gcach_ftyp.hxx -index 6069388..1df8253 100644 ---- a/vcl/source/glyphs/gcach_ftyp.hxx -+++ b/vcl/source/glyphs/gcach_ftyp.hxx -@@ -187,6 +187,7 @@ public: - virtual bool TestFont() const; - virtual void* GetFtFace() const; - virtual void SetFontOptions( const ImplFontOptions*); -+ virtual const ImplFontOptions* GetFontOptions() const; - virtual int GetLoadFlags() const { return (mnLoadFlags & ~FT_LOAD_IGNORE_TRANSFORM); } - virtual bool NeedsArtificialBold() const { return mbArtBold; } - virtual bool NeedsArtificialItalic() const { return mbArtItalic; } -diff --git a/vcl/unx/source/fontmanager/fontconfig.cxx b/vcl/unx/source/fontmanager/fontconfig.cxx -index 92632c7..7b792d3 100644 ---- a/vcl/unx/source/fontmanager/fontconfig.cxx -+++ b/vcl/unx/source/fontmanager/fontconfig.cxx -@@ -56,6 +56,9 @@ - #define FC_HINT_MEDIUM 2 - #define FC_HINT_FULL 3 - #endif -+ #ifndef FC_FT_FACE -+ #define FC_FT_FACE "ftface" -+ #endif - #else - typedef void FcConfig; - typedef void FcObjectSet; -@@ -136,6 +139,7 @@ - FcBool (*m_pFcPatternAddCharSet)(FcPattern*,const char*,const FcCharSet*); - FcBool (*m_pFcPatternAddString)(FcPattern*,const char*,const FcChar8*); - FT_UInt (*m_pFcFreeTypeCharIndex)(FT_Face,FcChar32); -+ FcBool (*m_pFcPatternAddFTFace)(FcPattern*,const char*,const FT_Face); - - oslGenericFunction loadSymbol( const char* ); - void addFontSet( FcSetName ); -@@ -250,6 +254,13 @@ - FT_UInt FcFreeTypeCharIndex( FT_Face face, FcChar32 ucs4 ) - { return m_pFcFreeTypeCharIndex ? m_pFcFreeTypeCharIndex( face, ucs4 ) : 0; } - -+ FcBool FcPatternAddFTFace( FcPattern* pPattern, const char* pObject, const FT_Face nValue ) -+ { -+ return m_pFcPatternAddFTFace -+ ? m_pFcPatternAddFTFace( pPattern, pObject, nValue ) -+ : false; -+ } -+ - public: // TODO: cleanup - FcResult FamilyFromPattern(FcPattern* pPattern, FcChar8 **family); - std::hash_map< rtl::OString, rtl::OString, rtl::OStringHash > m_aFontNameToLocalized; -@@ -355,6 +366,8 @@ - loadSymbol( "FcPatternAddString" ); - m_pFcFreeTypeCharIndex = (FT_UInt(*)(FT_Face,FcChar32)) - loadSymbol( "FcFreeTypeCharIndex" ); -+ m_pFcPatternAddFTFace = (FcBool(*)(FcPattern*,const char*,const FT_Face)) -+ loadSymbol( "FcPatternAddFTFace" ); - - m_nFcVersion = FcGetVersion(); - #if (OSL_DEBUG_LEVEL > 1) -@@ -1200,6 +1213,26 @@ - return aName; - } - -+class FontConfigFontOptions : public ImplFontOptions -+{ -+public: -+ FontConfigFontOptions() : mpPattern(0) {} -+ ~FontConfigFontOptions() -+ { -+ FontCfgWrapper& rWrapper = FontCfgWrapper::get(); -+ if( rWrapper.isValid() ) -+ rWrapper.FcPatternDestroy( mpPattern ); -+ } -+ virtual void *GetPattern(void * face) const -+ { -+ FontCfgWrapper& rWrapper = FontCfgWrapper::get(); -+ if( rWrapper.isValid() ) -+ rWrapper.FcPatternAddFTFace(mpPattern, FC_FT_FACE, static_cast(face)); -+ return mpPattern; -+ } -+ FcPattern* mpPattern; -+}; -+ - ImplFontOptions* PrintFontManager::getFontOptions( - const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void*)) const - { -@@ -1210,7 +1243,7 @@ - if( ! rWrapper.isValid() ) - return NULL; - -- ImplFontOptions *pOptions = NULL; -+ FontConfigFontOptions* pOptions = NULL; - FcConfig* pConfig = rWrapper.FcConfigGetCurrent(); - FcPattern* pPattern = rWrapper.FcPatternCreate(); - -@@ -1247,9 +1280,10 @@ - FC_HINTING, 0, &hinting); - /*FcResult eHintStyle =*/ rWrapper.FcPatternGetInteger(pResult, - FC_HINT_STYLE, 0, &hintstyle); -- rWrapper.FcPatternDestroy(pResult); - -- pOptions = new ImplFontOptions; -+ pOptions = new FontConfigFontOptions; -+ -+ pOptions->mpPattern = pResult; - - if( eEmbeddedBitmap == FcResultMatch ) - pOptions->meEmbeddedBitmap = embitmap ? EMBEDDEDBITMAP_TRUE : EMBEDDEDBITMAP_FALSE; -diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx -index 6de93fe..a0bef90 100644 ---- a/vcl/unx/source/gdi/salgdi3.cxx -+++ b/vcl/unx/source/gdi/salgdi3.cxx -@@ -89,7 +89,6 @@ struct cairo_surface_t; - struct cairo_t; - struct cairo_font_face_t; - typedef void* FT_Face; --typedef void* FcPattern; - struct cairo_matrix_t { - double xx; double yx; - double xy; double yy; -@@ -742,7 +741,7 @@ private: - void (*mp_clip)(cairo_t*); - void (*mp_rectangle)(cairo_t*, double, double, double, double); - cairo_font_face_t * (*mp_ft_font_face_create_for_ft_face)(FT_Face, int); -- cairo_font_face_t * (*mp_ft_font_face_create_for_pattern)(FcPattern*); -+ cairo_font_face_t * (*mp_ft_font_face_create_for_pattern)(void*); - void (*mp_set_font_face)(cairo_t *, cairo_font_face_t *); - void (*mp_font_face_destroy)(cairo_font_face_t *); - void (*mp_matrix_init_identity)(cairo_matrix_t *); -@@ -772,8 +771,12 @@ public: - { (*mp_rectangle)(cr, x, y, width, height); } - cairo_font_face_t* ft_font_face_create_for_ft_face(FT_Face face, int load_flags) - { return (*mp_ft_font_face_create_for_ft_face)(face, load_flags); } -- cairo_font_face_t* ft_font_face_create_for_pattern(FcPattern *pattern) -- { return (*mp_ft_font_face_create_for_pattern)(pattern); } -+ cairo_font_face_t* ft_font_face_create_for_pattern(void *pattern) -+ { -+ return mp_ft_font_face_create_for_pattern -+ ? (*mp_ft_font_face_create_for_pattern)(pattern) -+ : NULL; -+ } - void set_font_face(cairo_t *cr, cairo_font_face_t *font_face) - { (*mp_set_font_face)(cr, font_face); } - void font_face_destroy(cairo_font_face_t *font_face) -@@ -847,7 +850,7 @@ CairoWrapper::CairoWrapper() - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_rectangle" ); - mp_ft_font_face_create_for_ft_face = (cairo_font_face_t * (*)(FT_Face, int)) - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_ft_font_face_create_for_ft_face" ); -- mp_ft_font_face_create_for_pattern = (cairo_font_face_t * (*)(FcPattern*)) -+ mp_ft_font_face_create_for_pattern = (cairo_font_face_t * (*)(void*)) - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_ft_font_face_create_for_pattern" ); - mp_set_font_face = (void (*)(cairo_t *, cairo_font_face_t *)) - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_font_face" ); -@@ -1016,7 +1019,12 @@ void X11SalGraphics::DrawCairoAAFontString( const ServerFontLayout& rLayout ) - font_face = (cairo_font_face_t*)m_aCairoFontsCache.FindCachedFont(pId); - if (!font_face) - { -- font_face = rCairo.ft_font_face_create_for_ft_face(pId, rFont.GetLoadFlags()); -+ const ImplFontOptions *pOptions = rFont.GetFontOptions(); -+ void *pPattern = pOptions ? pOptions->GetPattern(pId) : NULL; -+ if (pPattern) -+ font_face = rCairo.ft_font_face_create_for_pattern(pPattern); -+ if (!font_face) -+ font_face = rCairo.ft_font_face_create_for_ft_face(pId, rFont.GetLoadFlags()); - m_aCairoFontsCache.CacheFont(font_face, pId); - } - --- -1.7.4.1 - diff --git a/0001-Resolves-rhbz-681159-bandaid-for-crash.patch b/0001-Resolves-rhbz-681159-bandaid-for-crash.patch deleted file mode 100644 index be66f40..0000000 --- a/0001-Resolves-rhbz-681159-bandaid-for-crash.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ff83a4fc52c1ff7603dd2b26593a5231c4a5c2f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 1 Mar 2011 13:31:10 +0000 -Subject: [PATCH] Resolves: rhbz#681159 bandaid for crash - ---- - sw/source/ui/uiview/viewtab.cxx | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/sw/source/ui/uiview/viewtab.cxx b/sw/source/ui/uiview/viewtab.cxx -index 0307a69..02fede0 100644 ---- a/sw/source/ui/uiview/viewtab.cxx -+++ b/sw/source/ui/uiview/viewtab.cxx -@@ -694,7 +694,7 @@ void SwView::ExecTabWin( SfxRequest& rReq ) - if(bIsTableRTL) - { - USHORT nColCount = aColItem.Count() - 1; -- for ( USHORT i = 0; i < nColCount; ++i ) -+ for ( USHORT i = 0; i < nColCount && i < aTabCols.Count(); ++i ) - { - const SvxColumnDescription& rCol = aColItem[nColCount - i]; - aTabCols[i] = aTabCols.GetRight() - rCol.nStart; -@@ -703,7 +703,7 @@ void SwView::ExecTabWin( SfxRequest& rReq ) - } - else - { -- for ( USHORT i = 0; i < aColItem.Count()-1; ++i ) -+ for ( USHORT i = 0; i < aColItem.Count()-1 && i < aTabCols.Count(); ++i ) - { - const SvxColumnDescription& rCol = aColItem[i]; - aTabCols[i] = rCol.nEnd + aTabCols.GetLeft(); --- -1.7.4.1 - diff --git a/0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch b/0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch deleted file mode 100644 index fcefa6d..0000000 --- a/0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 39387fda8c027722d7db2a1320a2bebf95efb641 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 9 Mar 2011 14:22:04 +0000 -Subject: [PATCH] Resolves: rhbz#682621 better resizing of overtall glyphsubs - ---- - vcl/inc/vcl/outdev.hxx | 5 +++ - vcl/source/gdi/outdev3.cxx | 70 ++++++++++++++++++++++++++++++++++--------- - 2 files changed, 60 insertions(+), 15 deletions(-) - -diff --git a/vcl/inc/vcl/outdev.hxx b/vcl/inc/vcl/outdev.hxx -index 251b2e8..859020f 100644 ---- a/vcl/inc/vcl/outdev.hxx -+++ b/vcl/inc/vcl/outdev.hxx -@@ -276,6 +276,8 @@ enum OutDevViewType { OUTDEV_VIEWTYPE_DONTKNOW, OUTDEV_VIEWTYPE_PRINTPREVIEW, OU - - class VirtualDevice; - class Printer; -+class ImplFontSelectData; -+class ImplFontMetricData; - - const char* ImplDbgCheckOutputDevice( const void* pObj ); - -@@ -563,6 +565,9 @@ public: - // Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area) - void impPaintLineGeometryWithEvtlExpand(const LineInfo& rInfo, basegfx::B2DPolyPolygon aLinePolyPolygon); - -+ SAL_DLLPRIVATE void forceFallbackFontToFit(SalLayout &rFallback, ImplFontEntry &rFallbackFont, -+ ImplFontSelectData &rFontSelData, int nFallbackLevel, -+ ImplLayoutArgs& rLayoutArgs, const ImplFontMetricData& rOrigMetric) const; - protected: - OutputDevice(); - -diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx -index 84a7b5d..7a439f2 100644 ---- a/vcl/source/gdi/outdev3.cxx -+++ b/vcl/source/gdi/outdev3.cxx -@@ -6023,6 +6023,58 @@ - return pSalLayout; - } - -+void OutputDevice::forceFallbackFontToFit(SalLayout &rFallback, ImplFontEntry &rFallbackFont, -+ ImplFontSelectData &rFontSelData, int nFallbackLevel, -+ ImplLayoutArgs& rLayoutArgs, const ImplFontMetricData& rOrigMetric) const -+{ -+ Rectangle aBoundRect; -+ bool bHaveBounding = false; -+ Rectangle aRectangle; -+ -+ rFallback.AdjustLayout( rLayoutArgs ); -+ -+ //All we care about here is getting the vertical bounds of this text and -+ //make sure it will fit inside the available space -+ Point aPos; -+ for( int nStart = 0;;) -+ { -+ sal_GlyphId nLGlyph; -+ if( !rFallback.GetNextGlyphs( 1, &nLGlyph, aPos, nStart ) ) -+ break; -+ -+ int nFontTag = nFallbackLevel << GF_FONTSHIFT; -+ nLGlyph |= nFontTag; -+ -+ // get bounding rectangle of individual glyph -+ if( mpGraphics->GetGlyphBoundRect( nLGlyph, aRectangle ) ) -+ { -+ // merge rectangle -+ aRectangle += aPos; -+ aBoundRect.Union( aRectangle ); -+ bHaveBounding = true; -+ } -+ } -+ -+ //Shrink it down if it won't fit -+ if (bHaveBounding) -+ { -+ long nGlyphsAscent = -aBoundRect.Top(); -+ float fScaleTop = nGlyphsAscent > rOrigMetric.mnAscent ? -+ rOrigMetric.mnAscent/(float)nGlyphsAscent : 1; -+ long nGlyphsDescent = aBoundRect.Bottom(); -+ float fScaleBottom = nGlyphsDescent > rOrigMetric.mnDescent ? -+ rOrigMetric.mnDescent/(float)nGlyphsDescent : 1; -+ float fScale = fScaleBottom < fScaleTop ? fScaleBottom : fScaleTop; -+ if (fScale < 1) -+ { -+ long nOrigHeight = rFontSelData.mnHeight; -+ rFontSelData.mnHeight *= fScale; -+ rFallbackFont.mnSetFontFlags = mpGraphics->SetFont( &rFontSelData, nFallbackLevel ); -+ rFontSelData.mnHeight = nOrigHeight; -+ } -+ } -+} -+ - // ----------------------------------------------------------------------- - - SalLayout* OutputDevice::ImplGlyphFallbackLayout( SalLayout* pSalLayout, ImplLayoutArgs& rLayoutArgs ) const -@@ -6102,22 +6154,7 @@ - } - #endif - -- ImplFontMetricData aSubstituteMetric(aFontSelData); - pFallbackFont->mnSetFontFlags = mpGraphics->SetFont( &aFontSelData, nFallbackLevel ); -- mpGraphics->GetFontMetric(&aSubstituteMetric, nFallbackLevel); -- -- long nOriginalHeight = aOrigMetric.mnAscent + aOrigMetric.mnDescent; -- long nSubstituteHeight = aSubstituteMetric.mnAscent + aSubstituteMetric.mnDescent; -- //Too tall, shrink it a bit. Need a better calculation to include extra -- //factors and any extra wriggle room we might have available ? -- if (nSubstituteHeight > nOriginalHeight) -- { -- float fScale = nOriginalHeight/(float)nSubstituteHeight; -- long nOrigHeight = aFontSelData.mnHeight; -- aFontSelData.mnHeight *= fScale; -- pFallbackFont->mnSetFontFlags = mpGraphics->SetFont( &aFontSelData, nFallbackLevel ); -- aFontSelData.mnHeight = nOrigHeight; -- } - - // create and add glyph fallback layout to multilayout - rLayoutArgs.ResetPos(); -@@ -6126,6 +6163,9 @@ - { - if( pFallback->LayoutText( rLayoutArgs ) ) - { -+ forceFallbackFontToFit(*pFallback, *pFallbackFont, aFontSelData, -+ nFallbackLevel, rLayoutArgs, aOrigMetric); -+ - if( !pMultiSalLayout ) - pMultiSalLayout = new MultiSalLayout( *pSalLayout ); - pMultiSalLayout->AddFallback( *pFallback, diff --git a/0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch b/0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch deleted file mode 100644 index 4cff762..0000000 --- a/0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7ec1571c31faff1f649dce4312271c47fc867fe3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 8 Mar 2011 16:10:43 +0000 -Subject: [PATCH] Resolves: rhbz#682716 pa-IN isn't handled by fontconfig well - -i.e. pa-IN gets fontconfig to consider all "pa" and "pa-pk" fonts, see -fdo#35118 for what I'd like fontconfig to do instead and prioritize generic -"pa" over "pa-pk" in thsis case. - -Looking at the current list of fontconfig languages, this is the only one -likely afflicted at the moment, so help fontconfig out here. ---- - vcl/unx/source/fontmanager/fontconfig.cxx | 8 +++++++- - 1 files changed, 7 insertions(+), 1 deletions(-) - -diff --git a/vcl/unx/source/fontmanager/fontconfig.cxx b/vcl/unx/source/fontmanager/fontconfig.cxx -index d7a888d..7a40084 100644 ---- a/vcl/unx/source/fontmanager/fontconfig.cxx -+++ b/vcl/unx/source/fontmanager/fontconfig.cxx -@@ -1102,6 +1102,9 @@ - - const FcChar8* pLangAttribUtf8 = (FcChar8*)rLangAttrib.getStr(); - -+ if (rLangAttrib.equalsIgnoreAsciiCase(OString(RTL_CONSTASCII_STRINGPARAM("pa-in")))) -+ pLangAttribUtf8 = (FcChar8*)"pa"; -+ - // Add required Unicode characters, if any - if ( rMissingCodes.getLength() ) - { diff --git a/0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch b/0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch deleted file mode 100644 index eb92d73..0000000 --- a/0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 53e2bdb610cb46b8a2482c742820e2dbe80bfc47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 29 Mar 2011 14:00:33 +0100 -Subject: [PATCH] Resolves: rhbz#684580 'X' and '/' strike-through escapes range - -i.e. it bleeds outside the text it is supposed to affect. See #i114076#, ---- - vcl/source/gdi/outdev3.cxx | 46 ++++++++++++++++++++++++------------- - vcl/source/gdi/pdfwriter_impl.cxx | 23 ++++++++++++++++++ - 2 files changed, 53 insertions(+), 16 deletions(-) - -diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx -index 02febe3..d43c163 100644 ---- a/vcl/source/gdi/outdev3.cxx -+++ b/vcl/source/gdi/outdev3.cxx -@@ -3967,6 +3967,11 @@ - FontStrikeout eStrikeout, - Color aColor ) - { -+ //See qadevOOo/testdocs/StrikeThrough.odt for examples if you need -+ //to tweak this -+ if (!nWidth) -+ return; -+ - // PDF-export does its own strikeout drawing... why again? - if( mpPDFWriter && mpPDFWriter->isBuiltinFont(mpFontEntry->maFontSelData.mpFontData) ) - return; -@@ -3985,24 +3990,17 @@ - const String aStrikeoutTest( aChars, nTestStrLen ); - - // calculate approximation of strikeout atom size -- long nStrikeoutWidth = nWidth; -+ long nStrikeoutWidth = 0; - SalLayout* pLayout = ImplLayout( aStrikeoutTest, 0, nTestStrLen ); - if( pLayout ) - { -- nStrikeoutWidth = (pLayout->GetTextWidth() +nTestStrLen/2) / (nTestStrLen * pLayout->GetUnitsPerPixel()); -+ nStrikeoutWidth = pLayout->GetTextWidth() / (nTestStrLen * pLayout->GetUnitsPerPixel()); - pLayout->Release(); - } - if( nStrikeoutWidth <= 0 ) // sanity check - return; - -- // calculate acceptable strikeout length -- // allow the strikeout to be one pixel larger than the text it strikes out -- long nMaxWidth = nStrikeoutWidth / 2; -- if ( nMaxWidth < 2 ) -- nMaxWidth = 2; -- nMaxWidth += nWidth + 1; -- -- int nStrikeStrLen = (nMaxWidth + nStrikeoutWidth - 1) / nStrikeoutWidth; -+ int nStrikeStrLen = (nWidth+(nStrikeoutWidth-1)) / nStrikeoutWidth; - // if the text width is smaller than the strikeout text, then do not - // strike out at all. This case requires user interaction, e.g. adding - // a space to the text -@@ -4034,8 +4032,28 @@ - ImplInitTextColor(); - - pLayout->DrawBase() = Point( nX+mnTextOffX, nY+mnTextOffY ); -+ -+ Rectangle aPixelRect; -+ aPixelRect.nLeft = nBaseX+mnTextOffX; -+ aPixelRect.nRight = aPixelRect.nLeft+nWidth; -+ aPixelRect.nBottom = nBaseY+mpFontEntry->maMetric.mnDescent; -+ aPixelRect.nTop = nBaseY-mpFontEntry->maMetric.mnAscent; -+ -+ if (mpFontEntry->mnOrientation) -+ { -+ Polygon aPoly( aPixelRect ); -+ aPoly.Rotate( Point(nBaseX+mnTextOffX, nBaseY+mnTextOffY), mpFontEntry->mnOrientation); -+ aPixelRect = aPoly.GetBoundRect(); -+ } -+ -+ Push( PUSH_CLIPREGION ); -+ IntersectClipRegion( PixelToLogic(aPixelRect) ); -+ if( mbInitClipRegion ) -+ ImplInitClipRegion(); -+ - pLayout->DrawText( *mpGraphics ); - pLayout->Release(); -+ Pop(); - - SetTextColor( aOldColor ); - ImplInitTextColor(); -diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx -index 442a25d..485dad3 100644 ---- a/vcl/source/gdi/pdfwriter_impl.cxx -+++ b/vcl/source/gdi/pdfwriter_impl.cxx -@@ -8223,6 +8223,9 @@ - - void PDFWriterImpl::drawStrikeoutChar( const Point& rPos, long nWidth, FontStrikeout eStrikeout ) - { -+ //See qadevOOo/testdocs/StrikeThrough.odt for examples if you need -+ //to tweak this -+ - String aStrikeoutChar = String::CreateFromAscii( eStrikeout == STRIKEOUT_SLASH ? "/" : "X" ); - String aStrikeout = aStrikeoutChar; - while( m_pReferenceDevice->GetTextWidth( aStrikeout ) < nWidth ) -@@ -8244,7 +8247,28 @@ - // strikeout string is left aligned non-CTL text - ULONG nOrigTLM = m_pReferenceDevice->GetLayoutMode(); - m_pReferenceDevice->SetLayoutMode( TEXT_LAYOUT_BIDI_STRONG|TEXT_LAYOUT_COMPLEX_DISABLED ); -+ -+ push( PUSH_CLIPREGION ); -+ FontMetric aRefDevFontMetric = m_pReferenceDevice->GetFontMetric(); -+ Rectangle aRect; -+ aRect.nLeft = rPos.X(); -+ aRect.nRight = aRect.nLeft+nWidth; -+ aRect.nBottom = rPos.Y()+aRefDevFontMetric.GetDescent(); -+ aRect.nTop = rPos.Y()-aRefDevFontMetric.GetAscent(); -+ -+ ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry; -+ if (pFontEntry->mnOrientation) -+ { -+ Polygon aPoly( aRect ); -+ aPoly.Rotate( rPos, pFontEntry->mnOrientation); -+ aRect = aPoly.GetBoundRect(); -+ } -+ -+ intersectClipRegion( aRect ); -+ - drawText( rPos, aStrikeout, 0, aStrikeout.Len(), false ); -+ pop(); -+ - m_pReferenceDevice->SetLayoutMode( nOrigTLM ); - - if ( bShadow ) --- -1.7.4.1 - diff --git a/0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch b/0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch deleted file mode 100644 index 4080700..0000000 --- a/0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7c4571adca053a2eb6229d0519f05520af28bbf7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Mon, 14 Mar 2011 11:29:11 +0000 -Subject: [PATCH] Resolves: rhbz#684620 crash with NULL pTableBox - ---- - sw/source/core/crsr/swcrsr.cxx | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx -index afdcc92..2f731bf 100644 ---- a/sw/source/core/crsr/swcrsr.cxx -+++ b/sw/source/core/crsr/swcrsr.cxx -@@ -1701,7 +1701,7 @@ BOOL SwCursor::LeftRight( BOOL bLeft, USHORT nCnt, USHORT nMode, - if ( pTableBoxStartNode ) - { - const SwTableBox* pTableBox = pTableBoxStartNode->GetTblBox(); -- if ( pTableBox->getRowSpan() < 1 ) -+ if ( pTableBox && pTableBox->getRowSpan() < 1 ) - { - // Store the row span offset: - mnRowSpanOffset = pTableBox->getRowSpan(); --- -1.7.4.1 - diff --git a/0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch b/0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch deleted file mode 100644 index a378635..0000000 --- a/0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 28e6caab0a9c04b306f723fb3390332f5ef94a61 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Thu, 10 Mar 2011 13:54:58 +0000 -Subject: [PATCH] add cairo_ft_font_face_create_for_pattern wrapper - ---- - vcl/unx/source/gdi/salgdi3.cxx | 6 ++++++ - 1 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx -index 3056f92..9834028 100644 ---- a/vcl/unx/source/gdi/salgdi3.cxx -+++ b/vcl/unx/source/gdi/salgdi3.cxx -@@ -89,6 +89,7 @@ struct cairo_surface_t; - struct cairo_t; - struct cairo_font_face_t; - typedef void* FT_Face; -+typedef void* FcPattern; - struct cairo_matrix_t { - double xx; double yx; - double xy; double yy; -@@ -742,6 +743,7 @@ private: - void (*mp_clip)(cairo_t*); - void (*mp_rectangle)(cairo_t*, double, double, double, double); - cairo_font_face_t * (*mp_ft_font_face_create_for_ft_face)(FT_Face, int); -+ cairo_font_face_t * (*mp_ft_font_face_create_for_pattern)(FcPattern*); - void (*mp_set_font_face)(cairo_t *, cairo_font_face_t *); - void (*mp_font_face_destroy)(cairo_font_face_t *); - void (*mp_matrix_init_identity)(cairo_matrix_t *); -@@ -771,6 +773,8 @@ public: - { (*mp_rectangle)(cr, x, y, width, height); } - cairo_font_face_t* ft_font_face_create_for_ft_face(FT_Face face, int load_flags) - { return (*mp_ft_font_face_create_for_ft_face)(face, load_flags); } -+ cairo_font_face_t* ft_font_face_create_for_pattern(FcPattern *pattern) -+ { return (*mp_ft_font_face_create_for_pattern)(pattern); } - void set_font_face(cairo_t *cr, cairo_font_face_t *font_face) - { (*mp_set_font_face)(cr, font_face); } - void font_face_destroy(cairo_font_face_t *font_face) -@@ -844,6 +848,8 @@ CairoWrapper::CairoWrapper() - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_rectangle" ); - mp_ft_font_face_create_for_ft_face = (cairo_font_face_t * (*)(FT_Face, int)) - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_ft_font_face_create_for_ft_face" ); -+ mp_ft_font_face_create_for_pattern = (cairo_font_face_t * (*)(FcPattern*)) -+ osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_ft_font_face_create_for_pattern" ); - mp_set_font_face = (void (*)(cairo_t *, cairo_font_face_t *)) - osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_font_face" ); - mp_font_face_destroy = (void (*)(cairo_font_face_t *)) --- -1.7.4.1 - diff --git a/0001-add-flat-xml-types-to-.desktop-files-etc.patch b/0001-add-flat-xml-types-to-.desktop-files-etc.patch deleted file mode 100644 index 60235f1..0000000 --- a/0001-add-flat-xml-types-to-.desktop-files-etc.patch +++ /dev/null @@ -1,573 +0,0 @@ -From 146b561a6643022bc9c5b52fedaa8d7ff1a2dac5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 30 Mar 2011 16:49:04 +0100 -Subject: [PATCH] add flat-xml types to .desktop files etc. - ---- - sysui/desktop/debian/postinst | 10 +++++++++- - sysui/desktop/freedesktop/freedesktop-menus.spec | 8 ++++++++ - sysui/desktop/mandriva/mandriva-menus.spec | 10 +++++++++- - sysui/desktop/menus/calc.desktop | 2 +- - sysui/desktop/menus/draw.desktop | 2 +- - sysui/desktop/menus/impress.desktop | 2 +- - sysui/desktop/menus/writer.desktop | 2 +- - .../mimetypes/oasis-drawing-flat-xml.desktop | 9 +++++++++ - .../mimetypes/oasis-presentation-flat-xml.desktop | 9 +++++++++ - .../mimetypes/oasis-spreadsheet-flat-xml.desktop | 9 +++++++++ - .../mimetypes/oasis-spreadsheet-flat-xml.keys | 10 ++++++++++ - .../desktop/mimetypes/oasis-text-flat-xml.desktop | 9 +++++++++ - sysui/desktop/mimetypes/oasis-text-flat-xml.keys | 10 ++++++++++ - sysui/desktop/mimetypes/openoffice.applications | 2 +- - sysui/desktop/mimetypes/openoffice.mime | 12 ++++++++++++ - sysui/desktop/redhat/redhat-menus.spec | 10 +++++++++- - sysui/desktop/solaris/mailcap | 4 ++++ - sysui/desktop/solaris/mime.types | 4 ++++ - sysui/desktop/suse/suse-menus.spec | 8 ++++++++ - 19 files changed, 124 insertions(+), 8 deletions(-) - create mode 100755 sysui/desktop/mimetypes/oasis-drawing-flat-xml.desktop - create mode 100755 sysui/desktop/mimetypes/oasis-presentation-flat-xml.desktop - create mode 100755 sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.desktop - create mode 100755 sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.keys - create mode 100755 sysui/desktop/mimetypes/oasis-text-flat-xml.desktop - create mode 100755 sysui/desktop/mimetypes/oasis-text-flat-xml.keys - -diff --git a/sysui/desktop/debian/postinst b/sysui/desktop/debian/postinst -index 67161df..5312512 100755 ---- a/sysui/desktop/debian/postinst -+++ b/sysui/desktop/debian/postinst -@@ -38,15 +38,19 @@ sed ' - - # now append our stuff to the temporary file - cat >> /etc/mime.types.tmp$$ << END --application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -@@ -98,6 +102,7 @@ then - cat >> /etc/mailcap.tmp$$ << END - # LibreOffice - application/vnd.oasis.opendocument.text; %PREFIX -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.text-template; %PREFIX -view %s - application/vnd.oasis.opendocument.text-web; %PREFIX -view %s - application/vnd.oasis.opendocument.text-master; %PREFIX -view %s -@@ -113,6 +118,7 @@ application/vnd.stardivision.math; %PREFIX -view %s - application/x-starmath; %PREFIX -view %s - application/msword; %PREFIX -view %s - application/vnd.oasis.opendocument.spreadsheet; %PREFIX -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %PREFIX -view %s - application/vnd.sun.xml.calc; %PREFIX -view %s - application/vnd.sun.xml.calc.template; %PREFIX -view %s -@@ -125,6 +131,7 @@ application/msexcel; %PREFIX -view %s - application/vnd.ms-excel; %PREFIX -view %s - application/x-msexcel; %PREFIX -view %s - application/vnd.oasis.opendocument.presentation; %PREFIX -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.presentation-template; %PREFIX -view %s - application/vnd.sun.xml.impress; %PREFIX -view %s - application/vnd.sun.xml.impress.template; %PREFIX -view %s -@@ -135,6 +142,7 @@ application/mspowerpoint; %PREFIX -view %s - application/vnd.ms-powerpoint; %PREFIX -view %s - application/x-mspowerpoint; %PREFIX -view %s - application/vnd.oasis.opendocument.graphics; %PREFIX -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.graphics-template; %PREFIX -view %s - application/vnd.sun.xml.draw; %PREFIX -view %s - application/vnd.sun.xml.draw.template; %PREFIX -view %s -diff --git a/sysui/desktop/freedesktop/freedesktop-menus.spec b/sysui/desktop/freedesktop/freedesktop-menus.spec -index 30c2dd6..8cec369 100755 ---- a/sysui/desktop/freedesktop/freedesktop-menus.spec -+++ b/sysui/desktop/freedesktop/freedesktop-menus.spec -@@ -134,14 +134,18 @@ sed ' - # now append our stuff to the temporary file - cat >> /etc/mime.types.tmp$$ << END - application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -@@ -205,6 +209,7 @@ then - cat >> /etc/mailcap.tmp$$ << END - # LibreOffice - application/vnd.oasis.opendocument.text; %unixfilename -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.text-template; %unixfilename -view %s - application/vnd.oasis.opendocument.text-web; %unixfilename -view %s - application/vnd.oasis.opendocument.text-master; %unixfilename -view %s -@@ -220,6 +225,7 @@ application/vnd.stardivision.math; %unixfilename -view %s - application/x-starmath; %unixfilename -view %s - application/msword; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet; %unixfilename -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %unixfilename -view %s - application/vnd.sun.xml.calc; %unixfilename -view %s - application/vnd.sun.xml.calc.template; %unixfilename -view %s -@@ -232,6 +238,7 @@ application/msexcel; %unixfilename -view %s - application/vnd.ms-excel; %unixfilename -view %s - application/x-msexcel; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation; %unixfilename -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation-template; %unixfilename -view %s - application/vnd.sun.xml.impress; %unixfilename -view %s - application/vnd.sun.xml.impress.template; %unixfilename -view %s -@@ -242,6 +249,7 @@ application/mspowerpoint; %unixfilename -view %s - application/vnd.ms-powerpoint; %unixfilename -view %s - application/x-mspowerpoint; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics; %unixfilename -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics-template; %unixfilename -view %s - application/vnd.sun.xml.draw; %unixfilename -view %s - application/vnd.sun.xml.draw.template; %unixfilename -view %s -diff --git a/sysui/desktop/mandriva/mandriva-menus.spec b/sysui/desktop/mandriva/mandriva-menus.spec -index f068788..a2c52de 100755 ---- a/sysui/desktop/mandriva/mandriva-menus.spec -+++ b/sysui/desktop/mandriva/mandriva-menus.spec -@@ -53,15 +53,19 @@ sed ' - - # now append our stuff to the temporary file - cat >> /etc/mime.types.tmp$$ << END --application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -@@ -125,6 +129,7 @@ then - cat >> /etc/mailcap.tmp$$ << END - # OpenOffice.org - application/vnd.oasis.opendocument.text; %unixfilename -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.text-template; %unixfilename -view %s - application/vnd.oasis.opendocument.text-web; %unixfilename -view %s - application/vnd.oasis.opendocument.text-master; %unixfilename -view %s -@@ -140,6 +145,7 @@ application/vnd.stardivision.math; %unixfilename -view %s - application/x-starmath; %unixfilename -view %s - application/msword; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet; %unixfilename -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %unixfilename -view %s - application/vnd.sun.xml.calc; %unixfilename -view %s - application/vnd.sun.xml.calc.template; %unixfilename -view %s -@@ -152,6 +158,7 @@ application/msexcel; %unixfilename -view %s - application/vnd.ms-excel; %unixfilename -view %s - application/x-msexcel; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation; %unixfilename -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation-template; %unixfilename -view %s - application/vnd.sun.xml.impress; %unixfilename -view %s - application/vnd.sun.xml.impress.template; %unixfilename -view %s -@@ -162,6 +169,7 @@ application/mspowerpoint; %unixfilename -view %s - application/vnd.ms-powerpoint; %unixfilename -view %s - application/x-mspowerpoint; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics; %unixfilename -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics-template; %unixfilename -view %s - application/vnd.sun.xml.draw; %unixfilename -view %s - application/vnd.sun.xml.draw.template; %unixfilename -view %s -diff --git a/sysui/desktop/menus/calc.desktop b/sysui/desktop/menus/calc.desktop -index 3ae2bcb..80cc09d 100755 ---- a/sysui/desktop/menus/calc.desktop -+++ b/sysui/desktop/menus/calc.desktop -@@ -5,7 +5,7 @@ - Type=Application - Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Spreadsheets; - Exec=${UNIXBASISROOTNAME} -calc %U --MimeType=application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;application/x-dbf; -+MimeType=application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;application/x-dbf; - Name=%PRODUCTNAME Calc - Name[pt_BR]=%PRODUCTNAME_BR Calc - GenericName=Spreadsheet -diff --git a/sysui/desktop/menus/draw.desktop b/sysui/desktop/menus/draw.desktop -index f609d35..57f7ade 100755 ---- a/sysui/desktop/menus/draw.desktop -+++ b/sysui/desktop/menus/draw.desktop -@@ -5,7 +5,7 @@ - Type=Application - Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Drawing; - Exec=${UNIXBASISROOTNAME} -draw %U --MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.stardivision.draw; -+MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.stardivision.draw; - Name=%PRODUCTNAME Draw - Name[pt_BR]=%PRODUCTNAME_BR Draw - GenericName=Drawing Program -diff --git a/sysui/desktop/menus/impress.desktop b/sysui/desktop/menus/impress.desktop -index 814ee1d..025524e 100755 ---- a/sysui/desktop/menus/impress.desktop -+++ b/sysui/desktop/menus/impress.desktop -@@ -5,7 +5,7 @@ - Type=Application - Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Presentations; - Exec=${UNIXBASISROOTNAME} -impress %U --MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/vnd.stardivision.impress;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12; -+MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-flat-xml;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/vnd.stardivision.impress;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12; - Name=%PRODUCTNAME Impress - Name[pt_BR]=%PRODUCTNAME_BR Impress - GenericName=Presentation -diff --git a/sysui/desktop/menus/writer.desktop b/sysui/desktop/menus/writer.desktop -index 59b4f57..2222019 100755 ---- a/sysui/desktop/menus/writer.desktop -+++ b/sysui/desktop/menus/writer.desktop -@@ -5,7 +5,7 @@ - Type=Application - Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Wordprocessors; - Exec=${UNIXBASISROOTNAME} -writer %U --MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/vnd.stardivision.writer;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12; -+MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-flat-xml;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/vnd.stardivision.writer;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12; - Name=%PRODUCTNAME Writer - Name[pt_BR]=%PRODUCTNAME_BR Writer - GenericName=Word Processor -diff --git a/sysui/desktop/mimetypes/oasis-drawing-flat-xml.desktop b/sysui/desktop/mimetypes/oasis-drawing-flat-xml.desktop -new file mode 100755 -index 0000000..fd061eb ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-drawing-flat-xml.desktop -@@ -0,0 +1,9 @@ -+[Desktop Entry] -+Version=1.0 -+Encoding=UTF-8 -+Hidden=false -+Icon=oasis-drawing -+Type=MimeType -+Patterns=*.fodg -+MimeType=application/vnd.oasis.opendocument.graphics-flat-xml -+Comment=OpenDocument Drawing (Flat XML) -diff --git a/sysui/desktop/mimetypes/oasis-presentation-flat-xml.desktop b/sysui/desktop/mimetypes/oasis-presentation-flat-xml.desktop -new file mode 100755 -index 0000000..62887d8 ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-presentation-flat-xml.desktop -@@ -0,0 +1,9 @@ -+[Desktop Entry] -+Version=1.0 -+Encoding=UTF-8 -+Hidden=false -+Icon=oasis-presentation -+Type=MimeType -+Patterns=*.fodp -+MimeType=application/vnd.oasis.opendocument.presentation-flat-xml -+Comment=OpenDocument Presentation -diff --git a/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.desktop b/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.desktop -new file mode 100755 -index 0000000..84a7352 ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.desktop -@@ -0,0 +1,9 @@ -+[Desktop Entry] -+Version=1.0 -+Encoding=UTF-8 -+Hidden=false -+Icon=oasis-spreadsheet -+Type=MimeType -+Patterns=*.fods -+MimeType=application/vnd.oasis.opendocument.spreadsheet-flat-xml -+Comment=OpenDocument Spreadsheet (Flat XML) -diff --git a/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.keys b/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.keys -new file mode 100755 -index 0000000..2675c32 ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-spreadsheet-flat-xml.keys -@@ -0,0 +1,10 @@ -+application/vnd.oasis.opendocument.spreadsheet-flat-xml -+ description=OpenDocument Spreadsheet (Flat XML) -+ default_action_type=application -+ short_list_application_ids_for_novice_user_level= -+ short_list_application_ids_for_intermediate_user_level= -+ short_list_application_ids_for_advanced_user_level= -+ category=Documents/Spreadsheet -+ use_category_default=yes -+ icon_filename=oasis-spreadsheet -+ -diff --git a/sysui/desktop/mimetypes/oasis-text-flat-xml.desktop b/sysui/desktop/mimetypes/oasis-text-flat-xml.desktop -new file mode 100755 -index 0000000..f75891c ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-text-flat-xml.desktop -@@ -0,0 +1,9 @@ -+[Desktop Entry] -+Version=1.0 -+Encoding=UTF-8 -+Hidden=false -+Icon=oasis-text -+Type=MimeType -+Patterns=*.fodt -+MimeType=application/vnd.oasis.opendocument.text-flat-xml -+Comment=OpenDocument Text (Flat XML) -diff --git a/sysui/desktop/mimetypes/oasis-text-flat-xml.keys b/sysui/desktop/mimetypes/oasis-text-flat-xml.keys -new file mode 100755 -index 0000000..aaedf12 ---- /dev/null -+++ b/sysui/desktop/mimetypes/oasis-text-flat-xml.keys -@@ -0,0 +1,10 @@ -+application/vnd.oasis.opendocument.text-flat-xml -+ description=OpenDocument Text (Flat XML) -+ default_action_type=application -+ short_list_application_ids_for_novice_user_level= -+ short_list_application_ids_for_intermediate_user_level= -+ short_list_application_ids_for_advanced_user_level= -+ category=Documents/Word Processor -+ use_category_default=yes -+ icon_filename=oasis-text -+ -diff --git a/sysui/desktop/mimetypes/openoffice.applications b/sysui/desktop/mimetypes/openoffice.applications -index d262102..1e3a5ad 100755 ---- a/sysui/desktop/mimetypes/openoffice.applications -+++ b/sysui/desktop/mimetypes/openoffice.applications -@@ -5,5 +5,5 @@ OFFICENAME - expects_uris=true - requires_terminal=false - supported_uri_schemes=file,http,https,smb -- mime_types=application/vnd.oasis.opendocument.text,application/vnd.oasis.opendocument.text-template,application/vnd.oasis.opendocument.text-web,application/vnd.oasis.opendocument.text-master,application/vnd.oasis.opendocument.graphics,application/vnd.oasis.opendocument.graphics-template,application/vnd.oasis.opendocument.presentation,application/vnd.oasis.opendocument.presentation-template,application/vnd.oasis.opendocument.spreadsheet,application/vnd.oasis.opendocument.spreadsheet-template,application/vnd.oasis.opendocument.formula,application/vnd.oasis.opendocument.database,application/vnd.ms-excel,application/rtf,application/msword,application/vnd.ms-powerpoint,application/vnd.stardivision.calc,application/vnd.stardivision.chart,application/vnd.stardivision.draw,application/vnd.stardivision.impress,application/vnd.stardivision.mail,application/vnd.stardivision.math,application/vnd.stardivision.writer,application/vnd.sun.xml.calc,application/vnd.sun.xml.calc.template,application/vnd.sun.xml.draw,application/vnd.sun.xml.draw.template,application/vnd.sun.xml.impress,application/vnd.sun.xml.impress.template,application/vnd.sun.xml.math,application/vnd.sun.xml.writer,application/vnd.sun.xml.writer.global,application/vnd.sun.xml.writer.template,application/vnd.sun.xml.base,image/x-emf,image/x-pcx,image/x-photo-cd,image/x-pict;application/vnd.wordperfect;application/vnd.openofficeorg.extension;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12; -+ mime_types=application/vnd.oasis.opendocument.text,application/vnd.oasis.opendocument.text-flat-xml,application/vnd.oasis.opendocument.text-template,application/vnd.oasis.opendocument.text-web,application/vnd.oasis.opendocument.text-master,application/vnd.oasis.opendocument.graphics,application/vnd.oasis.opendocument.graphics-flat-xml,application/vnd.oasis.opendocument.graphics-template,application/vnd.oasis.opendocument.presentation,application/vnd.oasis.opendocument.presentation-flat-xml,application/vnd.oasis.opendocument.presentation-template,application/vnd.oasis.opendocument.spreadsheet,application/vnd.oasis.opendocument.spreadsheet-flat-xml,application/vnd.oasis.opendocument.spreadsheet-template,application/vnd.oasis.opendocument.formula,application/vnd.oasis.opendocument.database,application/vnd.ms-excel,application/rtf,application/msword,application/vnd.ms-powerpoint,application/vnd.stardivision.calc,application/vnd.stardivision.chart,application/vnd.stardivision.draw,application/vnd.stardivision.impress,application/vnd.stardivision.mail,application/vnd.stardivision.math,application/vnd.stardivision.writer,application/vnd.sun.xml.calc,application/vnd.sun.xml.calc.template,application/vnd.sun.xml.draw,application/vnd.sun.xml.draw.template,application/vnd.sun.xml.impress,application/vnd.sun.xml.impress.template,application/vnd.sun.xml.math,application/vnd.sun.xml.writer,application/vnd.sun.xml.writer.global,application/vnd.sun.xml.writer.template,application/vnd.sun.xml.base,image/x-emf,image/x-pcx,image/x-photo-cd,image/x-pict;application/vnd.wordperfect;application/vnd.openofficeorg.extension;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12; - -diff --git a/sysui/desktop/mimetypes/openoffice.mime b/sysui/desktop/mimetypes/openoffice.mime -index 67c5648..fc895cf 100755 ---- a/sysui/desktop/mimetypes/openoffice.mime -+++ b/sysui/desktop/mimetypes/openoffice.mime -@@ -1,6 +1,9 @@ - application/vnd.oasis.opendocument.text: - ext: odt - -+application/vnd.oasis.opendocument.text-flat-xml: -+ ext: fodt -+ - application/vnd.oasis.opendocument.text-template: - ext: ott - -@@ -13,18 +16,27 @@ application/vnd.oasis.opendocument.text-master: - application/vnd.oasis.opendocument.graphics: - ext: odg - -+application/vnd.oasis.opendocument.graphics-flat-xml: -+ ext: fodg -+ - application/vnd.oasis.opendocument.graphics-template: - ext: otg - - application/vnd.oasis.opendocument.presentation: - ext: odp - -+application/vnd.oasis.opendocument.presentation-flat-xml: -+ ext: fodp -+ - application/vnd.oasis.opendocument.presentation-template: - ext: otp - - application/vnd.oasis.opendocument.spreadsheet: - ext: ods - -+application/vnd.oasis.opendocument.spreadsheet-flat-xml: -+ ext: fods -+ - application/vnd.oasis.opendocument.spreadsheet-template: - ext: ots - -diff --git a/sysui/desktop/redhat/redhat-menus.spec b/sysui/desktop/redhat/redhat-menus.spec -index 663fe23..865703b 100755 ---- a/sysui/desktop/redhat/redhat-menus.spec -+++ b/sysui/desktop/redhat/redhat-menus.spec -@@ -92,15 +92,19 @@ sed ' - - # now append our stuff to the temporary file - cat >> /etc/mime.types.tmp$$ << END --application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -@@ -164,6 +168,7 @@ then - cat >> /etc/mailcap.tmp$$ << END - # LibreOffice - application/vnd.oasis.opendocument.text; %unixfilename -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.text-template; %unixfilename -view %s - application/vnd.oasis.opendocument.text-web; %unixfilename -view %s - application/vnd.oasis.opendocument.text-master; %unixfilename -view %s -@@ -179,6 +184,7 @@ application/vnd.stardivision.math; %unixfilename -view %s - application/x-starmath; %unixfilename -view %s - application/msword; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet; %unixfilename -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %unixfilename -view %s - application/vnd.sun.xml.calc; %unixfilename -view %s - application/vnd.sun.xml.calc.template; %unixfilename -view %s -@@ -191,6 +197,7 @@ application/msexcel; %unixfilename -view %s - application/vnd.ms-excel; %unixfilename -view %s - application/x-msexcel; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation; %unixfilename -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation-template; %unixfilename -view %s - application/vnd.sun.xml.impress; %unixfilename -view %s - application/vnd.sun.xml.impress.template; %unixfilename -view %s -@@ -201,6 +208,7 @@ application/mspowerpoint; %unixfilename -view %s - application/vnd.ms-powerpoint; %unixfilename -view %s - application/x-mspowerpoint; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics; %unixfilename -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics-template; %unixfilename -view %s - application/vnd.sun.xml.draw; %unixfilename -view %s - application/vnd.sun.xml.draw.template; %unixfilename -view %s -diff --git a/sysui/desktop/solaris/mailcap b/sysui/desktop/solaris/mailcap -index 5c8a1d5..19407fd 100755 ---- a/sysui/desktop/solaris/mailcap -+++ b/sysui/desktop/solaris/mailcap -@@ -20,6 +20,7 @@ sed ' - cat << END - # OpenOffice.org - application/vnd.oasis.opendocument.text; %PREFIX -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.text-template; %PREFIX -view %s - application/vnd.oasis.opendocument.text-web; %PREFIX -view %s - application/vnd.oasis.opendocument.text-master; %PREFIX -view %s -@@ -35,6 +36,7 @@ application/vnd.stardivision.math; %PREFIX -view %s - application/x-starmath; %PREFIX -view %s - application/msword; %PREFIX -view %s - application/vnd.oasis.opendocument.spreadsheet; %PREFIX -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %PREFIX -view %s - application/vnd.sun.xml.calc; %PREFIX -view %s - application/vnd.sun.xml.calc.template; %PREFIX -view %s -@@ -47,6 +49,7 @@ application/msexcel; %PREFIX -view %s - application/vnd.ms-excel; %PREFIX -view %s - application/x-msexcel; %PREFIX -view %s - application/vnd.oasis.opendocument.presentation; %PREFIX -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.presentation-template; %PREFIX -view %s - application/vnd.sun.xml.impress; %PREFIX -view %s - application/vnd.sun.xml.impress.template; %PREFIX -view %s -@@ -57,6 +60,7 @@ application/mspowerpoint; %PREFIX -view %s - application/vnd.ms-powerpoint; %PREFIX -view %s - application/x-mspowerpoint; %PREFIX -view %s - application/vnd.oasis.opendocument.graphics; %PREFIX -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %PREFIX -view %s - application/vnd.oasis.opendocument.graphics-template; %PREFIX -view %s - application/vnd.sun.xml.draw; %PREFIX -view %s - application/vnd.sun.xml.draw.template; %PREFIX -view %s -diff --git a/sysui/desktop/solaris/mime.types b/sysui/desktop/solaris/mime.types -index 1b0a203..939d0e5 100755 ---- a/sysui/desktop/solaris/mime.types -+++ b/sysui/desktop/solaris/mime.types -@@ -10,14 +10,18 @@ sed ' - # now append our stuff to the temporary file - cat << END - application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -diff --git a/sysui/desktop/suse/suse-menus.spec b/sysui/desktop/suse/suse-menus.spec -index fe70969..74eb0a5 100755 ---- a/sysui/desktop/suse/suse-menus.spec -+++ b/sysui/desktop/suse/suse-menus.spec -@@ -104,14 +104,18 @@ sed ' - # now append our stuff to the temporary file - cat >> /etc/mime.types.tmp$$ << END - application/vnd.oasis.opendocument.text odt -+application/vnd.oasis.opendocument.text-flat-xml fodt - application/vnd.oasis.opendocument.text-template ott - application/vnd.oasis.opendocument.text-web oth - application/vnd.oasis.opendocument.text-master odm - application/vnd.oasis.opendocument.graphics odg -+application/vnd.oasis.opendocument.graphics-flat-xml fodg - application/vnd.oasis.opendocument.graphics-template otg - application/vnd.oasis.opendocument.presentation odp -+application/vnd.oasis.opendocument.presentation-flat-xml fodp - application/vnd.oasis.opendocument.presentation-template otp - application/vnd.oasis.opendocument.spreadsheet ods -+application/vnd.oasis.opendocument.spreadsheet-flat-xml fods - application/vnd.oasis.opendocument.spreadsheet-template ots - application/vnd.oasis.opendocument.chart odc - application/vnd.oasis.opendocument.formula odf -@@ -175,6 +179,7 @@ then - cat >> /etc/mailcap.tmp$$ << END - # OpenOffice.org - application/vnd.oasis.opendocument.text; %unixfilename -view %s -+application/vnd.oasis.opendocument.text-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.text-template; %unixfilename -view %s - application/vnd.oasis.opendocument.text-web; %unixfilename -view %s - application/vnd.oasis.opendocument.text-master; %unixfilename -view %s -@@ -190,6 +195,7 @@ application/vnd.stardivision.math; %unixfilename -view %s - application/x-starmath; %unixfilename -view %s - application/msword; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet; %unixfilename -view %s -+application/vnd.oasis.opendocument.spreadsheet-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.spreadsheet-template; %unixfilename -view %s - application/vnd.sun.xml.calc; %unixfilename -view %s - application/vnd.sun.xml.calc.template; %unixfilename -view %s -@@ -202,6 +208,7 @@ application/msexcel; %unixfilename -view %s - application/vnd.ms-excel; %unixfilename -view %s - application/x-msexcel; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation; %unixfilename -view %s -+application/vnd.oasis.opendocument.presentation-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.presentation-template; %unixfilename -view %s - application/vnd.sun.xml.impress; %unixfilename -view %s - application/vnd.sun.xml.impress.template; %unixfilename -view %s -@@ -212,6 +219,7 @@ application/mspowerpoint; %unixfilename -view %s - application/vnd.ms-powerpoint; %unixfilename -view %s - application/x-mspowerpoint; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics; %unixfilename -view %s -+application/vnd.oasis.opendocument.graphics-flat-xml; %unixfilename -view %s - application/vnd.oasis.opendocument.graphics-template; %unixfilename -view %s - application/vnd.sun.xml.draw; %unixfilename -view %s - application/vnd.sun.xml.draw.template; %unixfilename -view %s --- -1.7.4.1 - diff --git a/0001-beware-of-invalidated-iterator.patch b/0001-beware-of-invalidated-iterator.patch deleted file mode 100644 index 328b7af..0000000 --- a/0001-beware-of-invalidated-iterator.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6fbf4caf7385d988559701d14ceed7925b76997d Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Tue, 22 Mar 2011 14:11:12 +0100 -Subject: [PATCH] beware of invalidated iterator - ---- - sc/source/core/data/segmenttree.cxx | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/sc/source/core/data/segmenttree.cxx b/sc/source/core/data/segmenttree.cxx -index d7d1153..08c3e3c 100644 ---- a/sc/source/core/data/segmenttree.cxx -+++ b/sc/source/core/data/segmenttree.cxx -@@ -204,12 +204,14 @@ template - void ScFlatSegmentsImpl<_ValueType, _ExtValueType>::removeSegment(SCCOLROW nPos1, SCCOLROW nPos2) - { - maSegments.shift_left(nPos1, nPos2); -+ maItr = maSegments.begin(); - } - - template - void ScFlatSegmentsImpl<_ValueType, _ExtValueType>::insertSegment(SCCOLROW nPos, SCCOLROW nSize, bool bSkipStartBoundary) - { - maSegments.shift_right(nPos, nSize, bSkipStartBoundary); -+ maItr = maSegments.begin(); - } - - template --- -1.7.4.1 - diff --git a/0001-fexceptions-fexceptions.patch b/0001-fexceptions-fexceptions.patch deleted file mode 100644 index 956e4fa..0000000 --- a/0001-fexceptions-fexceptions.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/stlport/STLport-4.5.patch b/stlport/STLport-4.5.patch -index 27ff2ef..8476053 100644 ---- a/stlport/STLport-4.5.patch -+++ b/stlport/STLport-4.5.patch -@@ -137,7 +137,7 @@ - +# - +# - +LINK=ar cr --+DYN_LINK=${CXX} -Wl,-rpath,'$$ORIGIN' ${PTHREAD_LIBS} --fexceptions -shared -o -++DYN_LINK=${CXX} -Wl,-rpath,'$$ORIGIN' ${PTHREAD_LIBS} -fexceptions -shared -o - + - +OBJEXT=o - +DYNEXT=so -@@ -210,7 +210,7 @@ - +# - +# - +LINK=ar crv --+DYN_LINK=$(CXX) --fexceptions -shared -o -++DYN_LINK=$(CXX) -fexceptions -shared -o - + - +OBJEXT=o - +DYNEXT=dll -@@ -449,7 +449,7 @@ - +# - +# - +LINK=ar cr --+DYN_LINK=$(CXX) -Wl,-rpath,'$$ORIGIN' --fexceptions -shared -o -++DYN_LINK=$(CXX) -Wl,-rpath,'$$ORIGIN' -fexceptions -shared -o - + - +OBJEXT=o - +DYNEXT=so diff --git a/0001-free-ctxt-after-taking-lastError-details.patch b/0001-free-ctxt-after-taking-lastError-details.patch deleted file mode 100644 index a6ec54e..0000000 --- a/0001-free-ctxt-after-taking-lastError-details.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e7473329c8d79ba3988aa07172290beedcaaf325 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 18 Jan 2011 12:10:32 +0000 -Subject: [PATCH] free ctxt *after* taking lastError details - ---- - unoxml/source/dom/documentbuilder.cxx | 8 ++++---- - 1 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx -index bcce353..9e052c3 100644 ---- a/unoxml/source/dom/documentbuilder.cxx -+++ b/unoxml/source/dom/documentbuilder.cxx -@@ -314,13 +314,13 @@ namespace DOM - - } // extern "C" - -- void throwEx(xmlParserCtxtPtr ctxt) { -- OUString msg = make_error_message(ctxt); -- xmlFreeParserCtxt(ctxt); -+ void throwEx(xmlParserCtxtPtr ctxt) -+ { - com::sun::star::xml::sax::SAXParseException saxex; -- saxex.Message = msg; -+ saxex.Message = make_error_message(ctxt); - saxex.LineNumber = static_cast(ctxt->lastError.line); - saxex.ColumnNumber = static_cast(ctxt->lastError.int2); -+ xmlFreeParserCtxt(ctxt); - throw saxex; - } - --- -1.7.3.4 - diff --git a/0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch b/0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch index 5b044e7..25899df 100644 --- a/0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch +++ b/0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch @@ -1,21 +1,8 @@ -From 47ea5b58c92777d8d35376b64a1c075fecb8b104 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Tue, 5 Apr 2011 11:19:35 +0100 -Subject: [PATCH] helgrind: Related: rhbz#655686 get order of shutdown correct - ---- - sal/rtl/source/alloc_arena.c | 44 +++----------- - sal/rtl/source/alloc_cache.c | 44 +++----------- - sal/rtl/source/memory_fini.cxx | 81 +++++++++++++++++++------- - sal/rtl/source/alloc_global.c | 131 +++++++++++++++++------------------------ - sal/rtl/source/makefile.mk | 15 +---- - 5 files changed, 135 insertions(+), 180 deletions(-) - diff --git a/sal/rtl/source/alloc_arena.c b/sal/rtl/source/alloc_arena.c index 27ac970..c2294d8 100644 --- a/sal/rtl/source/alloc_arena.c +++ b/sal/rtl/source/alloc_arena.c -@@ -111,13 +111,6 @@ +@@ -102,13 +102,6 @@ rtl_machdep_pagesize (void); rtl_arena_type * gp_default_arena = 0; @@ -29,7 +16,7 @@ index 27ac970..c2294d8 100644 /* ================================================================= */ /** rtl_arena_segment_constructor() -@@ -930,6 +923,8 @@ +@@ -921,6 +914,8 @@ rtl_arena_deactivate ( * * ================================================================= */ @@ -38,7 +25,7 @@ index 27ac970..c2294d8 100644 /** rtl_arena_create() */ rtl_arena_type * -@@ -980,7 +975,8 @@ +@@ -973,7 +968,8 @@ try_alloc: } else if (gp_arena_arena == 0) { @@ -48,7 +35,7 @@ index 27ac970..c2294d8 100644 { /* try again */ goto try_alloc; -@@ -1276,8 +1272,8 @@ +@@ -1279,8 +1275,8 @@ rtl_machdep_pagesize (void) * * ================================================================= */ @@ -59,7 +46,7 @@ index 27ac970..c2294d8 100644 { { /* list of arenas */ -@@ -1336,25 +1332,11 @@ +@@ -1342,36 +1338,11 @@ rtl_arena_once_init (void) ); OSL_ASSERT(gp_arena_arena != 0); } @@ -76,7 +63,18 @@ index 27ac970..c2294d8 100644 /* ================================================================= */ --#if defined(__GNUC__) +-/* +- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 +- +- Mac OS X does not seem to support "__cxa__atexit", thus leading +- to the situation that "__attribute__((destructor))__" functions +- (in particular "rtl_{memory|cache|arena}_fini") become called +- _before_ global C++ object d'tors. +- +- Delegated the call to "rtl_arena_fini()" into a dummy C++ object, +- see alloc_fini.cxx . +-*/ +-#if defined(__GNUC__) && !defined(MACOSX) -static void rtl_arena_fini (void) __attribute__((destructor)); -#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma fini(rtl_arena_fini) @@ -86,7 +84,7 @@ index 27ac970..c2294d8 100644 void rtl_arena_fini (void) { -@@ -1377,6 +1359,7 @@ +@@ -1394,6 +1365,7 @@ rtl_arena_fini (void) } RTL_MEMORY_LOCK_RELEASE(&(g_arena_list.m_lock)); } @@ -98,7 +96,7 @@ diff --git a/sal/rtl/source/alloc_cache.c b/sal/rtl/source/alloc_cache.c index 06de201..ebf799e 100644 --- a/sal/rtl/source/alloc_cache.c +++ b/sal/rtl/source/alloc_cache.c -@@ -99,13 +99,6 @@ +@@ -99,13 +99,6 @@ static rtl_cache_type * gp_cache_slab_cache = 0; static rtl_cache_type * gp_cache_bufctl_cache = 0; @@ -112,7 +110,7 @@ index 06de201..ebf799e 100644 /* ================================================================= */ /** RTL_CACHE_HASH_INDEX() -@@ -1099,6 +1092,8 @@ +@@ -1119,6 +1112,8 @@ rtl_cache_deactivate ( * * ================================================================= */ @@ -121,7 +119,7 @@ index 06de201..ebf799e 100644 /** rtl_cache_create() */ rtl_cache_type * -@@ -1154,7 +1149,8 @@ +@@ -1176,7 +1171,8 @@ try_alloc: } else if (gp_cache_arena == 0) { @@ -131,7 +129,7 @@ index 06de201..ebf799e 100644 { /* try again */ goto try_alloc; -@@ -1552,8 +1548,8 @@ +@@ -1583,8 +1579,8 @@ rtl_cache_wsupdate_all (void * arg) * * ================================================================= */ @@ -142,12 +140,12 @@ index 06de201..ebf799e 100644 { { /* list of caches */ -@@ -1646,25 +1642,10 @@ +@@ -1680,36 +1676,11 @@ rtl_cache_once_init (void) } rtl_cache_wsupdate_init(); -} - +- -static int -rtl_cache_init (void) -{ @@ -157,9 +155,20 @@ index 06de201..ebf799e 100644 + OSL_TRACE("rtl_cache_init completed"); } --/* ================================================================= */ + /* ================================================================= */ + +-/* +- Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 - --#if defined(__GNUC__) +- Mac OS X does not seem to support "__cxa__atexit", thus leading +- to the situation that "__attribute__((destructor))__" functions +- (in particular "rtl_{memory|cache|arena}_fini") become called +- _before_ global C++ object d'tors. +- +- Delegated the call to "rtl_cache_fini()" into a dummy C++ object, +- see alloc_fini.cxx . +-*/ +-#if defined(__GNUC__) && !defined(MACOSX) -static void rtl_cache_fini (void) __attribute__((destructor)); -#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma fini(rtl_cache_fini) @@ -169,7 +178,7 @@ index 06de201..ebf799e 100644 void rtl_cache_fini (void) { -@@ -1717,6 +1698,7 @@ +@@ -1765,6 +1736,7 @@ rtl_cache_fini (void) } RTL_MEMORY_LOCK_RELEASE(&(g_cache_list.m_lock)); } @@ -177,30 +186,31 @@ index 06de201..ebf799e 100644 } /* ================================================================= */ -diff --git a/sal/rtl/source/memory_fini.cxx b/sal/rtl/source/memory_fini.cxx +diff --git a/sal/rtl/source/alloc_fini.cxx b/sal/rtl/source/alloc_fini.cxx index 5bc174e..f079676 100644 ---- a/sal/rtl/source/memory_fini.cxx -+++ b/sal/rtl/source/memory_fini.cxx -@@ -26,32 +26,98 @@ +--- a/sal/rtl/source/alloc_fini.cxx ++++ b/sal/rtl/source/alloc_fini.cxx +@@ -26,33 +26,72 @@ * ************************************************************************/ -- -/* - Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 - - Mac OS X does not seem to support "__cxa__atexit", thus leading - to the situation that "__attribute__((destructor))__" functions -- (in particular "rtl_memory_fini") become called _before_ global -- C++ object d'tors. +- (in particular "rtl_{memory|cache|arena}_fini") become called +- _before_ global C++ object d'tors. - - Using a C++ dummy object instead. -*/ -- --#include +#include extern "C" void rtl_memory_fini (void); +-extern "C" void rtl_cache_fini (void); +-extern "C" void rtl_arena_fini (void); +- +-struct RTL_Alloc_Fini +extern "C" void rtl_memory_init (void); +namespace +{ @@ -215,21 +225,16 @@ index 5bc174e..f079676 100644 + rtl_memory_fini(); + } + }; -+ class theMemorySingleton -+ : public rtl::Static{}; ++ class theMemorySingleton : public rtl::Static{}; +} +extern "C" void ensureMemorySingleton() -+{ + { +- ~RTL_Alloc_Fini() ; +-}; + theMemorySingleton::get(); +} -- --struct RTL_Memory_Fini { -- ~RTL_Memory_Fini() ; --}; -- --RTL_Memory_Fini::~RTL_Memory_Fini() { -- rtl_memory_fini(); +-RTL_Alloc_Fini::~RTL_Alloc_Fini() +extern "C" void rtl_cache_fini (void); +extern "C" void rtl_cache_init (void); +namespace @@ -245,14 +250,17 @@ index 5bc174e..f079676 100644 + rtl_cache_fini(); + } + }; -+ class theCacheSingleton -+ : public rtl::Static{}; ++ class theCacheSingleton : public rtl::Static{}; +} +extern "C" void ensureCacheSingleton() -+{ + { +- rtl_memory_fini(); +- rtl_cache_fini(); +- rtl_arena_fini(); + theCacheSingleton::get(); } +-static RTL_Alloc_Fini g_RTL_Alloc_Fini; +extern "C" void rtl_arena_fini (void); +extern "C" void rtl_arena_init (void); +namespace @@ -268,36 +276,11 @@ index 5bc174e..f079676 100644 + rtl_arena_fini(); + } + }; -+ class theArenaSingleton -+ : public rtl::Static{}; ++ class theArenaSingleton : public rtl::Static{}; +} +extern "C" void ensureArenaSingleton() +{ + theArenaSingleton::get(); -+} - --static RTL_Memory_Fini rtl_Memory_Fini; -+extern "C" void rtl_locale_fini (void); -+extern "C" void rtl_locale_init (void); -+namespace -+{ -+ struct rtlLocaleSingleton -+ { -+ rtlLocaleSingleton() -+ { -+ rtl_locale_init(); -+ } -+ ~rtlLocaleSingleton() -+ { -+ rtl_locale_fini(); -+ } -+ }; -+ class theLocaleSingleton -+ : public rtl::Static{}; -+} -+extern "C" void ensureLocaleSingleton() -+{ -+ theLocaleSingleton::get(); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ @@ -305,56 +288,155 @@ diff --git a/sal/rtl/source/alloc_global.c b/sal/rtl/source/alloc_global.c index 70504ac..fb95e83 100644 --- a/sal/rtl/source/alloc_global.c +++ b/sal/rtl/source/alloc_global.c -@@ -28,6 +28,7 @@ - +@@ -29,6 +29,7 @@ + #include "alloc_impl.h" #include "rtl/alloc.h" #include +#include - #ifndef INCLUDED_STRING_H #include -@@ -49,7 +50,6 @@ - #include "alloc_impl.h" + #include +@@ -66,7 +67,6 @@ static void determine_alloc_mode(void) + #include "internal/once.h" #include "sal/macros.h" -#include "osl/diagnose.h" /* ================================================================= * * -@@ -97,8 +97,8 @@ - * - * ================================================================= */ +@@ -108,60 +108,7 @@ static rtl_cache_type * g_alloc_table[RTL_MEMORY_CACHED_LIMIT >> RTL_MEMALIGN_SH + static rtl_arena_type * gp_alloc_arena = 0; + +-/* ================================================================= * +- * +- * custom allocator initialization / finalization. +- * +- * ================================================================= */ +- -static void -rtl_memory_once_init (void) -+void -+rtl_memory_init (void) - { - { - /* global memory arena */ -@@ -136,36 +136,10 @@ - } - } - } +-{ +- { +- /* global memory arena */ +- OSL_ASSERT(gp_alloc_arena == 0); +- +- gp_alloc_arena = rtl_arena_create ( +- "rtl_alloc_arena", +- 2048, /* quantum */ +- 0, /* w/o quantum caching */ +- 0, /* default source */ +- rtl_arena_alloc, +- rtl_arena_free, +- 0 /* flags */ +- ); +- OSL_ASSERT(gp_alloc_arena != 0); +- } +- { +- sal_Size size; +- int i, n = RTL_MEMORY_CACHED_SIZES; +- +- for (i = 0; i < n; i++) +- { +- char name[RTL_CACHE_NAME_LENGTH + 1]; +- (void) snprintf (name, sizeof(name), "rtl_alloc_%lu", g_alloc_sizes[i]); +- g_alloc_caches[i] = rtl_cache_create (name, g_alloc_sizes[i], 0, NULL, NULL, NULL, NULL, NULL, 0); +- } +- +- size = RTL_MEMALIGN; +- for (i = 0; i < n; i++) +- { +- while (size <= g_alloc_sizes[i]) +- { +- g_alloc_table[(size - 1) >> RTL_MEMALIGN_SHIFT] = g_alloc_caches[i]; +- size += RTL_MEMALIGN; +- } +- } +- } -} - +- -static int -rtl_memory_init (void) -{ - static sal_once_type g_once = SAL_ONCE_INIT; - SAL_ONCE(&g_once, rtl_memory_once_init); - return (gp_alloc_arena != 0); +-} ++extern void ensureMemorySingleton(); + + /* ================================================================= * + * +@@ -198,7 +145,8 @@ try_alloc: + } + else if (gp_alloc_arena == 0) + { +- if (rtl_memory_init()) ++ ensureMemorySingleton(); ++ if (gp_alloc_arena) + { + /* try again */ + goto try_alloc; +@@ -256,28 +204,58 @@ void * SAL_CALL rtl_reallocateMemory_CUSTOM (void * p, sal_Size n) SAL_THROW_EXT + + #endif + ++/* ================================================================= * ++ * ++ * custom allocator initialization / finalization. ++ * ++ * ================================================================= */ ++ ++void rtl_memory_init (void) ++{ ++#if !defined(FORCE_SYSALLOC) ++ { ++ /* global memory arena */ ++ OSL_ASSERT(gp_alloc_arena == 0); ++ ++ gp_alloc_arena = rtl_arena_create ( ++ "rtl_alloc_arena", ++ 2048, /* quantum */ ++ 0, /* w/o quantum caching */ ++ 0, /* default source */ ++ rtl_arena_alloc, ++ rtl_arena_free, ++ 0 /* flags */ ++ ); ++ OSL_ASSERT(gp_alloc_arena != 0); ++ } ++ { ++ sal_Size size; ++ int i, n = RTL_MEMORY_CACHED_SIZES; ++ ++ for (i = 0; i < n; i++) ++ { ++ char name[RTL_CACHE_NAME_LENGTH + 1]; ++ (void) snprintf (name, sizeof(name), "rtl_alloc_%lu", g_alloc_sizes[i]); ++ g_alloc_caches[i] = rtl_cache_create (name, g_alloc_sizes[i], 0, NULL, NULL, NULL, NULL, NULL, 0); ++ } ++ ++ size = RTL_MEMALIGN; ++ for (i = 0; i < n; i++) ++ { ++ while (size <= g_alloc_sizes[i]) ++ { ++ g_alloc_table[(size - 1) >> RTL_MEMALIGN_SHIFT] = g_alloc_caches[i]; ++ size += RTL_MEMALIGN; ++ } ++ } ++ } ++#endif + OSL_TRACE("rtl_memory_init completed"); - } ++} ++ + /* ================================================================= */ --/* ================================================================= */ -- -/* - Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 - - Mac OS X does not seem to support "__cxa__atexit", thus leading - to the situation that "__attribute__((destructor))__" functions -- (in particular "rtl_memory_fini") become called _before_ global +- (in particular "rtl_memory_fini") become called _before_ global - C++ object d'tors. - - Delegated the call to "rtl_memory_fini" into a dummy C++ object, @@ -367,68 +449,114 @@ index 70504ac..fb95e83 100644 -static void rtl_memory_fini (void); -#endif /* __GNUC__ || __SUNPRO_C */ - - void - rtl_memory_fini (void) +-void +-rtl_memory_fini (void) ++void rtl_memory_fini (void) { -@@ -190,6 +164,7 @@ - rtl_arena_destroy (gp_alloc_arena); + #if !defined(FORCE_SYSALLOC) + int i, n; +@@ -302,6 +280,7 @@ rtl_memory_fini (void) gp_alloc_arena = 0; } + #endif + OSL_TRACE("rtl_memory_fini completed"); } /* ================================================================= * -@@ -198,6 +173,8 @@ - * - * ================================================================= */ - -+extern void ensureMemorySingleton(); -+ - void * - SAL_CALL rtl_allocateMemory (sal_Size n) SAL_THROW_EXTERN_C() - { -@@ -227,7 +204,8 @@ - } - else if (gp_alloc_arena == 0) - { -- if (rtl_memory_init()) -+ ensureMemorySingleton(); -+ if (gp_alloc_arena) - { - /* try again */ - goto try_alloc; diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk index 67ae7f8..9c3921d 100644 --- a/sal/rtl/source/makefile.mk +++ b/sal/rtl/source/makefile.mk -@@ -95,11 +95,8 @@ +@@ -100,12 +100,8 @@ SLOFILES= \ $(SLO)$/math.obj \ $(SLO)$/alloc_global.obj\ $(SLO)$/alloc_cache.obj \ - $(SLO)$/alloc_arena.obj - -.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX" --SLOFILES+=$(SLO)$/memory_fini.obj +-SLOFILES+=$(SLO)$/alloc_fini.obj -.ENDIF +- + $(SLO)$/alloc_arena.obj \ -+ $(SLO)$/memory_fini.obj - ++ $(SLO)$/alloc_fini.obj - #.IF "$(UPDATER)"=="YES" -@@ -128,11 +125,8 @@ + OBJFILES= \ + $(OBJ)$/memory.obj \ +@@ -132,11 +128,8 @@ OBJFILES= \ $(OBJ)$/math.obj \ $(OBJ)$/alloc_global.obj\ $(OBJ)$/alloc_cache.obj \ - $(OBJ)$/alloc_arena.obj - -.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX" --OBJFILES+=$(OBJ)$/memory_fini.obj +-OBJFILES+=$(OBJ)$/alloc_fini.obj -.ENDIF + $(OBJ)$/alloc_arena.obj \ -+ $(OBJ)$/memory_fini.obj ++ $(OBJ)$/alloc_fini.obj APP1TARGET=gen_makefile +diff --git a/sal/rtl/source/alloc_fini.cxx b/sal/rtl/source/alloc_fini.cxx +index f079676..dfd3599 100644 +--- a/sal/rtl/source/alloc_fini.cxx ++++ b/sal/rtl/source/alloc_fini.cxx +@@ -43,7 +43,8 @@ namespace + rtl_memory_fini(); + } + }; +- class theMemorySingleton : public rtl::Static{}; ++ class theMemorySingleton ++ : public rtl::Static{}; + } + extern "C" void ensureMemorySingleton() + { +@@ -65,7 +66,8 @@ namespace + rtl_cache_fini(); + } + }; +- class theCacheSingleton : public rtl::Static{}; ++ class theCacheSingleton ++ : public rtl::Static{}; + } + extern "C" void ensureCacheSingleton() + { +@@ -87,11 +89,35 @@ namespace + rtl_arena_fini(); + } + }; +- class theArenaSingleton : public rtl::Static{}; ++ class theArenaSingleton ++ : public rtl::Static{}; + } + extern "C" void ensureArenaSingleton() + { + theArenaSingleton::get(); + } + ++extern "C" void rtl_locale_fini (void); ++extern "C" void rtl_locale_init (void); ++namespace ++{ ++ struct rtlLocaleSingleton ++ { ++ rtlLocaleSingleton() ++ { ++ rtl_locale_init(); ++ } ++ ~rtlLocaleSingleton() ++ { ++ rtl_locale_fini(); ++ } ++ }; ++ class theLocaleSingleton ++ : public rtl::Static{}; ++} ++extern "C" void ensureLocaleSingleton() ++{ ++ theLocaleSingleton::get(); ++} ++ + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/rtl/source/locale.c b/sal/rtl/source/locale.c index 964be09..79f2fb8 100644 --- a/sal/rtl/source/locale.c diff --git a/0001-install-high-resolution-icons.patch b/0001-install-high-resolution-icons.patch deleted file mode 100644 index be16625..0000000 --- a/0001-install-high-resolution-icons.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 14fcbd54c96d9f46365f76f8df6b51d2e8074d74 Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Tue, 8 Mar 2011 13:16:32 +0100 -Subject: [PATCH] install high-resolution icons - ---- - sysui/desktop/share/create_tree.sh | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/sysui/desktop/share/create_tree.sh b/sysui/desktop/share/create_tree.sh -index 160b2db..fded41e 100644 ---- a/sysui/desktop/share/create_tree.sh -+++ b/sysui/desktop/share/create_tree.sh -@@ -3,7 +3,7 @@ umask 022 - if [ "${KDEMAINDIR}" ] - then - echo Copying icons .. -- for i in `cd ${ICON_SOURCE_DIR}; find ${ICON_THEMES:-hicolor/??x?? locolor} -name "*.png"` -+ for i in `cd ${ICON_SOURCE_DIR}; find ${ICON_THEMES:-hicolor/???x??? hicolor/??x?? locolor} -name "*.png"` - do - targetdir=${DESTDIR}/${KDEMAINDIR}/share/icons/`dirname $i` - mkdir -p $targetdir -@@ -22,7 +22,7 @@ fi - if [ "${GNOMEDIR}" ] - then - echo Copying GNOME icons .. -- for i in `cd ${ICON_SOURCE_DIR}/hicolor; find ??x?? -name "*.png"` -+ for i in `cd ${ICON_SOURCE_DIR}/hicolor; find ??x?? ???x??? -name "*.png"` - do - targetdir=${DESTDIR}/${GNOMEDIR}/share/icons/gnome/`dirname $i` - mkdir -p $targetdir --- -1.7.4 - diff --git a/0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch b/0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch deleted file mode 100644 index b070c08..0000000 --- a/0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch +++ /dev/null @@ -1,210 +0,0 @@ -From d7cc1b57990e1ebc2e1f2a4380dd8e66b0eff158 Mon Sep 17 00:00:00 2001 -From: David Tardon -Date: Thu, 10 Feb 2011 13:54:19 +0100 -Subject: [PATCH] rhbz#649310 don't crash deregistering diff. platform ext. - -This happens, for example, if one switches between, lets say, x86 and -x86_64 systems and has the same /home mounted from both. Then -platform-dependent extensions from one system does not exist on the -other one, but must still be deregistered correctly. ---- - .../deployment/registry/component/dp_component.cxx | 164 +++++++++++++++++++- - 1 files changed, 159 insertions(+), 5 deletions(-) - -diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx -index b7fe0b1..d4cb5dd 100644 ---- a/desktop/source/deployment/registry/component/dp_component.cxx -+++ b/desktop/source/deployment/registry/component/dp_component.cxx -@@ -192,6 +192,42 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend - OUString const & identifier); - }; - friend class TypelibraryPackageImpl; -+ -+ /** Serves for unregistering packages that were registered on a -+ different platform. This can happen if one has remotely mounted -+ /home, for example. -+ */ -+ class OtherPlatformPackageImpl : public ::dp_registry::backend::Package -+ { -+ public: -+ OtherPlatformPackageImpl( -+ ::rtl::Reference const & myBackend, -+ OUString const & url, OUString const & name, -+ Reference const & xPackageType, -+ bool bRemoved, OUString const & identifier, OUString const& rPlatform); -+ -+ private: -+ BackendImpl * getMyBackend() const; -+ -+ const Reference impl_openRDB() const; -+ const Reference impl_createInstance(OUString const& rService) const; -+ -+ // Package -+ virtual beans::Optional< beans::Ambiguous > isRegistered_( -+ ::osl::ResettableMutexGuard & guard, -+ ::rtl::Reference const & abortChannel, -+ Reference const & xCmdEnv ); -+ virtual void processPackage_( -+ ::osl::ResettableMutexGuard & guard, -+ bool registerPackage, -+ bool startup, -+ ::rtl::Reference const & abortChannel, -+ Reference const & xCmdEnv ); -+ -+ private: -+ OUString const m_aPlatform; -+ }; -+ friend class OtherPlatformPackageImpl; - - t_stringlist m_jar_typelibs; - t_stringlist m_rdb_typelibs; -@@ -694,16 +730,30 @@ Reference BackendImpl::bindPackage_( - - INetContentTypeParameter const * param = params.find( - ByteString("platform") ); -- if (param == 0 || platform_fits( param->m_sValue )) { -+ bool bPlatformFits(param == 0); -+ String aPlatform; -+ if (!bPlatformFits) // platform is specified, we have to check -+ { -+ aPlatform = param->m_sValue; -+ bPlatformFits = platform_fits(aPlatform); -+ } -+ // If the package is being removed, do not care whether -+ // platform fits. We won't be using it anyway. -+ if (bPlatformFits || bRemoved) { - param = params.find( ByteString("type") ); - if (param != 0) - { - String const & value = param->m_sValue; - if (value.EqualsIgnoreCaseAscii("native")) { -- return new BackendImpl::ComponentPackageImpl( -- this, url, name, m_xDynComponentTypeInfo, -- OUSTR("com.sun.star.loader.SharedLibrary"), -- bRemoved, identifier); -+ if (bPlatformFits) -+ return new BackendImpl::ComponentPackageImpl( -+ this, url, name, m_xDynComponentTypeInfo, -+ OUSTR("com.sun.star.loader.SharedLibrary"), -+ bRemoved, identifier); -+ else -+ return new BackendImpl::OtherPlatformPackageImpl( -+ this, url, name, m_xDynComponentTypeInfo, -+ bRemoved, identifier, aPlatform); - } - if (value.EqualsIgnoreCaseAscii("Java")) { - return new BackendImpl::ComponentPackageImpl( -@@ -1567,6 +1617,110 @@ void BackendImpl::TypelibraryPackageImpl::processPackage_( - } - } - -+BackendImpl::OtherPlatformPackageImpl::OtherPlatformPackageImpl( -+ ::rtl::Reference const & myBackend, -+ OUString const & url, OUString const & name, -+ Reference const & xPackageType, -+ bool bRemoved, OUString const & identifier, OUString const& rPlatform) -+ : Package(myBackend, url, name, name, xPackageType, bRemoved, identifier) -+ , m_aPlatform(rPlatform) -+{ -+ OSL_PRECOND(bRemoved, "this class can only be used for removing packages!"); -+} -+ -+BackendImpl * -+BackendImpl::OtherPlatformPackageImpl::getMyBackend() const -+{ -+ BackendImpl * pBackend = static_cast(m_myBackend.get()); -+ if (NULL == pBackend) -+ { -+ //Throws a DisposedException -+ check(); -+ //We should never get here... -+ throw RuntimeException( -+ OUSTR("Failed to get the BackendImpl"), -+ static_cast(const_cast(this))); -+ } -+ return pBackend; -+} -+ -+Reference const -+BackendImpl::OtherPlatformPackageImpl::impl_openRDB() const -+{ -+ OUString const aRDB(m_aPlatform + OUString(RTL_CONSTASCII_USTRINGPARAM(".rdb"))); -+ OUString const aRDBPath(makeURL(getMyBackend()->getCachePath(), aRDB)); -+ -+ Reference xRegistry; -+ -+ try -+ { -+ xRegistry.set( -+ impl_createInstance( -+ OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.registry.SimpleRegistry"))), -+ UNO_QUERY) -+ ; -+ if (xRegistry.is()) -+ xRegistry->open(expandUnoRcUrl(aRDBPath), false, false); -+ } -+ catch (registry::InvalidRegistryException const&) -+ { -+ // If the registry does not exist, we do not need to bother at all -+ xRegistry.set(0); -+ } -+ -+ OSL_POSTCOND(xRegistry.is(), "could not create registry for the package's platform"); -+ return xRegistry; -+} -+ -+Reference const -+BackendImpl::OtherPlatformPackageImpl::impl_createInstance(OUString const& rService) -+const -+{ -+ Reference const xContext(getMyBackend()->getComponentContext()); -+ OSL_ASSERT(xContext.is()); -+ Reference xService; -+ if (xContext.is()) -+ xService.set(xContext->getServiceManager()->createInstanceWithContext(rService, xContext)); -+ return xService; -+} -+ -+beans::Optional > -+BackendImpl::OtherPlatformPackageImpl::isRegistered_( -+ ::osl::ResettableMutexGuard& /* guard */, -+ ::rtl::Reference const& /* abortChannel */, -+ Reference const& /* xCmdEnv */ ) -+{ -+ return beans::Optional >(sal_True, -+ beans::Ambiguous(sal_True, sal_False)); -+} -+ -+void -+BackendImpl::OtherPlatformPackageImpl::processPackage_( -+ ::osl::ResettableMutexGuard& /* guard */, -+ bool bRegisterPackage, -+ bool /* bStartup */, -+ ::rtl::Reference const& /* abortChannel */, -+ Reference const& /* xCmdEnv */) -+{ -+ OSL_PRECOND(!bRegisterPackage, "this class can only be used for removing packages!"); -+ (void) bRegisterPackage; -+ -+ OUString const aURL(getURL()); -+ -+ Reference const xServicesRDB(impl_openRDB()); -+ Reference const xImplReg( -+ impl_createInstance( -+ OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.registry.ImplementationRegistration"))), -+ UNO_QUERY) -+ ; -+ if (xImplReg.is() && xServicesRDB.is()) -+ xImplReg->revokeImplementation(aURL, xServicesRDB); -+ if (xServicesRDB.is()) -+ xServicesRDB->close(); -+ -+ getMyBackend()->deleteDataFromDb(aURL); -+} -+ - } // anon namespace - - namespace sdecl = comphelper::service_decl; --- -1.7.4 - diff --git a/0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch b/0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch deleted file mode 100644 index 8cb1ce2..0000000 --- a/0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e4decda5e2cf3f6cd2a7a41b23fb68ccf91e3f23 Mon Sep 17 00:00:00 2001 -From: Kohei Yoshida -Date: Sat, 12 Feb 2011 01:32:12 -0500 -Subject: [PATCH] Get correct current position when shift-page up and down. (fdo#34026) - -When expanding a selection, we need to use the block end position -as the "current" position instead of the current cursor position, as -the cursor no longer moves during block selection. ---- - sc/source/ui/view/tabview2.cxx | 18 +++++++++++++++++- - 1 files changed, 17 insertions(+), 1 deletions(-) - -diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx -index 3bc9a82..73207ff 100644 ---- a/sc/source/ui/view/tabview2.cxx -+++ b/sc/source/ui/view/tabview2.cxx -@@ -371,7 +371,23 @@ void ScTabView::GetPageMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, SCsCOL& rPage - { - SCCOL nCurX; - SCROW nCurY; -- aViewData.GetMoveCursor( nCurX,nCurY ); -+ if (aViewData.IsRefMode()) -+ { -+ nCurX = aViewData.GetRefEndX(); -+ nCurY = aViewData.GetRefEndY(); -+ } -+ else if (IsBlockMode()) -+ { -+ // block end position. -+ nCurX = nBlockEndX; -+ nCurY = nBlockEndY; -+ } -+ else -+ { -+ // cursor position -+ nCurX = aViewData.GetCurX(); -+ nCurY = aViewData.GetCurY(); -+ } - - ScSplitPos eWhich = aViewData.GetActivePart(); - ScHSplitPos eWhichX = WhichH( eWhich ); --- -1.7.4 - diff --git a/0001-set-mime-types-on-flat-xml-filters.patch b/0001-set-mime-types-on-flat-xml-filters.patch deleted file mode 100644 index ca22f80..0000000 --- a/0001-set-mime-types-on-flat-xml-filters.patch +++ /dev/null @@ -1,67 +0,0 @@ -From b83b2754dc18b0742c36db2f013047e6cb409400 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Wed, 30 Mar 2011 16:53:28 +0100 -Subject: [PATCH] set mime types on flat xml filters - ---- - .../config/fragments/types/calc_ODS_FlatXML.xcu | 2 +- - .../config/fragments/types/draw_ODG_FlatXML.xcu | 2 +- - .../config/fragments/types/impress_ODP_FlatXML.xcu | 2 +- - .../config/fragments/types/writer_ODT_FlatXML.xcu | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/filter/source/config/fragments/types/calc_ODS_FlatXML.xcu b/filter/source/config/fragments/types/calc_ODS_FlatXML.xcu -index 51e43cb..bb9cd6d 100644 ---- a/filter/source/config/fragments/types/calc_ODS_FlatXML.xcu -+++ b/filter/source/config/fragments/types/calc_ODS_FlatXML.xcu -@@ -2,7 +2,7 @@ - com.sun.star.comp.filters.XMLFilterDetect - - fods ods xml -- -+ application/vnd.oasis.opendocument.spreadsheet-flat-xml - false - OpenDocument Spreadsheet Flat XML - -diff --git a/filter/source/config/fragments/types/draw_ODG_FlatXML.xcu b/filter/source/config/fragments/types/draw_ODG_FlatXML.xcu -index 2fa92bf..41d8a69 100644 ---- a/filter/source/config/fragments/types/draw_ODG_FlatXML.xcu -+++ b/filter/source/config/fragments/types/draw_ODG_FlatXML.xcu -@@ -2,7 +2,7 @@ - com.sun.star.comp.filters.XMLFilterDetect - - fodg odg xml -- -+ application/vnd.oasis.opendocument.graphics-flat-xml - false - OpenDocument Drawing Flat XML - -diff --git a/filter/source/config/fragments/types/impress_ODP_FlatXML.xcu b/filter/source/config/fragments/types/impress_ODP_FlatXML.xcu -index 1b43a63..915f91a 100644 ---- a/filter/source/config/fragments/types/impress_ODP_FlatXML.xcu -+++ b/filter/source/config/fragments/types/impress_ODP_FlatXML.xcu -@@ -2,7 +2,7 @@ - com.sun.star.comp.filters.XMLFilterDetect - - fodp odp xml -- -+ application/vnd.oasis.opendocument.presentation-flat-xml - false - OpenDocument Presentation Flat XML - -diff --git a/filter/source/config/fragments/types/writer_ODT_FlatXML.xcu b/filter/source/config/fragments/types/writer_ODT_FlatXML.xcu -index 7c6f324..9c0c0ed 100644 ---- a/filter/source/config/fragments/types/writer_ODT_FlatXML.xcu -+++ b/filter/source/config/fragments/types/writer_ODT_FlatXML.xcu -@@ -2,7 +2,7 @@ - com.sun.star.comp.filters.XMLFilterDetect - - fodt odt xml -- -+ application/vnd.oasis.opendocument.text-flat-xml - false - OpenDocument Text Flat XML - --- -1.7.4.1 - diff --git a/0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch b/0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch deleted file mode 100644 index 42f2f7c..0000000 --- a/0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch +++ /dev/null @@ -1,209 +0,0 @@ -diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx -index 5720af2..7807371 100644 ---- a/sw/source/filter/ww8/ww8graf.cxx -+++ b/sw/source/filter/ww8/ww8graf.cxx -@@ -1052,7 +1052,7 @@ - Read_PicLoc(nAktId, pParams, 1); - break; - } -- aSprmIter++; -+ aSprmIter.advance(); - } - - //if( bRead_Obj || bRead_PicLoc ) break; -diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx -index 5b66561..65172b1 100644 ---- a/sw/source/filter/ww8/ww8par2.cxx -+++ b/sw/source/filter/ww8/ww8par2.cxx -@@ -1964,7 +1964,7 @@ WW8TabDesc::WW8TabDesc(SwWW8ImplReader* pIoClass, WW8_CP nStartCp) : - default: - ; - } -- aSprmIter++; -+ aSprmIter.advance(); - } - - if( !nLoop ) -diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx -index f2c8fd6..44f1f69 100644 ---- a/sw/source/filter/ww8/ww8scan.cxx -+++ b/sw/source/filter/ww8/ww8scan.cxx -@@ -895,22 +895,17 @@ void WW8SprmIter::SetSprms(const BYTE* pSprms_, long nLen_) - UpdateMyMembers(); - } - --const BYTE* WW8SprmIter::operator ++( int ) -+void WW8SprmIter::advance() - { - if (nRemLen > 0 ) - { -- if( nRemLen >= nAktSize ) -- { -- pSprms += nAktSize; -- nRemLen -= nAktSize; -- UpdateMyMembers(); -- } -- else -- { -- throw( ::std::exception() ); -- } -+ USHORT nSize = nAktSize; -+ if (nSize > nRemLen) -+ nSize = nRemLen; -+ pSprms += nSize; -+ nRemLen -= nSize; -+ UpdateMyMembers(); - } -- return pSprms; - } - - void WW8SprmIter::UpdateMyMembers() -@@ -936,7 +931,7 @@ const BYTE* WW8SprmIter::FindSprm(USHORT nId) - { - if( GetAktId() == nId ) - return GetAktParams(); // SPRM found! -- operator ++(0); -+ advance(); - } - - return 0; // SPRM _not_ found -@@ -2828,7 +2823,7 @@ bool WW8PLCFx_Fc_FKP::WW8Fkp::HasSprm(USHORT nId, - { - if (aIter.GetAktId() == nId) - rResult.push_back(aIter.GetAktParams()); -- aIter++; -+ aIter.advance(); - }; - return !rResult.empty(); - } -@@ -3151,7 +3146,7 @@ bool WW8PLCFx_Fc_FKP::HasSprm(USHORT nId, std::vector &rResult) - { - if (aIter.GetAktId() == nId) - rResult.push_back(aIter.GetAktParams()); -- aIter++; -+ aIter.advance(); - }; - } - return !rResult.empty(); -diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx -index cf6541f..af19986 100644 ---- a/sw/source/filter/ww8/ww8scan.hxx -+++ b/sw/source/filter/ww8/ww8scan.hxx -@@ -261,7 +261,7 @@ public: - const wwSprmParser &rSprmParser); - void SetSprms( const BYTE* pSprms_, long nLen_ ); - const BYTE* FindSprm(USHORT nId); -- const BYTE* operator ++( int ); -+ void advance(); - const BYTE* GetSprms() const - { return ( pSprms && (0 < nRemLen) ) ? pSprms : 0; } - const BYTE* GetAktParams() const { return pAktParams; } -diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx -index 801cc2f..0df3331 100644 ---- a/sw/source/filter/ww8/ww8par.cxx -+++ b/sw/source/filter/ww8/ww8par.cxx -@@ -3895,7 +3895,7 @@ void SwWW8ImplReader::ReadDocInfo() - xDocProps->setTemplateURL( sTemplateURL ); - } - } -- else // not a template -+ else if (pWwFib->lcbSttbfAssoc) // not a template, and has a SttbfAssoc - { - long nCur = pTableStream->Tell(); - Sttb aSttb; -diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx -index 44f1f69..b1e0351 100644 ---- a/sw/source/filter/ww8/ww8scan.cxx -+++ b/sw/source/filter/ww8/ww8scan.cxx -@@ -2561,6 +2561,7 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion eVersion, SvStream* pSt, - long nOldPos = pSt->Tell(); - - pSt->Seek(nFilePos); -+ memset(maRawData, 0, 512); - pSt->Read(maRawData, 512); - mnIMax = maRawData[511]; - -@@ -2605,24 +2606,36 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion eVersion, SvStream* pSt, - aEntry.mnLen = maRawData[nOfs+1]; - nDelta++; - } -- - aEntry.mnLen *= 2; - - //stylecode, std/istd - if (eVersion == ww::eWW2) - { -- aEntry.mnIStd = *(maRawData+nOfs+1+nDelta); -- aEntry.mnLen--; //style code -- aEntry.mnLen-=6; //PHE -- //skipi stc, len byte + 6 byte PHE -- aEntry.mpData = maRawData + nOfs + 8; -+ if (aEntry.mnLen >= 1) -+ { -+ aEntry.mnIStd = *(maRawData+nOfs+1+nDelta); -+ aEntry.mnLen--; //style code -+ if (aEntry.mnLen >= 6) -+ { -+ aEntry.mnLen-=6; //PHE -+ //skipi stc, len byte + 6 byte PHE -+ aEntry.mpData = maRawData + nOfs + 8; -+ } -+ else -+ aEntry.mnLen=0; //Too short -+ } - } - else - { -- aEntry.mnIStd = SVBT16ToShort(maRawData+nOfs+1+nDelta); -- aEntry.mnLen-=2; //istd -- //skip istd, len byte + optional extra len byte -- aEntry.mpData = maRawData + nOfs + 3 + nDelta; -+ if (aEntry.mnLen >= 2) -+ { -+ aEntry.mnIStd = SVBT16ToShort(maRawData+nOfs+1+nDelta); -+ aEntry.mnLen-=2; //istd -+ //skip istd, len byte + optional extra len byte -+ aEntry.mpData = maRawData + nOfs + 3 + nDelta; -+ } -+ else -+ aEntry.mnLen=0; //Too short, ignore - } - - USHORT nSpId = aEntry.mnLen ? maSprmParser.GetSprmId(aEntry.mpData) : 0; -@@ -2666,6 +2679,17 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion eVersion, SvStream* pSt, - } - - maEntries.push_back(aEntry); -+ -+#ifdef DEBUGSPRMREADER -+ { -+ sal_Int32 nLen; -+ BYTE* pSprms = GetLenAndIStdAndSprms( nLen ); -+ -+ WW8SprmIter aIter(pSprms, nLen, maSprmParser); -+ while(aIter.GetSprms()) -+ aIter.advance(); -+ } -+#endif - } - - //one more FC than grrpl entries -diff --git a/filter/source/msfilter/mstoolbar.cxx b/filter/source/msfilter/mstoolbar.cxx -index 81b73e5..daee39b 100644 ---- a/filter/source/msfilter/mstoolbar.cxx -+++ b/filter/source/msfilter/mstoolbar.cxx -@@ -188,10 +188,11 @@ TBBase::indent_printf( FILE* fp, const char* format, ... ) - - rtl::OUString TBBase::readUnicodeString( SvStream* pS, sal_Int32 nChars ) - { -- sal_Int32 nBufSize = nChars * 2; -+ sal_Size nBufSize = nChars * 2; - boost::scoped_array< sal_uInt8 > pArray( new sal_uInt8[ nBufSize ] ); -- pS->Read( pArray.get(), nBufSize ); -- return svt::BinFilterUtils::CreateOUStringFromUniStringArray( reinterpret_cast< const char* >( pArray.get() ), nBufSize ); -+ sal_Size nReadSize = pS->Read( pArray.get(), nBufSize ); -+ OSL_ASSERT(nReadSize == nBufSize); -+ return svt::BinFilterUtils::CreateOUStringFromUniStringArray( reinterpret_cast< const char* >( pArray.get() ), nReadSize ); - } - - TBCHeader::TBCHeader() : bSignature( 0x3 ) diff --git a/libreoffice-bootstrap-kde.patch b/libreoffice-bootstrap-kde.patch deleted file mode 100644 index 6357ec2..0000000 --- a/libreoffice-bootstrap-kde.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -ur libreoffice-bootstrap-orig/configure.in libreoffice-bootstrap-3.3.0.2/configure.in ---- libreoffice-bootstrap-orig/configure.in 2010-12-17 23:08:36.000000000 +0100 -+++ libreoffice-bootstrap-3.3.0.2/configure.in 2011-01-05 20:33:22.893995652 +0100 -@@ -6890,11 +6890,11 @@ - qt_libdirs="$QT4LIB /usr/lib $x_libraries" - - kde_incdirs="/usr/include $x_includes" -- kde_libdirs="/usr/lib $x_libraries" -+ kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries" - - if test "$build_cpu" = "x86_64" ; then - qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64" -- kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4" -+ kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel" - fi - - if test -n "$QTDIR" ; then -@@ -6923,7 +6923,7 @@ - fi - fi - if test -n "$KDE4DIR" ; then -- kde_incdirs="$KDE4DIR/include $kde_incdirs" -+ kde_incdirs="$KDE4DIR/include $KDE4DIR/include/kde4 $kde_incdirs" - if test "$build_cpu" != "x86_64" ; then - kde_libdirs="$KDE4DIR/lib $kde_libdirs" - else diff --git a/libreoffice-fdo33947.sd.print.crash.patch b/libreoffice-fdo33947.sd.print.crash.patch deleted file mode 100644 index a080815..0000000 --- a/libreoffice-fdo33947.sd.print.crash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx -index 0628f1c..2e930bf 100644 ---- a/sd/source/ui/view/DocumentRenderer.cxx -+++ b/sd/source/ui/view/DocumentRenderer.cxx -@@ -1329,7 +1329,7 @@ public: - ::boost::dynamic_pointer_cast(mrBase.GetMainViewShell())); - - if ( ! mpPrintView) -- mpPrintView.reset(new DrawView(mrBase.GetDocShell(), &rPrinter, pDrawViewShell.get())); -+ mpPrintView.reset(new DrawView(mrBase.GetDocShell(), &rPrinter, NULL)); - - if (nIndex<0 || sal::static_int_cast(nIndex)>=maPrinterPages.size()) - return; diff --git a/libreoffice-gcc4.6.0.patch b/libreoffice-gcc4.6.0.patch deleted file mode 100644 index f5a2ce5..0000000 --- a/libreoffice-gcc4.6.0.patch +++ /dev/null @@ -1,294 +0,0 @@ -diff --git a/basegfx/source/polygon/b2dpolygon.cxx b/basegfx/source/polygon/b2dpolygon.cxx -index f88069b..4e578a9 100644 ---- a/basegfx/source/polygon/b2dpolygon.cxx -+++ b/basegfx/source/polygon/b2dpolygon.cxx -@@ -257,6 +257,8 @@ class ControlVectorPair2D - basegfx::B2DVector maNextVector; - - public: -+ ControlVectorPair2D() {} -+ - const basegfx::B2DVector& getPrevVector() const - { - return maPrevVector; -diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx b/basegfx/source/polygon/b2dsvgpolypolygon.cxx -index 7f5ed07..51b8740 100644 ---- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx -+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx -@@ -787,9 +787,9 @@ namespace basegfx - // (since - // createPolygonFromEllipseSegment() - // normalizes to e.g. cw arc) -- const bool bFlipSegment( (bLargeArcFlag!=0) == -- (fmod(fTheta2+2*M_PI-fTheta1, -- 2*M_PI) self; - typedef std::vector< DYN XX* > impl_type; - typedef typename impl_type::size_type size_type; -- typedef ptrdiff_t difference_type; -+ typedef std::ptrdiff_t difference_type; - - class const_iterator; - class iterator; -diff --git a/autodoc/source/display/idl/hi_linkhelper.hxx b/autodoc/source/display/idl/hi_linkhelper.hxx -index c08be55..1cdfaa7 100644 ---- a/autodoc/source/display/idl/hi_linkhelper.hxx -+++ b/autodoc/source/display/idl/hi_linkhelper.hxx -@@ -85,9 +85,7 @@ class LinkHelper - const String & XrefsSuffix() const; - - private: -- // DATA -- mutable HtmlEnvironment_Idl & -- rEnv; -+ HtmlEnvironment_Idl & rEnv; - }; - - inline const ary::idl::CodeEntity * -diff --git a/autodoc/inc/ary/idl/i_ce2s.hxx b/autodoc/inc/ary/idl/i_ce2s.hxx -index c490980..efb2711 100644 ---- a/autodoc/inc/ary/idl/i_ce2s.hxx -+++ b/autodoc/inc/ary/idl/i_ce2s.hxx -@@ -51,6 +51,7 @@ class Ce_2s - { - public: - // LIFECYCLE -+ Ce_2s() {} - virtual ~Ce_2s(); - - static DYN Ce_2s * Create_( -diff --git a/unotools/inc/unotools/streamwrap.hxx b/unotools/inc/unotools/streamwrap.hxx -index 80cde76..4b53500 100644 ---- a/unotools/inc/unotools/streamwrap.hxx -+++ b/unotools/inc/unotools/streamwrap.hxx -@@ -51,7 +51,7 @@ namespace utl - //================================================================== - typedef ::cppu::WeakImplHelper1 < stario::XInputStream - > InputStreamWrapper_Base; -- // needed for some compilers -+// needed for some compilers - /// helper class for wrapping an SvStream into an XInputStream - class UNOTOOLS_DLLPUBLIC OInputStreamWrapper : public InputStreamWrapper_Base - { -@@ -69,9 +69,6 @@ public: - OInputStreamWrapper(SvStream* pStream, sal_Bool bOwner=sal_False); - virtual ~OInputStreamWrapper(); - --// UNO Anbindung -- DECLARE_UNO3_AGG_DEFAULTS(OInputStreamWrapper, InputStreamWrapper_Base); -- - // stario::XInputStream - virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -@@ -122,9 +119,6 @@ protected: - public: - OOutputStreamWrapper(SvStream& _rStream) :rStream(_rStream) { } - --// UNO Anbindung -- DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base); -- - // stario::XOutputStream - virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -diff --git a/lotuswordpro/source/filter/xfilter/xfparastyle.hxx b/lotuswordpro/source/filter/xfilter/xfparastyle.hxx -index fde03ae..ead40ff 100644 ---- a/lotuswordpro/source/filter/xfilter/xfparastyle.hxx -+++ b/lotuswordpro/source/filter/xfilter/xfparastyle.hxx -@@ -235,10 +235,7 @@ public: - - sal_uInt32 GetFlag(){ return m_nFlag; } - -- /** -- * @descr return margins. -- */ -- XFMargins GetMargins(){return m_aMargin;} -+ XFMargins& GetMargins(){return m_aMargin;} - - virtual enumXFStyle GetStyleFamily(); - -diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx -index 3927da9..93b1706 100644 ---- a/chart2/source/controller/main/ChartController.hxx -+++ b/chart2/source/controller/main/ChartController.hxx -@@ -545,7 +545,7 @@ private: - TheModel* operator->() const { return m_pTheModel; } - private: - TheModel* m_pTheModel; -- mutable ::osl::Mutex& m_rModelMutex; -+ ::osl::Mutex& m_rModelMutex; - }; - - private: -diff --git a/writerperfect/source/filter/Style.hxx b/writerperfect/source/filter/Style.hxx -index 2820415..d54f0c8 100644 ---- a/writerperfect/source/filter/Style.hxx -+++ b/writerperfect/source/filter/Style.hxx -@@ -34,7 +34,7 @@ - class TopLevelElementStyle - { - public: -- TopLevelElementStyle() : mpsMasterPageName(NULL) { } -+ TopLevelElementStyle() : mpsMasterPageName(0) { } - virtual ~TopLevelElementStyle() { if (mpsMasterPageName) delete mpsMasterPageName; } - void setMasterPageName(WPXString &sMasterPageName) { mpsMasterPageName = new WPXString(sMasterPageName); } - const WPXString * getMasterPageName() const { return mpsMasterPageName; } -diff --git a/filter/source/xmlfilteradaptor/streamwrap.hxx b/filter/source/xmlfilteradaptor/streamwrap.hxx -index 369a7bb..2a1a2ce 100644 ---- a/filter/source/xmlfilteradaptor/streamwrap.hxx -+++ b/filter/source/xmlfilteradaptor/streamwrap.hxx -@@ -34,13 +34,6 @@ - #include - #include - --#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass) \ --virtual void SAL_CALL acquire() throw() { baseclass::acquire(); } \ --virtual void SAL_CALL release() throw() { baseclass::release(); } \ --virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) \ --{ return baseclass::queryInterface(_rType); } \ --void SAL_CALL PUT_SEMICOLON_AT_THE_END() -- - namespace osl - { - class File; -@@ -63,9 +56,6 @@ class OOutputStreamWrapper : public OutputStreamWrapper_Base - public: - OOutputStreamWrapper(::osl::File& _rStream) :rStream(_rStream) { } - --// UNO Anbindung -- DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base); -- - // stario::XOutputStream - virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -diff --git a/comphelper/inc/comphelper/oslfile2streamwrap.hxx b/comphelper/inc/comphelper/oslfile2streamwrap.hxx -index d636666..4d6c454 100644 ---- a/comphelper/inc/comphelper/oslfile2streamwrap.hxx -+++ b/comphelper/inc/comphelper/oslfile2streamwrap.hxx -@@ -44,10 +44,7 @@ namespace comphelper - // FmUnoIOStream, - // stream zum schreiben un lesen von Daten, basieren auf File - //================================================================== --struct InputStreamWrapper_Base : public ::cppu::WeakImplHelper1 --{}; -- --class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public InputStreamWrapper_Base -+class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public ::cppu::WeakImplHelper1 - { - ::osl::Mutex m_aMutex; - ::osl::File* m_pFile; -@@ -58,14 +55,6 @@ public: - OSLInputStreamWrapper(::osl::File* pStream, sal_Bool bOwner=sal_False); - virtual ~OSLInputStreamWrapper(); - --// UNO Anbindung -- virtual void SAL_CALL acquire() throw() -- { InputStreamWrapper_Base::acquire(); } -- virtual void SAL_CALL release() throw() -- { InputStreamWrapper_Base::release(); } -- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) -- { return InputStreamWrapper_Base::queryInterface(_rType); } -- - // stario::XInputStream - virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -@@ -78,24 +67,13 @@ public: - // FmUnoOutStream, - // Datensenke fuer Files - //================================================================== --struct OutputStreamWrapper_Base : public ::cppu::WeakImplHelper1 --{}; -- --class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public OutputStreamWrapper_Base -+class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public ::cppu::WeakImplHelper1 - { - ::osl::File& rFile; - - public: - OSLOutputStreamWrapper(::osl::File& _rFile) :rFile(_rFile) { } - --// UNO Anbindung -- virtual void SAL_CALL acquire() throw() -- { OutputStreamWrapper_Base::acquire(); } -- virtual void SAL_CALL release() throw() -- { OutputStreamWrapper_Base::release(); } -- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) -- { return OutputStreamWrapper_Base::queryInterface(_rType); } -- - // stario::XOutputStream - virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx -index cac22f4..dc8652e 100644 ---- a/sc/source/filter/inc/xeroot.hxx -+++ b/sc/source/filter/inc/xeroot.hxx -@@ -168,7 +168,7 @@ private: - XclExpRootData::XclExpLinkMgrRef GetLocalLinkMgrRef() const; - - private: -- mutable XclExpRootData& mrExpData; /// Reference to the global export data struct. -+ XclExpRootData& mrExpData; /// Reference to the global export data struct. - }; - - // ============================================================================ -diff --git a/sc/source/filter/inc/xiroot.hxx b/sc/source/filter/inc/xiroot.hxx -index 1b4153e..83953e3 100644 ---- a/sc/source/filter/inc/xiroot.hxx -+++ b/sc/source/filter/inc/xiroot.hxx -@@ -218,7 +218,7 @@ public: - void ReadCodeName( XclImpStream& rStrm, bool bGlobals ); - - private: -- mutable XclImpRootData& mrImpData; /// Reference to the global import data struct. -+ XclImpRootData& mrImpData; /// Reference to the global import data struct. - }; - - // ============================================================================ -diff --git a/sc/source/filter/inc/xlroot.hxx b/sc/source/filter/inc/xlroot.hxx -index 5e132fa..3f9f6fa 100644 ---- a/sc/source/filter/inc/xlroot.hxx -+++ b/sc/source/filter/inc/xlroot.hxx -@@ -285,7 +285,7 @@ public: - inline void IncCurrScTab() { ++mrData.mnScTab; } - - private: -- mutable XclRootData& mrData; /// Reference to the global data struct. -+ XclRootData& mrData; /// Reference to the global data struct. - }; - - // ============================================================================ -diff --git a/dbaccess/source/core/dataaccess/documentdefinition.hxx b/dbaccess/source/core/dataaccess/documentdefinition.hxx -index f74b6ac..e51b959 100644 ---- a/dbaccess/source/core/dataaccess/documentdefinition.hxx -+++ b/dbaccess/source/core/dataaccess/documentdefinition.hxx -@@ -374,7 +374,7 @@ private: - ODocumentDefinition& m_rDocumentDefinition; - const ::com::sun::star::uno::Any m_aOldValue; - const ::com::sun::star::uno::Any m_aNewValue; -- mutable ::osl::ResettableMutexGuard& m_rClearForNotify; -+ ::osl::ResettableMutexGuard& m_rClearForNotify; - - void impl_fireEvent_throw( const sal_Bool i_bVetoable ); - }; -diff --git a/hwpfilter/source/list.hxx b/hwpfilter/source/list.hxx -index 043a214..02f6e00 100644 ---- a/hwpfilter/source/list.hxx -+++ b/hwpfilter/source/list.hxx -@@ -41,6 +41,7 @@ - * re-implements the same functionality, based on the STL. - */ - -+#include - #include - - template diff --git a/libreoffice.spec b/libreoffice.spec index 6e26fe7..8cad278 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -50,10 +50,9 @@ Source26: http://hg.services.openoffice.org/binaries/798b2ffdc8bcfe7bca2cf Source27: http://hg.services.openoffice.org/binaries/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip Source28: http://hg.services.openoffice.org/binaries/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip Source29: http://hg.services.openoffice.org/binaries/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz -Source30: http://hg.services.openoffice.org/binaries/cf8a6967f7de535ae257fa411c98eb88-mdds_0.3.0.tar.bz2 #Unfortunately later versions of hsqldb changed the file format, so if we use a later version we loose #backwards compatability. -Source31: http://hg.services.openoffice.org/binaries/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip +Source30: http://hg.services.openoffice.org/binaries/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip BuildRequires: zip, findutils, autoconf, flex, bison, icu, gperf, gcc-c++ BuildRequires: binutils, java-devel >= 1.6.0, boost-devel, zlib-devel BuildRequires: python-devel, expat-devel, libxml2-devel, libxslt-devel, bc @@ -72,56 +71,18 @@ BuildRequires: pentaho-reporting-flow-engine, libXinerama-devel, mythes-devel BuildRequires: silgraphite-devel, libwpg-devel, libwps-devel, vigra-devel BuildRequires: kdelibs4-devel -Patch1: openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch -Patch2: openoffice.org-2.0.2.rh188467.printingdefaults.patch -Patch3: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch -Patch4: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch -Patch5: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch -Patch6: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch -Patch7: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch -Patch8: openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch -Patch9: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch -Patch10: openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch -Patch11: openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch -Patch12: turn-script-providers-into-extensions.patch -Patch13: libreoffice-installfix.patch -Patch14: 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch -Patch15: libreoffice-bootstrap-kde.patch -Patch16: 0001-free-ctxt-after-taking-lastError-details.patch -Patch17: 0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch -Patch18: libreoffice-fdo31271.icu.patch -Patch19: libreoffice-gcc4.6.0.patch -Patch20: 0001-fexceptions-fexceptions.patch -Patch21: 0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch -Patch22: vbahelper.visibility.patch -Patch23: 0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch -Patch24: 0001-Resolves-rhbz-670020-crash-in-slidesorting.patch -Patch25: 0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch -Patch26: 0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch -Patch27: 0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch -Patch28: 0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch -Patch29: 0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch -Patch30: 0001-Resolves-rhbz-681159-bandaid-for-crash.patch -Patch31: 0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch -Patch32: 0001-install-high-resolution-icons.patch -Patch33: 0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch -Patch34: 0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch -Patch35: 0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch -Patch36: 0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch -Patch37: libreoffice-fdo33947.sd.print.crash.patch -Patch38: 0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch -Patch39: 0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch -Patch40: 0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch -Patch41: 0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch -Patch42: 0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch -Patch43: 0001-beware-of-invalidated-iterator.patch -Patch44: rhbz680766.fix-mdds-crash.patch -Patch45: mdds.add-missing-link.patch -Patch46: mdds.do-not-insert-new-node.patch -Patch47: 0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch -Patch48: 0001-set-mime-types-on-flat-xml-filters.patch -Patch49: 0001-add-flat-xml-types-to-.desktop-files-etc.patch -Patch50: 0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch +Patch1: openoffice.org-2.0.2.rh188467.printingdefaults.patch +Patch2: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch +Patch3: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch +Patch4: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch +Patch5: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch +Patch6: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch +Patch7: openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch +Patch8: openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch +Patch9: libreoffice-installfix.patch +Patch10: libreoffice-fdo31271.icu.patch +Patch11: 0001-add-flat-xml-types-to-.desktop-files-etc.patch +Patch12: 0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %define instdir %{_libdir} @@ -725,61 +686,18 @@ rm -rf l10n/source/kid ' && \ tail -n 1 extras/source/palettes/standard.soc) > redhat.soc mv -f redhat.soc extras/source/palettes/standard.soc -%patch1 -p1 -b .ooo53397.prelinkoptimize.desktop.patch -%patch2 -p1 -%patch3 -p1 -b .ooo86080.unopkg.bodge.patch -%patch4 -p1 -b .ooo88341.sc.verticalboxes.patch -%patch5 -p0 -b .gccXXXXX.solenv.javaregistration.patch -%patch6 -p1 -b .oooXXXXX.solenv.allowmissing.patch -%patch7 -p0 -b .ooo101274.opening-a-directory.patch -%patch8 -p0 -b .ooo102061.sc.cellanchoring.patch -%patch9 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch -%patch10 -p1 -b .ooo108637.sfx2.uisavedir.patch -%patch11 -p0 -b .ooo113273.desktop.resolvelinks.patch -%patch12 -p1 -b .turn-script-providers-into-extensions.patch -%patch13 -p1 -b .libreoffice-installfix.patch -%patch14 -p1 -b .don-t-bail-out-on-mislength-records.patch -%patch15 -p1 -b .libreoffice-bootstrap-kde.patch -%patch16 -p1 -b .free-ctxt-after-taking-lastError-details.patch -%patch17 -p1 -b .Cursor-on-post-it-now-scrolls-.patch -%patch18 -p1 -b .fdo31271.icu.patch -%patch19 -p1 -b .libreoffice-gcc4.6.0.patch -%patch20 -p1 -b .fexceptions-fexceptions.patch -%patch21 -p1 -b .rhbz672872-cancel-gtk-file-dialog-on-deskto.patch -%patch22 -p0 -b .vbahelper.visibility.patch -%patch23 -p1 -b .fdo33509-i62414-out-by-one-breaks-CTL-spel.patch -%patch24 -p1 -b .rhbz670020-crash-in-slidesorting.patch -%patch25 -p1 -b .rhbz676539-handle-missing-pWindows-from-xW.patch -%patch26 -p1 -b .fdo33750-i94623-use-optimal-border-width-w.patch -%patch27 -p1 -b .rhbz649310-don-t-crash-deregistering-diff.-platform.patch -%patch28 -p1 -b .rhbz674330-dereference-of-NULL-mpBase.patch -%patch29 -p1 -b .rhbz678284-Get-correct-current-position-when-shift-page-up-and-.patch -%patch30 -p1 -b .rhbz681159-bandaid-for-crash.patch -%patch31 -p1 -b .rhbz672818-bandaid-for-crash-in-SwTxtNode-.patch -%patch32 -p1 -b .install-high-resolution-icons.patch -%patch33 -p1 -b .rhbz682716-pa-IN-isn-t-handled-by-fontconf.patch -%patch34 -p1 -b .rhbz682621-better-resizing-of-overtall-gly.patch -%patch35 -p1 -b .rhbz684477-make-sure-this-is-thread-safe.patch -%patch36 -p1 -b .rhbz684620-crash-with-NULL-pTableBox.patch -%patch37 -p1 -b .fdo33947.sd.print.crash.patch -%patch38 -p1 -b .add-cairo_ft_font_face_create_for_pattern-wrapper.patch -%patch39 -p1 -b .rhbz680460-reorganize-this-to-make-it-inher.patch -%patch40 -p1 -b .rhbz680460-don-t-bother-with-an-interim-Fon.patch -%patch41 -p1 -b .rhbz680460-honour-lcdfilter-subpixeling-et.patch -%patch42 -p1 -b .Cut-Gordian-Knot-of-who-owns-the-font-options.patch -%patch43 -p1 -b .beware-of-invalidated-iterator.patch -%patch44 -p1 -b .rhbz680766.fix-mdds-crash.patch -%patch47 -p1 -b .rhbz684580-X-and-strike-through-escapes-ra.patch -%patch48 -p1 -b .set-mime-types-on-flat-xml-filters.patch -%patch49 -p1 -b .add-flat-xml-types-to-.desktop-files-etc.patch -%patch50 -p1 -b .rhbz655686-get-order-of-shutdown-c.patch - -touch scripting/source/pyprov/delzip -touch scripting/util/provider/beanshell/delzip -touch scripting/util/provider/javascript/delzip - -cp %{PATCH45} mdds -cp %{PATCH46} mdds +%patch1 -p1 +%patch2 -p1 -b .ooo86080.unopkg.bodge.patch +%patch3 -p1 -b .ooo88341.sc.verticalboxes.patch +%patch4 -p1 -b .oooXXXXX.solenv.allowmissing.patch +%patch5 -p0 -b .ooo101274.opening-a-directory.patch +%patch6 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch +%patch7 -p1 -b .ooo108637.sfx2.uisavedir.patch +%patch8 -p0 -b .ooo113273.desktop.resolvelinks.patch +%patch9 -p1 -b .libreoffice-installfix.patch +%patch10 -p1 -b .fdo31271.icu.patch +%patch11 -p1 -b .add-flat-xml-types-to-.desktop-files-etc.patch +%patch12 -p1 -b .rhbz655686-get-order-of-shutdown-c.patch %build echo build start time is `date`, diskspace: `df -h . | tail -n 1` @@ -792,9 +710,6 @@ if [ $SMP_MFLAGS -lt 2 ]; then SMP_MFLAGS=2; fi NDMAKES=`dc -e "$SMP_MFLAGS v p"` NBUILDS=`dc -e "$SMP_MFLAGS $NDMAKES / p"` -NDMAKES=1 -NBUILDS=1 - # KDE bits export QT4DIR=%{_qt4_prefix} export KDE4DIR=%{_kde4_prefix} @@ -817,7 +732,7 @@ autoconf --without-fonts --without-agg --without-ppds --without-afms \ --with-lang="%{langpack_langs}" --with-poor-help-localizations="$POORHELPS" \ --with-external-tar=`pwd`/ext_sources --with-java-target-version=1.5 \ - --enable-kde4 --without-system-mdds --without-system-hsqldb + --enable-kde4 --without-system-hsqldb mkdir -p ext_sources cp %{SOURCE20} ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll @@ -829,7 +744,6 @@ cp %{SOURCE27} ext_sources cp %{SOURCE28} ext_sources cp %{SOURCE29} ext_sources cp %{SOURCE30} ext_sources -cp %{SOURCE31} ext_sources #use the RPM_OPT_FLAGS but remove the OOo overridden ones for i in $RPM_OPT_FLAGS; do @@ -2119,8 +2033,45 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %{basisinstdir}/program/kde-open-url %changelog -* Mon Apr 11 2011 Caolán McNamara 3.3.99.1-1 +* Tue Apr 11 2011 Caolán McNamara 3.3.99.1-1 - 3.4 beta1 +- drop openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch + in favour of ooosplash +- drop openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch + because components are passively registered now +- drop integrated openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch +- drop integrated turn-script-providers-into-extensions.patch +- drop integrated 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch +- drop integrated 0001-free-ctxt-after-taking-lastError-details.patch +- drop integrated 0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch +- drop integrated libreoffice-gcc4.6.0.patch +- drop integrated 0001-fexceptions-fexceptions.patch +- drop integrated 0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch +- drop vbahelper.visibility.patch +- drop integrated 0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch +- drop integrated 0001-Resolves-rhbz-670020-crash-in-slidesorting.patch +- drop integrated 0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch +- drop integrated 0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch +- drop integrated 0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch +- drop integrated 0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch +- drop integrated 0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch +- drop integrated 0001-Resolves-rhbz-681159-bandaid-for-crash.patch +- drop integrated 0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch +- drop integrated 0001-install-high-resolution-icons.patch +- drop integrated 0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch +- drop integrated 0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch +- drop integrated 0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch +- drop integrated 0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch +- drop integrated libreoffice-fdo33947.sd.print.crash.patch +- drop integrated 0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch +- drop integrated 0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch +- drop integrated 0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch +- drop integrated 0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch +- drop integrated 0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch +- drop integrated 0001-beware-of-invalidated-iterator.patch +- drop integrated rhbz680766.fix-mdds-crash.patch +- drop integrated 0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch +- drop integrated 0001-set-mime-types-on-flat-xml-filters.patch * Tue Apr 05 2011 Caolán McNamara 3.3.2.2-6 - Resolves: rhbz#655686 get order of shutdown correct diff --git a/openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch b/openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch deleted file mode 100644 index 2cc4620..0000000 --- a/openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch +++ /dev/null @@ -1,111 +0,0 @@ -diff -r a92d0bd6747b desktop/prj/build.lst ---- a/desktop/prj/build.lst Mon Dec 28 16:11:17 2009 +0100 -+++ b/desktop/prj/build.lst Wed Dec 30 09:34:10 2009 +0100 -@@ -1,4 +1,4 @@ --dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh NULL -+dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh sc sd sw NULL - dt desktop usr1 - all dt_mkout NULL - dt desktop\inc nmake - all dt_inc NULL - dt desktop\prj get - all dt_prj NULL -diff -r a92d0bd6747b desktop/scripts/soffice.sh ---- a/desktop/scripts/soffice.sh Mon Dec 28 16:11:17 2009 +0100 -+++ b/desktop/scripts/soffice.sh Wed Dec 30 09:34:10 2009 +0100 -@@ -90,30 +90,26 @@ - fi - fi - --# pagein --sd_pagein_args=@pagein-common - for sd_arg in "$@"; do - case ${sd_arg} in - -calc) -- sd_pagein_args="${sd_pagein_args} @pagein-calc" -+ sd_binary="scalc.bin" - break; - ;; - -draw) -- sd_pagein_args="${sd_pagein_args} @pagein-draw" -+ sd_binary="sdraw.bin" - break; - ;; - -impress) -- sd_pagein_args="${sd_pagein_args} @pagein-impress" -+ sd_binary="simpress.bin" - break; - ;; - -writer) -- sd_pagein_args="${sd_pagein_args} @pagein-writer" -+ sd_binary="swriter.bin" - break; - ;; - esac - done --"$sd_prog/../basis-link/program/pagein" -L"$sd_prog/../basis-link/program" \ -- ${sd_pagein_args} - - # extend the ld_library_path for java: javaldx checks the sofficerc for us - if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then -diff -r a92d0bd6747b desktop/util/makefile.mk ---- a/desktop/util/makefile.mk Mon Dec 28 16:11:17 2009 +0100 -+++ b/desktop/util/makefile.mk Wed Dec 30 09:34:10 2009 +0100 -@@ -192,6 +192,60 @@ - APP5DEPN= $(APP1TARGETN) $(APP5RES) ooverinfo.rc - APP5DEF= $(MISCX)$/$(TARGET).def - -+.IF "$(OS)" == "LINUX" -+PRELINKLIBS=$(APP5STDLIBS) -+PRELINKLIBS+= \ -+ $(SVXLIB) \ -+ $(SVXCORELIB) \ -+ $(XMLOFFLIB) \ -+ -lfwl$(DLLPOSTFIX) \ -+ -lpackage2 \ -+ -lucpfile1 \ -+ -lucb1 \ -+ $(STORELIB) \ -+ $(REGLIB) \ -+ -lvclplug_gtk$(DLLPOSTFIX) \ -+ -lvclplug_gen$(DLLPOSTFIX) \ -+ $(LNGLIB) \ -+ $(ICUINLIB) -+ -+APP6TARGET=swriter -+APP6NOSAL=TRUE -+APP6RPATH=BRAND -+APP6OBJS=$(APP5OBJS) -+APP6STDLIBS=$(PRELINKLIBS) \ -+ $(ISWLIB) -+APP6DEPN=$(APP5DEPN) -+APP6DEF=$(MISCX)$/$(TARGET).def -+ -+APP7TARGET=scalc -+APP7NOSAL=TRUE -+APP7RPATH=BRAND -+APP7OBJS=$(APP5OBJS) -+APP7STDLIBS=$(PRELINKLIBS) \ -+ $(ISCLIB) -+APP7DEPN=$(APP5DEPN) -+APP7DEF=$(MISCX)$/$(TARGET).def -+ -+APP8TARGET=sdraw -+APP8NOSAL=TRUE -+APP8RPATH=BRAND -+APP8OBJS=$(APP5OBJS) -+APP8STDLIBS=$(PRELINKLIBS) \ -+ $(ISDLIB) -+APP8DEPN=$(APP5DEPN) -+APP8DEF=$(MISCX)$/$(TARGET).def -+ -+APP9TARGET=simpress -+APP9NOSAL=TRUE -+APP9RPATH=BRAND -+APP9OBJS=$(APP5OBJS) -+APP9STDLIBS=$(PRELINKLIBS) \ -+ $(ISDLIB) -+APP9DEPN=$(APP5DEPN) -+APP9DEF=$(MISCX)$/$(TARGET).def -+.ENDIF -+ - .IF "$(GUI)" == "WNT" - APP5RES= $(RES)$/oodesktop.res - APP5ICON=$(SOLARRESDIR)$/icons/ooo3_main_app.ico diff --git a/openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch b/openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch deleted file mode 100644 index 0deea14..0000000 --- a/openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- solenv/bin/modules/installer/globals.pm 2010-05-25 21:01:11.000000000 +0100 -+++ solenv/bin/modules/installer/globals.pm 2010-05-27 08:01:11.000000000 +0100 -@@ -404,8 +404,8 @@ - %usedtreeconditions = (); - %moduledestination = (); - -- $unomaxservices = 1800; # regcomp -c argument length -- $javamaxservices = 15; -+ $unomaxservices = 1; # regcomp -c argument length -+ $javamaxservices = 1; - - $one_cab_file = 0; - $fix_number_of_cab_files = 1; ---- solenv/bin/modules/installer/servicesfile.pm 2010-05-25 21:01:11.000000000 +0100 -+++ solenv/bin/modules/installer/servicesfile.pm 2010-06-10 09:07:46.000000000 +0100 -@@ -222,17 +231,31 @@ - if ( $i % $installer::globals::javamaxservices == 0 || $i > $#{$javacomponents} ) # limiting to $installer::globals::maxservices files - { - my @regcompoutput = (); -+ my @throwregcompoutput = (); - - my $systemcall = "$installer::globals::wrapcmd $$regcompfileref -register -br ".fix_cygwin_path($regcomprdb)." -r ".fix_cygwin_path($servicesfile)." -c " . $installer::globals::quote . $filestring . $installer::globals::quote . " -l com.sun.star.loader.Java2 -wop=" . $installer::globals::quote . $javaservicesurlprefix . $installer::globals::quote ." -env:URE_INTERNAL_JAVA_DIR=" . $installer::globals::quote . make_file_url($$ure_internal_java_dir_ref) . $installer::globals::quote . " 2\>\&1 |"; - -- open (REG, "$systemcall"); -- while () {push(@regcompoutput, $_); } -- close (REG); -+ my $returnvalue = 1; -+ my $infoline = "Systemcall: $systemcall\n"; - -- my $returnvalue = $?; # $? contains the return value of the systemcall -+ for ( my $j = 0; $j <= 10; $j++) { -+ open (REG, "$systemcall"); -+ while () {push(@throwregcompoutput, $_); } -+ close (REG); -+ -+ $returnvalue = $?; # $? contains the return value of the systemcall - -- my $infoline = "Systemcall: $systemcall\n"; -- push( @installer::globals::logfileinfo, $infoline); -+ push( @installer::globals::logfileinfo, $infoline); -+ -+ if ($returnvalue == 0) { -+ last; -+ } -+ -+ $infoline = "RATS: attempt $j: $systemcall\n"; -+ push( @installer::globals::logfileinfo, $infoline); -+ } -+ -+ $regcompoutput = $throwregcompoutput; - - for ( my $k = 0; $k <= $#regcompoutput; $k++ ) { push( @installer::globals::logfileinfo, "$regcompoutput[$k]"); } - diff --git a/openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch b/openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch index 14f586c..9d58a9c 100644 --- a/openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch +++ b/openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch @@ -1,6 +1,6 @@ --- openoffice.org.orig/desktop/scripts/unopkg.sh 2008-01-14 15:55:26.000000000 +0000 +++ openoffice.org/desktop/scripts/unopkg.sh 2008-02-14 10:52:10.000000000 +0000 -@@ -57,6 +57,33 @@ +@@ -62,6 +62,33 @@ ;; esac @@ -33,13 +33,13 @@ + #collect all bootstrap variables specified on the command line #so that they can be passed as arguments to javaldx later on - for arg in $@ -@@ -94,6 +121,8 @@ + #Recognize the "sync" option. sync must be applied without any other +@@ -110,6 +137,8 @@ # SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS # execute binary --exec "$sd_prog/unopkg.bin" "$@" \ -+"$sd_prog/unopkg.bin" "$@" \ +-exec "$sd_prog/unopkg.bin" "$@" "$JVMFWKPARAMS" \ ++"$sd_prog/unopkg.bin" "$@" "$JVMFWKPARAMS" \ "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc" - +if [ -n "$INSTDIR" ]; then diff --git a/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch b/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch index 5dabc48..319ce1e 100644 --- a/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch +++ b/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch @@ -5,13 +5,14 @@ retrieving revision 1.19 diff -u -r1.19 output.hxx --- openoffice.org.orig/sc/source/ui/inc/output.hxx 26 Jun 2007 11:50:45 -0000 1.19 +++ openoffice.org/sc/source/ui/inc/output.hxx 16 Apr 2008 12:05:59 -0000 -@@ -242,6 +242,7 @@ - void DrawExtraShadow(BOOL bLeft, BOOL bTop, BOOL bRight, BOOL bBottom); - void DrawFrame(); +@@ -303,6 +303,8 @@ + void DrawExtraShadow(sal_Bool bLeft, sal_Bool bTop, sal_Bool bRight, sal_Bool bBottom); + void DrawFrame(); -+ bool UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet); - // with logic MapMode set! - void DrawEdit(BOOL bPixelToLogic); ++ bool UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet); ++ + // with logic MapMode set! + void DrawEdit(sal_Bool bPixelToLogic); Index: source/ui/view/output2.cxx =================================================================== @@ -20,11 +21,76 @@ retrieving revision 1.54.216.1 diff -u -r1.54.216.1 output2.cxx --- openoffice.org.orig/sc/source/ui/view/output2.cxx 18 Jan 2008 12:02:36 -0000 1.54.216.1 +++ openoffice.org/sc/source/ui/view/output2.cxx 16 Apr 2008 12:19:34 -0000 -@@ -2369,6 +2369,22 @@ +@@ -2819,13 +2819,7 @@ + (ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE); + bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1; - } +- // Don't clip for text height when printing rows with optimal height, +- // except when font size is from conditional formatting. +- //! Allow clipping when vertically merged? +- if ( eType != OUTTYPE_PRINTER || +- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) || +- ( rParam.mpCondSet && SFX_ITEM_SET == +- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) ) ++ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet)) + bClip = true; + else + bSimClip = true; +@@ -2861,6 +2855,19 @@ + } + Rectangle aLogicClip; ++ if ( ++ ((nAttrRotate == 9000) || (nAttrRotate == 27000)) && ++ (!(aAlignParam.meOrient==SVX_ORIENTATION_STANDARD && ++ !aAlignParam.mbAsianVertical)) && ++ (!(bClip || bSimClip)) ++ ) ++ { ++ if (UseNormalClip(nCellY, pCondSet)) ++ bClip = TRUE; ++ else ++ bSimClip = TRUE; ++ } + + if (bClip || bSimClip) + { + // Clip marks are already handled in GetOutputArea +@@ -3357,13 +3364,8 @@ + (ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE); + bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1; + +- // Don't clip for text height when printing rows with optimal height, +- // except when font size is from conditional formatting. +- //! Allow clipping when vertically merged? +- if ( eType != OUTTYPE_PRINTER || +- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) || +- ( rParam.mpCondSet && SFX_ITEM_SET == +- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) ) ++ ++ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet)) + bClip = true; + else + bSimClip = true; +@@ -3740,13 +3742,7 @@ + (ScMergeAttr*)&rParam.mpPattern->GetItem(ATTR_MERGE); + bool bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1; + +- // Don't clip for text height when printing rows with optimal height, +- // except when font size is from conditional formatting. +- //! Allow clipping when vertically merged? +- if ( eType != OUTTYPE_PRINTER || +- ( pDoc->GetRowFlags( rParam.mnCellY, nTab ) & CR_MANUALSIZE ) || +- ( rParam.mpCondSet && SFX_ITEM_SET == +- rParam.mpCondSet->GetItemState(ATTR_FONT_HEIGHT, true) ) ) ++ if (UseNormalClip(rParam.mnCellY, rParam.mpCondSet)) + bClip = true; + else + bSimClip = true; +@@ -3880,6 +3876,20 @@ + DrawEditStandard(rParam); + } + +bool ScOutputData::UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet) +{ + bool bNormalClip = false; @@ -39,47 +105,10 @@ diff -u -r1.54.216.1 output2.cxx + return bNormalClip; +} + -+ - void ScOutputData::DrawEdit(BOOL bPixelToLogic) + void ScOutputData::DrawEdit(sal_Bool bPixelToLogic) { - vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() ); -@@ -2878,13 +2894,8 @@ - (ScMergeAttr*)&pPattern->GetItem(ATTR_MERGE); - BOOL bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1; - -- // Don't clip for text height when printing rows with optimal height, -- // except when font size is from conditional formatting. -- //! Allow clipping when vertically merged? -- if ( eType != OUTTYPE_PRINTER || -- ( pDoc->GetRowFlags( nCellY, nTab ) & CR_MANUALSIZE ) || -- ( pCondSet && SFX_ITEM_SET == -- pCondSet->GetItemState(ATTR_FONT_HEIGHT, TRUE) ) ) -+ -+ if (UseNormalClip(nCellY, pCondSet)) - bClip = TRUE; - else - bSimClip = TRUE; -@@ -2920,6 +2931,19 @@ - } - - Rectangle aLogicClip; -+ if ( -+ ((nAttrRotate == 9000) || (nAttrRotate == 27000)) && -+ (!(aAlignParam.meOrient==SVX_ORIENTATION_STANDARD && -+ !aAlignParam.mbAsianVertical)) && -+ (!(bClip || bSimClip)) -+ ) -+ { -+ if (UseNormalClip(nCellY, pCondSet)) -+ bClip = TRUE; -+ else -+ bSimClip = TRUE; -+ } -+ - if (bClip || bSimClip) - { - // Clip marks are already handled in GetOutputArea -@@ -3734,11 +3758,21 @@ + ScFieldEditEngine* pEngine = NULL; +@@ -4622,11 +4632,21 @@ else { // bei gedrehtem Text ist Standard zentriert diff --git a/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch b/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch deleted file mode 100644 index 54068f6..0000000 --- a/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch +++ /dev/null @@ -1,1764 +0,0 @@ -diff -ru sc.orig/inc/document.hxx sc/inc/document.hxx ---- sc.orig/inc/document.hxx 2009-06-04 12:39:48.000000000 +0100 -+++ sc/inc/document.hxx 2009-06-04 12:40:23.000000000 +0100 -@@ -1319,8 +1319,8 @@ - void RestorePrintRanges( const ScPrintRangeSaver& rSaver ); - - SC_DLLPUBLIC Rectangle GetMMRect( SCCOL nStartCol, SCROW nStartRow, -- SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ); -- SC_DLLPUBLIC ScRange GetRange( SCTAB nTab, const Rectangle& rMMRect ); -+ SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ) const; -+ SC_DLLPUBLIC ScRange GetRange( SCTAB nTab, const Rectangle& rMMRect ) const; - - void UpdStlShtPtrsFrmNms(); - void StylesToNames(); -diff -ru sc.orig/inc/drwlayer.hxx sc/inc/drwlayer.hxx ---- sc.orig/inc/drwlayer.hxx 2009-06-04 12:39:49.000000000 +0100 -+++ sc/inc/drwlayer.hxx 2009-06-04 12:40:23.000000000 +0100 -@@ -107,12 +107,10 @@ - BOOL bHyphenatorSet; - - private: -- void MoveAreaTwips( SCTAB nTab, const Rectangle& rArea, const Point& rMove, -- const Point& rTopLeft ); - void MoveCells( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, bool bUpdateNoteCaptionPos ); - -- void RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ); -+ void RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ); - - public: - ScDrawLayer( ScDocument* pDocument, const String& rName ); -@@ -194,8 +192,11 @@ - void EnsureGraphicNames(); - - // Verankerung setzen und ermitteln -- static void SetAnchor( SdrObject*, ScAnchorType ); -- static ScAnchorType GetAnchor( const SdrObject* ); -+ static void SetPageAnchored( SdrObject& ); -+ static void SetCellAnchored( SdrObject&, const ScDrawObjData &rAnchor ); -+ static void SetCellAnchoredFromPosition( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ); -+ static void UpdateCellAnchorFromPositionEnd( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ); -+ static ScAnchorType GetAnchorType( const SdrObject& ); - - // Positionen fuer Detektivlinien - static ScDrawObjData* GetObjData( SdrObject* pObj, BOOL bCreate=FALSE ); -diff -ru sc.orig/inc/userdat.hxx sc/inc/userdat.hxx ---- sc.orig/inc/userdat.hxx 2009-06-04 12:39:49.000000000 +0100 -+++ sc/inc/userdat.hxx 2009-06-04 12:40:23.000000000 +0100 -@@ -63,12 +63,15 @@ - public: - ScAddress maStart; - ScAddress maEnd; -+ Point maStartOffset; -+ Point maEndOffset; - bool mbNote; -+ Rectangle maLastRect; - - explicit ScDrawObjData(); - - private: -- virtual ScDrawObjData* Clone( SdrObject* pObj ) const; -+ virtual ScDrawObjData* Clone( SdrObject* pObj ) const; - }; - - //------------------------------------------------------------------------- -diff -ru sc.orig/source/core/data/documen3.cxx sc/source/core/data/documen3.cxx ---- sc.orig/source/core/data/documen3.cxx 2009-06-04 12:39:09.000000000 +0100 -+++ sc/source/core/data/documen3.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -1605,7 +1605,7 @@ - return bAdded; - } - --ScRange ScDocument::GetRange( SCTAB nTab, const Rectangle& rMMRect ) -+ScRange ScDocument::GetRange( SCTAB nTab, const Rectangle& rMMRect ) const - { - ScTable* pTable = pTab[nTab]; - if (!pTable) -@@ -1879,7 +1879,7 @@ - } - - Rectangle ScDocument::GetMMRect( SCCOL nStartCol, SCROW nStartRow, -- SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ) -+ SCCOL nEndCol, SCROW nEndRow, SCTAB nTab ) const - { - if (!ValidTab(nTab) || !pTab[nTab]) - { -diff -ru sc.orig/source/core/data/drwlayer.cxx sc/source/core/data/drwlayer.cxx ---- sc.orig/source/core/data/drwlayer.cxx 2009-06-04 12:39:09.000000000 +0100 -+++ sc/source/core/data/drwlayer.cxx 2009-06-05 12:28:12.000000000 +0100 -@@ -69,6 +69,9 @@ - #include - #include - -+#include -+#include -+ - #include "drwlayer.hxx" - #include "drawpage.hxx" - #include "global.hxx" -@@ -539,7 +542,41 @@ - } - } - --void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ) -+namespace -+{ -+ //Can't have a zero width dimension -+ Rectangle lcl_makeSafeRectangle(const Rectangle &rNew) -+ { -+ Rectangle aRect = rNew; -+ if (aRect.Bottom() == aRect.Top()) -+ aRect.Bottom() = aRect.Top()+1; -+ if (aRect.Right() == aRect.Left()) -+ aRect.Right() = aRect.Left()+1; -+ return aRect; -+ } -+ -+ Point lcl_calcAvailableDiff(ScDocument &rDoc, SCCOL nCol, SCROW nRow, SCTAB nTab, const Point &aWantedDiff) -+ { -+ Point aAvailableDiff(aWantedDiff); -+ long nHeight = rDoc.GetRowHeight( nRow, nTab ) * HMM_PER_TWIPS; -+ long nWidth = rDoc.GetColWidth( nCol, nTab ) * HMM_PER_TWIPS; -+ if (aAvailableDiff.Y() > nHeight) -+ aAvailableDiff.Y() = nHeight; -+ if (aAvailableDiff.X() > nWidth) -+ aAvailableDiff.X() = nWidth; -+ return aAvailableDiff; -+ } -+ -+ Rectangle lcl_UpdateCalcPoly(basegfx::B2DPolygon &rCalcPoly, int nWhichPoint, const Point &rPos) -+ { -+ rCalcPoly.setB2DPoint(nWhichPoint, basegfx::B2DPoint(rPos.X(), rPos.Y())); -+ basegfx::B2DRange aRange(basegfx::tools::getRange(rCalcPoly)); -+ return Rectangle(aRange.getMinX(), aRange.getMinY(), -+ aRange.getMaxX(), aRange.getMaxY()); -+ } -+} -+ -+void ScDrawLayer::RecalcPos( SdrObject* pObj, ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ) - { - DBG_ASSERT( pDoc, "ScDrawLayer::RecalcPos - missing document" ); - if( !pDoc ) -@@ -578,6 +615,8 @@ - - if( bCircle ) - { -+ rData.maLastRect = pObj->GetLogicRect(); -+ - Point aPos( pDoc->GetColOffset( nCol1, nTab1 ), pDoc->GetRowOffset( nRow1, nTab1 ) ); - TwipsToMM( aPos.X() ); - TwipsToMM( aPos.Y() ); -@@ -598,11 +637,18 @@ - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -- pObj->SetLogicRect(aRect); -+ rData.maLastRect = lcl_makeSafeRectangle(aRect); -+ pObj->SetLogicRect(rData.maLastRect); - } - } - else if( bArrow ) - { -+ rData.maLastRect = pObj->GetLogicRect(); -+ basegfx::B2DPolygon aCalcPoly; -+ Point aOrigStartPos(pObj->GetPoint(0)); -+ Point aOrigEndPos(pObj->GetPoint(1)); -+ aCalcPoly.append(basegfx::B2DPoint(aOrigStartPos.X(), aOrigStartPos.Y())); -+ aCalcPoly.append(basegfx::B2DPoint(aOrigEndPos.X(), aOrigEndPos.Y())); - //! nicht mehrere Undos fuer ein Objekt erzeugen (hinteres kann dann weggelassen werden) - - SCCOL nLastCol; -@@ -623,6 +669,8 @@ - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -+ -+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 0, aStartPos); - pObj->SetPoint( aStartPos, 0 ); - } - -@@ -637,6 +685,8 @@ - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -+ -+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 1, aEndPos); - pObj->SetPoint( aEndPos, 1 ); - } - } -@@ -657,6 +707,8 @@ - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -+ -+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 1, aEndPos); - pObj->SetPoint( aEndPos, 1 ); - } - -@@ -673,45 +725,68 @@ - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -+ -+ rData.maLastRect = lcl_UpdateCalcPoly(aCalcPoly, 0, aStartPos); - pObj->SetPoint( aStartPos, 0 ); - } - } - } - } -- else // Referenz-Rahmen -+ else - { -+ bool bCanResize = bValid2 && !pObj->IsResizeProtect(); -+ -+ //First time positioning, must be able to at least move it -+ if (rData.maLastRect.IsEmpty()) -+ rData.maLastRect = pObj->GetLogicRect(); -+ - DBG_ASSERT( bValid1, "ScDrawLayer::RecalcPos - invalid start position" ); - Point aPos( pDoc->GetColOffset( nCol1, nTab1 ), pDoc->GetRowOffset( nRow1, nTab1 ) ); - TwipsToMM( aPos.X() ); - TwipsToMM( aPos.Y() ); -+ aPos += lcl_calcAvailableDiff(*pDoc, nCol1, nRow1, nTab1, rData.maStartOffset); - -- if( bValid2 ) -+ if( bCanResize ) - { -- Point aEnd( pDoc->GetColOffset( nCol2 + 1, nTab2 ), pDoc->GetRowOffset( nRow2 + 1, nTab2 ) ); -+ Point aEnd( pDoc->GetColOffset( nCol2, nTab2 ), pDoc->GetRowOffset( nRow2, nTab2 ) ); - TwipsToMM( aEnd.X() ); - TwipsToMM( aEnd.Y() ); -+ aEnd += lcl_calcAvailableDiff(*pDoc, nCol2, nRow2, nTab2, rData.maEndOffset); - - Rectangle aNew( aPos, aEnd ); - if ( bNegativePage ) - MirrorRectRTL( aNew ); - if ( pObj->GetLogicRect() != aNew ) - { -+ Rectangle aOld(pObj->GetLogicRect()); -+ - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -- pObj->SetLogicRect(aNew); -+ rData.maLastRect = lcl_makeSafeRectangle(aNew); -+ pObj->SetLogicRect(rData.maLastRect); - } - } - else - { - if ( bNegativePage ) -- aPos.X() = -aPos.X(); -+ aPos.X() = -aPos.X() - rData.maLastRect.GetWidth(); - if ( pObj->GetRelativePos() != aPos ) - { - if (bRecording) - AddCalcUndo( new SdrUndoGeoObj( *pObj ) ); -+ rData.maLastRect.SetPos( aPos ); - pObj->SetRelativePos( aPos ); - } - } -+ -+ /* -+ * If we were not allowed resize the object, then the end cell anchor -+ * is possibly incorrect now, and if the object has no end-cell (e.g. -+ * missing in original .xml) we are also forced to generate one -+ */ -+ bool bEndAnchorIsBad = !bValid2 || pObj->IsResizeProtect(); -+ if (bEndAnchorIsBad) -+ ScDrawLayer::UpdateCellAnchorFromPositionEnd(*pObj, *pDoc, nTab1); - } - } - -@@ -886,151 +961,6 @@ - return pRet; - } - --// MoveAreaTwips: all measures are kept in twips --void ScDrawLayer::MoveAreaTwips( SCTAB nTab, const Rectangle& rArea, -- const Point& rMove, const Point& rTopLeft ) --{ -- if (!rMove.X() && !rMove.Y()) -- return; // nix -- -- SdrPage* pPage = GetPage(static_cast(nTab)); -- DBG_ASSERT(pPage,"Page nicht gefunden"); -- if (!pPage) -- return; -- -- BOOL bNegativePage = pDoc && pDoc->IsNegativePage( nTab ); -- -- // fuer Shrinking! -- Rectangle aNew( rArea ); -- BOOL bShrink = FALSE; -- if ( rMove.X() < 0 || rMove.Y() < 0 ) // verkleinern -- { -- if ( rTopLeft != rArea.TopLeft() ) // sind gleich beim Verschieben von Zellen -- { -- bShrink = TRUE; -- aNew.Left() = rTopLeft.X(); -- aNew.Top() = rTopLeft.Y(); -- } -- } -- SdrObjListIter aIter( *pPage, IM_FLAT ); -- SdrObject* pObject = aIter.Next(); -- while (pObject) -- { -- if( GetAnchor( pObject ) == SCA_CELL ) -- { -- if ( GetObjData( pObject ) ) // Detektiv-Pfeil ? -- { -- // hier nichts -- } -- else if ( pObject->ISA( SdrEdgeObj ) ) // Verbinder? -- { -- // hier auch nichts -- //! nicht verbundene Enden wie bei Linien (s.u.) behandeln? -- } -- else if ( pObject->IsPolyObj() && pObject->GetPointCount()==2 ) -- { -- for (USHORT i=0; i<2; i++) -- { -- BOOL bMoved = FALSE; -- Point aPoint = pObject->GetPoint(i); -- lcl_ReverseTwipsToMM( aPoint ); -- if (rArea.IsInside(aPoint)) -- { -- aPoint += rMove; bMoved = TRUE; -- } -- else if (bShrink && aNew.IsInside(aPoint)) -- { -- // Punkt ist in betroffener Zelle - Test auf geloeschten Bereich -- if ( rMove.X() && aPoint.X() >= rArea.Left() + rMove.X() ) -- { -- aPoint.X() = rArea.Left() + rMove.X() - SHRINK_DIST_TWIPS; -- if ( aPoint.X() < 0 ) aPoint.X() = 0; -- bMoved = TRUE; -- } -- if ( rMove.Y() && aPoint.Y() >= rArea.Top() + rMove.Y() ) -- { -- aPoint.Y() = rArea.Top() + rMove.Y() - SHRINK_DIST_TWIPS; -- if ( aPoint.Y() < 0 ) aPoint.Y() = 0; -- bMoved = TRUE; -- } -- } -- if( bMoved ) -- { -- AddCalcUndo( new SdrUndoGeoObj( *pObject ) ); -- lcl_TwipsToMM( aPoint ); -- pObject->SetPoint( aPoint, i ); -- } -- } -- } -- else -- { -- Rectangle aObjRect = pObject->GetLogicRect(); -- // aOldMMPos: not converted, millimeters -- Point aOldMMPos = bNegativePage ? aObjRect.TopRight() : aObjRect.TopLeft(); -- lcl_ReverseTwipsToMM( aObjRect ); -- Point aTopLeft = bNegativePage ? aObjRect.TopRight() : aObjRect.TopLeft(); // logical left -- Size aMoveSize; -- BOOL bDoMove = FALSE; -- if (rArea.IsInside(aTopLeft)) -- { -- aMoveSize = Size(rMove.X(),rMove.Y()); -- bDoMove = TRUE; -- } -- else if (bShrink && aNew.IsInside(aTopLeft)) -- { -- // Position ist in betroffener Zelle - Test auf geloeschten Bereich -- if ( rMove.X() && aTopLeft.X() >= rArea.Left() + rMove.X() ) -- { -- aMoveSize.Width() = rArea.Left() + rMove.X() - SHRINK_DIST - aTopLeft.X(); -- bDoMove = TRUE; -- } -- if ( rMove.Y() && aTopLeft.Y() >= rArea.Top() + rMove.Y() ) -- { -- aMoveSize.Height() = rArea.Top() + rMove.Y() - SHRINK_DIST - aTopLeft.Y(); -- bDoMove = TRUE; -- } -- } -- if ( bDoMove ) -- { -- if ( bNegativePage ) -- { -- if ( aTopLeft.X() + aMoveSize.Width() > 0 ) -- aMoveSize.Width() = -aTopLeft.X(); -- } -- else -- { -- if ( aTopLeft.X() + aMoveSize.Width() < 0 ) -- aMoveSize.Width() = -aTopLeft.X(); -- } -- if ( aTopLeft.Y() + aMoveSize.Height() < 0 ) -- aMoveSize.Height() = -aTopLeft.Y(); -- -- // get corresponding move size in millimeters: -- Point aNewPos( aTopLeft.X() + aMoveSize.Width(), aTopLeft.Y() + aMoveSize.Height() ); -- lcl_TwipsToMM( aNewPos ); -- aMoveSize = Size( aNewPos.X() - aOldMMPos.X(), aNewPos.Y() - aOldMMPos.Y() ); // millimeters -- -- AddCalcUndo( new SdrUndoMoveObj( *pObject, aMoveSize ) ); -- pObject->Move( aMoveSize ); -- } -- else if ( rArea.IsInside( bNegativePage ? aObjRect.BottomLeft() : aObjRect.BottomRight() ) && -- !pObject->IsResizeProtect() ) -- { -- // geschuetzte Groessen werden nicht veraendert -- // (Positionen schon, weil sie ja an der Zelle "verankert" sind) -- AddCalcUndo( new SdrUndoGeoObj( *pObject ) ); -- long nOldSizeX = aObjRect.Right() - aObjRect.Left() + 1; -- long nOldSizeY = aObjRect.Bottom() - aObjRect.Top() + 1; -- long nLogMoveX = rMove.X() * ( bNegativePage ? -1 : 1 ); // logical direction -- pObject->Resize( aOldMMPos, Fraction( nOldSizeX+nLogMoveX, nOldSizeX ), -- Fraction( nOldSizeY+rMove.Y(), nOldSizeY ) ); -- } -- } -- } -- pObject = aIter.Next(); -- } --} -- - void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, BOOL bInsDel, bool bUpdateNoteCaptionPos ) - { -@@ -1072,11 +1002,6 @@ - aTopLeft.Y() += aMove.Y(); - } - -- // drawing objects are now directly included in cut&paste -- // -> only update references when inserting/deleting (or changing widths or heights) -- if ( bInsDel ) -- MoveAreaTwips( nTab, aRect, aMove, aTopLeft ); -- - // - // Detektiv-Pfeile: Zellpositionen anpassen - // -@@ -1114,8 +1039,6 @@ - aTopLeft.X() = -aTopLeft.X(); - nDifTwips = -nDifTwips; - } -- -- MoveAreaTwips( nTab, aRect, Point( nDifTwips,0 ), aTopLeft ); - } - - void ScDrawLayer::HeightChanged( SCTAB nTab, SCROW nRow, long nDifTwips ) -@@ -1146,8 +1069,6 @@ - MirrorRectRTL( aRect ); - aTopLeft.X() = -aTopLeft.X(); - } -- -- MoveAreaTwips( nTab, aRect, Point( 0,nDifTwips ), aTopLeft ); - } - - BOOL ScDrawLayer::HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow ) -@@ -1821,35 +1742,105 @@ - } - } - --void ScDrawLayer::SetAnchor( SdrObject* pObj, ScAnchorType eType ) -+namespace -+{ -+ SdrObjUserData* GetFirstUserDataOfType(const SdrObject *pObj, UINT16 nId) -+ { -+ USHORT nCount = pObj ? pObj->GetUserDataCount() : 0; -+ for( USHORT i = 0; i < nCount; i++ ) -+ { -+ SdrObjUserData* pData = pObj->GetUserData( i ); -+ if( pData && pData->GetInventor() == SC_DRAWLAYER && pData->GetId() == nId ) -+ return pData; -+ } -+ return NULL; -+ } -+ -+ void DeleteFirstUserDataOfType(SdrObject *pObj, UINT16 nId) -+ { -+ USHORT nCount = pObj ? pObj->GetUserDataCount() : 0; -+ for( USHORT i = nCount; i > 0; i-- ) -+ { -+ SdrObjUserData* pData = pObj->GetUserData( i-1 ); -+ if( pData && pData->GetInventor() == SC_DRAWLAYER && pData->GetId() == nId ) -+ pObj->DeleteUserData(i-1); -+ } -+ } -+} -+ -+void ScDrawLayer::SetCellAnchored( SdrObject &rObj, const ScDrawObjData &rAnchor ) - { -- ScAnchorType eOldAnchorType = GetAnchor( pObj ); -+ ScDrawObjData* pAnchor = GetObjData( &rObj, true ); -+ pAnchor->maStart = rAnchor.maStart; -+ pAnchor->maEnd = rAnchor.maEnd; -+ pAnchor->maStartOffset = rAnchor.maStartOffset; -+ pAnchor->maEndOffset = rAnchor.maEndOffset; -+} -+ -+void ScDrawLayer::SetCellAnchoredFromPosition( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ) -+{ -+ Rectangle aObjRect(rObj.GetLogicRect()); -+ ScRange aRange = rDoc.GetRange( nTab, aObjRect ); -+ -+ Rectangle aCellRect; -+ -+ ScDrawObjData aAnchor; -+ aAnchor.maStart = aRange.aStart; -+ aCellRect = rDoc.GetMMRect( aRange.aStart.Col(), aRange.aStart.Row(), -+ aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab() ); -+ aAnchor.maStartOffset.Y() = aObjRect.Top()-aCellRect.Top(); -+ if (!rDoc.IsNegativePage(nTab)) -+ aAnchor.maStartOffset.X() = aObjRect.Left()-aCellRect.Left(); -+ else -+ aAnchor.maStartOffset.X() = aCellRect.Right()-aObjRect.Right(); - -- // Ein an der Seite verankertes Objekt zeichnet sich durch eine Anker-Pos -- // von (0,1) aus. Das ist ein shabby Trick, der aber funktioniert! -- Point aAnchor( 0, eType == SCA_PAGE ? 1 : 0 ); -- pObj->SetAnchorPos( aAnchor ); -+ aAnchor.maEnd = aRange.aEnd; -+ aCellRect = rDoc.GetMMRect( aRange.aEnd.Col(), aRange.aEnd.Row(), -+ aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab() ); -+ aAnchor.maEndOffset.Y() = aObjRect.Bottom()-aCellRect.Top(); -+ if (!rDoc.IsNegativePage(nTab)) -+ aAnchor.maEndOffset.X() = aObjRect.Right()-aCellRect.Left(); -+ else -+ aAnchor.maEndOffset.X() = aCellRect.Right()-aObjRect.Left(); - -- if ( eOldAnchorType != eType ) -- pObj->notifyShapePropertyChange( ::svx::eSpreadsheetAnchor ); -+ SetCellAnchored( rObj, aAnchor ); - } - --ScAnchorType ScDrawLayer::GetAnchor( const SdrObject* pObj ) -+void ScDrawLayer::UpdateCellAnchorFromPositionEnd( SdrObject &rObj, const ScDocument &rDoc, SCTAB nTab ) - { -- Point aAnchor( pObj->GetAnchorPos() ); -- return ( aAnchor.Y() != 0 ) ? SCA_PAGE : SCA_CELL; -+ Rectangle aObjRect(rObj.GetLogicRect()); -+ ScRange aRange = rDoc.GetRange( nTab, aObjRect ); -+ -+ ScDrawObjData* pAnchor = GetObjData( &rObj, true ); -+ pAnchor->maEnd = aRange.aEnd; -+ -+ Rectangle aCellRect; -+ aCellRect = rDoc.GetMMRect( aRange.aEnd.Col(), aRange.aEnd.Row(), -+ aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab() ); -+ pAnchor->maEndOffset.Y() = aObjRect.Bottom()-aCellRect.Top(); -+ if (!rDoc.IsNegativePage(nTab)) -+ pAnchor->maEndOffset.X() = aObjRect.Right()-aCellRect.Left(); -+ else -+ pAnchor->maEndOffset.X() = aCellRect.Right()-aObjRect.Left(); -+} -+ -+void ScDrawLayer::SetPageAnchored( SdrObject &rObj ) -+{ -+ DeleteFirstUserDataOfType(&rObj, SC_UD_OBJDATA); -+} -+ -+ScAnchorType ScDrawLayer::GetAnchorType( const SdrObject &rObj ) -+{ -+ //If this object has a cell anchor associated with it -+ //then its cell-anchored, otherwise its page-anchored -+ return ScDrawLayer::GetObjData(const_cast(&rObj)) ? SCA_CELL : SCA_PAGE; - } - - ScDrawObjData* ScDrawLayer::GetObjData( SdrObject* pObj, BOOL bCreate ) // static - { -- USHORT nCount = pObj ? pObj->GetUserDataCount() : 0; -- for( USHORT i = 0; i < nCount; i++ ) -- { -- SdrObjUserData* pData = pObj->GetUserData( i ); -- if( pData && pData->GetInventor() == SC_DRAWLAYER -- && pData->GetId() == SC_UD_OBJDATA ) -- return (ScDrawObjData*) pData; -- } -+ if (SdrObjUserData *pData = GetFirstUserDataOfType(pObj, SC_UD_OBJDATA)) -+ return (ScDrawObjData*) pData; -+ - if( pObj && bCreate ) - { - ScDrawObjData* pData = new ScDrawObjData; -@@ -1886,15 +1877,7 @@ - - ScIMapInfo* ScDrawLayer::GetIMapInfo( SdrObject* pObj ) // static - { -- USHORT nCount = pObj->GetUserDataCount(); -- for( USHORT i = 0; i < nCount; i++ ) -- { -- SdrObjUserData* pData = pObj->GetUserData( i ); -- if( pData && pData->GetInventor() == SC_DRAWLAYER -- && pData->GetId() == SC_UD_IMAPDATA ) -- return (ScIMapInfo*) pData; -- } -- return NULL; -+ return (ScIMapInfo*)GetFirstUserDataOfType(pObj, SC_UD_IMAPDATA); - } - - // static: -@@ -1947,7 +1930,7 @@ - else if ( pObj->ISA( SdrOle2Obj ) ) // OLE-Objekt - { - // TODO/LEAN: working with visual area needs running state -- aGraphSize = ((SdrOle2Obj*)pObj)->GetOrigObjSize(); -+ aGraphSize = ((const SdrOle2Obj*)pObj)->GetOrigObjSize(); - bObjSupported = TRUE; - } - -@@ -1965,14 +1948,9 @@ - - ScMacroInfo* ScDrawLayer::GetMacroInfo( SdrObject* pObj, BOOL bCreate ) // static - { -- USHORT nCount = pObj->GetUserDataCount(); -- for( USHORT i = 0; i < nCount; i++ ) -- { -- SdrObjUserData* pData = pObj->GetUserData( i ); -- if( pData && pData->GetInventor() == SC_DRAWLAYER -- && pData->GetId() == SC_UD_MACRODATA ) -- return (ScMacroInfo*) pData; -- } -+ if (SdrObjUserData *pData = GetFirstUserDataOfType(pObj, SC_UD_MACRODATA)) -+ return (ScMacroInfo*) pData; -+ - if ( bCreate ) - { - ScMacroInfo* pData = new ScMacroInfo; -diff -ru sc.orig/source/core/data/postit.cxx sc/source/core/data/postit.cxx ---- sc.orig/source/core/data/postit.cxx 2009-06-04 12:39:10.000000000 +0100 -+++ sc/source/core/data/postit.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -102,7 +102,6 @@ - - void ScCaptionUtil::SetBasicCaptionSettings( SdrCaptionObj& rCaption, bool bShown ) - { -- ScDrawLayer::SetAnchor( &rCaption, SCA_PAGE ); - SetCaptionLayer( rCaption, bShown ); - rCaption.SetFixedTail(); - rCaption.SetSpecialTextBoxShadow(); -diff -ru sc.orig/source/core/tool/detfunc.cxx sc/source/core/tool/detfunc.cxx ---- sc.orig/source/core/tool/detfunc.cxx 2009-06-04 12:39:11.000000000 +0100 -+++ sc/source/core/tool/detfunc.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -492,7 +492,6 @@ - - pBox->SetMergedItemSetAndBroadcast(rData.GetBoxSet()); - -- ScDrawLayer::SetAnchor( pBox, SCA_CELL ); - pBox->SetLayer( SC_LAYER_INTERN ); - pPage->InsertObject( pBox ); - pModel->AddCalcUndo( new SdrUndoInsertObj( *pBox ) ); -@@ -534,7 +533,6 @@ - pArrow->NbcSetLogicRect(Rectangle(aStartPos,aEndPos)); //! noetig ??? - pArrow->SetMergedItemSetAndBroadcast(rAttrSet); - -- ScDrawLayer::SetAnchor( pArrow, SCA_CELL ); - pArrow->SetLayer( SC_LAYER_INTERN ); - pPage->InsertObject( pArrow ); - pModel->AddCalcUndo( new SdrUndoInsertObj( *pArrow ) ); -@@ -565,7 +563,6 @@ - - pBox->SetMergedItemSetAndBroadcast(rData.GetBoxSet()); - -- ScDrawLayer::SetAnchor( pBox, SCA_CELL ); - pBox->SetLayer( SC_LAYER_INTERN ); - pPage->InsertObject( pBox ); - pModel->AddCalcUndo( new SdrUndoInsertObj( *pBox ) ); -@@ -600,7 +597,6 @@ - - pArrow->SetMergedItemSetAndBroadcast(rAttrSet); - -- ScDrawLayer::SetAnchor( pArrow, SCA_CELL ); - pArrow->SetLayer( SC_LAYER_INTERN ); - pPage->InsertObject( pArrow ); - pModel->AddCalcUndo( new SdrUndoInsertObj( *pArrow ) ); -@@ -668,7 +664,6 @@ - - pCircle->SetMergedItemSetAndBroadcast(rAttrSet); - -- ScDrawLayer::SetAnchor( pCircle, SCA_CELL ); - pCircle->SetLayer( SC_LAYER_INTERN ); - pPage->InsertObject( pCircle ); - pModel->AddCalcUndo( new SdrUndoInsertObj( *pCircle ) ); -diff -ru sc.orig/source/filter/xml/XMLExportIterator.hxx sc/source/filter/xml/XMLExportIterator.hxx ---- sc.orig/source/filter/xml/XMLExportIterator.hxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/XMLExportIterator.hxx 2009-06-04 12:40:23.000000000 +0100 -@@ -72,6 +72,8 @@ - { - ScAddress aAddress; - ScAddress aEndAddress; -+ sal_Int32 nEndX; -+ sal_Int32 nEndY; - com::sun::star::uno::Reference xShape; - - sal_Bool operator<(const ScMyShape& aShape) const; -diff -ru sc.orig/source/filter/xml/xmlexprt.cxx sc/source/filter/xml/xmlexprt.cxx ---- sc.orig/source/filter/xml/xmlexprt.cxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/xmlexprt.cxx 2009-06-04 12:51:46.000000000 +0100 -@@ -599,39 +599,21 @@ - else - { - ++nShapesCount; -- SvxShape* pShapeImp(SvxShape::getImplementation(xShape)); -- if (pShapeImp) -+ if (SvxShape* pShapeImp = SvxShape::getImplementation(xShape)) - { -- SdrObject *pSdrObj(pShapeImp->GetSdrObject()); -- if (pSdrObj) -+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject()) - { -- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL) -+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData( pSdrObj )) - { -- if (pDoc) -- { -- -- awt::Point aPoint(xShape->getPosition()); -- awt::Size aSize(xShape->getSize()); -- rtl::OUString sType(xShape->getShapeType()); -- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height); -- if ( sType.equals(sCaptionShape) ) -- { -- awt::Point aRelativeCaptionPoint; -- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint; -- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y); -- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y); -- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint; -- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint)); -- } -- ScRange aRange(pDoc->GetRange(static_cast(nTable), aRectangle)); -- ScMyShape aMyShape; -- aMyShape.aAddress = aRange.aStart; -- aMyShape.aEndAddress = aRange.aEnd; -- aMyShape.xShape = xShape; -- pSharedData->AddNewShape(aMyShape); -- pSharedData->SetLastColumn(nTable, aRange.aStart.Col()); -- pSharedData->SetLastRow(nTable, aRange.aStart.Row()); -- } -+ ScMyShape aMyShape; -+ aMyShape.aAddress = pAnchor->maStart; -+ aMyShape.aEndAddress = pAnchor->maEnd; -+ aMyShape.nEndX = pAnchor->maEndOffset.X(); -+ aMyShape.nEndY = pAnchor->maEndOffset.Y(); -+ aMyShape.xShape = xShape; -+ pSharedData->AddNewShape(aMyShape); -+ pSharedData->SetLastColumn(nTable, pAnchor->maStart.Col()); -+ pSharedData->SetLastRow(nTable, pAnchor->maStart.Row()); - } - else - pSharedData->AddTableShape(nTable, xShape); -@@ -2585,29 +2567,15 @@ - aPoint.X = 2 * aItr->xShape->getPosition().X + aItr->xShape->getSize().Width - aPoint.X; - if ( !aItr->xShape->getShapeType().equals(sCaptionShape) ) - { -- awt::Point aEndPoint; - Rectangle aEndRec(pDoc->GetMMRect(aItr->aEndAddress.Col(), aItr->aEndAddress.Row(), - aItr->aEndAddress.Col(), aItr->aEndAddress.Row(), aItr->aEndAddress.Tab())); - rtl::OUString sEndAddress; - ScRangeStringConverter::GetStringFromAddress(sEndAddress, aItr->aEndAddress, pDoc, FormulaGrammar::CONV_OOO); - AddAttribute(XML_NAMESPACE_TABLE, XML_END_CELL_ADDRESS, sEndAddress); -- if (bNegativePage) -- aEndPoint.X = -aEndRec.Right(); -- else -- aEndPoint.X = aEndRec.Left(); -- aEndPoint.Y = aEndRec.Top(); -- awt::Point aStartPoint(aItr->xShape->getPosition()); -- awt::Size aSize(aItr->xShape->getSize()); -- sal_Int32 nEndX; -- if (bNegativePage) -- nEndX = -aStartPoint.X - aEndPoint.X; -- else -- nEndX = aStartPoint.X + aSize.Width - aEndPoint.X; -- sal_Int32 nEndY(aStartPoint.Y + aSize.Height - aEndPoint.Y); - rtl::OUStringBuffer sBuffer; -- GetMM100UnitConverter().convertMeasure(sBuffer, nEndX); -+ GetMM100UnitConverter().convertMeasure(sBuffer, aItr->nEndX); - AddAttribute(XML_NAMESPACE_TABLE, XML_END_X, sBuffer.makeStringAndClear()); -- GetMM100UnitConverter().convertMeasure(sBuffer, nEndY); -+ GetMM100UnitConverter().convertMeasure(sBuffer, aItr->nEndY); - AddAttribute(XML_NAMESPACE_TABLE, XML_END_Y, sBuffer.makeStringAndClear()); - } - ExportShape(aItr->xShape, &aPoint); -diff -ru sc.orig/source/filter/xml/xmlimprt.cxx sc/source/filter/xml/xmlimprt.cxx ---- sc.orig/source/filter/xml/xmlimprt.cxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/xmlimprt.cxx 2009-06-04 15:23:47.000000000 +0100 -@@ -2813,7 +2813,7 @@ - } - - aTables.UpdateRowHeights(); -- aTables.ResizeShapes(); -+ aTables.FixupOLEs(); - } - if (GetModel().is()) - { -diff -ru sc.orig/source/filter/xml/xmlsubti.cxx sc/source/filter/xml/xmlsubti.cxx ---- sc.orig/source/filter/xml/xmlsubti.cxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/xmlsubti.cxx 2009-06-04 15:17:25.000000000 +0100 -@@ -153,7 +153,7 @@ - - ScMyTables::ScMyTables(ScXMLImport& rTempImport) - : rImport(rTempImport), -- aResizeShapes(rTempImport), -+ aFixupOLEs(rTempImport), - nCurrentColStylePos(0), - nCurrentDrawPage( -1 ), - nCurrentXShapes( -1 ), -@@ -757,12 +757,10 @@ - return !((nCurrentSheet != nCurrentXShapes) || !xShapes.is()); - } - --void ScMyTables::AddShape(uno::Reference & rShape, -- rtl::OUString* pRangeList, -- table::CellAddress& rStartAddress, table::CellAddress& rEndAddress, -- sal_Int32 nEndX, sal_Int32 nEndY) -+void ScMyTables::AddOLE(uno::Reference & rShape, -+ const rtl::OUString &rRangeList) - { -- aResizeShapes.AddShape(rShape, pRangeList, rStartAddress, rEndAddress, nEndX, nEndY); -+ aFixupOLEs.AddOLE(rShape, rRangeList); - } - - void ScMyTables::AddMatrixRange( -diff -ru sc.orig/source/filter/xml/xmlsubti.hxx sc/source/filter/xml/xmlsubti.hxx ---- sc.orig/source/filter/xml/xmlsubti.hxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/xmlsubti.hxx 2009-06-04 15:23:00.000000000 +0100 -@@ -114,7 +114,7 @@ - - ScXMLImport& rImport; - -- ScMyShapeResizer aResizeShapes; -+ ScMyOLEFixer aFixupOLEs; - - ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > xCurrentSheet; - ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > xCurrentCellRange; -@@ -151,7 +151,9 @@ - void AddColumn(sal_Bool bIsCovered); - void NewTable(sal_Int32 nTempSpannedCols); - void UpdateRowHeights(); -- void ResizeShapes() { aResizeShapes.ResizeShapes(); } -+ void FixupOLEs() { aFixupOLEs.FixupOLEs(); } -+ sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape) const -+ { return ScMyOLEFixer::IsOLE(rShape); } - void DeleteTable(); - com::sun::star::table::CellAddress GetRealCellPos(); - void AddColCount(sal_Int32 nTempColCount); -@@ -170,11 +172,8 @@ - GetCurrentXShapes(); - sal_Bool HasDrawPage(); - sal_Bool HasXShapes(); -- void AddShape(com::sun::star::uno::Reference & rShape, -- rtl::OUString* pRangeList, -- com::sun::star::table::CellAddress& rStartAddress, -- com::sun::star::table::CellAddress& rEndAddress, -- sal_Int32 nEndX, sal_Int32 nEndY); -+ void AddOLE(com::sun::star::uno::Reference & rShape, -+ const rtl::OUString &rRangeList); - - void AddMatrixRange( sal_Int32 nStartColumn, - sal_Int32 nStartRow, -diff -ru sc.orig/source/filter/xml/XMLTableShapeImportHelper.cxx sc/source/filter/xml/XMLTableShapeImportHelper.cxx ---- sc.orig/source/filter/xml/XMLTableShapeImportHelper.cxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/XMLTableShapeImportHelper.cxx 2009-06-04 15:17:38.000000000 +0100 -@@ -36,6 +36,7 @@ - #include "drwlayer.hxx" - #include "xmlannoi.hxx" - #include "rangeutl.hxx" -+#include "userdat.hxx" - #include "docuno.hxx" - #include "sheetdata.hxx" - #include -@@ -90,6 +91,11 @@ - { - if (!pAnnotationContext) - { -+ ScDrawObjData aAnchor; -+ aAnchor.maStart = ScAddress(aStartCell.Column, aStartCell.Row, aStartCell.Sheet); -+ awt::Point aStartPoint(rShape->getPosition()); -+ aAnchor.maStartOffset = Point(aStartPoint.X, aStartPoint.Y); -+ - sal_Int32 nEndX(-1); - sal_Int32 nEndY(-1); - sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0; -@@ -111,11 +117,18 @@ - { - sal_Int32 nOffset(0); - ScRangeStringConverter::GetAddressFromString(aEndCell, rValue, static_cast(mrImporter).GetDocument(), ::formula::FormulaGrammar::CONV_OOO, nOffset); -+ aAnchor.maEnd = ScAddress(aEndCell.Column, aEndCell.Row, aEndCell.Sheet); - } - else if (IsXMLToken(aLocalName, XML_END_X)) -+ { - static_cast(mrImporter).GetMM100UnitConverter().convertMeasure(nEndX, rValue); -+ aAnchor.maEndOffset.X() = nEndX; -+ } - else if (IsXMLToken(aLocalName, XML_END_Y)) -+ { - static_cast(mrImporter).GetMM100UnitConverter().convertMeasure(nEndY, rValue); -+ aAnchor.maEndOffset.Y() = nEndY; -+ } - else if (IsXMLToken(aLocalName, XML_TABLE_BACKGROUND)) - if (IsXMLToken(rValue, XML_TRUE)) - nLayerID = SC_LAYER_BACK; -@@ -128,39 +141,28 @@ - } - SetLayer(rShape, nLayerID, rShape->getShapeType()); - -- if (!bOnTable) -+ if (SvxShape* pShapeImp = SvxShape::getImplementation(rShape)) - { -- rTables.AddShape(rShape, -- pRangeList, aStartCell, aEndCell, nEndX, nEndY); -- SvxShape* pShapeImp = SvxShape::getImplementation(rShape); -- if (pShapeImp) -- { -- SdrObject *pSdrObj = pShapeImp->GetSdrObject(); -- if (pSdrObj) -- ScDrawLayer::SetAnchor(pSdrObj, SCA_CELL); -- } -+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject()) -+ { -+ if (!bOnTable) -+ ScDrawLayer::SetCellAnchored(*pSdrObj, aAnchor); -+ else -+ ScDrawLayer::SetPageAnchored(*pSdrObj); -+ } - } -- else -- { -- if ( pRangeList ) -- { -- // #i78086# If there are notification ranges, the ChartListener must be created -- // also when anchored to the sheet -- // -> call AddShape with invalid cell position (checked in ScMyShapeResizer::ResizeShapes) -- -- table::CellAddress aInvalidPos( -1, -1, -1 ); -- rTables.AddShape(rShape, -- pRangeList, aInvalidPos, aInvalidPos, 0, 0); -- } - -- SvxShape* pShapeImp = SvxShape::getImplementation(rShape); -- if (pShapeImp) -- { -- SdrObject *pSdrObj = pShapeImp->GetSdrObject(); -- if (pSdrObj) -- ScDrawLayer::SetAnchor(pSdrObj, SCA_PAGE); -- } -- } -+ if ( bOnTable && pRangeList ) -+ { -+ // #i78086# If there are notification ranges, the ChartListener must be created -+ // also when anchored to the sheet -+ // -> call AddOLE with invalid cell position (checked in ScMyShapeResizer::ResizeShapes) -+ -+ if (rTables.IsOLE(rShape)) -+ rTables.AddOLE(rShape, *pRangeList); -+ } -+ -+ delete pRangeList; - } - else // shape is annotation - { -diff -ru sc.orig/source/filter/xml/XMLTableShapeResizer.cxx sc/source/filter/xml/XMLTableShapeResizer.cxx ---- sc.orig/source/filter/xml/XMLTableShapeResizer.cxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/XMLTableShapeResizer.cxx 2009-06-04 15:27:39.000000000 +0100 -@@ -49,38 +49,38 @@ - using ::std::vector; - using ::rtl::OUString; - --ScMyShapeResizer::ScMyShapeResizer(ScXMLImport& rTempImport) -+ScMyOLEFixer::ScMyOLEFixer(ScXMLImport& rTempImport) - : rImport(rTempImport), - aShapes(), - pCollection(NULL) - { - } - --ScMyShapeResizer::~ScMyShapeResizer() -+ScMyOLEFixer::~ScMyOLEFixer() - { - } - --sal_Bool ScMyShapeResizer::IsOLE(uno::Reference< drawing::XShape >& rShape) const -+sal_Bool ScMyOLEFixer::IsOLE(uno::Reference< drawing::XShape >& rShape) - { - return rShape->getShapeType().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.OLE2Shape"))); - } - --void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc, -+void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc, - const rtl::OUString& rName, -- const rtl::OUString* pRangeList) -+ const rtl::OUString& rRangeList) - { -- if (!pDoc || !pRangeList) -- // These are minimum required. -+ // This is the minimum required. -+ if (!pDoc) - return; - -- if (!pRangeList->getLength()) -+ if (!rRangeList.getLength()) - { - pDoc->AddOLEObjectToCollection(rName); - return; - } - - OUString aRangeStr; -- ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, *pRangeList, pDoc); -+ ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, rRangeList, pDoc); - if (!aRangeStr.getLength()) - { - pDoc->AddOLEObjectToCollection(rName); -@@ -116,272 +116,45 @@ - } - } - --void ScMyShapeResizer::AddShape(uno::Reference & rShape, -- rtl::OUString* pRangeList, -- table::CellAddress& rStartAddress, table::CellAddress& rEndAddress, -- sal_Int32 nEndX, sal_Int32 nEndY) -+void ScMyOLEFixer::AddOLE(uno::Reference & rShape, -+ const rtl::OUString &rRangeList) - { -- ScMyToResizeShape aShape; -- aShape.xShape.set(rShape); -- aShape.pRangeList = pRangeList; -- aShape.aEndCell = rEndAddress; -- aShape.aStartCell = rStartAddress; -- aShape.nEndY = nEndY; -- aShape.nEndX = nEndX; -- aShapes.push_back(aShape); -+ ScMyToFixupOLE aShape; -+ aShape.xShape.set(rShape); -+ aShape.sRangeList = rRangeList; -+ aShapes.push_back(aShape); - } - --void ScMyShapeResizer::GetNewShapeSizePos(ScDocument* pDoc, const Rectangle& rStartRect, -- const table::CellAddress& rEndCell, -- awt::Point& rPoint, awt::Size& rSize, -- sal_Int32& rEndX, sal_Int32& rEndY) const --{ -- awt::Point aRefPoint; -- BOOL bNegativePage(pDoc->IsNegativePage(rEndCell.Sheet)); -- if (bNegativePage) -- aRefPoint.X = rStartRect.Right(); -- else -- aRefPoint.X = rStartRect.Left(); -- aRefPoint.Y = rStartRect.Top(); -- Rectangle aRect(pDoc->GetMMRect( -- static_cast(rEndCell.Column), static_cast(rEndCell.Row), -- static_cast(rEndCell.Column), static_cast(rEndCell.Row), rEndCell.Sheet )); -- if (bNegativePage) -- rEndX = -rEndX + aRect.Right(); -- else -- rEndX += aRect.Left(); -- rEndY += aRect.Top(); -- rPoint.X += aRefPoint.X; -- if (bNegativePage) -- { -- if (rPoint.X < rStartRect.Left()) -- rPoint.X = rStartRect.Left() + 2; // increment by 2 100th_mm because the cellwidth is internal in twips -- } -- else -- { -- if (rPoint.X > rStartRect.Right()) -- rPoint.X = rStartRect.Right() - 2; // decrement by 2 100th_mm because the cellwidth is internal in twips -- } -- rPoint.Y += aRefPoint.Y; -- if (rPoint.Y > rStartRect.Bottom()) -- rPoint.Y = rStartRect.Bottom() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips -- if (bNegativePage) -- { -- rSize.Width = -(rEndX - rPoint.X); -- } -- else -- rSize.Width = rEndX - rPoint.X; -- rSize.Height = rEndY - rPoint.Y; --} -- --void ScMyShapeResizer::ResizeShapes() -+void ScMyOLEFixer::FixupOLEs() - { - if (!aShapes.empty() && rImport.GetModel().is()) - { -- rtl::OUString sRowHeight(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLHGT)); - rtl::OUString sPersistName (RTL_CONSTASCII_USTRINGPARAM("PersistName")); -- rtl::OUString sCaptionPoint( RTL_CONSTASCII_USTRINGPARAM( "CaptionPoint" )); -- rtl::OUString sConnectorShape( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.ConnectorShape") ); -- rtl::OUString sCaptionShape( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape") ); -- rtl::OUString sStartShape(RTL_CONSTASCII_USTRINGPARAM("StartShape")); -- rtl::OUString sEndShape(RTL_CONSTASCII_USTRINGPARAM("EndShape")); -- rtl::OUString sStartPosition(RTL_CONSTASCII_USTRINGPARAM("StartPosition")); -- rtl::OUString sEndPosition(RTL_CONSTASCII_USTRINGPARAM("EndPosition")); -- uno::Reference xTableRow; -- uno::Reference xSheet; -- uno::Reference xTableRows; -- sal_Int32 nOldRow(-1); -- sal_Int32 nOldSheet(-1); -- ScMyToResizeShapes::iterator aItr(aShapes.begin()); -- ScMyToResizeShapes::iterator aEndItr(aShapes.end()); -- uno::Reference xSpreadDoc( rImport.GetModel(), uno::UNO_QUERY ); -- if ( xSpreadDoc.is() ) -+ ScMyToFixupOLEs::iterator aItr(aShapes.begin()); -+ ScMyToFixupOLEs::iterator aEndItr(aShapes.end()); -+ ScDocument* pDoc(rImport.GetDocument()); -+ -+ rImport.LockSolarMutex(); -+ -+ while (aItr != aEndItr) - { -- uno::Reference xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY ); -- ScDocument* pDoc(rImport.GetDocument()); -- if ( pDoc && xIndex.is() ) -+ // #i78086# also call CreateChartListener for invalid position (anchored to sheet) -+ if (!IsOLE(aItr->xShape)) -+ DBG_ERROR("Only OLEs should be in here now"); -+ -+ if (IsOLE(aItr->xShape)) - { -- rImport.LockSolarMutex(); -- while (aItr != aEndItr) -- { -- // #i78086# invalid cell position is used to call CreateChartListener only -- if ( aItr->aEndCell.Sheet >= 0 ) -- { -- if ((nOldSheet != aItr->aEndCell.Sheet) || !xSheet.is()) -- { -- nOldSheet = aItr->aEndCell.Sheet; -- xSheet.set(xIndex->getByIndex(nOldSheet), uno::UNO_QUERY); -- if (xSheet.is()) -- { -- uno::Reference xColumnRowRange (xSheet, uno::UNO_QUERY); -- if (xColumnRowRange.is()) -- xTableRows = xColumnRowRange->getRows(); -- } -- } -- if (xTableRows.is()) -- { -- if (nOldRow != aItr->aEndCell.Row || !xTableRow.is()) -- { -- nOldRow = aItr->aEndCell.Row; -- xTableRows->getByIndex(nOldRow) >>= xTableRow; -- } -- if (xTableRow.is()) -- { -- uno::Reference xRowProperties(xTableRow, uno::UNO_QUERY); -- if (xRowProperties.is()) -- { -- sal_Int32 nHeight; -- if (xRowProperties->getPropertyValue(sRowHeight) >>= nHeight) -- { -- Rectangle aRec = pDoc->GetMMRect(static_cast(aItr->aStartCell.Column), static_cast(aItr->aStartCell.Row), -- static_cast(aItr->aStartCell.Column), static_cast(aItr->aStartCell.Row), aItr->aStartCell.Sheet); -- awt::Point aPoint(aItr->xShape->getPosition()); -- awt::Size aSize(aItr->xShape->getSize()); -- if (pDoc->IsNegativePage(static_cast(nOldSheet))) -- aPoint.X += aSize.Width; -- if (aItr->nEndY >= 0 && aItr->nEndX >= 0) -- { -- if (aItr->xShape->getShapeType().equals(sConnectorShape)) -- { -- //#103122#; handle connected Connectorshapes -- uno::Reference xShapeProps (aItr->xShape, uno::UNO_QUERY); -- if(xShapeProps.is()) -- { -- uno::Reference xStartShape(xShapeProps->getPropertyValue( sStartShape ), uno::UNO_QUERY); -- uno::Reference xEndShape(xShapeProps->getPropertyValue( sEndShape ), uno::UNO_QUERY); -- if (!xStartShape.is() && !xEndShape.is()) -- { -- awt::Size aOldSize(aSize); -- GetNewShapeSizePos(pDoc, aRec, aItr->aEndCell, aPoint, aSize, aItr->nEndX, aItr->nEndY); -- aItr->xShape->setPosition(aPoint); -- if( (aSize.Width != aOldSize.Width) || -- (aSize.Height != aOldSize.Height) ) -- aItr->xShape->setSize(aSize); -- } -- else if (xStartShape.is() && xEndShape.is()) -- { -- // do nothing, because they are connected -- } -- else -- { -- // only one point is connected, the other should be moved -- -- rtl::OUString sProperty; -- if (xStartShape.is()) -- { -- awt::Point aEndPoint; -- xShapeProps->getPropertyValue(sEndPosition) >>= aEndPoint; -- aPoint.X = aRec.Left() + aEndPoint.X; -- aPoint.Y = aRec.Top() + aEndPoint.Y; -- sProperty = sEndPosition; -- } -- else -- { -- awt::Point aStartPoint; -- xShapeProps->getPropertyValue(sStartPosition) >>= aStartPoint; -- aPoint.X = aRec.Left() + aStartPoint.X; -- aPoint.Y = aRec.Top() + aStartPoint.Y; -- sProperty = sStartPosition; -- } -- xShapeProps->setPropertyValue(sProperty, uno::makeAny(aPoint)); -- } -- } -- } -- else -- { -- awt::Size aOldSize(aSize); -- GetNewShapeSizePos(pDoc, aRec, aItr->aEndCell, aPoint, aSize, aItr->nEndX, aItr->nEndY); -- if (pDoc->IsNegativePage(static_cast(nOldSheet))) -- aPoint.X -= aSize.Width; -- aItr->xShape->setPosition(aPoint); -- if( (aSize.Width != aOldSize.Width) || -- (aSize.Height != aOldSize.Height) ) -- aItr->xShape->setSize(aSize); -- } -- } -- else -- { -- if (aItr->xShape->getShapeType().equals(sCaptionShape)) -- { -- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height); -- -- awt::Point aCaptionPoint; -- uno::Reference< beans::XPropertySet > xShapeProps(aItr->xShape, uno::UNO_QUERY); -- if (xShapeProps.is()) -- { -- try -- { -- xShapeProps->getPropertyValue( sCaptionPoint ) >>= aCaptionPoint; -- } -- catch ( uno::Exception& ) -- { -- DBG_ERROR("This Captionshape has no CaptionPoint property."); -- } -- } -- Point aCorePoint(aPoint.X, aPoint.Y); -- Point aCoreCaptionPoint(aCaptionPoint.X, aCaptionPoint.Y); -- aCoreCaptionPoint += aCorePoint; -- aRectangle.Union(Rectangle(aCoreCaptionPoint, aCoreCaptionPoint)); -- -- Point aBeforeRightBottomPoint(aRectangle.BottomRight()); -- -- aRectangle += aRec.TopLeft(); -- if (aRectangle.Left() > aRec.Right()) -- aRectangle -= (Point(aRectangle.Left() - aRec.Right() + 2, 0)); -- if (aRectangle.Top() > aRec.Bottom()) -- aRectangle -= (Point(0, aRectangle.Top() - aRec.Bottom() + 2)); -- -- Point aDifferencePoint(aRectangle.BottomRight() - aBeforeRightBottomPoint); -- aPoint.X += aDifferencePoint.X(); -- aPoint.Y += aDifferencePoint.Y(); -- -- aItr->xShape->setPosition(aPoint); -- } -- else -- { -- // #96159# it is possible, that shapes have a negative position -- // this is now handled here -- DBG_ERROR("no or negative end address of this shape"); -- awt::Point aRefPoint; -- aRefPoint.X = aRec.Left(); -- aRefPoint.Y = aRec.Top(); -- aPoint.X += aRefPoint.X; -- if (aPoint.X > aRec.Right()) -- aPoint.X = aRec.Right() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips -- aPoint.Y += aRefPoint.Y; -- if (aPoint.Y > aRec.Bottom()) -- aPoint.Y = aRec.Bottom() - 2; // decrement by 2 100th_mm because the cellheight is internal in twips -- aItr->xShape->setPosition(aPoint); -- } -- } -- } -- } -- } -- } -- else -- { -- DBG_ERROR("something wents wrong"); -- } -- } -- // #i78086# call CreateChartListener also for invalid position (anchored to sheet) -- if (IsOLE(aItr->xShape)) -- { -- uno::Reference < beans::XPropertySet > xShapeProps ( aItr->xShape, uno::UNO_QUERY ); -- uno::Reference < beans::XPropertySetInfo > xShapeInfo(xShapeProps->getPropertySetInfo()); -- rtl::OUString sName; -- if (xShapeProps.is() && xShapeInfo.is() && xShapeInfo->hasPropertyByName(sPersistName) && -- (xShapeProps->getPropertyValue(sPersistName) >>= sName)) -- CreateChartListener(pDoc, sName, aItr->pRangeList); -- } -- if (aItr->pRangeList) -- delete aItr->pRangeList; -- aItr = aShapes.erase(aItr); -- } -- rImport.UnlockSolarMutex(); --// if (pCollection) --// pDoc->SetChartListenerCollection(pCollection); -+ uno::Reference < beans::XPropertySet > xShapeProps ( aItr->xShape, uno::UNO_QUERY ); -+ uno::Reference < beans::XPropertySetInfo > xShapeInfo(xShapeProps->getPropertySetInfo()); -+ -+ rtl::OUString sName; -+ if (pDoc && xShapeProps.is() && xShapeInfo.is() && xShapeInfo->hasPropertyByName(sPersistName) && -++ (xShapeProps->getPropertyValue(sPersistName) >>= sName)) -+ CreateChartListener(pDoc, sName, aItr->sRangeList); - } -+ aItr = aShapes.erase(aItr); - } -+ rImport.UnlockSolarMutex(); - } - } - -diff -ru sc.orig/source/filter/xml/XMLTableShapeResizer.hxx sc/source/filter/xml/XMLTableShapeResizer.hxx ---- sc.orig/source/filter/xml/XMLTableShapeResizer.hxx 2009-06-04 12:39:13.000000000 +0100 -+++ sc/source/filter/xml/XMLTableShapeResizer.hxx 2009-06-04 15:22:38.000000000 +0100 -@@ -41,44 +41,31 @@ - class ScDocument; - class Rectangle; - --struct ScMyToResizeShape -+struct ScMyToFixupOLE - { - com::sun::star::uno::Reference xShape; -- rtl::OUString* pRangeList; -- com::sun::star::table::CellAddress aEndCell; -- com::sun::star::table::CellAddress aStartCell; -- sal_Int32 nEndX; -- sal_Int32 nEndY; -- -- ScMyToResizeShape() : pRangeList(NULL) {} -+ rtl::OUString sRangeList; - }; - --typedef std::list ScMyToResizeShapes; -+typedef std::list ScMyToFixupOLEs; - --class ScMyShapeResizer -+class ScMyOLEFixer - { - ScXMLImport& rImport; -- ScMyToResizeShapes aShapes; -+ ScMyToFixupOLEs aShapes; - ScChartListenerCollection* pCollection; - -- sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape) const; - void CreateChartListener(ScDocument* pDoc, - const rtl::OUString& rName, -- const rtl::OUString* pRangeList); -- void GetNewShapeSizePos(ScDocument* pDoc, const Rectangle& rStartRect, -- const com::sun::star::table::CellAddress& rEndCell, -- com::sun::star::awt::Point& rPoint, com::sun::star::awt::Size& rSize, -- sal_Int32& rEndX, sal_Int32& rEndY) const; -+ const rtl::OUString& rRangeList); - public: -- ScMyShapeResizer(ScXMLImport& rImport); -- ~ScMyShapeResizer(); -+ ScMyOLEFixer(ScXMLImport& rImport); -+ ~ScMyOLEFixer(); - -- void AddShape(com::sun::star::uno::Reference & rShape, -- rtl::OUString* pRangeList, -- com::sun::star::table::CellAddress& rStartAddress, -- com::sun::star::table::CellAddress& rEndAddress, -- sal_Int32 nEndX, sal_Int32 nEndY); -- void ResizeShapes(); -+ static sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape); -+ void AddOLE(com::sun::star::uno::Reference & rShape, -+ const rtl::OUString &rRangeList); -+ void FixupOLEs(); - }; - - #endif -diff -ru sc.orig/source/ui/Accessibility/AccessibleDocument.cxx sc/source/ui/Accessibility/AccessibleDocument.cxx ---- sc.orig/source/ui/Accessibility/AccessibleDocument.cxx 2009-06-04 12:39:41.000000000 +0100 -+++ sc/source/ui/Accessibility/AccessibleDocument.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -41,6 +41,7 @@ - #include "drawview.hxx" - #include "gridwin.hxx" - #include "AccessibleEditObject.hxx" -+#include "userdat.hxx" - #include "scresid.hxx" - #include "sc.hrc" - #include -@@ -977,35 +978,10 @@ - uno::Reference xShapeProp(xShape, uno::UNO_QUERY); - if (pShapeImp && xShapeProp.is()) - { -- SdrObject *pSdrObj = pShapeImp->GetSdrObject(); -- if (pSdrObj) -+ if (SdrObject *pSdrObj = pShapeImp->GetSdrObject()) - { -- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL) -- { -- ScDocument* pDoc = mpViewShell->GetViewData()->GetDocument(); -- if (pDoc) -- { -- rtl::OUString sCaptionShape(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape")); -- awt::Point aPoint(xShape->getPosition()); -- awt::Size aSize(xShape->getSize()); -- rtl::OUString sType(xShape->getShapeType()); -- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height); -- if ( sType.equals(sCaptionShape) ) -- { -- awt::Point aRelativeCaptionPoint; -- rtl::OUString sCaptionPoint( RTL_CONSTASCII_USTRINGPARAM( "CaptionPoint" )); -- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint; -- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y); -- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y); -- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint; -- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint)); -- } -- ScRange aRange = pDoc->GetRange(mpAccessibleDocument->getVisibleTable(), aRectangle); -- pAddress = new ScAddress(aRange.aStart); -- } -- } --// else --// do nothing, because it is always a NULL Pointer -+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData(pSdrObj)) -+ return new ScAddress(pAnchor->maStart); - } - } - } -diff -ru sc.orig/source/ui/drawfunc/drawsh2.cxx sc/source/ui/drawfunc/drawsh2.cxx ---- sc.orig/source/ui/drawfunc/drawsh2.cxx 2009-06-04 12:39:40.000000000 +0100 -+++ sc/source/ui/drawfunc/drawsh2.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -115,7 +115,7 @@ - - if ( !bDisableAnchor ) - { -- switch( pView->GetAnchor() ) -+ switch( pView->GetAnchorType() ) - { - case SCA_PAGE: - rSet.Put( SfxBoolItem( SID_ANCHOR_PAGE, TRUE ) ); -diff -ru sc.orig/source/ui/drawfunc/drawsh5.cxx sc/source/ui/drawfunc/drawsh5.cxx ---- sc.orig/source/ui/drawfunc/drawsh5.cxx 2009-06-04 12:39:40.000000000 +0100 -+++ sc/source/ui/drawfunc/drawsh5.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -397,26 +397,26 @@ - break; - - case SID_ANCHOR_PAGE: -- pView->SetAnchor( SCA_PAGE ); -+ pView->SetPageAnchored(); - rBindings.Invalidate( SID_ANCHOR_PAGE ); - rBindings.Invalidate( SID_ANCHOR_CELL ); - break; - - case SID_ANCHOR_CELL: -- pView->SetAnchor( SCA_CELL ); -+ pView->SetCellAnchored(); - rBindings.Invalidate( SID_ANCHOR_PAGE ); - rBindings.Invalidate( SID_ANCHOR_CELL ); - break; - - case SID_ANCHOR_TOGGLE: - { -- switch( pView->GetAnchor() ) -+ switch( pView->GetAnchorType() ) - { - case SCA_CELL: -- pView->SetAnchor( SCA_PAGE ); -+ pView->SetPageAnchored(); - break; - default: -- pView->SetAnchor( SCA_CELL ); -+ pView->SetCellAnchored(); - break; - } - } -diff -ru sc.orig/source/ui/inc/drawview.hxx sc/source/ui/inc/drawview.hxx ---- sc.orig/source/ui/inc/drawview.hxx 2009-06-04 12:39:46.000000000 +0100 -+++ sc/source/ui/inc/drawview.hxx 2009-06-04 12:40:23.000000000 +0100 -@@ -100,8 +100,9 @@ - - void CalcNormScale( Fraction& rFractX, Fraction& rFractY ) const; - -- void SetAnchor( ScAnchorType ); -- ScAnchorType GetAnchor() const; -+ void SetPageAnchored(); -+ void SetCellAnchored(); -+ ScAnchorType GetAnchorType() const; - - void VCAddWin( Window* pWin ); - void VCRemoveWin( Window* pWin ); -diff -ru sc.orig/source/ui/unoobj/shapeuno.cxx sc/source/ui/unoobj/shapeuno.cxx ---- sc.orig/source/ui/unoobj/shapeuno.cxx 2009-06-04 12:39:29.000000000 +0100 -+++ sc/source/ui/unoobj/shapeuno.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -365,20 +365,9 @@ - table::CellRangeAddress aAddress = xRangeAdd->getRangeAddress(); - if (nTab == aAddress.Sheet) - { -- if (aAddress.StartRow != aAddress.EndRow) //should be a Spreadsheet -- { -- DBG_ASSERT(aAddress.StartRow == 0 && aAddress.EndRow == MAXROW && -- aAddress.StartColumn == 0 && aAddress.EndColumn == MAXCOL, "here should be a XSpreadsheet"); -- ScDrawLayer::SetAnchor(pObj, SCA_PAGE); -- } -- else -- { -- DBG_ASSERT(aAddress.StartRow == aAddress.EndRow && -- aAddress.StartColumn == aAddress.EndColumn, "here should be a XCell"); -- ScDrawLayer::SetAnchor(pObj, SCA_CELL); -- } - Rectangle aRect(pDoc->GetMMRect( static_cast(aAddress.StartColumn), static_cast(aAddress.StartRow), - static_cast(aAddress.EndColumn), static_cast(aAddress.EndRow), aAddress.Sheet )); -+ awt::Point aRelPoint; - uno::Reference xShape( mxShapeAgg, uno::UNO_QUERY ); - if (xShape.is()) - { -@@ -397,7 +386,8 @@ - awt::Size aUnoSize; - awt::Point aCaptionPoint; - ScRange aRange; -- awt::Point aUnoPoint(lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint )); -+ aRelPoint = lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint ); -+ awt::Point aUnoPoint(aRelPoint); - - aUnoPoint.X += aPoint.X(); - aUnoPoint.Y += aPoint.Y(); -@@ -426,6 +416,24 @@ - xShape->setPosition(aUnoPoint); - pDocSh->SetModified(); - } -+ -+ if (aAddress.StartRow != aAddress.EndRow) //should be a Spreadsheet -+ { -+ DBG_ASSERT(aAddress.StartRow == 0 && aAddress.EndRow == MAXROW && -+ aAddress.StartColumn == 0 && aAddress.EndColumn == MAXCOL, "here should be a XSpreadsheet"); -+ ScDrawLayer::SetPageAnchored(*pObj); -+ } -+ else -+ { -+ DBG_ASSERT(aAddress.StartRow == aAddress.EndRow && -+ aAddress.StartColumn == aAddress.EndColumn, "here should be a XCell"); -+ ScDrawObjData aAnchor; -+ aAnchor.maStart = ScAddress(aAddress.StartColumn, aAddress.StartRow, aAddress.Sheet); -+ aAnchor.maStartOffset = Point(aRelPoint.X, aRelPoint.Y); -+ ScDrawLayer::SetCellAnchored(*pObj, aAnchor); -+ //Currently we've only got a start anchor, not an end-anchor, so generate that now -+ ScDrawLayer::UpdateCellAnchorFromPositionEnd(*pObj, *pDoc, aAddress.Sheet); -+ } - } - } - } -@@ -485,7 +493,7 @@ - uno::Reference xShape( mxShapeAgg, uno::UNO_QUERY ); - if (xShape.is()) - { -- if (ScDrawLayer::GetAnchor(pObj) == SCA_PAGE) -+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_PAGE) - { - awt::Point aPoint(xShape->getPosition()); - awt::Size aSize(xShape->getSize()); -@@ -512,7 +520,7 @@ - xShape->setPosition(aPoint); - pDocSh->SetModified(); - } -- else if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -+ else if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL) - { - awt::Size aUnoSize; - awt::Point aCaptionPoint; -@@ -583,7 +591,7 @@ - uno::Reference xShape( mxShapeAgg, uno::UNO_QUERY ); - if (xShape.is()) - { -- if (ScDrawLayer::GetAnchor(pObj) == SCA_PAGE) -+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_PAGE) - { - awt::Point aPoint = xShape->getPosition(); - awt::Point aCaptionPoint; -@@ -596,7 +604,7 @@ - xShape->setPosition(aPoint); - pDocSh->SetModified(); - } -- else if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -+ else if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL) - { - awt::Size aUnoSize; - awt::Point aCaptionPoint; -@@ -663,23 +671,10 @@ - { - ScDocShell* pDocSh = (ScDocShell*)pObjSh; - uno::Reference< uno::XInterface > xAnchor; -- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -- { -- uno::Reference xShape( mxShapeAgg, uno::UNO_QUERY ); -- if (xShape.is()) -- { -- awt::Size aUnoSize; -- awt::Point aCaptionPoint; -- ScRange aRange; -- awt::Point aUnoPoint(lcl_GetRelativePos( xShape, pDoc, nTab, aRange, aUnoSize, aCaptionPoint )); -- -- xAnchor.set(static_cast(new ScCellObj( pDocSh, aRange.aStart ))); -- } -- } -+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjDataTab(pObj, nTab)) -+ xAnchor.set(static_cast(new ScCellObj( pDocSh, pAnchor->maStart))); - else -- { - xAnchor.set(static_cast(new ScTableSheetObj( pDocSh, nTab ))); -- } - aAny <<= xAnchor; - } - } -@@ -722,7 +717,7 @@ - uno::Reference xShape( mxShapeAgg, uno::UNO_QUERY ); - if (xShape.is()) - { -- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL) - { - awt::Size aUnoSize; - awt::Point aCaptionPoint; -@@ -782,7 +777,7 @@ - if (xShape.is()) - { - uno::Reference< uno::XInterface > xAnchor; -- if (ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -+ if (ScDrawLayer::GetAnchorType(*pObj) == SCA_CELL) - { - awt::Size aUnoSize; - awt::Point aCaptionPoint; -diff -ru sc.orig/source/ui/view/drawvie3.cxx sc/source/ui/view/drawvie3.cxx ---- sc.orig/source/ui/view/drawvie3.cxx 2009-06-04 12:39:42.000000000 +0100 -+++ sc/source/ui/view/drawvie3.cxx 2009-06-05 08:47:05.000000000 +0100 -@@ -77,7 +77,7 @@ - - // Verankerung setzen - --void ScDrawView::SetAnchor( ScAnchorType eType ) -+void ScDrawView::SetPageAnchored() - { - SdrObject* pObj = NULL; - if( AreObjectsMarked() ) -@@ -87,7 +87,7 @@ - for( ULONG i=0; iGetMark(i)->GetMarkedSdrObj(); -- ScDrawLayer::SetAnchor( pObj, eType ); -+ ScDrawLayer::SetPageAnchored( *pObj ); - } - - if ( pViewData ) -@@ -95,7 +95,28 @@ - } - } - --ScAnchorType ScDrawView::GetAnchor() const -+void ScDrawView::SetCellAnchored() -+{ -+ if (!pDoc) -+ return; -+ -+ SdrObject* pObj = NULL; -+ if( AreObjectsMarked() ) -+ { -+ const SdrMarkList* pMark = &GetMarkedObjectList(); -+ ULONG nCount = pMark->GetMarkCount(); -+ for( ULONG i=0; iGetMark(i)->GetMarkedSdrObj(); -+ ScDrawLayer::SetCellAnchoredFromPosition(*pObj, *pDoc, nTab); -+ } -+ -+ if ( pViewData ) -+ pViewData->GetDocShell()->SetDrawModified(); -+ } -+} -+ -+ScAnchorType ScDrawView::GetAnchorType() const - { - BOOL bPage = FALSE; - BOOL bCell = FALSE; -@@ -108,7 +129,7 @@ - for( ULONG i=0; iGetMark(i)->GetMarkedSdrObj(); -- if( ScDrawLayer::GetAnchor( pObj ) == SCA_CELL ) -+ if( ScDrawLayer::GetAnchorType( *pObj ) == SCA_CELL ) - bCell =TRUE; - else - bPage = TRUE; -@@ -138,6 +159,20 @@ - if ( nTab == ((ScTabSizeChangedHint&)rHint).GetTab() ) - UpdateWorkArea(); - } -+ else if ( rHint.ISA( SdrHint ) ) -+ { -+ if (const SdrHint* pSdrHint = PTR_CAST( SdrHint, &rHint )) -+ { -+ //Update the anchors of any non note object that is cell anchored which has -+ //been moved since the last anchors for its position was calculated -+ if (pSdrHint->GetKind() == HINT_OBJCHG || pSdrHint->GetKind() == HINT_OBJINSERTED) -+ if (SdrObject* pObj = const_cast(pSdrHint->GetObject())) -+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData(pObj)) -+ if (!pAnchor->mbNote && pAnchor->maLastRect != pObj->GetLogicRect()) -+ ScDrawLayer::SetCellAnchoredFromPosition(*pObj, *pDoc, nTab); -+ } -+ FmFormView::Notify( rBC,rHint ); -+ } - else - FmFormView::Notify( rBC,rHint ); - } -diff -ru sc.orig/source/ui/view/drawview.cxx sc/source/ui/view/drawview.cxx ---- sc.orig/source/ui/view/drawview.cxx 2009-06-04 12:39:41.000000000 +0100 -+++ sc/source/ui/view/drawview.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -155,46 +155,15 @@ - - void ScDrawView::AddCustomHdl() - { -- BOOL bNegativePage = pDoc->IsNegativePage( nTab ); -- - const SdrMarkList &rMrkList = GetMarkedObjectList(); - UINT32 nCount = rMrkList.GetMarkCount(); - for(UINT32 nPos=0; nPosGetMarkedSdrObj(); -- if(ScDrawLayer::GetAnchor(pObj) == SCA_CELL) -+ SdrObject* pObj = rMrkList.GetMark(nPos)->GetMarkedSdrObj(); -+ if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjDataTab(pObj, nTab)) - { -- const INT32 nDelta = 1; -- -- Rectangle aBoundRect = pObj->GetCurrentBoundRect(); -- Point aPos; -- if (bNegativePage) -- { -- aPos = aBoundRect.TopRight(); -- aPos.X() = -aPos.X(); // so the loop below is the same -- } -- else -- aPos = aBoundRect.TopLeft(); -- long nPosX = (long) (aPos.X() / HMM_PER_TWIPS) + nDelta; -- long nPosY = (long) (aPos.Y() / HMM_PER_TWIPS) + nDelta; -- -- SCCOL nCol; -- INT32 nWidth = 0; -- -- for(nCol=0; nCol<=MAXCOL && nWidth<=nPosX; nCol++) -- nWidth += pDoc->GetColWidth(nCol,nTab); -- -- if(nCol > 0) -- --nCol; -- -- SCROW nRow = nPosY <= 0 ? 0 : pDoc->GetRowForHeight( nTab, -- (ULONG) nPosY); -- if(nRow > 0) -- --nRow; -- -- ScTabView* pView = pViewData->GetView(); -- ScAddress aScAddress(nCol, nRow, nTab); -- pView->CreateAnchorHandles(aHdl, aScAddress); -+ if (ScTabView* pView = pViewData->GetView()) -+ pView->CreateAnchorHandles(aHdl, pAnchor->maStart); - } - } - } ---- sc.orig/source/filter/xcl97/xcl97rec.cxx 2010-11-18 21:18:32.000000000 +0000 -+++ sc/source/filter/xcl97/xcl97rec.cxx 2010-11-18 21:19:31.000000000 +0000 -@@ -1014,7 +1014,7 @@ - if( const SdrObject* pShape = EscherEx::GetSdrObject( rObj.GetShape() ) ) - { - // OOXTODO: returning "twoCell" -- switch( ScDrawLayer::GetAnchor( pShape ) ) -+ switch( ScDrawLayer::GetAnchorType( *pShape ) ) - { - case SCA_CELL: return "oneCell"; - default: break; diff --git a/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch b/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch index 3ba2bd3..290b8c7 100644 --- a/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch +++ b/openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch @@ -5,7 +5,7 @@ retrieving revision 1.17 diff -u -p -r1.17 scriptitems.pm --- openoffice.org.orig/solenv/bin/modules/installer/scriptitems.pm 24 Feb 2005 16:21:15 -0000 1.17 +++ openoffice.org/solenv/bin/modules/installer/scriptitems.pm 18 Mar 2005 22:39:42 -0000 -@@ -1065,7 +1065,7 @@ +@@ -1066,7 +1066,7 @@ } else { @@ -14,7 +14,7 @@ diff -u -p -r1.17 scriptitems.pm } push( @installer::globals::logfileinfo, $infoline); -@@ -1143,7 +1143,7 @@ +@@ -1144,7 +1144,7 @@ } else { @@ -23,34 +23,48 @@ diff -u -p -r1.17 scriptitems.pm } push( @installer::globals::logfileinfo, $infoline); -@@ -1360,11 +1360,10 @@ +@@ -1356,11 +1356,10 @@ - if ( ! $installer::globals::languagepack && !$installer::globals::helppack) + if ( ! $installer::globals::languagepack && !$installer::globals::helppack) + { +- $infoline = "ERROR: Removing file $filename from file list.\n"; ++ $infoline = "WARNING: Removing file $filename from file list.\n"; + push( @installer::globals::logfileinfo, $infoline); + +- push(@missingfiles, "ERROR: File not found: $filename\n"); +- $error_occurred = 1; ++ push(@missingfiles, "WARNING: File not found: $filename\n"); + + next; # removing this file from list, if sourcepath is empty + } +@@ -1368,11 +1367,10 @@ + { + if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCELANGUAGEPACK\b/ )) { - $infoline = "ERROR: Removing file $filename from file list.\n"; + $infoline = "WARNING: Removing file $filename from file list.\n"; push( @installer::globals::logfileinfo, $infoline); - push(@missingfiles, "ERROR: File not found: $filename\n"); -- $error_occured = 1; +- $error_occurred = 1; + push(@missingfiles, "WARNING: File not found: $filename\n"); - next; # removing this file from list, if sourcepath is empty + next; # removing this file from list, if sourcepath is empty } -@@ -1372,11 +1371,10 @@ +@@ -1390,11 +1388,10 @@ + { + if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCEHELPPACK\b/ )) { - if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCELANGUAGEPACK\b/ )) - { -- $infoline = "ERROR: Removing file $filename from file list.\n"; -+ $infoline = "WARNING: Removing file $filename from file list.\n"; - push( @installer::globals::logfileinfo, $infoline); +- $infoline = "ERROR: Removing file $filename from file list.\n"; ++ $infoline = "WARNING: Removing file $filename from file list.\n"; + push( @installer::globals::logfileinfo, $infoline); -- push(@missingfiles, "ERROR: File not found: $filename\n"); -- $error_occured = 1; -+ push(@missingfiles, "WARNING: File not found: $filename\n"); +- push(@missingfiles, "ERROR: File not found: $filename\n"); +- $error_occured = 1; ++ push(@missingfiles, "WARNING: File not found: $filename\n"); - next; # removing this file from list, if sourcepath is empty - } + next; # removing this file from list, if sourcepath is empty + } --- openoffice.org.orig/solenv/bin/modules/installer/simplepackage.pm 2010-07-12 10:27:26.000000000 +0100 +++ openoffice.org/solenv/bin/modules/installer/simplepackage.pm 2010-07-12 10:27:54.000000000 +0100 @@ -53,7 +53,7 @@ diff --git a/openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch b/openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch index 4555983..0c73bfe 100644 --- a/openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch +++ b/openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch @@ -1,7 +1,7 @@ diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanager/fontconfig.cxx --- vcl.orig/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:25:00.000000000 +0100 +++ vcl/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:51:51.000000000 +0100 -@@ -80,6 +80,9 @@ +@@ -92,6 +92,9 @@ #include "sal/alloca.h" @@ -11,7 +11,7 @@ diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanag #include #include -@@ -907,6 +910,138 @@ +@@ -1108,6 +1111,138 @@ } } @@ -150,16 +150,23 @@ diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanag rtl::OUString PrintFontManager::Substitute(const rtl::OUString& rFontName, rtl::OUString& rMissingCodes, const rtl::OString &rLangAttrib, italic::type &rItalic, weight::type &rWeight, -@@ -928,8 +1063,6 @@ +@@ -1128,14 +1263,13 @@ + const FcChar8* pTargetNameUtf8 = (FcChar8*)aTargetName.getStr(); rWrapper.FcPatternAddString( pPattern, FC_FAMILY, pTargetNameUtf8 ); - const FcChar8* pLangAttribUtf8 = (FcChar8*)rLangAttrib.getStr(); -- if( rLangAttrib.getLength() ) ++ const FcChar8* pLangAttribUtf8 = NULL; + if( rLangAttrib.getLength() ) + { +- const FcChar8* pLangAttribUtf8; + if (rLangAttrib.equalsIgnoreAsciiCase(OString(RTL_CONSTASCII_STRINGPARAM("pa-in")))) + pLangAttribUtf8 = (FcChar8*)"pa"; + else + pLangAttribUtf8 = (FcChar8*)rLangAttrib.getStr(); - rWrapper.FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 ); + } // Add required Unicode characters, if any - if ( rMissingCodes.getLength() ) -@@ -940,11 +1073,16 @@ +@@ -1147,11 +1281,16 @@ // also handle unicode surrogates const sal_uInt32 nCode = rMissingCodes.iterateCodePoints( &nStrIndex ); rWrapper.FcCharSetAddChar( unicodes, nCode ); diff --git a/rhbz680766.fix-mdds-crash.patch b/rhbz680766.fix-mdds-crash.patch deleted file mode 100644 index 500e112..0000000 --- a/rhbz680766.fix-mdds-crash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up libreoffice-3.3.2.2/mdds/makefile.mk.dt libreoffice-3.3.2.2/mdds/makefile.mk ---- libreoffice-3.3.2.2/mdds/makefile.mk.dt 2011-03-24 16:59:53.237493218 +0100 -+++ libreoffice-3.3.2.2/mdds/makefile.mk 2011-03-24 17:26:51.098221650 +0100 -@@ -38,7 +38,8 @@ TARGET=mdds - - TARFILE_NAME=mdds_0.3.0 - TARFILE_MD5=cf8a6967f7de535ae257fa411c98eb88 --PATCH_FILES= -+PATCH_FILES= mdds.add-missing-link.patch \ -+ mdds.do-not-insert-new-node.patch - - CONFIGURE_DIR= - CONFIGURE_ACTION= diff --git a/sources b/sources index b1a6e31..25b7df5 100644 --- a/sources +++ b/sources @@ -5,7 +5,6 @@ a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip ada24d37d8d638b3d8a9985e80bc2978 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip fdb27bfe2dbe2e7b57ae194d9bf36bab fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz -cf8a6967f7de535ae257fa411c98eb88 cf8a6967f7de535ae257fa411c98eb88-mdds_0.3.0.tar.bz2 17410483b5b5f267aa18b7e00b65e6e0 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip 35c9d670889318e26aad389ed750012f redhat-langpacks.tar.gz 3dec32be5e6d9de3c4c5d549cec6e9e3 libreoffice-artwork-3.3.99.1.tar.bz2 diff --git a/turn-script-providers-into-extensions.patch b/turn-script-providers-into-extensions.patch deleted file mode 100644 index 61994d9..0000000 --- a/turn-script-providers-into-extensions.patch +++ /dev/null @@ -1,395 +0,0 @@ -diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp -index d052261..0eb090c 100644 ---- a/scp2/source/ooo/file_ooo.scp -+++ b/scp2/source/ooo/file_ooo.scp -@@ -453,10 +453,6 @@ UNO_JAR_FILE( gid_File_Jar_Lucenehelpwrapper, LuceneHelpWrapper ) - #endif - - #ifdef SOLAR_JAVA --STD_JAR_FILE( gid_File_Jar_Js, js ) --#endif -- --#ifdef SOLAR_JAVA - - #ifndef MACOSX - -@@ -501,9 +497,7 @@ End - - #ifdef SOLAR_JAVA - UNO_JAR_FILE( gid_File_Jar_Scriptframework, ScriptFramework ) --UNO_JAR_FILE( gid_File_Jar_Scriptproviderforbeanshell, ScriptProviderForBeanShell ) - UNO_JAR_FILE( gid_File_Jar_Scriptproviderforjava, ScriptProviderForJava ) --UNO_JAR_FILE( gid_File_Jar_Scriptproviderforjavascript, ScriptProviderForJavaScript ) - #endif - - #ifdef SOLAR_JAVA -diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp -index 5ffe87a..4a4b2ff 100644 ---- a/scp2/source/ooo/module_hidden_ooo.scp -+++ b/scp2/source/ooo/module_hidden_ooo.scp -@@ -91,7 +91,6 @@ Module gid_Module_Root_Files_3 - gid_File_Jar_Hsqldb, - gid_File_Jar_Hsqldb_Sdbc, - gid_File_Jar_Accessbridge, -- gid_File_Jar_Js, - gid_File_Jar_Officebean, - gid_File_Jar_Report, - gid_File_Jar_Table, -@@ -104,9 +103,7 @@ Module gid_Module_Root_Files_3 - gid_File_Jar_Commonwizards, - gid_File_Jar_Sandbox, - gid_File_Jar_Scriptframework, -- gid_File_Jar_Scriptproviderforbeanshell, - gid_File_Jar_Scriptproviderforjava, -- gid_File_Jar_Scriptproviderforjavascript, - gid_File_Jar_Xml_Apis, - gid_File_Jar_Bsh, - gid_File_Jar_Classes, -diff --git a/scp2/source/python/file_python.scp b/scp2/source/python/file_python.scp -index e586876..0876b53 100644 ---- a/scp2/source/python/file_python.scp -+++ b/scp2/source/python/file_python.scp -@@ -104,18 +104,6 @@ - #endif - #endif - --// Scripting Framework Python script proxy -- --#ifndef AIX --File gid_File_Py_Pythonscript -- TXT_FILE_BODY; -- Dir = gid_Dir_Program; -- Name = "pythonscript.py"; -- RegistryID = gid_Starregistry_Services_Rdb; -- Styles = (PACKED,UNO_COMPONENT); --End --#endif -- - //Scripting Framework Python example scripts - - File gid_File_Scripts_Python -diff --git a/scp2/source/python/module_python.scp b/scp2/source/python/module_python.scp -index 3abeec2..d32f6f6 100644 ---- a/scp2/source/python/module_python.scp -+++ b/scp2/source/python/module_python.scp -@@ -32,7 +32,7 @@ - MOD_NAME_DESC ( MODULE_OPTIONAL_PYTHON ); - ParentID = gid_Module_Optional; - Sortkey = "750"; -- Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Officehelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Lib_Python_So_Brand, gid_File_Py_Scriptprovider,gid_File_Py_Pythonscript,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd); -+ Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Officehelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Lib_Python_So_Brand,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd); - Minimal = NO; - Default = YES; - Styles = ( ); -diff --git a/scripting/prj/build.lst b/scripting/prj/build.lst -index 7d51621..81a8512 100755 ---- a/scripting/prj/build.lst -+++ b/scripting/prj/build.lst -@@ -12,3 +12,5 @@ tc scripting\java nmake - all tc1_scriptingjava tc1_scriptingprovider tc1_s - tc scripting\examples\java nmake - all tc1_scriptingexamplesjava tc1_scriptingjava NULL - tc scripting\examples nmake - all tc1_scriptingexamples tc1_scriptingexamplesjava tc1_inc NULL - tc scripting\util nmake - all tc1_scriptingutil tc1_scriptingprovider tc1_scriptingprotocolhandler tc1_scriptingbasprov tc1_scriptingstringresource tc1_scriptingvbaevents tc1_scriptingpyprov tc1_scriptingjava tc1_scriptingexamplesjava tc1_scriptingexamples NULL -+tc scripting\util\provider\javascript nmake - all tc1_scriptingjsprov tc1_scriptingjava NULL -+tc scripting\util\provider\beanshell nmake - all tc1_scriptingbshprov tc1_scriptingjava NULL -diff --git a/scripting/prj/d.lst b/scripting/prj/d.lst -index ef216fe..30d5e1c 100644 ---- a/scripting/prj/d.lst -+++ b/scripting/prj/d.lst -@@ -15,3 +15,6 @@ mkdir: %_DEST%\bin%_EXT%\pyuno - ..\source\storage\storage.xml %_DEST%\xml%_EXT%\storage.xml - - ..\%__SRC%\lib\lib*static*.dylib %_DEST%\lib%_EXT%\lib*static*.dylib -+ -+# Extensions -+..\%__SRC%\bin\*.oxt %_DEST%\bin%_EXT%\*.oxt -diff --git a/scripting/source/pyprov/description.xml b/scripting/source/pyprov/description.xml -new file mode 100644 -index 0000000..1fe0a3d ---- /dev/null -+++ b/scripting/source/pyprov/description.xml -@@ -0,0 +1,24 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ The -+ Document Foundation -+ -+ -+ -+ Script provider for Python -+ -+ -+ -diff --git a/scripting/source/pyprov/makefile.mk b/scripting/source/pyprov/makefile.mk -index 3c02785..2a63d9f 100644 ---- a/scripting/source/pyprov/makefile.mk -+++ b/scripting/source/pyprov/makefile.mk -@@ -39,11 +39,26 @@ TARGET=pyprov - - # --- Targets ------------------------------------------------------ - ALL : ALLTAR \ -- $(DLLDEST)$/pythonscript.py \ - $(DLLDEST)$/officehelper.py \ - $(DLLDEST)$/mailmerge.py - - $(DLLDEST)$/%.py: %.py - cp $? $@ - --.INCLUDE : target.mk -+# scripting provider extension -+.IF "$(L10N_framework)"=="" -+ -+EXTENSIONNAME:=ScriptProviderForPython -+EXTENSION_ZIPNAME:=script-provider-for-python -+ -+COMPONENT_FILES=$(EXTENSIONDIR)$/pythonscript.py -+ -+.INCLUDE : extension_pre.mk -+.INCLUDE : target.mk -+.INCLUDE : extension_post.mk -+ -+.ELSE -+ -+.INCLUDE : target.mk -+ -+.ENDIF -diff --git a/scripting/source/pyprov/manifest.xml b/scripting/source/pyprov/manifest.xml -new file mode 100644 -index 0000000..7e4e045 ---- /dev/null -+++ b/scripting/source/pyprov/manifest.xml -@@ -0,0 +1,7 @@ -+ -+ -+ -+ -+ -diff --git a/scripting/util/provider/beanshell/description.xml b/scripting/util/provider/beanshell/description.xml -new file mode 100644 -index 0000000..6b05318 ---- /dev/null -+++ b/scripting/util/provider/beanshell/description.xml -@@ -0,0 +1,24 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ The -+ Document Foundation -+ -+ -+ -+ Script provider for BeanShell -+ -+ -+ -diff --git a/scripting/util/provider/beanshell/makefile.mk b/scripting/util/provider/beanshell/makefile.mk -new file mode 100644 -index 0000000..7e16329 ---- /dev/null -+++ b/scripting/util/provider/beanshell/makefile.mk -@@ -0,0 +1,48 @@ -+# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -+# -+# The contents of this file are subject to the Mozilla Public License Version -+# 1.1 (the "License"); you may not use this file except in compliance with -+# the License. You may obtain a copy of the License at -+# http://www.mozilla.org/MPL/ -+# -+# Software distributed under the License is distributed on an "AS IS" basis, -+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+# for the specific language governing rights and limitations under the -+# License. -+# -+# The Initial Developer of the Original Code is -+# Red Hat, Inc. -+# Portions created by the Initial Developer are Copyright (C) 2010 the -+# Initial Developer. All Rights Reserved. -+# -+# Contributor(s): David Tardon -+# -+# Alternatively, the contents of this file may be used under the terms of -+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -+# instead of those above. -+ -+PRJ=..$/..$/.. -+ -+PRJNAME=scripting -+TARGET=bshprov -+ -+.INCLUDE : settings.mk -+ -+.IF "$(L10N_framework)"=="" && "$(SOLAR_JAVA)"!="" -+ -+EXTENSIONNAME:=ScriptProviderForBeanShell -+EXTENSION_ZIPNAME:=script-provider-for-beanshell -+ -+COMPONENT_JARFILES=$(EXTENSIONDIR)$/$(EXTENSIONNAME).jar -+ -+.INCLUDE : extension_pre.mk -+.INCLUDE : target.mk -+.INCLUDE : extension_post.mk -+ -+.ELSE -+ -+.INCLUDE : target.mk -+ -+.ENDIF -diff --git a/scripting/util/provider/beanshell/manifest.xml b/scripting/util/provider/beanshell/manifest.xml -new file mode 100644 -index 0000000..da8e620 ---- /dev/null -+++ b/scripting/util/provider/beanshell/manifest.xml -@@ -0,0 +1,7 @@ -+ -+ -+ -+ -+ -diff --git a/scripting/util/provider/javascript/description.xml b/scripting/util/provider/javascript/description.xml -new file mode 100644 -index 0000000..58f0478 ---- /dev/null -+++ b/scripting/util/provider/javascript/description.xml -@@ -0,0 +1,24 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ The -+ Document Foundation -+ -+ -+ -+ Script provider for JavaScript -+ -+ -+ -diff --git a/scripting/util/provider/javascript/makefile.mk b/scripting/util/provider/javascript/makefile.mk -new file mode 100644 -index 0000000..a99096a ---- /dev/null -+++ b/scripting/util/provider/javascript/makefile.mk -@@ -0,0 +1,55 @@ -+# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -+# -+# The contents of this file are subject to the Mozilla Public License Version -+# 1.1 (the "License"); you may not use this file except in compliance with -+# the License. You may obtain a copy of the License at -+# http://www.mozilla.org/MPL/ -+# -+# Software distributed under the License is distributed on an "AS IS" basis, -+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+# for the specific language governing rights and limitations under the -+# License. -+# -+# The Initial Developer of the Original Code is -+# Red Hat, Inc. -+# Portions created by the Initial Developer are Copyright (C) 2010 the -+# Initial Developer. All Rights Reserved. -+# -+# Contributor(s): David Tardon -+# -+# Alternatively, the contents of this file may be used under the terms of -+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -+# instead of those above. -+ -+PRJ=..$/..$/.. -+ -+PRJNAME=scripting -+TARGET=jsprov -+ -+.INCLUDE : settings.mk -+ -+.IF "$(L10N_framework)"=="" && "$(SOLAR_JAVA)"!="" -+ -+EXTENSIONNAME:=ScriptProviderForJavaScript -+EXTENSION_ZIPNAME:=script-provider-for-javascript -+ -+COMPONENT_JARFILES=$(EXTENSIONDIR)$/$(EXTENSIONNAME).jar -+EXTENSION_PACKDEPS=$(SOLARBINDIR)$/js.jar -+ -+.INCLUDE : extension_pre.mk -+.INCLUDE : target.mk -+.INCLUDE : extension_post.mk -+ -+ALLTAR : $(EXTENSIONDIR)$/js.jar -+ -+$(EXTENSIONDIR)$/js.jar : $(SOLARBINDIR)$/js.jar -+ @@-$(MKDIRHIER) $(@:d) -+ $(COMMAND_ECHO)$(COPY) $< $@ -+ -+.ELSE -+ -+.INCLUDE : target.mk -+ -+.ENDIF -diff --git a/scripting/util/provider/javascript/manifest.xml b/scripting/util/provider/javascript/manifest.xml -new file mode 100644 -index 0000000..4c61747 ---- /dev/null -+++ b/scripting/util/provider/javascript/manifest.xml -@@ -0,0 +1,10 @@ -+ -+ -+ -+ -+ -+ -diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk ---- a/instsetoo_native/util/makefile.mk -+++ b/instsetoo_native/util/makefile.mk -@@ -72,7 +72,6 @@ LOCALPYFILES= \ - $(BIN)$/uno.py \ - $(BIN)$/unohelper.py \ - $(BIN)$/pythonloader.py \ -- $(BIN)$/pythonscript.py \ - $(BIN)$/officehelper.py \ - $(BIN)$/mailmerge.py - diff --git a/vbahelper.visibility.patch b/vbahelper.visibility.patch deleted file mode 100644 index 140a9c5..0000000 --- a/vbahelper.visibility.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:27:51.507604173 +0000 -+++ vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:28:26.230045727 +0000 -@@ -238,7 +238,7 @@ - - // including a HelperInterface implementation - template< typename Ifc1 > --class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 > -+class VBAHELPER_DLLPUBLIC ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 > - { - typedef InheritedHelperInterfaceImpl< Ifc1 > BaseColBase; - protected: ---- sc/source/ui/vba/makefile.mk 2011-02-16 14:11:02.798305236 +0000 -+++ sc/source/ui/vba/makefile.mk 2011-02-16 14:11:33.039643954 +0000 -@@ -117,6 +117,9 @@ - $(SLO)$/vbaworksheets.obj \ - $(SLO)$/vbawsfunction.obj - -+EXCEPTIONSNOOPTFILES=\ -+ $(SLO)$/vbasheetobjects.obj -+ - .ENDIF - # --- Targets ------------------------------------------------------ -