Libreoffice 5 macro never finishes loading impress

Jerry Geis jerry.geis at gmail.com
Wed Aug 12 04:53:32 PDT 2015


I have downloaded 5.0 on CentOS 7.1

I then have a macro (see below) that I invoke by:
/opt/libreoffice5.0/programs/soffice --nolockcheck --nologo --norestore
 "macro:///Standard.Module1.Load(file:////tmp/Clarian.ppt)"

The macro never finishes loading...

If I just run soffice Clarian.ppt it loads just fine.
Is there by chance a new "command line" argument that will just load and
immediately start
showing the presentation. This is what the macro was trying to accomplish.

Any thoughts, something wrong with my macro?
Thanks,

Jerry


----------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument
1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script"
script:name="Module1" script:language="StarBasic">REM  *****  BASIC  *****

Sub Load(arg as String)

'register a global event listener, because
'we have to wait until loading has finished
oGlob = CreateUnoService("com.sun.star.frame.GlobalEventBroadcaster")
oListener =
CreateUnoListener("EvList_","com.sun.star.document.XEventListener")
oGlob.addEventListener(oListener)
boFinished = false

'hide the document while loading so that we do not see the loading window
Dim aProps(2) as new com.sun.star.beans.PropertyValue
Dim oDoc as Object
aProps(0).Name  = "Hidden"
aProps(0).Value = true
aProps(1).Name  = "ReadOnly"
aProps(1).Value = true
url = arg
oDoc = StarDesktop.loadComponentFromURL(url, "_default", 0, aProps)

'wait until loading has finished
while (not boFinished)
wait(5)
wend

oGlob.removeEventListener(oListener)

'loading is done, set the presentation parameters
oDoc.Presentation.Pause = 0
'show the window now as presentation cannot be started
'(segmentation faults) if it is not
oDoc.CurrentController.Frame.ContainerWindow.Visible = true
oDoc.CurrentController.Frame.ContainerWindow.setVisible(false)
'start the presentation
oDoc.Presentation.Start

End Sub

Sub EvList_notifyEvent( o as object )
if o.EventName = "OnLoadFinished" then
if url = o.Source.Location then
boFinished = true
endif
endif

End Sub

Sub EvList_disposing()
End Sub

</script:module>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150812/765ff779/attachment.html>


More information about the LibreOffice mailing list