hi all,

yesterday i did a build of OOO340m1 on my laptop (unxlngx6), which broke in various places.

it seems that the GStreamer stuff is broken due to changes in 2 different CWSes that conflict.

also, i'm using GCC 4.6, which apparently has crawled a little closer to the C++ standard, and the code evidently isn't prepared for that.

then i've had a problem that i don't quite understand, but it's easily fixed: the methods defined by the macro DECLARE_UNO3_AGG_DEFAULTS (from comphelper/uno3.hxx) apparently are not exported from the shared object, at least in one case. to me this whole macro seems quite useless because all it does is forward to the base class, so i've just removed the problematic invocation, which seems to work fine here.

regards,
 michael

# HG changeset patch
# Parent c904c194446275403ad0332f003072ea4d39cc12
avmedia: fix gstreamer build breakage: pass parameter pURI to base class ctor
 (was caused by conficting changes in solaris11 and impress210)

diff --git a/avmedia/source/gstreamer/gstframegrabber.cxx 
b/avmedia/source/gstreamer/gstframegrabber.cxx
--- a/avmedia/source/gstreamer/gstframegrabber.cxx
+++ b/avmedia/source/gstreamer/gstframegrabber.cxx
@@ -45,18 +45,12 @@ const gulong GRAB_TIMEOUT = 10000000;
 // ----------------
 
 FrameGrabber::FrameGrabber( GString* pURI ) :
+    FrameGrabber_BASE(pURI),
     mpFrameMutex( g_mutex_new() ),
     mpFrameCond( g_cond_new() ),
     mpLastPixbuf( NULL ),
     mbIsInGrabMode( false )
 {
-       if( pURI )
-    {
-        OSL_TRACE( ">>> --------------------------------" );
-        OSL_TRACE( ">>> Creating Player object with URL: %s", pURI->str );
-
-        mpThread = g_thread_create( Player::implThreadFunc, this, true, NULL );
-    }
 }
 
 // 
