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 <caol...@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 <c...@libreoffice.org> Reviewed-by: Miklos Vajna <vmik...@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;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits