curvirgoです。
Yoshiyuki Masutomi wrote:
> gcc4のせいでは無いというような事を言ってしまいましたが、念のためgcc3.4.5
> で確認した所、
> 通りました。
> 本当に申し訳ないです。
>
> でもなぜこの部分だけそうなってしまうのか...
> libxml2以外は普通にビルド出来るのに...
続きです。
http://www.openoffice.org/issues/show_bug.cgi?id=57950
を参考に、paperinf.hxxを以下のように、
class SvxPaper
を、
class SVX_DLLPUBLIC SvxPaper
と、することでビルドが通るようになりました。
(以前の変更は必要ありません。)
これで、sc,sd,swのビルドも通りました。
ただし、動作確認はまだですし、修正箇所はこれだけで良いのかも確認できてい
ませんが。
# 「visibility」って、つまりはgcc4では明示的にしなければならないって事?
--- SRC680_m150/svx/inc/paperinf.hxx.orig 2006-01-15 20:45:41.000000000
+0900
+++ SRC680_m150/svx/inc/paperinf.hxx 2006-01-16 22:51:09.000000000 +0900
@@ -51,29 +51,80 @@
#include "svx/svxdllapi.h"
#endif
+#include <map>
+#include <list>
+
// forward ---------------------------------------------------------------
class Printer;
class Size;
class String;
-// class SvxPaperInfo -----------------------------------------------------
+// class SvxPaper ----------------------------------------------------
+
+enum SvxPaperType
+{
+ SVX_PAPER_TYPE_STANDARD,
+ SVX_PAPER_TYPE_PRESENTATION
+};
+
+#define SVX_PAPER_OPTIONAL ((SvxPaper*)NULL)
+
+using namespace ::rtl;
+
+class SVX_DLLPUBLIC SvxPaper
+{
+private:
+ OUString msName;
+ Size maSize;
+ SvxPaperType meType;
+
+ SvxPaper(const OUString &rName,
+ const Size& rSize,
+ const SvxPaperType& rType = SVX_PAPER_TYPE_STANDARD);
+public:
+ ~SvxPaper();
+ OUString GetName() const;
+ Size GetSize() const ;
+ SvxPaperType GetType() const;
+
+ BOOL Equal(const Size& rSize, MapUnit eUnit, BOOL bSloppy);
+
+ friend class SvxPaperInfo;
+};
+
+// class SvxPaperInfo ----------------------------------------------------
+
+typedef std::map< OUString, SvxPaper* > PaperMap;
+typedef std::list<SvxPaper*> PaperList;
class SVX_DLLPUBLIC SvxPaperInfo
{
+private:
+ static SvxPaperInfo* instance;
+
+protected:
+ PaperMap maPapers;
+ PaperList maStandardPaperList;
+ PaperList maDrawPaperList;
+ PaperList maEnvelopePaperList;
+ SvxPaper* maDefaultPaper;
+
public:
- static Size GetPaperSize( const Printer* );
- static Size GetPaperSize( SvxPaper ePaper,
-
MapUnit eUnit = MAP_TWIP );
- // entfaellt demnaechst
- static SvxPaper GetPaper( const Size&, MapUnit eUnit = MAP_TWIP,
- BOOL bSloppy
= FALSE );
- // dann nur noch diese beiden
- static SvxPaper GetSvxPaper( const Size&, MapUnit eUnit =
MAP_TWIP,
- BOOL
bSloppy = FALSE );
- static Paper GetSvPaper( const Size&, MapUnit eUnit =
MAP_TWIP,
- BOOL
bSloppy = FALSE );
- static String GetName( SvxPaper ePaper );
+ // singleton pattern
+ static SvxPaperInfo& Instance ();
+ SvxPaperInfo (const SvxPaperInfo& aHandler);
+ SvxPaperInfo& operator= (const SvxPaperInfo& aHandler);
+
+ /** This destructor is never called at the moment. But because this
+ class is a singleton this is not a problem.
+ */
+ virtual ~SvxPaperInfo ();
+
+ SvxPaperInfo ();
+
+ SvxPaper* GetDefaultPaper();
+ void GetIterator( SvxPaperCategory eCategory, PaperList::iterator&
start, PaperList::iterator& end );
};
// INLINE -----------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]