merge patches, etc.

f41
Caolán McNamara 14 years ago
parent 515a42a67e
commit 5050f39798

1
.gitignore vendored

@ -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

@ -1,147 +0,0 @@
From 22ec51681687c4d700336603f6f37e981ad37bf2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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 <tools/gen.hxx>
#include <hash_map>
#include <hash_set>
+#include <boost/shared_ptr.hpp>
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<ImplFontOptions> ) {}
+ virtual boost::shared_ptr<ImplFontOptions> GetFontOptions() const
+ { return boost::shared_ptr<ImplFontOptions>(); }
virtual bool NeedsArtificialBold() const { return false; }
virtual bool NeedsArtificialItalic() const { return false; }
@@ -261,7 +263,7 @@
{
private:
ServerFont* mpServerFont;
- ImplFontOptions* mpFontOptions;
+ boost::shared_ptr<ImplFontOptions> 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<ImplFontOptions> 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<ImplFontOptions> 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<ImplFontOptions> );
+ virtual boost::shared_ptr<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; }
@@ -239,7 +239,7 @@ private:
FT_FaceRec_* maFaceFT;
FT_SizeRec_* maSizeFT;
- const ImplFontOptions* mpFontOptions;
+ boost::shared_ptr<ImplFontOptions> 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

@ -1,152 +0,0 @@
From 8636f3f41f8f6950a0e3c05f50eb4423c4035b2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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 <osl/mutex.hxx>
-#include <cppuhelper/compbase1.hxx>
+#include <cppuhelper/compbase2.hxx>
#include <com/sun/star/ui/dialogs/XFilePicker.hpp>
#include <com/sun/star/ui/dialogs/XFilePicker2.hpp>
#include <com/sun/star/ui/dialogs/XFolderPicker.hpp>
@@ -43,6 +43,8 @@
#include <com/sun/star/awt/XTopWindowListener.hpp>
#include <com/sun/star/awt/XExtendedToolkit.hpp>
+#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XTerminateListener.hpp>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -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

