Bug 145162

Summary: FILESAVE PPTX: extra bullet added to text
Product: LibreOffice Reporter: Gerald Pfeifer <gerald>
Component: ImpressAssignee: Attila Bakos (NISZ) <bakos.attilakaroly>
Status: VERIFIED FIXED    
Severity: normal CC: aron.budea, bakos.attilakaroly, libreoffice, xiscofauli
Priority: medium Keywords: bibisected, bisected
Version: 7.2.0.4 release   
Hardware: All   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=111903
https://bugs.documentfoundation.org/show_bug.cgi?id=137152
https://bugs.documentfoundation.org/show_bug.cgi?id=147991
Whiteboard: target:7.4.0 target:7.3.0.0.beta2 target:7.2.5
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 139900    
Attachments: Sample document
Visual comparison Office 365 vs LibreOffice 7.3
The issue with the ooxml and the difference
The original sample pptx from PP
The copy of the original pptx without the tag
There is a problem with Import too
Sample reproducer from Impress

Description Gerald Pfeifer 2021-10-15 21:04:14 UTC
Created attachment 175770 [details]
Sample document

How to repeat:

 1. Open the test document.
 2. Change the text a bit, e.g. "Thank you!" to "Thanks!"
 3. Save as PPTX.
 4. Open saved PPTX in Office 365 and observe there's an extra bullet
    before the text.
Comment 1 Gerald Pfeifer 2021-10-15 21:19:37 UTC
Seen with current head and 7.2.3, not seen with 7.1.5 or 6.4.8.
-> Regression
-> Kindly asking for bibisection


FAILS:

Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: 3f5fb07565d0e08773ddfcda4d5acbb1446aa2f2
CPU threads: 8; OS: Linux 5.14; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:master, Time: 2021-10-08_17:38:02

Version: 7.2.3.0.0+ / LibreOffice Community
Build ID: da66ff3d83e5e975383615081eeffd3fa2f668f9
CPU threads: 8; OS: Linux 5.14; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-7-2, Time: 2021-10-14_23:39:58
Calc: threaded


PASSES:

Version: 7.1.5.0.0+ / LibreOffice Community
Build ID: db6efbaf5f9d6ae818afccec6a9fab219268b621
CPU threads: 8; OS: Linux 5.14; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-7-1, Time: 2021-06-07_20:32:23

Version: 6.4.8.0.0+
Build ID: 99b065ec31d032fc08ab14f66430dac4fef904a5
CPU threads: 8; OS: Linux 5.14; UI render: default; VCL: gtk3; 
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:libreoffice-6-4, Time: 2020-10-08_08:57:08
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Comment 2 Gerald Pfeifer 2021-10-15 21:22:23 UTC
Created attachment 175772 [details]
Visual comparison Office 365 vs LibreOffice 7.3
Comment 3 Aron Budea 2021-10-19 07:39:41 UTC
Confirmed using LO Version: 7.3.0.0.alpha0+ (191e5fc227e40d18a1fe4563ed145517117596ea) / Ubuntu.

This regression started from the following commit, bibisected using repo bibisect-linux-64-7.2. Adding CC: to Attila Bakos.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=b6b02e0b4c9d739836e1f61a886ea45b01e6696e
author		Attila Bakos (NISZ) <bakos.attilakaroly@nisz.hu>	2021-04-20 13:02:44 +0200
committer	László Németh <nemeth@numbertext.org>	2021-04-29 10:48:27 +0200

tdf#111903 tdf#137152 PPTX export: fix placeholders
Comment 4 Gerald Pfeifer 2021-11-22 18:32:35 UTC
This no longer reproduced with current head, i.e., must have been
addressed in the last month:

Version: 7.3.0.0.alpha1+ / LibreOffice Community
Build ID: 918b62bea6cf82ce952c8d225dcabd4d08a2abf7
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US

Thanks to whoever did this!
Comment 5 Aron Budea 2021-11-22 19:22:31 UTC
Gerald, I'm afraid I can still repro it with the following build from two hours ago, can you please double-check?

Version: 7.3.0.0.alpha1+ / LibreOffice Community
Build ID: 59e70256a358db136f5fd23651aea96d218b1a64
CPU threads: 16; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: nl-BE (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 6 Gerald Pfeifer 2021-11-22 19:45:56 UTC
You're right, Aron.  I had tested twice, and twice made the same mistake
apparently. The bug is still here.

Now, this is a really bad regression. Is there a way to label this as a
release blocker?
Comment 7 Timur 2021-11-23 10:47:46 UTC
OOXML bugs are of Normal severity, just regression is High. 
Reopen is where there was a wrong fix, here it's just New.
Comment 8 Attila Bakos (NISZ) 2021-11-25 13:34:15 UTC
Created attachment 176498 [details]
The issue with the ooxml and the difference

Not a real regression:

Before my commit the placeholders were custom shapes, and this problem can not be detected because PP. imported custom shapes as shapes (without bullet/numbering).
After the patch placeholders are kept and PP. imports them placeholders which has bullet/numbering default in PP. In my attachment there can be seen a tag which disables this auto-numbering feature in PP: namely the <a:buNone/> tag.
To prove this, try this:
1) create an empty pptx in PP use backspace to remove the bullet, save
2) unzip the copy of the saved file
3) find the /ppt/slides/slide1.xml
4) delete that tag
5) zip & and open in PP

