To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=85687
User fs changed the following: What |Old value |New value ================================================================================ Assigned to|fs |mav -------------------------------------------------------------------------------- Status|STARTED |NEW -------------------------------------------------------------------------------- ------- Additional comments from [EMAIL PROTECTED] Tue Jan 29 22:18:16 +0000 2008 ------- fs->mav: That's a regression of your fix for issue 84941, I'd say. Before your changes, the macro execution mode was held in DocumentMacroMode_Data::nMacroExecutionMode, and initialized exactly once. Your change was to keep the mode in only one place, by introducing the "setImposedMacroExecMode" method. Which is a Good Thing, so far. What happens is something along those lines: - the form is loaded - during/after loading, the DocumentMacroMode::adjustMacroMode. It calculates the effective macro exec mode to be ALWAYS_EXECUTE_NO_WARN, which is correct, since the form itself does not contain any macros. - This mode is forwarded to the document, using the newly introduced setImposedMacroExecMode method. This results in the proper SID_MACROEXECMODE item being put into the object shell's medium's item set. - Now when we put the state of the embedded object to ACTIVE, then with the following stack: framework::LoadEnv::initializeLoading(...) framework::LoadEnv::loadComponentFromURL(...) framework::Frame::loadComponentFromURL(...) DocumentHolder::LoadDocToFrame(unsigned char bInPlace='Ü') DocumentHolder::GetDocFrame() DocumentHolder::Show() OCommonEmbeddedObject::SwitchStateTo_Impl(long nNextState=2) OCommonEmbeddedObject::changeState(long nNewState=2) , the macro mode is reset to NEVER_EXECUTE. Consider framework/source/loadenv/loadenv.cxx, lines 479ff, and lines 496f >From this time onwards, any call to the object shell's getImposedMacroExecMode will return NEVER_EXECUTE. Note that there has not been any change in the load environment between m4 and m5. That is, the framework always passed a NEVER_EXECUTE at this point. However, this never hit us, since the macro exec mode was cached in DocumentMacroMode_Data::nMacroExecutionMode, as said above. I am not sure what is the actual bug reason here - perhaps DocumentHolder::LoadDocToFrame should pass the current MacroExecMode of the document to the new loading call. More precise, it should probably obtain the current model args (XModel::getArgs), perhaps filter them, and then pass them to the loadComponentFromURL call, to ensure they're preserved. --------------------------------------------------------------------- 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]