summaryrefslogtreecommitdiffstats
path: root/cui/source/options/optgdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/options/optgdlg.cxx')
-rw-r--r--cui/source/options/optgdlg.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 207addc847b7..a4474744e73b 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -78,6 +78,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
+#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
#include <com/sun/star/uno/Any.hxx>
@@ -456,6 +457,7 @@ public:
bool IsHardwareAccelerationEnabled() const;
bool IsHardwareAccelerationAvailable() const;
+ bool IsHardwareAccelerationRO() const;
void EnabledHardwareAcceleration( bool _bEnabled ) const;
private:
@@ -583,6 +585,17 @@ bool CanvasSettings::IsHardwareAccelerationEnabled() const
return !bForceLastEntry;
}
+bool CanvasSettings::IsHardwareAccelerationRO() const
+{
+ Reference< XPropertySet > xSet(mxForceFlagNameAccess, UNO_QUERY);
+ if (!xSet.is())
+ return true;
+
+ Reference< XPropertySetInfo > xInfo = xSet->getPropertySetInfo();
+ Property aProp = xInfo->getPropertyByName("ForceSafeServiceImpl");
+ return ((aProp.Attributes & css::beans::PropertyAttribute::READONLY ) == css::beans::PropertyAttribute::READONLY);
+}
+
void CanvasSettings::EnabledHardwareAcceleration( bool _bEnabled ) const
{
Reference< XNameReplace > xNameReplace(
@@ -949,6 +962,7 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
if(pCanvasSettings->IsHardwareAccelerationAvailable())
{
m_pUseHardwareAccell->Check(pCanvasSettings->IsHardwareAccelerationEnabled());
+ m_pUseHardwareAccell->Enable(!pCanvasSettings->IsHardwareAccelerationRO());
}
else
{