View Issue Details

IDProjectCategoryView StatusLast Update
0017963ScribusTablespublic2026-09-16 19:22
Reporterbuttar Assigned Tocbradney  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
PlatformLinuxOSFedora WorkstationOS Version44
Product Version1.7.4.svn 
Fixed in Version1.7.4.svn 
Summary0017963: [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 Reproduce1. 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)
 		{
PatchYes

Activities

Issue History

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