To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=75496
Issue #|75496
Summary|performance penalty after 21st conversion to formula o
|bject via macro
Component|Formula editor
Version|OOo 2.1
Platform|All
URL|
OS/Version|All
Status|UNCONFIRMED
Status whiteboard|
Keywords|
Resolution|
Issue type|DEFECT
Priority|P3
Subcomponent|code
Assigned to|mru
Reported by|hgkamath
------- Additional comments from [EMAIL PROTECTED] Sun Mar 18 03:37:07 +0000
2007 -------
This bug describes a performance penalty that is incurred
after using a macro to convert some text into a formula after
20 times.
Add the below procedure to your standard macros
* Start Openoffice writer
* Goto Tools->Macros->Organize-Macros->OpenofficeBasic
* Goto My Macros->Standard->Module1
* Click Edit
* Copy paste the below Procedure to this module
Assign a shortcut to this procedure
(don't remember exact sequence here but you get the idea)
* Goto Tools->Customize->Keyboard
* Navigate to Category(Openoffice.org macros), user->standard->module1
* Select Function Convert_to_Formula_Object
* Click into Keys, and press control-G
* click modify to set Ctrl-G to this action
* Click ok to exit
* Now the attached document in Openoffice writer.
* Goto the end of the paragraph
* Press Control-G 20 times (give a slight pause (fraction of a second, this
is acceptable) for the macro to do its job)
Notice the marked text getting converted to formula
* At the 21st pressing, There is a longer pause than usual.
Sometimes this pause can be very **painful** to wait.
In this particular case of issue reproduction it seems trivial.
* If you click on the left undo down-arrow,
you can see twenty "Changestyle: Objects#" entries
****>>>>
Basically, the software was applying for some strange reason, a changestyle
for all twenty previously created objects, and hence the additional delay.
****>>>>
The delay increases for further formula objects created this way.
sub Convert_to_Formula_Object
rem ----------------------------------------------------------------------
rem Description This procedure converts a length of text between
rem two delimiters into a formula object
rem Author: Ganapathi Kamath (2007)
rem define variables
dim oDoc as object
dim oText as object
dim oTextCursor as object
dim oViewCursor as object
dim TEObj as object
dim ostring1 as string
dim ostring2 as string
rem ----------------------------------------------------------------------
oDoc = ThisComponent
oText = oDoc.Text
oDescriptor = oDoc.createSearchDescriptor()
oViewCursor = oDoc.getCurrentController().getViewCursor()
oTextCursor = oText.createTextCursorByRange(oViewCursor.getStart())
oDescriptor.SearchRegularExpression = true
oDescriptor.SearchBackwards = true
oDescriptor.SearchString="\$fm(.*)fm\$"
oTextCursor = oDoc.FindNext(oTextCursor.getStart,oDescriptor)
ostring1=oTextCursor.getString()
TEObj = oDoc.createInstance("com.sun.star.text.TextEmbeddedObject")
TEObj.setPropertyValue("CLSID", "078B7ABA-54FC-457F-8551-6147e776a997")
TEObj.setPropertyValue("AnchorType",
com.sun.star.text.TextContentAnchorType.AS_CHARACTER)
ostring2=Mid$(ostring1,4,len(ostring1)-6)
xText = oDoc.getText()
xText.insertTextContent(oTextCursor, TEObj, true )
math = TEObj.getEmbeddedObject()
math.setPropertyValue("Formula", ostring2)
end sub
extra comments:
You may have to first figure out if this is a Math problem or a Writer problem.
I can't ascertain that.
Sometimes I think this performance penalty becomes so bad that one has to wait
for a minute or more before one can resume editing. I also believe, though
cannot confirm, that this may be related to other problems like sudden crashes,
through race conditions, which I am unable to arrive a definitive
reproduction sequence.
Seen in Openoffice 2.1 (release) on WinXP
---------------------------------------------------------------------
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]