To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=116048 Issue #|116048 Summary|vcl: make X11 clipboard shutdown more robust Component|gsl Version|DEV300m95 Platform|All URL| OS/Version|All Status|NEW Status whiteboard| Keywords| Resolution| Issue type|PATCH Priority|P3 Subcomponent|code Assigned to|pl Reported by|sb
------- Additional comments from [email protected] Fri Dec 10 14:01:49 +0000 2010 ------- While working on issue 116038 on a DEV300_m95 based CWS, I temporarily made a mistake so that, for example when executing smoketestoo_native, framework::Desktop::terminate (called from outside OOo) could be still running when desktop::Desktop::Main was past the DeregisterServices call. At least on unxsoli4 non-pro, this lead to various crashes related to the X11 clipboard shutdown code. The attached DEV300_m95.vcl.patch attempts to make the code more robust, so that those crashes would be avoided: - DisplayConnection::dispatchEvent (vcl/source/helper/xconnection.cxx) could be called with a void*pThis that is already destroyed, or is destroyed concurrently in another thread. This is prevented by replacing the m_pEvent/ErrorCallback in SalInstance with an rtl::Reference<vcl::DisplayConnectionDispatch>, so that the relevant object's lifetime cannot end prematurely. Unfortunately, adding rtl/ref.hxx to vcl/salinst.hxx caused plain "Reference" to become ambiguous in many places, fixing which accounts for the bulk of the patch's changes. - Multiple threads could concurrently call into SelectionManager::shutdown (vcl/unx/source/dtrans/X11_selection.cxx). This has been addressed with an additional m_bShutDown member flag. --------------------------------------------------------------------- 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]
