Bug 123819 - ScVbaCommandBars is inconsistent, and other issues with it in a COLEAT context
Summary: ScVbaCommandBars is inconsistent, and other issues with it in a COLEAT context
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:6.3.0
Keywords:
Depends on:
Blocks: Dev-related
  Show dependency treegraph
 
Reported: 2019-03-03 18:55 UTC by How can I remove my account?
Modified: 2023-05-24 12:38 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description How can I remove my account? 2019-03-03 18:55:21 UTC
Description:
The getCount() function returns one number, the Item() function accepts either a string index (which can take more values than what getCount() returned) or a number, but only the numeric index 1 works.

These three things should all be consistent. getCount() should return a number that corresponds to the number of different strings that will work as arguments to Item(), and Item() should also accept any numeric index from 1 to that number.

Steps to Reproduce:
(I don't expect anybody else than myself to be interested in this bug, I mostly file it for work hour tracking purposes. QA, please don't bother looking any closer at this.)

Actual Results:
.

Expected Results:
.


Reproducible: Always


User Profile Reset: No



Additional Info:
.
Comment 1 How can I remove my account? 2019-03-03 19:24:30 UTC
And then there are the hasMoreElements() and nextElement() member functions (for the XEnumeration base class) that form yet another inconsistent implementation of enumeration functionality.
Comment 2 How can I remove my account? 2019-03-04 14:16:46 UTC
The plot thickens. When I try to run the customer application under a fresh COLEAT and against a LibreOffice with the recent CommandBars fixes, it crashes. Probably because COLEAT so far isn't built to have proxies for CommandBars.

Now, the CommandBars interface is declared in the type library in MSO.DLL. So far I haven't passed that to genproxy when building COLEAT. If I do that, and add Office.CommandBars and Office._CommandBars to samples/mso.interfaces.list, I run into the "Huh, IDispatch-based interface has different number of functions than the Vtbl-based?" error when running genproxy. Presumably this is caused by the fact that the _CommandBars interface is derived from the _IMsoDispObj interface and not directly from the IDispatch interface. COLEAT currently only handles interfaces that are directly derived from IDispatch. So some more work on that is needed in COLEAT.
Comment 3 How can I remove my account? 2019-03-07 12:27:14 UTC
More notes, saving them here so they aren't forgotten: The CommandBars property in various Word interfaces (_Application is the relevant one in the customer application's case) returns an object of type CommandBars. That is an interface that is not defined in the Word type library (MSWORD.OLB), but in the common MSO type library (in MSO.DLL). This probably is a complication that COLEAT doesn't handle properly.
Comment 4 Commit Notification 2019-03-07 19:51:00 UTC
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/+/50ffab5ff0b17add475c3199cd889196d4af2ce2%5E%21

tdf#123819: Revert "Use comphelper::getProcessComponentContext()"

It will be available in 6.3.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 5 Roman Kuznetsov 2019-04-13 14:19:41 UTC
Tor, is this bug fixed?
Comment 6 How can I remove my account? 2019-04-13 17:36:00 UTC
No.
Comment 7 Xisco Faulí 2019-07-18 11:42:27 UTC
Dear Tor Lillqvist,
This bug has been in ASSIGNED status for more than 3 months without any
activity. Resetting it to NEW.
Please assigned it back to yourself if you're still working on this.
Comment 8 QA Administrators 2021-07-18 03:29:52 UTC Comment hidden (obsolete)
Comment 9 How can I remove my account? 2023-05-24 12:38:49 UTC
COLEAT is dead since several years.