[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - cui/source include/vcl vcl/inc vcl/source vcl/unx

Caolán McNamara caolanm at redhat.com
Fri Feb 19 14:55:52 UTC 2016


 cui/source/options/optgdlg.cxx  |   10 ++++++++++
 include/vcl/svapp.hxx           |    6 ++++++
 vcl/inc/svdata.hxx              |    1 +
 vcl/inc/unx/salinst.h           |    2 +-
 vcl/source/app/svapp.cxx        |    9 +++++++++
 vcl/source/app/svmain.cxx       |    5 +++++
 vcl/unx/generic/app/salinst.cxx |    9 +++++++++
 vcl/unx/gtk/gtkinst.cxx         |    8 ++++++++
 vcl/unx/kde4/KDESalInstance.cxx |    8 ++++++++
 vcl/unx/kde4/KDESalInstance.hxx |    2 +-
 10 files changed, 58 insertions(+), 2 deletions(-)

New commits:
commit ea32554ad0be02d3946eb19c96b2c29081ef66d9
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Feb 18 11:25:26 2016 +0000

    Resolves: tdf#97904 opengl stuff isn't implemented for gtk3
    
    Change-Id: I1abbceebadf320f28955f54058b2d0ebfc79b9bc
    (cherry picked from commit d967cc35fd0c77d9f3dd0b3d0c7df850db6ec274)
    Reviewed-on: https://gerrit.libreoffice.org/22472
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 52fc00c..07a26a5 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -629,6 +629,14 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
     get(m_pMousePosLB, "mousepos");
     get(m_pMouseMiddleLB, "mousemiddle");
 
+    if (Application::GetToolkitName() == "gtk3")
+    {
+        m_pUseOpenGL->Hide();
+        m_pForceOpenGL->Hide();
+        m_pOpenGLStatusEnabled->Hide();
+        m_pOpenGLStatusDisabled->Hide();
+    }
+
 #if defined( UNX )
     m_pFontAntiAliasing->SetToggleHdl( LINK( this, OfaViewTabPage, OnAntialiasingToggled ) );
 #else
@@ -969,6 +977,8 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
 
 void OfaViewTabPage::UpdateOGLStatus()
 {
+    if (Application::GetToolkitName() == "gtk3")
+        return;
     // Easier than a custom translation string.
     bool bEnabled = OpenGLWrapper::isVCLOpenGLEnabled();
     m_pOpenGLStatusEnabled->Show(bEnabled);
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index c5b52ca..2658fca 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -982,6 +982,12 @@ public:
     */
     static OUString             GetDisplayName();
 
+    /** Get the toolkit's name. e.g. gtk3
+
+     @returns The toolkit name.
+    */
+    static OUString             GetToolkitName();
+
     /** Get the number of screens available for the display.
 
      @returns The number of screens available.
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index b559cf3..eef919d 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -126,6 +126,7 @@ struct ImplSVAppData
     OUString*               mpAppName;                      // Application name
     OUString*               mpAppFileName;                  // Abs. Application FileName
     OUString*               mpDisplayName;                  // Application Display Name
+    OUString*               mpToolkitName;                  // Toolkit Name
     Help*                   mpHelp;                         // Application help
     PopupMenu*              mpActivePopupMenu;              // Actives Popup-Menu (in Execute)
     ImplIdleMgr*            mpIdleMgr;                      // Idle-Manager
diff --git a/vcl/inc/unx/salinst.h b/vcl/inc/unx/salinst.h
index 54119d4..ee8dbcd 100644
--- a/vcl/inc/unx/salinst.h
+++ b/vcl/inc/unx/salinst.h
@@ -45,7 +45,7 @@ protected:
     SalXLib *mpXLib;
 
 public:
-    X11SalInstance( SalYieldMutex* pMutex ) : SalGenericInstance( pMutex ), mpXLib(NULL) {}
+    explicit X11SalInstance(SalYieldMutex* pMutex);
     virtual ~X11SalInstance();
 
     virtual SalFrame*           CreateChildFrame( SystemParentData* pParent, SalFrameStyleFlags nStyle ) override;
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index ef0847d..0270b8c 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1400,6 +1400,15 @@ void Application::SetDialogScaleX( short nScale )
         pSVData->maGDIData.mnAppFontX += (pSVData->maGDIData.mnAppFontX*nScale)/100;
 }
 
+OUString Application::GetToolkitName()
+{
+    ImplSVData* pSVData = ImplGetSVData();
+    if ( pSVData->maAppData.mpToolkitName )
+        return *(pSVData->maAppData.mpToolkitName);
+    else
+        return OUString();
+}
+
 void Application::SetDefDialogParent( vcl::Window* pWindow )
 {
     ImplGetSVData()->maWinData.mpDefDialogParent = pWindow;
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index ce44f60..952ac03 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -499,6 +499,11 @@ void DeInitVCL()
         delete pSVData->maAppData.mpDisplayName;
         pSVData->maAppData.mpDisplayName = nullptr;
     }
+    if ( pSVData->maAppData.mpToolkitName )
+    {
+        delete pSVData->maAppData.mpToolkitName;
+        pSVData->maAppData.mpToolkitName = nullptr;
+    }
     if ( pSVData->maAppData.mpEventListeners )
     {
         delete pSVData->maAppData.mpEventListeners;
diff --git a/vcl/unx/generic/app/salinst.cxx b/vcl/unx/generic/app/salinst.cxx
index af3f95c..0093d3f 100644
--- a/vcl/unx/generic/app/salinst.cxx
+++ b/vcl/unx/generic/app/salinst.cxx
@@ -65,6 +65,15 @@ extern "C"
     }
 }
 
+X11SalInstance::X11SalInstance(SalYieldMutex* pMutex)
+    : SalGenericInstance(pMutex)
+    , mpXLib(nullptr)
+{
+    ImplSVData* pSVData = ImplGetSVData();
+    delete pSVData->maAppData.mpToolkitName;
+    pSVData->maAppData.mpToolkitName = new OUString("x11");
+}
+
 X11SalInstance::~X11SalInstance()
 {
     // close session management
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 7ae75c4..f073635 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -186,6 +186,14 @@ void GtkInstance::EnsureInit()
 
     InitAtkBridge();
 
+    ImplSVData* pSVData = ImplGetSVData();
+    delete pSVData->maAppData.mpToolkitName;
+#if GTK_CHECK_VERSION(3,0,0)
+    pSVData->maAppData.mpToolkitName = new OUString("gtk3");
+#else
+    pSVData->maAppData.mpToolkitName = new OUString("gtk2");
+#endif
+
     bNeedsInit = false;
 }
 
diff --git a/vcl/unx/kde4/KDESalInstance.cxx b/vcl/unx/kde4/KDESalInstance.cxx
index e28fb2d..86c9d8f 100644
--- a/vcl/unx/kde4/KDESalInstance.cxx
+++ b/vcl/unx/kde4/KDESalInstance.cxx
@@ -26,6 +26,14 @@
 
 using namespace com::sun::star;
 
+KDESalInstance::KDESalInstance(SalYieldMutex* pMutex)
+    : X11SalInstance(pMutex)
+{
+    ImplSVData* pSVData = ImplGetSVData();
+    delete pSVData->maAppData.mpToolkitName;
+    pSVData->maAppData.mpToolkitName = new OUString("kde4");
+}
+
 SalFrame* KDESalInstance::CreateFrame( SalFrame *pParent, SalFrameStyleFlags nState )
 {
     return new KDESalFrame( pParent, nState );
diff --git a/vcl/unx/kde4/KDESalInstance.hxx b/vcl/unx/kde4/KDESalInstance.hxx
index 8eabb3b..aaa8d2f 100644
--- a/vcl/unx/kde4/KDESalInstance.hxx
+++ b/vcl/unx/kde4/KDESalInstance.hxx
@@ -27,7 +27,7 @@ class SalFrame;
 class KDESalInstance : public X11SalInstance
 {
     public:
-        explicit KDESalInstance( SalYieldMutex* pMutex ) : X11SalInstance( pMutex ) {}
+        explicit KDESalInstance(SalYieldMutex* pMutex);
         virtual ~KDESalInstance() {}
         virtual SalFrame* CreateFrame( SalFrame* pParent, SalFrameStyleFlags nStyle ) override;
 


More information about the Libreoffice-commits mailing list