Bug 392267 - Font Installer hangs at 100% when installing a system font
Summary: Font Installer hangs at 100% when installing a system font
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_fontinst (show other bugs)
Version: 5.12.3
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-24 12:59 UTC by Scott Harvey
Modified: 2018-08-02 07:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Harvey 2018-03-24 12:59:44 UTC
Font installer hangs at 100% completion. Cannot quit or close, must kill process for systemsettings5 or kfontinst, depending on how you attempted to install the font. The font does get installed - it's just the install dialog that never finishes.
Comment 1 Mathias Tillman 2018-07-31 10:41:02 UTC
Git commit 60c895758f20bd2cb17ab12e57cf34cc37197098 by Mathias Tillman.
Committed on 31/07/2018 at 10:40.
Pushed by mathiastillman into branch 'master'.

fontinst quits after KJob is done

Summary:
As the summary says, when installing/removing multiple fonts to system the expected behaviour would be for fontinst to keep running after the first font has been installed or removed, instead it quits which causes a bunch of issues. fontinst uses KJob to authorize and internally KJob uses a QEventLoopLocker which causes the main event loop to quit when it's done.
I'm not entirely sure why the event loop locker is enabled by default for KJob, but the patch I have attached works around this by completely disabling that functionality for fontinst. There's a timer that runs in the background which checks for any connected clients, so it will quit after a little while regardless.
Related: bug 379524, bug 379324, bug 349673, bug 361960

Test Plan: Make sure fonts are still installed and removed properly.

Reviewers: #plasma, dfaure, aacid, gateau

Reviewed By: dfaure

Subscribers: wbauer, ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D14493

M  +4    -0    kcms/kfontinst/dbus/Main.cpp

https://commits.kde.org/plasma-desktop/60c895758f20bd2cb17ab12e57cf34cc37197098
Comment 2 Mathias Tillman 2018-08-02 07:34:42 UTC
Git commit 690570a4cefd786db5113ca237e9bdb48cd50812 by Mathias Tillman.
Committed on 02/08/2018 at 07:33.
Pushed by mathiastillman into branch 'Plasma/5.12'.

fontinst quits after KJob is done

Summary:
As the summary says, when installing/removing multiple fonts to system the expected behaviour would be for fontinst to keep running after the first font has been installed or removed, instead it quits which causes a bunch of issues. fontinst uses KJob to authorize and internally KJob uses a QEventLoopLocker which causes the main event loop to quit when it's done.
I'm not entirely sure why the event loop locker is enabled by default for KJob, but the patch I have attached works around this by completely disabling that functionality for fontinst. There's a timer that runs in the background which checks for any connected clients, so it will quit after a little while regardless.
Related: bug 379524, bug 379324, bug 349673, bug 361960

Test Plan: Make sure fonts are still installed and removed properly.

Reviewers: #plasma, dfaure, aacid, gateau

Reviewed By: dfaure

Subscribers: wbauer, ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D14493

(cherry picked from commit 60c895758f20bd2cb17ab12e57cf34cc37197098)

M  +4    -0    kcms/kfontinst/dbus/Main.cpp

https://commits.kde.org/plasma-desktop/690570a4cefd786db5113ca237e9bdb48cd50812