summaryrefslogtreecommitdiff
path: root/registry
diff options
context:
space:
mode:
Diffstat (limited to 'registry')
-rw-r--r--registry/source/keyimpl.cxx4
-rw-r--r--registry/source/regimpl.cxx5
2 files changed, 9 insertions, 0 deletions
diff --git a/registry/source/keyimpl.cxx b/registry/source/keyimpl.cxx
index f8de7e20b148..281c8e27cbf0 100644
--- a/registry/source/keyimpl.cxx
+++ b/registry/source/keyimpl.cxx
@@ -365,6 +365,7 @@ RegError ORegKey::setValue(const OUString& valueName, RegValueType vType, RegVal
return REG_SET_VALUE_FAILED;
}
+ rValue.flush();
rtl_freeMemory(pBuffer);
return REG_NO_ERROR;
}
@@ -423,6 +424,7 @@ RegError ORegKey::setLongListValue(const OUString& valueName, sal_Int32* pValueL
return REG_SET_VALUE_FAILED;
}
+ rValue.flush();
rtl_freeMemory(pBuffer);
return REG_NO_ERROR;
}
@@ -490,6 +492,7 @@ RegError ORegKey::setStringListValue(const OUString& valueName, sal_Char** pValu
return REG_SET_VALUE_FAILED;
}
+ rValue.flush();
rtl_freeMemory(pBuffer);
return REG_NO_ERROR;
}
@@ -557,6 +560,7 @@ RegError ORegKey::setUnicodeListValue(const OUString& valueName, sal_Unicode** p
return REG_SET_VALUE_FAILED;
}
+ rValue.flush();
rtl_freeMemory(pBuffer);
return REG_NO_ERROR;
}
diff --git a/registry/source/regimpl.cxx b/registry/source/regimpl.cxx
index 86165b42bd1d..8a4dd8b88ee9 100644
--- a/registry/source/regimpl.cxx
+++ b/registry/source/regimpl.cxx
@@ -550,6 +550,7 @@ RegError ORegistry::closeRegistry()
if (m_file.isValid())
{
closeKey(m_openKeyTable[ROOT]);
+ m_file.flush();
m_file.close();
m_isOpen = sal_False;
return REG_NO_ERROR;
@@ -847,6 +848,7 @@ RegError ORegistry::eraseKey(ORegKey* pKey, const OUString& keyName)
{
return REG_DELETE_KEY_FAILED;
}
+ sFile.flush();
// set flag deleted !!!
((ORegKey*)hOldKey)->setDeleted(sal_True);
@@ -892,6 +894,7 @@ RegError ORegistry::deleteSubkeysAndValues(ORegKey* pKey)
{
return REG_DELETE_VALUE_FAILED;
}
+ ((OStoreFile&)pKey->getStoreFile()).flush();
}
_err = rStoreDir.next(iter);
@@ -1062,6 +1065,7 @@ RegError ORegistry::loadAndSaveValue(ORegKey* pTargetKey,
{
return REG_VALUE_NOT_EXISTS;
}
+ pSourceKey->getStoreFile().flush();
pBuffer = (sal_uInt8*)rtl_allocateMemory(VALUE_HEADERSIZE);
@@ -1133,6 +1137,7 @@ RegError ORegistry::loadAndSaveValue(ORegKey* pTargetKey,
rtl_freeMemory(pBuffer);
return REG_INVALID_VALUE;
}
+ rTargetFile.flush();
if (rwBytes != nSize)
{