After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 504004 - Ins/del col/row in the middle of merged cell does not expand/shrink merged cell correctly
Ins/del col/row in the middle of merged cell does not expand/shrink merged ce...
Product: Gnumeric
Classification: Applications
Component: General
git master
Other All
: Normal normal
: ---
Assigned To: Morten Welinder
Jody Goldberg
Depends on:
Reported: 2007-12-17 07:51 UTC by Reggie Chan
Modified: 2015-12-13 22:07 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Reggie Chan 2007-12-17 07:51:51 UTC
Steps to reproduce:
1. merge D4:F4
2. select E3
3. click "Insert > Columns"

Excel behavior:
4. expand merged cell from D4:F4 to D4:G4, with style expanded as well.

Gnumeric behavior:
4. merged cell remains as D4:F4, although style is copied.
Comment 1 Jody Goldberg 2007-12-17 13:53:32 UTC

Insert should be an easy fix, delete may take more thought.

Gnumeric doesn't allow the selection of part of a merged cell in the UI, and we didn't implement the required logic.
Comment 2 Morten Welinder 2015-12-12 19:41:09 UTC

This fell through the cracks.  It shouldn't be too hard to fix, though.

The meat is in gnm_sheet_merge_relocate.  There seems to be at least
two issues with inserting:

1. If insert happens in the middle of a merge, we don't extend.  [as noted]

2. If the right/bottom end of the merge is pushed off the end of the sheet
   we don't shrink the merge, but simply drop it.  A size-2 merge should be
   dropped, but a size-3 merge should shrink to size 2.
Comment 3 Morten Welinder 2015-12-13 22:07:18 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Once that release is available, you may want to check for a software upgrade provided by your Linux distribution.