From f86be8fc0ea87cafcd2dd630af1c08e0cdacdaa9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 23 Jul 2012 21:25:22 +0000 Subject: minor addition git-svn-id: http://svn.miranda-ng.org/main/trunk@1145 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Db3x/db3x_10.vcxproj | 8 ++++---- plugins/Db3x/src/dbintf3x.h | 4 ++-- plugins/Db3x_mmap/src/dbintf.h | 2 ++ plugins/Db3x_mmap/src/dbsettings.cpp | 3 ++- 4 files changed, 10 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/Db3x/db3x_10.vcxproj b/plugins/Db3x/db3x_10.vcxproj index 68f34fdd90..ca0c4a5cbd 100644 --- a/plugins/Db3x/db3x_10.vcxproj +++ b/plugins/Db3x/db3x_10.vcxproj @@ -73,7 +73,7 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;DB3X_EXPORTS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;DB3X;DB3X_EXPORTS;%(PreprocessorDefinitions) false EnableFastChecks MultiThreadedDebugDLL @@ -104,7 +104,7 @@ Disabled ..\..\include;%(AdditionalIncludeDirectories) - WIN64;_DEBUG;_WINDOWS;_USRDLL;DB3X_EXPORTS;%(PreprocessorDefinitions) + WIN64;_DEBUG;_WINDOWS;_USRDLL;DB3X;DB3X_EXPORTS;%(PreprocessorDefinitions) false EnableFastChecks MultiThreadedDebugDLL @@ -136,7 +136,7 @@ OnlyExplicitInline Size ..\..\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;DB3X_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;DB3X;DB3X_EXPORTS;%(PreprocessorDefinitions) true false true @@ -170,7 +170,7 @@ OnlyExplicitInline Size ..\..\include;%(AdditionalIncludeDirectories) - WIN64;NDEBUG;_WINDOWS;_USRDLL;DB3X_EXPORTS;%(PreprocessorDefinitions) + WIN64;NDEBUG;_WINDOWS;_USRDLL;DB3X;DB3X_EXPORTS;%(PreprocessorDefinitions) true false false diff --git a/plugins/Db3x/src/dbintf3x.h b/plugins/Db3x/src/dbintf3x.h index 74dad4c4a8..e0d5a28323 100644 --- a/plugins/Db3x/src/dbintf3x.h +++ b/plugins/Db3x/src/dbintf3x.h @@ -40,6 +40,8 @@ struct CDb3x : public CDb3Base protected: virtual DWORD GetSettingsGroupOfsByModuleNameOfs(DBContact *dbc,DWORD ofsContact,DWORD ofsModuleName); + virtual void InvalidateSettingsGroupOfsCacheEntry(DWORD ofsSettingsGroup); + virtual void DBMoveChunk(DWORD ofsDest, DWORD ofsSource, int bytes); virtual PBYTE DBRead(DWORD ofs, int bytesRequired, int *bytesAvail); virtual void DBWrite(DWORD ofs, PVOID pData, int bytes); @@ -69,6 +71,4 @@ protected: int FindLRUSection(void); void LoadSection(const int i,DWORD ofs); void MoveSection(int *sectId,int dest); - - void InvalidateSettingsGroupOfsCacheEntry(DWORD ofsSettingsGroup); }; diff --git a/plugins/Db3x_mmap/src/dbintf.h b/plugins/Db3x_mmap/src/dbintf.h index e77658767e..2aa1ceea73 100644 --- a/plugins/Db3x_mmap/src/dbintf.h +++ b/plugins/Db3x_mmap/src/dbintf.h @@ -206,6 +206,8 @@ protected: protected: virtual DWORD GetSettingsGroupOfsByModuleNameOfs(DBContact *dbc,DWORD ofsContact,DWORD ofsModuleName) = 0; + virtual void InvalidateSettingsGroupOfsCacheEntry(DWORD ofsSettingsGroup) {} + virtual void DBMoveChunk(DWORD ofsDest, DWORD ofsSource, int bytes) = 0; virtual PBYTE DBRead(DWORD ofs, int bytesRequired, int *bytesAvail) = 0; virtual void DBWrite(DWORD ofs, PVOID pData, int bytes) = 0; diff --git a/plugins/Db3x_mmap/src/dbsettings.cpp b/plugins/Db3x_mmap/src/dbsettings.cpp index 4f3a2e5516..4a92bf7d4a 100644 --- a/plugins/Db3x_mmap/src/dbsettings.cpp +++ b/plugins/Db3x_mmap/src/dbsettings.cpp @@ -612,7 +612,7 @@ STDMETHODIMP_(BOOL) CDb3Base::WriteContactSetting(HANDLE hContact, DBCONTACTWRIT //make sure the module group exists ofsSettingsGroup = GetSettingsGroupOfsByModuleNameOfs(&dbc,ofsContact,ofsModuleName); if (ofsSettingsGroup == 0) { //module group didn't exist - make it - if (tmp.value.type&DBVTF_VARIABLELENGTH) { + if (tmp.value.type & DBVTF_VARIABLELENGTH) { if (tmp.value.type == DBVT_ASCIIZ || tmp.value.type == DBVT_UTF8) bytesRequired = (int)strlen(tmp.value.pszVal)+2; else if (tmp.value.type == DBVT_BLOB) bytesRequired = tmp.value.cpbVal+2; } @@ -705,6 +705,7 @@ STDMETHODIMP_(BOOL) CDb3Base::WriteContactSetting(HANDLE hContact, DBCONTACTWRIT DBContactSettings *dbcsPrev; DWORD ofsDbcsPrev,ofsNew; + InvalidateSettingsGroupOfsCacheEntry(ofsSettingsGroup); bytesRequired += (DB_SETTINGS_RESIZE_GRANULARITY-(bytesRequired%DB_SETTINGS_RESIZE_GRANULARITY))%DB_SETTINGS_RESIZE_GRANULARITY; //find previous group to change its offset ofsDbcsPrev = dbc.ofsFirstSettings; -- cgit v1.2.3