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.

Reply via email to