Bug 43644 - Document Converter doesn't work without 'Legacy Filters'
Summary: Document Converter doesn't work without 'Legacy Filters'
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
3.5.0 Beta0
Hardware: x86 (IA32) All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard:
Keywords:
: 45042 (view as bug list)
Depends on:
Blocks: mab3.5
  Show dependency treegraph
 
Reported: 2011-12-08 14:57 UTC by khagaroth
Modified: 2013-01-14 16:36 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
The error message (50.73 KB, image/jpeg)
2012-01-18 09:35 UTC, Niklas Johansson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description khagaroth 2011-12-08 14:57:39 UTC
If Legacy Filters are not installed, Document Converter doesn't work. It completely fails to launch, just throwing a meaningless (that is, for normal users) error message and jumps to the code that caused the error.

Possible solutions:
if legacy filters are not installed, disable Document Converter menu entry
or
display a meaningful error message explaining the dependency instead of just erroring out and jumping to faulty line in code editor
or
fix Document Converter to work without legacy filters, conditionally disabling functionality that depends on them
Comment 1 Niklas Johansson 2012-01-18 09:34:05 UTC
Reproducible on Win7 Swedish with LibreOffice Beta 3. 

It seems to fail when trying to create the service com.sun.star.comp.office.BF_MigrateFilter 

I attach a screen-shot with the error message.

I haven't looked at the code for the code for the service and it is probably there it should be fixed but a quick and dirty solution in BASIC is to create a function:

Function createBF_MigrateFilterIfPossible()
Dim oService
	On Error GoTo RTError
	oService = createUnoService("com.sun.star.comp.office.BF_MigrateFilter")
	getBinFilterCompIfItExists = oService
	Exit Function
RTError:
	createBF_MigrateFilterIfPossible = Nothing
End Function


Then replace the line:
oBinFilterComp = createUnoService( "com.sun.star.comp.office.BF_MigrateFilter" )

with:
oBinFilterComp = createBF_MigrateFilterIfPossible()
Comment 2 Niklas Johansson 2012-01-18 09:35:43 UTC
Created attachment 55745 [details]
The error message
Comment 3 khagaroth 2012-02-07 07:32:50 UTC
*** Bug 45042 has been marked as a duplicate of this bug. ***
Comment 4 Caolán McNamara 2012-02-08 03:10:42 UTC
oh huh, *registered* but not actually installed. Current scenarios handled are "registered and installed" and "unregistered and not installed"