GNOME Bugzilla – Bug 784309
False positive "GtkDialog mapped without a transient parent" warnings when transient parent set via Xlib API
Last modified: 2018-05-02 18:38:11 UTC
Created attachment 354655 [details] [review] Proof-of-concept patch The check for transient parent in gtk_dialog_map() that was introduced by c4ec89cf9 is insufficient, as it does not account for cases when the dialog's transient parent is set via the Xlib API. This results in false positive warnings/messages about the parent not being set. Among other cases that mix Gtk and Xlib calls, this affects practically every Qt application when Qt platform is using native gtk3 dialogs (either via gtk3 or qgnomeplatform platform theme). It is confusing for end users/developers because the message implies that the problem is in their code, when they cannot really do anything about it (and in fact, their dialogs are properly modal). In the past, this issue has been mitigated in Qt and qgnomeplatform by installing custom log handler and filtering out this specific message. However, with the switch to structured logging, the log handler set via g_log_set_handler() is bypassed, hence the message is being shown again... Attached is a proof-of-concept patch for the 3.22 branch that extends the test with an additional check in the X11 gdk backend.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk/issues/843.