https://bugs.kde.org/show_bug.cgi?id=527321
Bug ID: 527321
Summary: Font family selector freezes and aborts when many
fonts are installed
Classification: Applications
Product: Marknote
Version First 1.6.0
Reported In:
Platform: Garuda Linux
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: General
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected]
Target Milestone: ---
Created attachment 197271
--> https://bugs.kde.org/attachment.cgi?id=197271&action=edit
adicione um comentário inicial com a Descrição da Mesclagem (Traduzida).md.
# Bug Report
**Product:** Marknote
**Component:** Settings ▸ General (Font family selector)
**Version:** 1.6.0 and current master
**Priority:** High
**Type:** Crash/Freeze (abort)
## Summary
Opening the font family selector in Settings ▸ General causes Marknote to
freeze and abort (SIGABRT) when many fonts are installed (~5,480 families). The
selector previously loaded all font families at once.
## Steps to reproduce
1. Install a large number of font families on the system (hundreds to
thousands). The test system has ~5,480 families.
1. Open Marknote ▸ Settings ▸ General ▸ Editor Settings.
1. Click on "Font family".
1. The application freezes and terminates.
## Observed behavior
- The UI freezes while creating the menu/combo with thousands of items.
- The process often aborts with SIGABRT.
## Expected behavior
The font selector should open quickly, allow searching by font name, and not
freeze even with a very large font collection.
## Root cause
In `src/settings/MarkNoteGeneralPage.qml`, `FormComboBoxDelegate` was populated
directly from `appFontList` (all system font families). Creating thousands of
delegates at once caused excessive scene construction and UI blocking.
## Fix
Replace the combo box with a searchable sheet (`Kirigami.OverlaySheet`) that:
- Provides a sorted, alphabetized list of all font families.
- Filters the list as the user types (search field).
- Limits the visible results to 100 items to avoid rendering overhead.
- Applies the selected family by reassigning the entire `Config.editorFont`
object (read-modify-write), rather than mutating a field in place.
As part of the same MR, also fix the font size spin box: when the value
changes, read the font object, update the size, and reassign it (ensuring the
change is reliably propagated).
## Impact
Improves stability for users with large font collections and keeps UX
consistent with the new color theme selector.
--
You are receiving this mail because:
You are watching all bug changes.