summaryrefslogtreecommitdiff
path: root/reportdesign/source
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-02-10 14:05:19 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-02-10 14:05:19 +0100
commitf4ba6a75910f44a8b98de1243fbd5a9dfef5aa49 (patch)
tree155e748da1cafb7cbe077b6479bf5d3bf394367f /reportdesign/source
parent4f8f578855d93e0821ade20218ec8269e4cb8b8c (diff)
autorecovery: let the SingleDocController, and derived classes, support XModifiable
Diffstat (limited to 'reportdesign/source')
-rw-r--r--reportdesign/source/ui/inc/ReportController.hxx2
-rw-r--r--reportdesign/source/ui/report/ReportController.cxx13
2 files changed, 8 insertions, 7 deletions
diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx
index 3117fe284a7c..0f440997bd52 100644
--- a/reportdesign/source/ui/inc/ReportController.hxx
+++ b/reportdesign/source/ui/inc/ReportController.hxx
@@ -353,7 +353,7 @@ namespace rptui
// SfxListener
virtual void Notify(SfxBroadcaster & rBc, SfxHint const & rHint);
- virtual void setModified(sal_Bool _bModified=sal_True);
+ virtual void impl_onModifyChanged();
// const ::connectivity::OSQLParseNode* getParseTree() const { return m_aSqlIterator.getParseTree();}
// need for undo's and redo's
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index cdaac3f601e2..741fb4db5fe0 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -784,7 +784,7 @@ FeatureState OReportController::GetState(sal_uInt16 _nId) const
aReturn.aValue <<= getSplitPos();
break;
case SID_SAVEDOC:
- aReturn.bEnabled = isModified() && isEditable();
+ aReturn.bEnabled = impl_isModified() && isEditable();
break;
case SID_SAVEASDOC:
aReturn.bEnabled = isConnected() && isEditable();
@@ -2127,17 +2127,18 @@ SfxUndoManager* OReportController::getUndoMgr()
return &m_aUndoManager;
}
// -----------------------------------------------------------------------------
-void OReportController::setModified(sal_Bool _bModified)
+void OReportController::impl_onModifyChanged()
{
- ::osl::MutexGuard aGuard( getMutex() );
try
{
if ( m_xReportDefinition.is() )
- m_xReportDefinition->setModified(_bModified);
- OSingleDocumentController::setModified(_bModified);
+ m_xReportDefinition->setModified( impl_isModified() );
+ OSingleDocumentController::impl_onModifyChanged();
}
catch(uno::Exception)
- {}
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
}
// -----------------------------------------------------------------------------
void OReportController::losingConnection( )