@ -1,91 +0,0 @@
From cc8f350a5829405832af1177fd32de7c41c30724 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,320 +0,0 @@
From d83bc4d9921afd31f1afddc52f39951bb686e60a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,69 +0,0 @@
From fca3e47954fe36687989328ac90cbc6747e4bc4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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 <basegfx/polygon/b2dpolygontools.hxx>
#include <osl/diagnose.h>
#include <rtl/math.hxx>
+#include <rtl/instance.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/range/b2drange.hxx>
@@ -1836,22 +1837,31 @@ namespace basegfx
return aRetval;
}
- B2DPolygon createUnitPolygon()
+ namespace
{
- static B2DPolygon aRetval;
-
- if(!aRetval.count())
+ struct theUnitPolygon :
+ public rtl::StaticWithInit<B2DPolygon, theUnitPolygon>
{
- 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

@ -1,37 +0,0 @@
From 092e1494c1d7d68873f50a0da7699b0fdd15c439 Mon Sep 17 00:00:00 2001
From: Andy Hearn <cuvierster@gmail.com>
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

@ -1,104 +0,0 @@
From ec7ff475f480619787131d0a193d7786c30dac10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,34 +0,0 @@
From 773d856c8ef2bf65aec25289cb0186d81d76f5f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,26 +0,0 @@
From 48f4f5f4283cb9a58223c6cc6f4d0ebadce53722 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,29 +0,0 @@
From f0ec7af75b7c3566a0e8e71735b5cc237eb505d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,27 +0,0 @@
From 1a9c37ac56b97aaf7535bff7bd2fb84b13ef8e50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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<ViewShell> pViewShell = mpBase->GetMainViewShell();
+ boost::shared_ptr<ViewShell> pViewShell;
+ if (mpBase)
+ pViewShell = mpBase->GetMainViewShell();
if ( pViewShell )
{
pViewShell->DeactivateCurrentFunction();
--
1.7.4

@ -1,44 +0,0 @@
From 9745fccacaa88bded763cc31c9aa7c04a5186a48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,223 +0,0 @@
From 5aab60551b825b3ad283f19263f3ce549c725055 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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<FT_Face>(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

@ -1,34 +0,0 @@
From ff83a4fc52c1ff7603dd2b26593a5231c4a5c2f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,129 +0,0 @@
From 39387fda8c027722d7db2a1320a2bebf95efb641 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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,

@ -1,29 +0,0 @@
From 7ec1571c31faff1f649dce4312271c47fc867fe3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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() )
{

@ -1,130 +0,0 @@
From 53e2bdb610cb46b8a2482c742820e2dbe80bfc47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,25 +0,0 @@
From 7c4571adca053a2eb6229d0519f05520af28bbf7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,50 +0,0 @@
From 28e6caab0a9c04b306f723fb3390332f5ef94a61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,573 +0,0 @@
From 146b561a6643022bc9c5b52fedaa8d7ff1a2dac5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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

@ -1,31 +0,0 @@
From 6fbf4caf7385d988559701d14ceed7925b76997d Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
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<typename _ValueType, typename _ExtValueType>
void ScFlatSegmentsImpl<_ValueType, _ExtValueType>::removeSegment(SCCOLROW nPos1, SCCOLROW nPos2)
{
maSegments.shift_left(nPos1, nPos2);
+ maItr = maSegments.begin();
}
template<typename _ValueType, typename _ExtValueType>
void ScFlatSegmentsImpl<_ValueType, _ExtValueType>::insertSegment(SCCOLROW nPos, SCCOLROW nSize, bool bSkipStartBoundary)
{
maSegments.shift_right(nPos, nSize, bSkipStartBoundary);
+ maItr = maSegments.begin();
}
template<typename _ValueType, typename _ExtValueType>
--
1.7.4.1

@ -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

@ -1,34 +0,0 @@
From e7473329c8d79ba3988aa07172290beedcaaf325 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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<sal_Int32>(ctxt->lastError.line);
saxex.ColumnNumber = static_cast<sal_Int32>(ctxt->lastError.int2);
+ xmlFreeParserCtxt(ctxt);
throw saxex;
}
--
1.7.3.4

@ -1,21 +1,8 @@
From 47ea5b58c92777d8d35376b64a1c075fecb8b104 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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 <stdio.h>
+#include <rtl/instance.hxx>
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<rtlMemorySingleton, theMemorySingleton>{};
+ class theMemorySingleton : public rtl::Static<rtlMemorySingleton, theMemorySingleton>{};
+}
+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<rtlCacheSingleton, theCacheSingleton>{};
+ class theCacheSingleton : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
+}
+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<rtlArenaSingleton, theArenaSingleton>{};
+ class theArenaSingleton : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
+}
+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<rtlLocaleSingleton, theLocaleSingleton>{};
+}
+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 <sal/macros.h>
+#include <osl/diagnose.h>
#ifndef INCLUDED_STRING_H
#include <string.h>
@@ -49,7 +50,6 @@
#include "alloc_impl.h"
#include <stdio.h>
@@ -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<rtlMemorySingleton, theMemorySingleton>{};
+ class theMemorySingleton
+ : public rtl::Static<rtlMemorySingleton, theMemorySingleton>{};
}
extern "C" void ensureMemorySingleton()
{
@@ -65,7 +66,8 @@ namespace
rtl_cache_fini();
}
};
- class theCacheSingleton : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
+ class theCacheSingleton
+ : public rtl::Static<rtlCacheSingleton, theCacheSingleton>{};
}
extern "C" void ensureCacheSingleton()
{
@@ -87,11 +89,35 @@ namespace
rtl_arena_fini();
}
};
- class theArenaSingleton : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
+ class theArenaSingleton
+ : public rtl::Static<rtlArenaSingleton, theArenaSingleton>{};
}
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<rtlLocaleSingleton, theLocaleSingleton>{};
+}
+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

@ -1,34 +0,0 @@
From 14fcbd54c96d9f46365f76f8df6b51d2e8074d74 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
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

