Commit e220f754 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander Trofimov

(2.0.0.236): ASCOfficeDocxFile2

Проблема с открытием pptx(неинициализированные критические секции)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@59282 954022d7-b5bf-4e40-9824-e11837661b57
parent b274c6dd
......@@ -2,6 +2,6 @@
//2
//0
//0
//235
#define INTVER 2,0,0,235
#define STRVER "2,0,0,235\0"
//236
#define INTVER 2,0,0,236
#define STRVER "2,0,0,236\0"
#pragma once
#include "../../DesktopEditor/graphics/TemporaryCS.h"
class AVSOfficeCriticalSection
{
private:
CRITICAL_SECTION CriticalSection;
NSCriticalSection::CRITICAL_SECTION CriticalSection;
public:
AVSOfficeCriticalSection()
{
InitializeCriticalSection( &(this->CriticalSection) );
CriticalSection.InitializeCriticalSection();
}
~AVSOfficeCriticalSection()
{
DeleteCriticalSection( &(this->CriticalSection) );
CriticalSection.DeleteCriticalSection();
}
void Enter()
{
EnterCriticalSection( &(this->CriticalSection) );
CriticalSection.Enter();
}
void Leave()
{
LeaveCriticalSection( &(this->CriticalSection) );
CriticalSection.Leave();
}
};
\ No newline at end of file
#include "ZipUtilsCP.h"
#include <memory>
#include "../../DesktopEditor/graphics/TemporaryCS.h"
#include "CSLocker.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../DesktopEditor/common/Path.h"
#define WRITEBUFFERSIZE 8192
#define READBUFFERSIZE 8192
// This class helps to lock/unlock critical section and defend any using code from deadlocks due to unhandled exceptions
class CSLocker
{
public:
CSLocker(NSCriticalSection::CRITICAL_SECTION &critical_section) : cs(critical_section)
{
cs.Enter();
}
~CSLocker(void)
{
cs.Leave();
}
private:
NSCriticalSection::CRITICAL_SECTION &cs;
};
namespace ZLibZipUtils
{
NSCriticalSection::CRITICAL_SECTION criticalSection;
AVSOfficeCriticalSection criticalSection;
static std::wstring ascii_to_unicode(const char *src)
{
......
......@@ -63,6 +63,8 @@ HEADERS += \
../../ZLIB/zlib-1.2.3/contrib/minizip/mztools.h \
../../ZLIB/zlib-1.2.3/contrib/minizip/unzip.h \
../../ZLIB/zlib-1.2.3/contrib/minizip/zip.h \
../../ASCOfficeUtils/ASCOfficeCriticalSection.h \
../../ASCOfficeUtils/CSLocker.h \
../../ASCOfficeUtils/ZipUtilsCP.h
......
......@@ -159,6 +159,14 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\..\ASCOfficeUtils\ASCOfficeCriticalSection.h"
>
</File>
<File
RelativePath="..\..\ASCOfficeUtils\CSLocker.h"
>
</File>
<File
RelativePath="..\OfficeUtils.h"
>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment