To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=61771
------- Additional comments from [EMAIL PROTECTED] Thu Feb 9 22:53:33 -0800 2006 ------- The ScShapeObj aggregates a SvxShapeControl. In ~ScShapeObj, the SvxShapeControl is destroyed. It is derives (via SvxShapeTextand SvxUnoTextBase from SvxUnoTextRangeBase, which in its destructor does a "delete pEditSource". This pEditSource is a SvxTextEditSource instance, which in its destructor locks the SolarMutex. So, in short, when the ScShapeObj is destroyed, and aggregates a SvxShape which contains text, the SolarMutex is locked, anyway, and thus the finalizer thread is blocked. The problem is that currently, the locking is *too late*. The shape instance is in parts, but not completely, destroyed. The patch changes this to lock the mutex earlier, to make the whole destruction a transaction. However, I do not know whether there are other SvxShape instance which might not indirectly lock the SolarMutex upon destruction. In this case, the patch might produce additional problems. Could you elaborate where you expect them, so I can check? However, even then I think *not* locking the mutex is a bug, since none of all those SvxShape implementations are really threadsafe. Only some methods rely on the SolarMutex, some don't, and none has an own thread-safe concept with own mutexes. So, in any case, I think destroying the shapes should be transactional, and guarded by the SolarMutex. Side note: A less invasive patch is to change the ScShapeObj destructor as follows: ScUnoGuard aGuard; mxShapeAgg.clear(); That is, only guard the reset of the aggregated object (and thus its destruction, since this is the only reference) with the SolarMutex. This also solves the problem. However, I am not sure if this is better, since it loses the transaction characteristics of the last release ... --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
