View Issue Details

IDProjectCategoryView StatusLast Update
0017514ScribusUser Interfacepublic2025-05-09 00:43
Reporternitramr Assigned Tonitramr  
PriorityhighSeveritymajorReproducibilitysometimes
Status resolvedResolutionfixed 
PlatformDesktop PCOSUbuntuOS Version24.10 64-bit
Product Version1.7.1.svn 
Target Version1.7 milestoneFixed in Version1.7.1.svn 
Summary0017514: Graphic glitches in FontComboBox if UI theme has transparency
DescriptionIf the OS UI theme has transparency in the UI palette the FontComboBox can have graphic glitches.

See: https://forums.scribus.net/index.php/topic,6078.0.html
Steps To ReproduceIf you don't have an OS theme that mess up the list, you can change a code line in fontcombo.cpp -> void FontFamilyDelegate::paint()

pixPainter.fillRect(r, option.palette.window());
to
pixPainter.fillRect(r, QColor(220, 220, 220, 128));
TagsNo tags attached.
PatchYes

Activities

nitramr

2025-05-05 20:17

developer  

ScribusStoryEditorFont1.png (203,357 bytes)   
ScribusStoryEditorFont1.png (203,357 bytes)   

nitramr

2025-05-05 20:18

developer   ~0052496

fontcombo_2025-05-05_01.patch (1,394 bytes)   
Index: scribus/ui/fontcombo.cpp
===================================================================
--- scribus/ui/fontcombo.cpp	(Revision 26852)
+++ scribus/ui/fontcombo.cpp	(Arbeitskopie)
@@ -554,9 +554,14 @@
 	QPainter invpixPainter(&invPixmap);
 
 	QRect r(0, 0, option.rect.width(), option.rect.height());
+	pixPainter.fillRect(r, Qt::white); // #17514: protection if fill color has transparency
 	pixPainter.fillRect(r, option.palette.window());
-	invpixPainter.fillRect(r, option.palette.window());
+	pixPainter.setPen(QPen(option.palette.text(), 0));
 
+	invpixPainter.fillRect(r, Qt::white); // #17514: protection if fill color has transparency
+	invpixPainter.fillRect(r, option.palette.highlight());
+	invpixPainter.setPen(QPen(option.palette.highlightedText(), 0));
+
 	QFont font = option.font;
 	font.setPointSize(QFontInfo(font).pointSize() * 3.0 / 2.0);
 
@@ -572,13 +577,6 @@
 	if (hasLatin)
 		font = font2;
 
-	pixPainter.setPen(QPen(option.palette.text(), 0));
-
-	invpixPainter.setBrush(option.palette.highlight());
-	invpixPainter.setPen(Qt::NoPen);
-	invpixPainter.drawRect(0, 0, option.rect.width(), option.rect.height());
-	invpixPainter.setPen(QPen(option.palette.highlightedText(), 0));
-
 	QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole));
 	QSize actualSize(icon.actualSize(r.size()));
 	icon.paint(&pixPainter, r, Qt::AlignLeft|Qt::AlignVCenter);
fontcombo_2025-05-05_01.patch (1,394 bytes)   

jghali

2025-05-09 00:43

administrator   ~0052506

Applied, thanks!

Issue History

Date Modified Username Field Change
2025-05-05 20:17 nitramr New Issue
2025-05-05 20:17 nitramr Status new => assigned
2025-05-05 20:17 nitramr Assigned To => nitramr
2025-05-05 20:17 nitramr File Added: ScribusStoryEditorFont1.png
2025-05-05 20:18 nitramr Note Added: 0052496
2025-05-05 20:18 nitramr File Added: fontcombo_2025-05-05_01.patch
2025-05-09 00:43 jghali Status assigned => resolved
2025-05-09 00:43 jghali Resolution open => fixed
2025-05-09 00:43 jghali Fixed in Version => 1.7.1.svn
2025-05-09 00:43 jghali Note Added: 0052506