Bug 38807 - [EasyHack] Get rid of duplicated VBA related import functiona
Summary: [EasyHack] Get rid of duplicated VBA related import functiona
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
(earliest affected)
Hardware: Other All
: medium normal
Assignee: Not Assigned
Keywords: difficultyInteresting, easyHack, skillCpp, skillDebug, skillUno
Depends on:
Reported: 2011-06-30 06:42 UTC by Björn Michaelsen
Modified: 2015-12-15 23:33 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Note You need to log in before you can comment on or make changes to this bug.
Description Björn Michaelsen 2011-06-30 06:42:16 UTC
Background: Currently vba streams ( and import of some controls ) are imported in 2 places.

1) The legacy filters

   a) VBA Streams
       * filter/source/msfilter/msvbasic.cxx
       * filter/source/msfilter/svxmsbas.cxx
       * filter/source/msfilter/svxmsbas2.cxx
   b) OCX controls
       * filter/source/msfilter/msocximex.cxx

2) The new oox filter

   a) VBA Streams
       * oox/source/ole/vbahelper.cxx
       * oox/source/ole/vbaproject.cxx
       * oox/source/ole/vbamodule.cxx
   b) OCX controls
       * oox/source/ole/vbacontrol.cxx
       * oox/source/ole/axcontrol.cxx

Calc now only uses the oox filter for both importing vba project streams and additionally for OCX controls. The idea is to propagate similar changes throughout the code in order to completely remove those source files ( msvbasic.cxx, svxmsbas.cxx, svxmsba2.cxx & msocximex,cxx ). There are some hints the patch http://cgit.freedesktop.org/libreoffice/build/tree/patches/vba/vba-use-ooxfilter-forcontrols.diff which at least at one point removed the dependency on on the legacy filter from word ( note: that patch is completely out of date but still contains useful pointers especially in terms of where the code needs to be changed )

Skills: building, debugging, C++, UNO, patch reading
Comment 1 Noel Power 2011-10-10 03:00:37 UTC
wasn't really an easy hack and in the end the confusion of having the 2 filter implementations was too much for me so this is now fixed on master
Comment 2 Robinson Tryon (qubit) 2015-12-15 23:33:22 UTC
Migrating Whiteboard tags to Keywords: (EasyHack DifficultyInteresting SkillCpp SkillDebug SkillUno)