[Desktop-packages] [Bug 1099246]
I think there was a duplicate bug that I've now marked as Resolved and realised that this one was marked REOPENED. I'll mark this RESOLVED also, though I have since identified another bug on Paste Special... Add... which does not handle blank cells as if they were zero and ends up putting things in the wrong cells. I'll try to find the time to knock up a simple example and post a new bug for that later today. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/1099246 Title: [Upstream] Undo does not preserve conditional formatting Status in LibreOffice Productivity Suite: Fix Released Status in “libreoffice” package in Ubuntu: Triaged Bug description: 1) lsb_release -rd Description: Ubuntu 12.10 Release: 12.10 2) apt-cache policy libreoffice-calc libreoffice-calc: Installed: 1:3.6.2~rc2-0ubuntu4 Candidate: 1:3.6.2~rc2-0ubuntu4 Version table: *** 1:3.6.2~rc2-0ubuntu4 0 900 http://archive.ubuntu.com/ubuntu/ quantal-updates/main i386 Packages 100 /var/lib/dpkg/status 1:3.6.2~rc2-0ubuntu3 0 500 http://archive.ubuntu.com/ubuntu/ quantal/main i386 Packages 3) What is expected to happen via the attached document is highlight rows 4 through 11 -> click Edit -> Delete Cells... -> Delete entire row(s) -> button OK -> Ctrl+Z and the rows show back up with their original conditional formatting. 4) What happens instead is the numbers show up, but the conditional formatting has been removed. Reproducible in: Microsoft Windows Vista Business x86 6.0.6002 Service Pack 2 Build 6002 Version 4.0.0.1 (Build ID: 527dba6f6e0cfbbc71bd6e7b88a52699bb48799) Does not occur in gnumeric. apt-cache policy gnumeric gnumeric: Installed: 1.10.17-1.1ubuntu1 Candidate: 1.10.17-1.1ubuntu1 Version table: *** 1.10.17-1.1ubuntu1 0 500 http://archive.ubuntu.com/ubuntu/ quantal/universe i386 Packages 100 /var/lib/dpkg/status ProblemType: Bug DistroRelease: Ubuntu 12.10 Package: libreoffice-calc 1:3.6.2~rc2-0ubuntu4 ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5 Uname: Linux 3.5.0-17-generic i686 ApportVersion: 2.6.1-0ubuntu9 Architecture: i386 CheckboxSubmission: 30b6638832e19720cfe8f7a91e5798a4 CheckboxSystem: 2954e74ba17fb0e37fc942cd1d9fab4e Date: Sun Jan 13 18:48:18 2013 InstallationDate: Installed on 2012-06-11 (216 days ago) InstallationMedia: Xubuntu 12.04 "Precise Pangolin" - Alpha i386 (20120131.1) MarkForUpload: True SourcePackage: libreoffice UpgradeStatus: Upgraded to quantal on 2012-09-14 (121 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/df-libreoffice/+bug/1099246/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 1099246]
Created attachment 80735 Simple Conditional Format paste bug demo with instructions in worksheet New Attachment CFpasteBug.ods obsoletes attachment 70378. This is simpler than attachment 70378 It includes instructions to reproduce the bug in cells A5:A13 It shows that the Conditional Format is still present but not displayed: Use Format Paintbrush to paint format onto the same range (effectively forcing a recalculate of the conditions and a refresh of their display) to make it display properly. Tested with Windows 7 Professional 32-bit, latest Dev beta Version: 4.1.0.0.beta2 Build ID: 33224f4f11a05cfad2249e812fcc2975fbb61f6 -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/1099246 Title: [Upstream] Undo does not preserve conditional formatting Status in LibreOffice Productivity Suite: Invalid Status in “libreoffice” package in Ubuntu: Triaged Bug description: 1) lsb_release -rd Description: Ubuntu 12.10 Release: 12.10 2) apt-cache policy libreoffice-calc libreoffice-calc: Installed: 1:3.6.2~rc2-0ubuntu4 Candidate: 1:3.6.2~rc2-0ubuntu4 Version table: *** 1:3.6.2~rc2-0ubuntu4 0 900 http://archive.ubuntu.com/ubuntu/ quantal-updates/main i386 Packages 100 /var/lib/dpkg/status 1:3.6.2~rc2-0ubuntu3 0 500 http://archive.ubuntu.com/ubuntu/ quantal/main i386 Packages 3) What is expected to happen via the attached document is highlight rows 4 through 11 -> click Edit -> Delete Cells... -> Delete entire row(s) -> button OK -> Ctrl+Z and the rows show back up with their original conditional formatting. 4) What happens instead is the numbers show up, but the conditional formatting has been removed. Reproducible in: Microsoft Windows Vista Business x86 6.0.6002 Service Pack 2 Build 6002 Version 4.0.0.1 (Build ID: 527dba6f6e0cfbbc71bd6e7b88a52699bb48799) Does not occur in gnumeric. apt-cache policy gnumeric gnumeric: Installed: 1.10.17-1.1ubuntu1 Candidate: 1.10.17-1.1ubuntu1 Version table: *** 1.10.17-1.1ubuntu1 0 500 http://archive.ubuntu.com/ubuntu/ quantal/universe i386 Packages 100 /var/lib/dpkg/status ProblemType: Bug DistroRelease: Ubuntu 12.10 Package: libreoffice-calc 1:3.6.2~rc2-0ubuntu4 ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5 Uname: Linux 3.5.0-17-generic i686 ApportVersion: 2.6.1-0ubuntu9 Architecture: i386 CheckboxSubmission: 30b6638832e19720cfe8f7a91e5798a4 CheckboxSystem: 2954e74ba17fb0e37fc942cd1d9fab4e Date: Sun Jan 13 18:48:18 2013 InstallationDate: Installed on 2012-06-11 (216 days ago) InstallationMedia: Xubuntu 12.04 "Precise Pangolin" - Alpha i386 (20120131.1) MarkForUpload: True SourcePackage: libreoffice UpgradeStatus: Upgraded to quantal on 2012-09-14 (121 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/df-libreoffice/+bug/1099246/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 1099246]
I've re-opened this bug. (While I'm here, please accept my apologies for using a complicated attachment originally, which has for a while been obsoleted and I've replaced it with the second of the two non-obsolete attachments, the 14.38 KiB one): The bug still exists in last night's 4.2.0.0.alpha0+ Win-86@6 build if you use that second attachment, the one named "Simple Conditional Format paste bug demo with instructions in worksheet" (actual filename = CFpasteBug.ods) Version: 4.2.0.0.alpha0+ Build ID: 6372309a0d285f4a176dbcded3f18b72220e123 That's the current nightly build from http://dev-builds.libreoffice.org/daily/master/Win-x86@6/current/ Windows 7 Professional, 32-bit. AMD Turion 64 dual core. 4GB RAM. You only need to get to step 4 to confirm the bug from these instructions (included also in the spreadsheet) 1. Select range B1:E1 2. Edit/Copy 3. Select cell B2 4. Right click on B2, Paste Only ► Number (click Yes to confirm paste) The range B2:E2 does not display its conditional formatting (red or green coloured background) as it should, only the underlying bold, centered plain formatting on a "No Fill" background. The CF is still associated with the range B2:E2 (see Format/Conditional Format/Manage to confirm). You can easily restore it to be visible using Format Paintbrush to paint the format from B2:E2 back into B2, which acts as a "Refresh" function for the Conditional Format in that range. Calling the Format Paint in this way would be a suitable fix, though it's probably not very efficient. The same applies using Paste Special... and pasting anything that doesn't include pasting the formatting from the source range to destination range seems to prevent the Conditional Formatting from being displayed. I think this tells us what is missing from the code. My pure guess is that some function call that was not obviously important was not replicated during a code rewrite that was intended either to reduce Java dependency from the old OpenOffice.org codebase or to allow new and fancy CF such as Color Scales around about the time of LibO 3.6. After all, why would you need to concern yourself with formatting in the target cells if you're not pasting the formatting from Source to Target. (For normal formatting this is true - not for formatting that's Conditional on the cell value). I'm familiar enough with the program behaviour in this regard (the edge cases where the bug is or is not present) that I've suggested below how I'd go about trying to trace and fix the bug in principle, albeit that I am not capable of achieving it myself in practice any time soon. Bug 57661 has been fixed for a while, and had exhibited similar behaviour (when using Delete to clear the values from cells with Conditional Format, the CF did not display and Undo would not fix it either). Perhaps the patches used there can reveal the correct functions to call to refresh/recalculate the Conditional Format display, or that code can itself be made into a function or method we can use for this fix to avoid code duplication. I have not developed a full software application in 16 years. I've never worked on a team software project, so I would need a huge learning curve to set up a dev environment for myself and delve into the LibO codebase myself. I intend to set up a Linux dual-boot in the next month or two, and will probably attempt to set up a dev environment then and try a little tinkering, but for now, I'm unable to pull my weight. So please recognise my limitations, and that all the LibO developers have my utmost respect and admiration. I may be making incorrect assumptions about the code structure and I do not wish to "teach my grandmother to suck eggs" or make out that debugging is easy. You clearly are all far better programmers and software engineers than I ever was. I merely try to make a suggestion that may be helpful to someone who knows what they are doing and has set up the right debugging tools. It may also be the case that the correct code is already in there but a bug in the conditional branching (e.g. IF... THEN) isn't making it execute when it needs to. SUGGESTED PSEUDOCODE APPROACH TO SOLUTION I've made many assumptions about the code structure, object.method and condition statements and have written in some kind of object-oriented pseudocode (please forgive my syntax, I've a nasty feeling my comment delimiters are back-to-front - it's been a long time - and I'm making no attempt to trace or handle exceptions): At the end of any Paste Special... action which pastes from a SOURCE Range to a TARGET Range, before returning control to the user interface or calling function/method, include the following steps: */ START of object-oriented pseudocode /* */ all the rest of the Paste Special... function goes above here */ */ Recalculate Conditional Format based on new contents of Target Range if format was not overwritten during Paste and if Conditional Formatting is present wit
[Desktop-packages] [Bug 1099246]
I've just tested and the bug is still present in Version 4.0.1.2 (Build ID: 84102822e3d61eb989ddd325abf1ac077904985) I'd been hopeful when I saw in Release Notes that some other Conditional Formatting bugs had been resolved. Thanks to the devs for your continuing efforts. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/1099246 Title: [Upstream] Undo does not preserve conditional formatting Status in LibreOffice Productivity Suite: Confirmed Status in “libreoffice” package in Ubuntu: Triaged Bug description: 1) lsb_release -rd Description: Ubuntu 12.10 Release: 12.10 2) apt-cache policy libreoffice-calc libreoffice-calc: Installed: 1:3.6.2~rc2-0ubuntu4 Candidate: 1:3.6.2~rc2-0ubuntu4 Version table: *** 1:3.6.2~rc2-0ubuntu4 0 900 http://archive.ubuntu.com/ubuntu/ quantal-updates/main i386 Packages 100 /var/lib/dpkg/status 1:3.6.2~rc2-0ubuntu3 0 500 http://archive.ubuntu.com/ubuntu/ quantal/main i386 Packages 3) What is expected to happen via the attached document is highlight rows 4 through 11 -> click Edit -> Delete Cells... -> Delete entire row(s) -> button OK -> Ctrl+Z and the rows show back up with their original conditional formatting. 4) What happens instead is the numbers show up, but the conditional formatting has been removed. Reproducible in: Microsoft Windows Vista Business x86 6.0.6002 Service Pack 2 Build 6002 Version 4.0.0.1 (Build ID: 527dba6f6e0cfbbc71bd6e7b88a52699bb48799) Does not occur in gnumeric. apt-cache policy gnumeric gnumeric: Installed: 1.10.17-1.1ubuntu1 Candidate: 1.10.17-1.1ubuntu1 Version table: *** 1.10.17-1.1ubuntu1 0 500 http://archive.ubuntu.com/ubuntu/ quantal/universe i386 Packages 100 /var/lib/dpkg/status ProblemType: Bug DistroRelease: Ubuntu 12.10 Package: libreoffice-calc 1:3.6.2~rc2-0ubuntu4 ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5 Uname: Linux 3.5.0-17-generic i686 ApportVersion: 2.6.1-0ubuntu9 Architecture: i386 CheckboxSubmission: 30b6638832e19720cfe8f7a91e5798a4 CheckboxSystem: 2954e74ba17fb0e37fc942cd1d9fab4e Date: Sun Jan 13 18:48:18 2013 InstallationDate: Installed on 2012-06-11 (216 days ago) InstallationMedia: Xubuntu 12.04 "Precise Pangolin" - Alpha i386 (20120131.1) MarkForUpload: True SourcePackage: libreoffice UpgradeStatus: Upgraded to quantal on 2012-09-14 (121 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/df-libreoffice/+bug/1099246/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp