View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0017963 | Scribus | Tables | public | 2026-09-03 11:09 | 2026-09-16 19:22 |
| Reporter | buttar | Assigned To | cbradney | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Platform | Linux | OS | Fedora Workstation | OS Version | 44 |
| Product Version | 1.7.4.svn | ||||
| Fixed in Version | 1.7.4.svn | ||||
| Summary | 0017963: [tiny patch] Fix single table row/column deletion | ||||
| Description | - Fixes a bug where deleting one selected table row or column removes the first row/column instead of the selected one. - The issue affects both `itemSelection_DeleteTableRows()` and `itemSelection_DeleteTableColumns()`. - For a single selection, the deletion index remained at its default `0`. - Initializes the deletion index from the actual selected row/column. - Existing contiguous multi-row/multi-column deletion behaviour remains unchanged. | ||||
| Steps To Reproduce | 1. Create a table with several rows and columns. 2. Put easily identifiable content in the cells, e.g. A, B, C, D down the rows and across the columns, so it is obvious which row/column was removed. 3. Select a single row other than the first. 4. Use Table → Delete Rows. 5. Observe that the row containing A / the first row is deleted instead of the selected row. 6. Repeat with a single column other than the first using Table → Delete Columns. 7. Observe that the first column is deleted instead of the selected one. | ||||
| Tags | #please_test | ||||
| Attached Files | table-delete-selection-correctness-v1.00.patch (795 bytes)
Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp (revision 27810)
+++ scribus/scribusdoc.cpp (working copy)
@@ -9154,7 +9154,7 @@
QList<int> selectedRows = table->selectedRows().values();
std::sort(selectedRows.begin(), selectedRows.end(), std::greater<int>());
- int index = 0;
+ int index = selectedRows.first();
int numRows = 1;
for (int i = 0; i < selectedRows.size() - 1; ++i)
{
@@ -9215,7 +9215,7 @@
QList<int> selectedColumns = table->selectedColumns().values();
std::sort(selectedColumns.begin(), selectedColumns.end(), std::greater<int>());
- int index = 0;
+ int index = selectedColumns.first();
int numColumns = 1;
for (int i = 0; i < selectedColumns.size() - 1; ++i)
{
| ||||
| Patch | Yes | ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-09-03 11:09 | buttar | New Issue | |
| 2026-09-03 11:09 | buttar | Tag Attached: #please_test | |
| 2026-09-03 11:09 | buttar | File Added: table-delete-selection-correctness-v1.00.patch | |
| 2026-09-04 21:55 | cbradney | Assigned To | => cbradney |
| 2026-09-04 21:55 | cbradney | Status | new => resolved |
| 2026-09-04 21:55 | cbradney | Resolution | open => fixed |
| 2026-09-04 21:55 | cbradney | Fixed in Version | => 1.7.4.svn |
| 2026-09-16 19:22 | cbradney | Status | resolved => closed |