-> The bullet will be there.

Solution: Impress should save this tag when bullet hidden, so I will implement this, hopefully this will be useful.
Comment 9 Attila Bakos (NISZ) 2021-11-25 13:37:40 UTC
Created attachment 176499 [details]
The original sample pptx from PP
Comment 10 Attila Bakos (NISZ) 2021-11-25 13:38:32 UTC
Created attachment 176500 [details]
The copy of the original pptx without the tag
Comment 11 Xisco Faulí 2021-12-02 15:28:12 UTC
Removing regression keyword according to comment 8
Comment 12 Gerald Pfeifer 2021-12-02 15:39:52 UTC
(In reply to Xisco Faulí from comment #11)
> Removing regression keyword according to comment 8

Xisco, I'd like to make the case and disagree.  Technically the patch
identified may not be incorrect, and purely technically not a regression.

Practically, from a user perspective, saving the deck as PPTX and then
viewing it in Office 365 used to work perfectly. Now it is broken.

So from a *user* perspective, which is what matters in the end, we did
regress. I got hit by this personally, and it was ... not good.


Can we please treat this as a regression (that it is, IMHO)?
Comment 13 Attila Bakos (NISZ) 2021-12-07 15:07:39 UTC
Sorry for the late reply. In comment8 my idea was a tag missing, i tried to fix it and the sample file stay the same (so it is an other issue), so i think there must be another problem. Well, this is a so strange issue*, but I think these might be the reproduction steps from scratch:

1) Open a PowerPoint with a new slide with a placeholder, and type something ("sample" for example) and remove the bullet with backspace.
2) Save and open it Impress (7.2)
3) Append something to the written text, a dot for example.
4) Save
5) Reload in PowerPoint

->There will be an extra bullet.

I want to fix this except from it is a regression or not. But to solve this i have to know how make this issue from scratch exactly, so if someone have idea to reproduce this from a blank file and share that, it will so helpful. (Or just confirm my idea..)

*I write the strange because, this must be a file-open issue too, because Impress does not put bullet to the text (and if PowerPoint is the reference it should...)
Also, recently i had a fix connected to Master Slide property inheritance to slides (as i remember there the spelling language was wrong) and there was a commit what changed the numbering dialog and the settings scope and that commit caused that regression so that might be a good point to start, maybe...
Comment 14 Attila Bakos (NISZ) 2021-12-07 15:17:13 UTC
Created attachment 176765 [details]
There is a problem with Import too
Comment 15 Attila Bakos (NISZ) 2021-12-07 15:18:37 UTC
Created attachment 176766 [details]
Sample reproducer from Impress
Comment 16 Commit Notification 2021-12-09 11:15:38 UTC
Attila Bakos (NISZ) committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/f57cfddb51b7d7409b7b425dc200aa73406a13bd

tdf#145162 PPTX export: fix extra bullet regression

It will be available in 7.4.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 17 Commit Notification 2021-12-09 14:27:00 UTC
Attila Bakos (NISZ) committed a patch related to this issue.
It has been pushed to "libreoffice-7-3":

https://git.libreoffice.org/core/commit/97ce03ccf1287c1fa79d5741a85fa419e03d9a35

tdf#145162 PPTX export: fix extra bullet regression

It will be available in 7.3.0.0.beta2.

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 18 Commit Notification 2021-12-09 16:22:24 UTC
Attila Bakos (NISZ) committed a patch related to this issue.
It has been pushed to "libreoffice-7-2":

https://git.libreoffice.org/core/commit/bfef95dcb38c1d004fc907a14af4eaaf99798b7e

tdf#145162 PPTX export: fix extra bullet regression

It will be available in 7.2.5.

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 19 Gerald Pfeifer 2021-12-10 16:40:35 UTC
(In reply to Attila Bakos (NISZ) from comment #13)
> I want to fix this except from it is a regression or not.

Thank you, Attila!

> But to solve this i have to know how make this issue from scratch exactly,
> so if someone have idea to reproduce this from a blank file

Sorry I could not provide that. I am, however, happy to report that with
the latest daily build (which has your patch from what I can tell) this
issue as originally reported by me is gone = resolved. :-)

Cool detective work! Please let me know if there's anything I can do to
help.
Comment 20 Attila Bakos (NISZ) 2021-12-11 08:24:39 UTC
(In reply to Gerald Pfeifer from comment #19)
> (In reply to Attila Bakos (NISZ) from comment #13)
> > I want to fix this except from it is a regression or not.
> 
> Thank you, Attila!
> 
> > But to solve this i have to know how make this issue from scratch exactly,
> > so if someone have idea to reproduce this from a blank file
> 
> Sorry I could not provide that. I am, however, happy to report that with
> the latest daily build (which has your patch from what I can tell) this
> issue as originally reported by me is gone = resolved. :-)
> 
> Cool detective work! Please let me know if there's anything I can do to
> help.

Thank you for Verifying, and for good words. This is my task to solve the issues like this, so if something wrong again with anything i tried to fix, just cc me (not really mind that a regression or not).  The reproduction is importand because if i know the problem exactly it is much easier to fix, and maybe there is less chance to make a newer regression... :)
Comment 21 Gerald Pfeifer 2021-12-11 19:29:13 UTC
Verfied (per my comment #19). 

(I feel this is going to be a really good release. :-)