<html>
<head>
<base href="https://bugs.documentfoundation.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:Armin.Le.Grand@me.com" title="Armin Le Grand <Armin.Le.Grand@me.com>"> <span class="fn">Armin Le Grand</span></a>
</span> changed
<a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Font changed when typing into cell, in edit mode, with redline"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=125054">bug 125054</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>ASSIGNED
</td>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>libreoffice-bugs@lists.freedesktop.org
</td>
<td>Armin.Le.Grand@me.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Font changed when typing into cell, in edit mode, with redline"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=125054#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Font changed when typing into cell, in edit mode, with redline"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=125054">bug 125054</a>
from <span class="vcard"><a class="email" href="mailto:Armin.Le.Grand@me.com" title="Armin Le Grand <Armin.Le.Grand@me.com>"> <span class="fn">Armin Le Grand</span></a>
</span></b>
<pre>I think I have found the source for the error: The before used ::operator=() of
SfxPoolItems did *not* copy the WhichID. There were places like in
ScPatternAttr::FillToEditItemSet which prepared a new Item which is now
std::shared_ptr<SvxColorItem>
aColorItem(std::make_shared<SvxColorItem>(EE_CHAR_COLOR)); // use
item as-is
then used ::operator=() to copy something to it which is now
aColorItem.reset(static_cast<SvxColorItem*>(pItem->Clone()));
and then used it in calls to e.g.
rEditSet.Put( *aColorItem, EE_CHAR_COLOR );
which in effect *changed* the WhichID of the item. The ::Clone() call to the
SfxPoolItem which is used now to work with an instance of the Item will - of
course - also clone the WhichID.
Thus the up-to-now indirectly 'used' functionality is that the ::operator=()
did *not* change the evtl. already set WhichID of the target item. This is
usage of very hidden functionality, it would be perfectly OK to assume that
::operator= copies everything and thus is equal in that respect to ::Clone() -
but it is *not*.
Checking my changes for that aspect...</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>