Fix GTK crashes and GUI freezes during driver installation - #463
Draft
SinghCod3r wants to merge 1 commit into
Draft
Fix GTK crashes and GUI freezes during driver installation#463SinghCod3r wants to merge 1 commit into
SinghCod3r wants to merge 1 commit into
Conversation
- Fix SIGSEGV by wrapping OpenPrinting signal emissions in GLib.idle_add - Fix GTK-CRITICAL layout errors by deferring search dialog destruction - Prevent PackageKit DBus activation from blocking the main GTK loop - Prevent PackageKit DBus polling from freezing the GUI by using select - Replace deprecated modal searching dialogs with inline spinners
Collaborator
Author
|
I think i should use the import on the top. Therefore i should fix those in next commit. But i'll wait as this whole pr worked in my case but sure with global work. |
alexpevzner
self-requested a review
September 11, 2026 08:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
While testing printer installation, I ran into a few serious bugs where the application would either crash entirely (SIGSEGV) or freeze up and trigger GNOME's "Not responding" dialog. This PR cleans up the threading and event loop handling to make the whole process smooth:
Fixed OpenPrinting threading crashes: Network callbacks were emitting GTK signals directly from a background thread. I wrapped these in
GLib.idle_addso they are safely marshaled to the main thread.Fixed
GTK-CRITICALlayout errors: The "Searching for drivers" dialog was being destroyed right when GTK was pumping the event loop for layout updates. Deferring the destruction fixes the crash.Fixed PackageKit UI freezes:
stdout.readline(). I switched the polling loop to use non-blockingselect()so the GTK UI stays completely responsive.The whole lookup and installation flow feels much faster and more stable now!