@ -1,210 +0,0 @@
From d7cc1b57990e1ebc2e1f2a4380dd8e66b0eff158 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
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<PackageRegistryBackend> const & myBackend,
+ OUString const & url, OUString const & name,
+ Reference<deployment::XPackageTypeInfo> const & xPackageType,
+ bool bRemoved, OUString const & identifier, OUString const& rPlatform);
+
+ private:
+ BackendImpl * getMyBackend() const;
+
+ const Reference<registry::XSimpleRegistry> impl_openRDB() const;
+ const Reference<XInterface> impl_createInstance(OUString const& rService) const;
+
+ // Package
+ virtual beans::Optional< beans::Ambiguous<sal_Bool> > isRegistered_(
+ ::osl::ResettableMutexGuard & guard,
+ ::rtl::Reference<AbortChannel> const & abortChannel,
+ Reference<XCommandEnvironment> const & xCmdEnv );
+ virtual void processPackage_(
+ ::osl::ResettableMutexGuard & guard,
+ bool registerPackage,
+ bool startup,
+ ::rtl::Reference<AbortChannel> const & abortChannel,
+ Reference<XCommandEnvironment> 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<deployment::XPackage> 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<PackageRegistryBackend> const & myBackend,
+ OUString const & url, OUString const & name,
+ Reference<deployment::XPackageTypeInfo> 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<BackendImpl *>(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<OWeakObject*>(const_cast<OtherPlatformPackageImpl*>(this)));
+ }
+ return pBackend;
+}
+
+Reference<registry::XSimpleRegistry> const
+BackendImpl::OtherPlatformPackageImpl::impl_openRDB() const
+{
+ OUString const aRDB(m_aPlatform + OUString(RTL_CONSTASCII_USTRINGPARAM(".rdb")));
+ OUString const aRDBPath(makeURL(getMyBackend()->getCachePath(), aRDB));
+
+ Reference<registry::XSimpleRegistry> 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<XInterface> const
+BackendImpl::OtherPlatformPackageImpl::impl_createInstance(OUString const& rService)
+const
+{
+ Reference<XComponentContext> const xContext(getMyBackend()->getComponentContext());
+ OSL_ASSERT(xContext.is());
+ Reference<XInterface> xService;
+ if (xContext.is())
+ xService.set(xContext->getServiceManager()->createInstanceWithContext(rService, xContext));
+ return xService;
+}
+
+beans::Optional<beans::Ambiguous<sal_Bool> >
+BackendImpl::OtherPlatformPackageImpl::isRegistered_(
+ ::osl::ResettableMutexGuard& /* guard */,
+ ::rtl::Reference<AbortChannel> const& /* abortChannel */,
+ Reference<XCommandEnvironment> const& /* xCmdEnv */ )
+{
+ return beans::Optional<beans::Ambiguous<sal_Bool> >(sal_True,
+ beans::Ambiguous<sal_Bool>(sal_True, sal_False));
+}
+
+void
+BackendImpl::OtherPlatformPackageImpl::processPackage_(
+ ::osl::ResettableMutexGuard& /* guard */,
+ bool bRegisterPackage,
+ bool /* bStartup */,
+ ::rtl::Reference<AbortChannel> const& /* abortChannel */,
+ Reference<XCommandEnvironment> const& /* xCmdEnv */)
+{
+ OSL_PRECOND(!bRegisterPackage, "this class can only be used for removing packages!");
+ (void) bRegisterPackage;
+
+ OUString const aURL(getURL());
+
+ Reference<registry::XSimpleRegistry> const xServicesRDB(impl_openRDB());
+ Reference<registry::XImplementationRegistration> 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

@ -1,44 +0,0 @@
From e4decda5e2cf3f6cd2a7a41b23fb68ccf91e3f23 Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kyoshida@novell.com>
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

@ -1,67 +0,0 @@
From b83b2754dc18b0742c36db2f013047e6cb409400 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
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 @@
<prop oor:name="DetectService"><value>com.sun.star.comp.filters.XMLFilterDetect</value></prop>
<prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>fods ods xml</value></prop>
- <prop oor:name="MediaType"/>
+ <prop oor:name="MediaType"><value>application/vnd.oasis.opendocument.spreadsheet-flat-xml</value></prop>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>OpenDocument Spreadsheet Flat XML</value></prop>
<prop oor:name="UIName">
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 @@
<prop oor:name="DetectService"><value>com.sun.star.comp.filters.XMLFilterDetect</value></prop>
<prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>fodg odg xml</value></prop>
- <prop oor:name="MediaType"/>
+ <prop oor:name="MediaType"><value>application/vnd.oasis.opendocument.graphics-flat-xml</value></prop>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>OpenDocument Drawing Flat XML</value></prop>
<prop oor:name="UIName">
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 @@
<prop oor:name="DetectService"><value>com.sun.star.comp.filters.XMLFilterDetect</value></prop>
<prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>fodp odp xml</value></prop>
- <prop oor:name="MediaType"/>
+ <prop oor:name="MediaType"><value>application/vnd.oasis.opendocument.presentation-flat-xml</value></prop>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>OpenDocument Presentation Flat XML</value></prop>
<prop oor:name="UIName">
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 @@
<prop oor:name="DetectService"><value>com.sun.star.comp.filters.XMLFilterDetect</value></prop>
<prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>fodt odt xml</value></prop>
- <prop oor:name="MediaType"/>
+ <prop oor:name="MediaType"><value>application/vnd.oasis.opendocument.text-flat-xml</value></prop>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="PreferredFilter"><value>OpenDocument Text Flat XML</value></prop>
<prop oor:name="UIName">
--
1.7.4.1

@ -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<const BYTE *> &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 )

@ -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

@ -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<DrawViewShell>(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<sal_uInt32>(nIndex)>=maPrinterPages.size())
return;

@ -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)<M_PI) );
+ const bool bLessThanPi(fmod(fTheta2+2*M_PI-fTheta1,
+ 2*M_PI)<M_PI);
+ const bool bFlipSegment( (bLargeArcFlag!=0) == bLessThanPi );
if( bFlipSegment )
std::swap(fTheta1,fTheta2);
diff --git a/cosv/inc/cosv/tpl/vvector.hxx b/cosv/inc/cosv/tpl/vvector.hxx
index 4848d97..1903dce 100644
--- a/cosv/inc/cosv/tpl/vvector.hxx
+++ b/cosv/inc/cosv/tpl/vvector.hxx
@@ -132,7 +132,7 @@ class VirtualVector
typedef VirtualVector<XX,PTRDEL> 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 <type scope="com.sun.star.io">XInputStream</type>
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 <com/sun/star/io/XSeekable.hpp>
#include <cppuhelper/implbase1.hxx>
-#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<stario::XInputStream>
-{};
-
-class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public InputStreamWrapper_Base
+class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public ::cppu::WeakImplHelper1<stario::XInputStream>
{
::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<stario::XOutputStream>
-{};
-
-class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public OutputStreamWrapper_Base
+class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public ::cppu::WeakImplHelper1<stario::XOutputStream>
{
::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 <cstddef>
#include <vector>
template<class T>

@ -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
<draw:color draw:name="Red Hat 5" draw:color="#4e376b"/>' && \
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 <caolanm@redhat.com> 3.3.99.1-1
* Tue Apr 11 2011 Caolán McNamara <caolanm@redhat.com> 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 <caolanm@redhat.com> 3.3.2.2-6
- Resolves: rhbz#655686 get order of shutdown correct

@ -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

@ -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 (<REG>) {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 (<REG>) {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]"); }

@ -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

@ -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

File diff suppressed because it is too large Load Diff

@ -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 @@

@ -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 <utility>
#include <algorithm>
@@ -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 );

@ -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=

@ -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

@ -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 @@
+<?xml version="1.0"?>
+<description
+ xmlns="http://openoffice.org/extensions/description/2006"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:dep="http://openoffice.org/extensions/description/2006">
+
+ <identifier value="com.sun.star.script.provider.ScriptProviderForPython"/>
+
+ <dependencies>
+ <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
+ </dependencies>
+
+ <version value="3.3.0"/>
+
+ <publisher>
+ <name xlink:href="http://www.documentfoundation.org" lang="en">The
+ Document Foundation</name>
+ </publisher>
+
+ <display-name>
+ <name lang="en">Script provider for Python</name>
+ </display-name>
+
+</description>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
+ <manifest:file-entry
+ manifest:media-type="application/vnd.sun.star.uno-component;type=python"
+ manifest:full-path="pythonscript.py"/>
+</manifest:manifest>
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 @@
+<?xml version="1.0"?>
+<description
+ xmlns="http://openoffice.org/extensions/description/2006"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:dep="http://openoffice.org/extensions/description/2006">
+
+ <identifier value="com.sun.star.script.provider.ScriptProviderForBeanShell"/>
+
+ <dependencies>
+ <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
+ </dependencies>
+
+ <version value="3.3.0"/>
+
+ <publisher>
+ <name xlink:href="http://www.documentfoundation.org" lang="en">The
+ Document Foundation</name>
+ </publisher>
+
+ <display-name>
+ <name lang="en">Script provider for BeanShell</name>
+ </display-name>
+
+</description>
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 <dtardon@redhat.com>
+#
+# 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
+ <manifest:file-entry
+ manifest:media-type="application/vnd.sun.star.uno-component;type=java"
+ manifest:full-path="ScriptProviderForBeanShell.jar"/>
+</manifest:manifest>
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 @@
+<?xml version="1.0"?>
+<description
+ xmlns="http://openoffice.org/extensions/description/2006"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:dep="http://openoffice.org/extensions/description/2006">
+
+ <identifier value="com.sun.star.script.provider.ScriptProviderForJavaScript"/>
+
+ <dependencies>
+ <OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
+ </dependencies>
+
+ <version value="3.3.0"/>
+
+ <publisher>
+ <name xlink:href="http://www.documentfoundation.org" lang="en">The
+ Document Foundation</name>
+ </publisher>
+
+ <display-name>
+ <name lang="en">Script provider for JavaScript</name>
+ </display-name>
+
+</description>
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 <dtardon@redhat.com>
+#
+# 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
+ <manifest:file-entry
+ manifest:media-type="application/vnd.sun.star.uno-component;type=java"
+ manifest:full-path="js.jar"/>
+ <manifest:file-entry
+ manifest:media-type="application/vnd.sun.star.uno-component;type=java"
+ manifest:full-path="ScriptProviderForJavaScript.jar"/>
+</manifest:manifest>
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

@ -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 ------------------------------------------------------
Loading…
Cancel
Save