From d21ee683ed80338f958a2d1368727523a89a936d Mon Sep 17 00:00:00 2001 From: Patrick Storz Date: Wed, 27 Mar 2019 19:06:31 +0100 Subject: Fix adding/lookup of recent files. Avoid setting an application name as Gtk::RecentManager calls g_get_application_name () internally to determine the default "name" attribute used for new entries in the list of recently used files (recently-used.xbel) Our Gtk::RecentFilter in menubar.cpp expects the name to equal to g_get_prgname () though (which happens to be the fallback of g_get_application_name, but only if no application name is set as in earlier versions) The alternative would be to set metadata manually, but it would require us to set *all* fields manually (including mime type, etc.). See also https://gitlab.gnome.org/GNOME/gtk/issues/1775 Fixes https://gitlab.com/inkscape/inkscape/issues/160 --- src/inkscape-application.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/inkscape-application.cpp') diff --git a/src/inkscape-application.cpp b/src/inkscape-application.cpp index 3ab60caa3..3c87130f6 100644 --- a/src/inkscape-application.cpp +++ b/src/inkscape-application.cpp @@ -445,7 +445,9 @@ ConcreteInkscapeApplication::ConcreteInkscapeApplication() Inkscape::initialize_gettext(); #endif - Glib::set_application_name(N_("Inkscape - A Vector Drawing Program")); // After gettext() init. + // Don't set application name for now. We don't use it anywhere but + // it overrides the name used for adding recently opened files and breaks the Gtk::RecentFilter + // Glib::set_application_name(N_("Inkscape - A Vector Drawing Program")); // After gettext() init. // ======================== Actions ========================= add_actions_base(this); // actions that are GUI independent @@ -626,12 +628,8 @@ ConcreteInkscapeApplication::create_window(const Glib::RefPtr< if (document) { if (add_to_recent) { - auto recentmanager = Gtk::RecentManager::get_default(); - Gtk::RecentManager::Data data; - data.app_name = g_get_prgname(); // Must match Gtk::RecentFilter in menubar.cpp - data.mime_type = "image"; // We don't know if we opened an SVG! (image/svg+xml). - recentmanager->add_item (file->get_uri(), data); + recentmanager->add_item (file->get_uri()); } // TODO Remove this code... handle document replacement elsewhere. -- cgit v1.2.3