mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
Fix bug #73040
This commit is contained in:
@ -353,7 +353,7 @@ void CConverter2OOXML::WriteCharacter(const CCtrlCharacter* pCharacter, short sh
|
||||
|
||||
void CConverter2OOXML::WriteShape(const CCtrlGeneralShape* pShape, short shParaShapeID, NSStringUtils::CStringBuilder& oBuilder, TConversionState& oState)
|
||||
{
|
||||
if (nullptr == pShape)
|
||||
if (nullptr == pShape || oState.m_bInTextBox)
|
||||
return;
|
||||
|
||||
switch (pShape->GetShapeType())
|
||||
@ -1094,6 +1094,7 @@ void CConverter2OOXML::WriteGeometryShape(const CCtrlGeneralShape* pGeneralShape
|
||||
oBuilder.WriteString(L"<wps:txbx><w:txbxContent>");
|
||||
|
||||
TConversionState oShapeState;
|
||||
oShapeState.m_bInTextBox = true;
|
||||
|
||||
for (unsigned int unParaIndex = 0; unParaIndex < nCountParagraphs; ++unParaIndex)
|
||||
WriteParagraph(pGeneralShape->GetParagraphs(unParaIndex), oBuilder, oShapeState);
|
||||
@ -2194,7 +2195,7 @@ HWP_STRING CConverter2OOXML::GetTempDirectory() const
|
||||
}
|
||||
|
||||
TConversionState::TConversionState()
|
||||
: m_bOpenedP(false), m_bOpenedR(false), m_bIsNote(false), m_ushLastCharShapeId(-1), m_ushSecdIndex(0), m_unParaIndex(0), m_pHighlightColor(nullptr),
|
||||
: m_bOpenedP(false), m_bOpenedR(false), m_bIsNote(false), m_bInTextBox(false), m_ushLastCharShapeId(-1), m_ushSecdIndex(0), m_unParaIndex(0), m_pHighlightColor(nullptr),
|
||||
m_pSectionDef(nullptr), m_pColumnDef(nullptr), m_eBreakType(EBreakType::None)
|
||||
{}
|
||||
|
||||
|
||||
@ -39,6 +39,8 @@ struct TConversionState
|
||||
bool m_bOpenedR;
|
||||
bool m_bIsNote;
|
||||
|
||||
bool m_bInTextBox; // TODO:: используется, чтобы в wps:txbx не появилась новая фигура (посмотреть этот момент нужно подробнее)
|
||||
|
||||
unsigned short m_ushLastCharShapeId;
|
||||
|
||||
unsigned short m_ushSecdIndex;
|
||||
|
||||
@ -979,7 +979,6 @@ int CHWPSection::ParseContainerRecurse(CCtrlContainer* pContainer, int nRunLevel
|
||||
{
|
||||
CCtrlGeneralShape* pCtrl = pContainer->GetLastShape();
|
||||
int nSubParaCount = CHWPRecordListHeader::GetCount(nTagNum, nLevel, nSize, oBuffer, 0, nVersion);
|
||||
oBuffer.Skip(6);
|
||||
|
||||
if (EShapeType::Rect == pCtrl->GetShapeType() || EShapeType::Polygon == pCtrl->GetShapeType())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user