[Libreoffice-commits] .: Branch 'feature/gtk3' - vcl/headless vcl/inc vcl/unx

Michael Meeks michael at kemper.freedesktop.org
Thu Oct 20 09:27:01 PDT 2011


 vcl/headless/svpinst.cxx        |   14 ++++++++++----
 vcl/inc/generic/gendata.hxx     |    6 +++---
 vcl/inc/unx/gtk/gtkdata.hxx     |    2 +-
 vcl/inc/unx/kde/kdedata.hxx     |    2 +-
 vcl/inc/unx/saldata.hxx         |    2 +-
 vcl/unx/generic/app/saldata.cxx |    5 ++---
 vcl/unx/generic/app/salinst.cxx |    7 ++++---
 vcl/unx/gtk/app/gtkdata.cxx     |    6 +++---
 vcl/unx/gtk/app/gtkinst.cxx     |    4 +---
 vcl/unx/kde/kdedata.cxx         |    5 ++---
 vcl/unx/kde4/KDEData.hxx        |    3 ++-
 vcl/unx/kde4/main.cxx           |    5 ++---
 12 files changed, 32 insertions(+), 29 deletions(-)

New commits:
commit 62cf45d9762f87164c9d79ad7223352faa456632
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Thu Oct 20 17:22:19 2011 +0100

    generic: fix misc. initialization problems & simplify a little

diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index b3e8683..9c0eb6e 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -43,20 +43,26 @@
 
 #include <salframe.hxx>
 #include <svdata.hxx>
-#include <saldatabasic.hxx>
+#include <generic/gendata.hxx>
 #include <vcl/solarmutex.hxx>
 
 // FIXME: split off into a separate, standalone module to aid linking
 #ifndef GTK3_INCLUDED
+class SvpSalData : public SalGenericData
+{
+public:
+    SvpSalData( SalInstance *pInstance ) : SalGenericData( SAL_DATA_SVP, pInstance ) { }
+    virtual void ErrorTrapPush() {}
+    virtual bool ErrorTrapPop( bool ) { return false; }
+};
+
 // plugin factory function
 extern "C"
 {
     SAL_DLLPUBLIC_EXPORT SalInstance* create_SalInstance()
     {
         SvpSalInstance* pInstance = new SvpSalInstance( new SalYieldMutex() );
-        SalData* pSalData = new SalData();
-        pSalData->m_pInstance = pInstance;
-        SetSalData( pSalData );
+        new SvpSalData( pInstance );
         return pInstance;
     }
 }
diff --git a/vcl/inc/generic/gendata.hxx b/vcl/inc/generic/gendata.hxx
index 10b0a09..c52e891 100644
--- a/vcl/inc/generic/gendata.hxx
+++ b/vcl/inc/generic/gendata.hxx
@@ -39,7 +39,7 @@ class SalDisplay;
 class GtkSalDisplay;
 enum SalGenericDataType { SAL_DATA_GTK, SAL_DATA_GTK3,
                           SAL_DATA_KDE3, SAL_DATA_KDE4,
-                          SAL_DATA_UNX };
+                          SAL_DATA_UNX, SAL_DATA_SVP };
 
 class VCL_DLLPUBLIC SalGenericData : public SalData
 {
@@ -51,7 +51,7 @@ class VCL_DLLPUBLIC SalGenericData : public SalData
     // for transient storage of unicode strings eg. 'u123' by input methods
     rtl::OUString      m_aUnicodeEntry;
  public:
-    SalGenericData( SalGenericDataType t ) : SalData(), m_eType( t ), m_pDisplay( NULL ) {}
+    SalGenericData( SalGenericDataType t, SalInstance *pInstance ) : SalData(), m_eType( t ), m_pDisplay( NULL ) { m_pInstance = pInstance; SetSalData( this ); }
     virtual ~SalGenericData() {}
     virtual void Dispose() {}
 
@@ -80,7 +80,7 @@ class VCL_DLLPUBLIC SalGenericData : public SalData
     // Not the prettiest - but helpful for migrating old code ...
     inline SalDisplay *GetSalDisplay() const
     {
-        OSL_ASSERT( m_eType == SAL_DATA_UNX || m_eType == SAL_DATA_GTK );
+        OSL_ASSERT( m_eType != SAL_DATA_GTK3 );
         return (SalDisplay *)GetDisplay();
     }
     inline GtkSalDisplay *GetGtkDisplay() const
diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx
index 0c9af2a..458dfdd 100644
--- a/vcl/inc/unx/gtk/gtkdata.hxx
+++ b/vcl/inc/unx/gtk/gtkdata.hxx
@@ -100,7 +100,7 @@ class GtkData : public SalGenericData
     oslCondition m_aDispatchCondition;
 
 public:
-    GtkData();
+    GtkData( SalInstance *pInstance );
     virtual ~GtkData();
 
     virtual void Init();
diff --git a/vcl/inc/unx/kde/kdedata.hxx b/vcl/inc/unx/kde/kdedata.hxx
index f948af0..6112b47 100644
--- a/vcl/inc/unx/kde/kdedata.hxx
+++ b/vcl/inc/unx/kde/kdedata.hxx
@@ -36,7 +36,7 @@
 class KDEData : public X11SalData
 {
 public:
-    KDEData() : X11SalData( SAL_DATA_KDE3 ) {}
+    KDEData( SalInstance *pInstance ) : X11SalData( SAL_DATA_KDE3, pInstance ) {}
     virtual ~KDEData();
 
     virtual void Init();
diff --git a/vcl/inc/unx/saldata.hxx b/vcl/inc/unx/saldata.hxx
index 2d5dca5..9c49014 100644
--- a/vcl/inc/unx/saldata.hxx
+++ b/vcl/inc/unx/saldata.hxx
@@ -76,7 +76,7 @@ protected:
     pthread_t     hMainThread_;
 
 public:
-            X11SalData( SalGenericDataType t );
+             X11SalData( SalGenericDataType t, SalInstance *pInstance );
     virtual ~X11SalData();
 
     virtual void            Init();
diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx
index 4b235a4..0459ee4 100644
--- a/vcl/unx/generic/app/saldata.cxx
+++ b/vcl/unx/generic/app/saldata.cxx
@@ -236,11 +236,10 @@ static const char* XRequest[] = {
 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 #include <pthread.h>
 
-X11SalData::X11SalData( SalGenericDataType t )
-    : SalGenericData( t )
+X11SalData::X11SalData( SalGenericDataType t, SalInstance *pInstance )
+    : SalGenericData( t, pInstance )
 {
     pXLib_          = NULL;
-    m_pInstance     = NULL;
     m_pPlugin       = NULL;
 
     hMainThread_    = pthread_self();
diff --git a/vcl/unx/generic/app/salinst.cxx b/vcl/unx/generic/app/salinst.cxx
index e9447f6..28452f6 100644
--- a/vcl/unx/generic/app/salinst.cxx
+++ b/vcl/unx/generic/app/salinst.cxx
@@ -74,9 +74,8 @@ extern "C"
         X11SalInstance* pInstance = new X11SalInstance( new SalYieldMutex() );
 
         // initialize SalData
-        X11SalData *pSalData = new X11SalData( SAL_DATA_UNX );
-        SetSalData( pSalData );
-        pSalData->m_pInstance = pInstance;
+        X11SalData *pSalData = new X11SalData( SAL_DATA_UNX, pInstance );
+
         pSalData->Init();
         pInstance->SetLib( pSalData->GetLib() );
 
@@ -168,7 +167,9 @@ bool X11SalInstance::AnyInput(sal_uInt16 nType)
 
         bRet = aInput.bRet;
     }
+#if OSL_DEBUG_LEVEL > 1
     fprintf( stderr, "AnyInput 0x%x = %s\n", nType, bRet ? "true" : "false" );
+#endif
     return bRet;
 }
 
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index 9de7075..27a2413 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -537,11 +537,11 @@ int GtkSalDisplay::CaptureMouse( SalFrame* pSFrame )
  * class GtkData                                                      *
  **********************************************************************/
 
-GtkData::GtkData()
+GtkData::GtkData( SalInstance *pInstance )
 #if GTK_CHECK_VERSION(3,0,0)
-    : SalGenericData( SAL_DATA_GTK3 )
+    : SalGenericData( SAL_DATA_GTK3, pInstance )
 #else
-    : SalGenericData( SAL_DATA_GTK )
+    : SalGenericData( SAL_DATA_GTK, pInstance )
 #endif
 {
     m_pUserEvent = NULL;
diff --git a/vcl/unx/gtk/app/gtkinst.cxx b/vcl/unx/gtk/app/gtkinst.cxx
index b50e38c..b5b70c0 100644
--- a/vcl/unx/gtk/app/gtkinst.cxx
+++ b/vcl/unx/gtk/app/gtkinst.cxx
@@ -189,9 +189,7 @@ extern "C"
 #endif
 
         // initialize SalData
-        GtkData *pSalData = new GtkData();
-        SetSalData( pSalData );
-        pSalData->m_pInstance = pInstance;
+        GtkData *pSalData = new GtkData( pInstance );
         pSalData->Init();
         pSalData->initNWF();
 
diff --git a/vcl/unx/kde/kdedata.cxx b/vcl/unx/kde/kdedata.cxx
index 177fa4e..0eb4e4f 100644
--- a/vcl/unx/kde/kdedata.cxx
+++ b/vcl/unx/kde/kdedata.cxx
@@ -254,10 +254,9 @@ extern "C" {
 #endif
 
         // initialize SalData
-        KDEData *pSalData = new KDEData();
-        SetSalData( pSalData );
-        pSalData->m_pInstance = pInstance;
+        KDEData *pSalData = new KDEData( pInstance );
         pSalData->Init();
+        pInstance->SetLib( pSalData->GetLib() );
         pSalData->initNWF();
 
         return pInstance;
diff --git a/vcl/unx/kde4/KDEData.hxx b/vcl/unx/kde4/KDEData.hxx
index 5b487f9..7cf38a8 100644
--- a/vcl/unx/kde4/KDEData.hxx
+++ b/vcl/unx/kde4/KDEData.hxx
@@ -34,7 +34,8 @@
 class KDEData : public X11SalData
 {
     public:
-    KDEData() : X11SalData( SAL_DATA_KDE4 ) {}
+                 KDEData( SalInstance *pInstance )
+                        : X11SalData( SAL_DATA_KDE4, pInstance ) {}
         virtual ~KDEData();
 
         virtual void Init();
diff --git a/vcl/unx/kde4/main.cxx b/vcl/unx/kde4/main.cxx
index 9e0a361..9f9d07b 100644
--- a/vcl/unx/kde4/main.cxx
+++ b/vcl/unx/kde4/main.cxx
@@ -86,11 +86,10 @@ extern "C" {
 #endif
 
         // initialize SalData
-        KDEData *salData = new KDEData();
-        SetSalData(salData);
-        salData->m_pInstance = pInstance;
+        KDEData *salData = new KDEData( pInstance );
         salData->Init();
         salData->initNWF();
+        pInstance->SetLib(salData->GetLib());
 
         return pInstance;
     }


More information about the Libreoffice-commits mailing list