Commit 7b405f97 authored by Ilya.Kirillov's avatar Ilya.Kirillov

Устранено падение при копировании стиля внутри формулы (баг 27529). Устранено...

Устранено падение при копировании стиля внутри формулы (баг 27529). Устранено падение при добавлении заливки к формуле (баг 27547). Устранено падение при работе с буквицей (баг 27549).

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@59666 954022d7-b5bf-4e40-9824-e11837661b57
parent 6e757839
......@@ -1365,6 +1365,8 @@ ParaMath.prototype.Draw_Lines = function(PDSL)
// Underline всей формулы
var FirstRPrp = this.GetFirstRPrp();
var Para = PDSL.Paragraph;
var aUnderline = PDSL.Underline;
var X = PDSL.X;
......
......@@ -9247,13 +9247,8 @@ Paragraph.prototype =
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, 1);
var TMetrics = { Ascent : null, Descent : null };
this.private_RecalculateTextMetrics(TMetrics);
var TempCount = this.Content.length;
for ( var Index = 0; Index < TempCount; Index++ )
{
this.Content[Index].Recalculate_Measure2( TMetrics );
}
var TDescent = TMetrics.Descent;
var TAscent = TMetrics.Ascent;
......@@ -9275,11 +9270,7 @@ Paragraph.prototype =
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, 1);
var TNewMetrics = { Ascent : null, Descent : null };
var TempCount = this.Content.length;
for ( var Index = 0; Index < TempCount; Index++ )
{
this.Content[Index].Recalculate_Measure2( TNewMetrics );
}
this.private_RecalculateTextMetrics(TNewMetrics);
var TNewDescent = TNewMetrics.Descent;
var TNewAscent = TNewMetrics.Ascent;
......@@ -9326,11 +9317,7 @@ Paragraph.prototype =
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, 1);
var TMetrics = { Ascent : null, Descent : null };
var TempCount = this.Content.length;
for ( var Index = 0; Index < TempCount; Index++ )
{
this.Content[Index].Recalculate_Measure2( TMetrics );
}
this.private_RecalculateTextMetrics(TMetrics);
var TDescent = TMetrics.Descent;
var TAscent = TMetrics.Ascent;
......@@ -9350,11 +9337,7 @@ Paragraph.prototype =
g_oTextMeasurer.SetFontSlot(fontslot_ASCII, 1);
var TNewMetrics = { Ascent : null, Descent : null };
var TempCount = this.Content.length;
for ( var Index = 0; Index < TempCount; Index++ )
{
this.Content[Index].Recalculate_Measure2( TNewMetrics );
}
this.private_RecalculateTextMetrics(TNewMetrics);
var TNewDescent = TNewMetrics.Descent;
var TNewAscent = TNewMetrics.Ascent;
......@@ -12211,6 +12194,16 @@ Paragraph.prototype.Get_ElementByPos = function(ContentPos)
return this.Content[CurPos].Get_ElementByPos(ContentPos, 1);
};
Paragraph.prototype.private_RecalculateTextMetrics = function(TextMetrics)
{
for (var Index = 0, Count = this.Content.length; Index < Count; Index++)
{
// TODO: Пока данная функция реализована только в ранах, ее надо реализовать во всех остальных классах
if (this.Content[Index].Recalculate_Measure2)
this.Content[Index].Recalculate_Measure2(TextMetrics);
}
};
var pararecalc_0_All = 0;
var pararecalc_0_None = 1;
......
......@@ -3158,6 +3158,9 @@ CMathContent.prototype.Set_SelectionContentPos = function(StartContentPos, EndCo
OldEndPos = this.Selection.Start;
}
OldStartPos = Math.min(this.Content.length - 1, Math.max(0, OldStartPos));
OldEndPos = Math.min(this.Content.length - 1, Math.max(0, OldEndPos));
var StartPos = 0;
switch(StartFlag)
{
......
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