application: don't remove providers from screen when finalizing
When finalizing the application, it is possible that the main window had already been destroyed and the Gtk+ CSS machinery to stop working. We currently try to remove the CSS providers from screen when finalizing, which (i) has no effect, and (ii) causes a segfault. Fix that by simply destroying the CSS providers, and not trying to remove them on finalize. https://bugzilla.gnome.org/show_bug.cgi?id=773871
This commit is contained in:
@@ -207,15 +207,8 @@ gcal_application_finalize (GObject *object)
|
||||
g_free (self->uuid);
|
||||
g_clear_pointer (&self->initial_date, g_free);
|
||||
|
||||
if (self->provider != NULL)
|
||||
{
|
||||
gtk_style_context_remove_provider_for_screen (gdk_screen_get_default (), GTK_STYLE_PROVIDER (self->colors_provider));
|
||||
|
||||
gtk_style_context_remove_provider_for_screen (gdk_screen_get_default (), GTK_STYLE_PROVIDER (self->provider));
|
||||
g_clear_object (&(self->provider));
|
||||
}
|
||||
|
||||
g_clear_object (&self->colors_provider);
|
||||
g_clear_object (&(self->provider));
|
||||
g_clear_object (&self->settings);
|
||||
|
||||
g_clear_object (&self->manager);
|
||||
|
||||
Reference in New Issue
Block a user