diff options
author | George Hazan <george.hazan@gmail.com> | 2015-04-10 14:25:42 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2015-04-10 14:25:42 +0000 |
commit | 77a9ce1c7510cdf66bf038300ce57952748a3e05 (patch) | |
tree | ee1689e603b83f7f359c6098be2881e0c5b707c0 /src/core/stdchat | |
parent | 11c3c76e22bb5778da1f14041fd6bac50d2cc747 (diff) |
- fix for CREOleCallback constructor;
- unsafe strlen call removed;
- fix for static buffer lengths
git-svn-id: http://svn.miranda-ng.org/main/trunk@12736 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'src/core/stdchat')
-rw-r--r-- | src/core/stdchat/src/chat.h | 2 | ||||
-rw-r--r-- | src/core/stdchat/src/main.cpp | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/core/stdchat/src/chat.h b/src/core/stdchat/src/chat.h index 97c5496fd1..6212eb7c73 100644 --- a/src/core/stdchat/src/chat.h +++ b/src/core/stdchat/src/chat.h @@ -113,7 +113,7 @@ extern BOOL SmileyAddInstalled, PopupInstalled; struct CREOleCallback : public IRichEditOleCallback
{
- CREOleCallback() : refCount(0) {}
+ CREOleCallback() : refCount(0), nextStgId(0), pictStg(NULL) {}
unsigned refCount;
IStorage *pictStg;
int nextStgId;
diff --git a/src/core/stdchat/src/main.cpp b/src/core/stdchat/src/main.cpp index 9437b3a034..48b31036a2 100644 --- a/src/core/stdchat/src/main.cpp +++ b/src/core/stdchat/src/main.cpp @@ -420,19 +420,19 @@ STDMETHODIMP CREOleCallback::QueryInterface(REFIID riid, LPVOID * ppvObj) STDMETHODIMP_(ULONG) CREOleCallback::AddRef()
{
- if (refCount == 0) {
- if (S_OK != StgCreateDocfile(NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_DELETEONRELEASE, 0, &pictStg))
- pictStg = NULL;
- nextStgId = 0;
- }
+ if (refCount == 0)
+ StgCreateDocfile(NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_DELETEONRELEASE, 0, &pictStg);
+
return ++refCount;
}
STDMETHODIMP_(ULONG) CREOleCallback::Release()
{
if (--refCount == 0) {
- if (pictStg)
+ if (pictStg) {
pictStg->Release();
+ pictStg = NULL;
+ }
}
return refCount;
}
|