------------------------------------------------------------------------------
diff --git a/avmedia/source/gstreamer/gstframegrabber.hxx 
b/avmedia/source/gstreamer/gstframegrabber.hxx
--- a/avmedia/source/gstreamer/gstframegrabber.hxx
+++ b/avmedia/source/gstreamer/gstframegrabber.hxx
@@ -42,8 +42,13 @@ namespace avmedia { namespace gst {
 // - FrameGrabber -
 // ----------------
 
-class FrameGrabber : 
-                     public ::cppu::ImplInheritanceHelper1 < 
Player,::com::sun::star::media::XFrameGrabber >
+typedef ::cppu::ImplInheritanceHelper1
+<    Player
+,   ::com::sun::star::media::XFrameGrabber
+> FrameGrabber_BASE;
+
+class FrameGrabber
+    : public FrameGrabber_BASE
 {
 public:
 
diff --git a/avmedia/source/gstreamer/gstplayer.hxx 
b/avmedia/source/gstreamer/gstplayer.hxx
--- a/avmedia/source/gstreamer/gstplayer.hxx
+++ b/avmedia/source/gstreamer/gstplayer.hxx
@@ -168,8 +168,6 @@ protected:
         return( g_atomic_int_get( &mnInitialized ) > 0 );
     }
 
-    static gpointer implThreadFunc( gpointer pData );
-
 private: 
     
     Player( const Player& );
# HG changeset patch
# Parent aedbd48fd80e89d6eb93b8eb5e7d7055006584db
fix up code so it builds with GCC 4.6:
 put user-defined default constructors in some classes.
 remove "mutable" from reference variables.
 include stddef.h where size_t or ptrdiff_t was not defined.

diff --git a/autodoc/inc/ary/idl/i_ce2s.hxx b/autodoc/inc/ary/idl/i_ce2s.hxx
--- a/autodoc/inc/ary/idl/i_ce2s.hxx
+++ b/autodoc/inc/ary/idl/i_ce2s.hxx
@@ -50,6 +50,7 @@ class Ce_2s
 {
   public:
     // LIFECYCLE
+    explicit Ce_2s () { }
     virtual             ~Ce_2s();
 
     static DYN Ce_2s *  Create_(
diff --git a/autodoc/source/display/idl/hi_linkhelper.hxx 
b/autodoc/source/display/idl/hi_linkhelper.hxx
--- a/autodoc/source/display/idl/hi_linkhelper.hxx
+++ b/autodoc/source/display/idl/hi_linkhelper.hxx
@@ -85,7 +85,7 @@ class LinkHelper
                           
   private:                                                     
     // DATA
-    mutable HtmlEnvironment_Idl &
+    HtmlEnvironment_Idl &
                         rEnv;
 };     
 
diff --git a/basegfx/source/polygon/b2dpolygon.cxx 
b/basegfx/source/polygon/b2dpolygon.cxx
--- a/basegfx/source/polygon/b2dpolygon.cxx
+++ b/basegfx/source/polygon/b2dpolygon.cxx
@@ -256,6 +256,8 @@ class ControlVectorPair2D
        basegfx::B2DVector                                                      
maNextVector;
 
 public:
+    explicit ControlVectorPair2D () { }
+
        const basegfx::B2DVector& getPrevVector() const 
        { 
                return maPrevVector; 
diff --git a/chart2/source/controller/main/ChartController.hxx 
b/chart2/source/controller/main/ChartController.hxx
--- a/chart2/source/controller/main/ChartController.hxx
+++ b/chart2/source/controller/main/ChartController.hxx
@@ -546,7 +546,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/cosv/inc/cosv/tpl/vvector.hxx b/cosv/inc/cosv/tpl/vvector.hxx
--- a/cosv/inc/cosv/tpl/vvector.hxx
+++ b/cosv/inc/cosv/tpl/vvector.hxx
@@ -29,6 +29,7 @@
 #define CSV_VVECTOR_HXX
 
 // USED SERVICES
+#include <stddef.h>
 #include <vector>
 #include <cosv/tpl/tpltools.hxx>
 
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.hxx 
b/dbaccess/source/core/dataaccess/documentdefinition.hxx
--- a/dbaccess/source/core/dataaccess/documentdefinition.hxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.hxx
@@ -397,7 +397,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
--- a/hwpfilter/source/list.hxx
+++ b/hwpfilter/source/list.hxx
@@ -50,7 +50,7 @@ class LinkedList
 
 public:
     /// construct list with one element (pItem) or no element (pItem == NULL)
-    LinkedList( T* pItem = NULL );
+    LinkedList( T* pItem = 0 );
     ~LinkedList();
 
     T* find( const int n );   /// return nth element in list
@@ -82,7 +82,7 @@ class LinkedListIterator
 
 public:
     /// construct list with single element
-    LinkedListIterator( LinkedList<T>* pList = NULL );
+    LinkedListIterator( LinkedList<T>* pList = 0 );
     ~LinkedListIterator();
 
     T* current();               /// return current element, or NULL if invalid
diff --git a/libwpd/libwpd-0.8.8-gcc46.patch b/libwpd/libwpd-0.8.8-gcc46.patch
new file mode 100644
--- /dev/null
+++ b/libwpd/libwpd-0.8.8-gcc46.patch
@@ -0,0 +1,11 @@
+--- misc/libwpd-0.8.8/src/lib/WPXTable.h       2007-01-03 14:07:56.000000000 
+0100
++++ misc/build/libwpd-0.8.8/src/lib/WPXTable.h 2011-06-18 23:32:22.000000000 
+0200
+@@ -34,6 +34,8 @@
+ 
+ #ifndef _WPXTABLE_H
+ #define _WPXTABLE_H
++
++#include <stddef.h>
+ #include <vector>
+ #include "libwpd_types.h"
+ 
diff --git a/libwpd/makefile.mk b/libwpd/makefile.mk
--- a/libwpd/makefile.mk
+++ b/libwpd/makefile.mk
@@ -43,7 +43,7 @@ TARGET=wpd
 
 TARFILE_NAME=libwpd-0.8.8
 TARFILE_MD5=cd5997284f4ba1e8dde5d1e5869fc342
-PATCH_FILES=$(TARFILE_NAME).diff
+PATCH_FILES=$(TARFILE_NAME)-gcc46.patch $(TARFILE_NAME).diff
 BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
 BUILD_DIR=src$/lib
 
diff --git a/moz/makefile.mk b/moz/makefile.mk
--- a/moz/makefile.mk
+++ b/moz/makefile.mk
@@ -83,6 +83,7 @@ TARFILE_MD5=a169ab152209200a7bad29a275cb
 TARFILE_ROOTDIR=mozilla
 PATCH_FILES = \
     seamonkey-source-$(MOZILLA_VERSION).patch \
+    patches/gcc46.patch \
     patches/dtoa.patch \
     patches/respect_disable_pango.patch \
     patches/arm_build_fix.patch \
diff --git a/moz/patches/gcc46.patch b/moz/patches/gcc46.patch
new file mode 100644
--- /dev/null
+++ b/moz/patches/gcc46.patch
@@ -0,0 +1,10 @@
+--- misc/mozilla/intl/unicharutil/util/nsUnicharUtils.h        2008-08-30 
01:14:52.000000000 +0200
++++ misc/build/mozilla/intl/unicharutil/util/nsUnicharUtils.h  2011-06-18 
23:51:31.000000000 +0200
+@@ -64,6 +64,7 @@
+     : public nsStringComparator
+   {
+     public:
++      nsCaseInsensitiveStringComparator() { }
+       virtual int operator()( const PRUnichar*, const PRUnichar*, PRUint32 
aLength ) const;
+       virtual int operator()( PRUnichar, PRUnichar ) const;
+   };
diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx
--- a/sc/source/filter/inc/xeroot.hxx
+++ b/sc/source/filter/inc/xeroot.hxx
@@ -170,7 +170,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
--- a/sc/source/filter/inc/xiroot.hxx
+++ b/sc/source/filter/inc/xiroot.hxx
@@ -211,7 +211,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
--- 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.
 };
 
 // ============================================================================
# HG changeset patch
# Parent e6d4c838975cdc398aab8576790430c6bbdc3707
unotools: OOutputStreamWrapper: remove invocation of DECLARE_UNO3_AGG_DEFAULTS
 (symbols are somehow not exported with GCC 4.6, and it seems to be unnecessary)

diff --git a/unotools/inc/unotools/streamwrap.hxx 
b/unotools/inc/unotools/streamwrap.hxx
--- a/unotools/inc/unotools/streamwrap.hxx
+++ b/unotools/inc/unotools/streamwrap.hxx
@@ -121,9 +121,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);

Reply via email to