diff --git a/configure.ac b/configure.ac index 1e390bb1c..21ba3025f 100644 --- a/configure.ac +++ b/configure.ac @@ -65,7 +65,7 @@ GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1 GJS_MIN_VERSION=1.35.4 MUTTER_MIN_VERSION=3.8.1 GTK_MIN_VERSION=3.7.9 -GIO_MIN_VERSION=2.35.0 +GIO_MIN_VERSION=2.37.0 LIBECAL_MIN_VERSION=3.5.3 LIBEDATASERVER_MIN_VERSION=3.5.3 TELEPATHY_GLIB_MIN_VERSION=0.17.5 diff --git a/data/org.gnome.ShellSearchProvider2.xml b/data/org.gnome.ShellSearchProvider2.xml index 7947d0346..9502340e4 100644 --- a/data/org.gnome.ShellSearchProvider2.xml +++ b/data/org.gnome.ShellSearchProvider2.xml @@ -46,7 +46,7 @@ diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js index e7cd6fea1..3d0c759b8 100644 --- a/js/ui/remoteSearch.js +++ b/js/ui/remoteSearch.js @@ -187,7 +187,9 @@ const RemoteSearchProvider = new Lang.Class({ createIcon: function(size, meta) { let gicon; - if (meta['gicon']) { + if (meta['icon']) { + gicon = Gio.icon_deserialize(meta['icon']); + } else if (meta['gicon']) { gicon = Gio.icon_new_for_string(meta['gicon']); } else if (meta['icon-data']) { let [width, height, rowStride, hasAlpha, @@ -240,8 +242,12 @@ const RemoteSearchProvider = new Lang.Class({ let metas = results[0]; let resultMetas = []; for (let i = 0; i < metas.length; i++) { - for (let prop in metas[i]) - metas[i][prop] = metas[i][prop].deep_unpack(); + for (let prop in metas[i]) { + // we can use the serialized icon variant directly + if (prop != 'icon') + metas[i][prop] = metas[i][prop].deep_unpack(); + } + resultMetas.push({ id: metas[i]['id'], name: metas[i]['name'], description: metas[i]['description'],