Ticket #841 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

FontConfig makes Aegisub freeze on OS X while caching.

Reported by: verm Owned by: nielsm
Priority: high Milestone: 2.1.8
Component: Interface Version: devel
Severity: block Keywords:
Cc: Platform: OS X
Sub Component:

Description

There needs to be a progress meter or atleast a dialogue that lets the user know FontConfig is currently caching fonts. This only happens when the cache is initialised after that it's quick.

Attachments

libass_fontupdate_dialog.patch Download (2.7 KB) - added by nielsm 2 years ago.
Non-working initial patch to add this dialogue
libass_fontupdate_dialog-2.patch Download (3.4 KB) - added by nielsm 2 years ago.
Semi-working patch (builds and mostly works)

Change History

comment:1 Changed 3 years ago by verm

  • Severity changed from minor to block
  • Milestone changed from 2.3.0 to 2.2.0

Set to block and change to milestone:2.2.0 We could probably avoid doing it but I'm sure we'll get a LOT of bug reports about "freezing".

comment:2 Changed 3 years ago by verm

  • Milestone changed from 2.1.7 to 2.2.0

Move ticket to milestone:2.2.0 as milestone:2.1.7 became a windows-only maintenance release.

comment:3 Changed 3 years ago by verm

(In [3176]) Update to 9ad13b from the libass git repo. ( http://greg.geekmind.org/viewgit/) This change also includes the ability to split off fontconfig cache updating into it's own step so dialogues can be used to warn the user about the font cache being updated (it can take several mins on slow machines with lots of fonts). Updates #841

comment:4 Changed 2 years ago by verm

  • Milestone changed from 2.2.0 to 2.1.8

This needs to be done for milestone:2.1.8

comment:5 Changed 2 years ago by verm

(In [3869]) Add a stub message so it gets translated, we haven't figured out what we're going to do about this yet. I forgot to commit this before r3861, the string got in but not the source change. updates #841.

comment:6 Changed 2 years ago by nielsm

  • Owner set to nielsm
  • Status changed from new to accepted

Changed 2 years ago by nielsm

Non-working initial patch to add this dialogue

comment:7 Changed 2 years ago by nielsm

I attached the initial patch I wrote in blind to address this issue. It doesn't work in this state and needs a bunch of fixing.

Changed 2 years ago by nielsm

Semi-working patch (builds and mostly works)

comment:8 Changed 2 years ago by nielsm

Attached a new patch that at least almost solves the issue. The updating does happen in the background and the dialogue does show if it takes more than a short while.

Problem is that the dialogue is not modal at all, and also it doesn't centre on the screen as it should.

comment:9 Changed 2 years ago by nielsm

(In [3941]) Mostly-working "please wait" dialogue while FontConfig updates font caches in libass.
This is patch 2 but with trace printf's removed.
Updates #841.

comment:10 Changed 2 years ago by nielsm

What's blocking this ticket from being closed:

The dialogue box is not modal, at all.
The user can interact with the main UI while the dialogue is up and fonts are being cached, essentially in the middle of another operations. This can potentially cause serious re-entrancy failures.

comment:11 Changed 2 years ago by verm

(In [3998]) Completely block the UI while Font Config is caching on OS X. This is a bit a hack and a better solution should be found. A new ticket should be opened for that.
Updates #841.

comment:12 Changed 2 years ago by nielsm

  • Status changed from accepted to closed
  • Resolution set to fixed

Created #1115 calling for a better solution.
Closing this for 2.1.8.

Note: See TracTickets for help on using tickets.