ShellWindowTracker: fix reference counting of ShellApp
All get_app_from_*() helpers are transfer full, but get_app_from_gapplication_id() was directly returning the result of lookup_app(), which is transfer none. https://bugzilla.gnome.org/show_bug.cgi?id=721439
This commit is contained in:
parent
a23c206ccb
commit
6544326ffd
@ -256,6 +256,17 @@ get_app_from_window_wmclass (MetaWindow *window)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* get_app_from_gapplication_id:
|
||||
* @monitor: a #ShellWindowTracker
|
||||
* @window: a #MetaWindow
|
||||
*
|
||||
* Looks only at the given window, and attempts to determine
|
||||
* an application based on _GTK_APPLICATION_ID. If one can't be determined,
|
||||
* return %NULL.
|
||||
*
|
||||
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
|
||||
*/
|
||||
static ShellApp *
|
||||
get_app_from_gapplication_id (MetaWindow *window)
|
||||
{
|
||||
@ -268,10 +279,12 @@ get_app_from_gapplication_id (MetaWindow *window)
|
||||
|
||||
id = meta_window_get_gtk_application_id (window);
|
||||
if (!id)
|
||||
return FALSE;
|
||||
return NULL;
|
||||
|
||||
desktop_file = g_strconcat (id, ".desktop", NULL);
|
||||
app = shell_app_system_lookup_app (appsys, desktop_file);
|
||||
if (app)
|
||||
g_object_ref (app);
|
||||
|
||||
g_free (desktop_file);
|
||||
return app;
|
||||
|
Loading…
Reference in New Issue
Block a user