summaryrefslogtreecommitdiff
path: root/obt
diff options
context:
space:
mode:
Diffstat (limited to 'obt')
-rw-r--r--obt/link.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/obt/link.c b/obt/link.c
index b9073de4..9cc2bac9 100644
--- a/obt/link.c
+++ b/obt/link.c
@@ -45,8 +45,6 @@ struct _ObtLink {
gboolean term; /*!< Run the app in a terminal or not */
ObtLinkAppOpen open;
- /* XXX gchar**? or something better, a mime struct.. maybe
- glib has something i can use. */
gchar **mime; /*!< Mime types the app can open */
GQuark *categories; /*!< Array of quarks representing the
@@ -184,7 +182,12 @@ ObtLink* obt_link_from_ddfile(const gchar *ddname, GSList *paths,
}
}
- /* XXX do something with mime types */
+ if ((v = g_hash_table_lookup(keys, "MimeType"))) {
+ /* steal the string array */
+ link->d.app.mime = v->value.strings.a;
+ v->value.strings.a = NULL;
+ v->value.strings.n = 0;
+ }
}
else if (link->type == OBT_LINK_TYPE_URL) {
v = g_hash_table_lookup(keys, "URL");
@@ -214,6 +217,7 @@ void obt_link_unref(ObtLink *dd)
if (dd->type == OBT_LINK_TYPE_APPLICATION) {
g_free(dd->d.app.exec);
g_free(dd->d.app.wdir);
+ g_strfreev(dd->d.app.mime);
g_free(dd->d.app.categories);
g_free(dd->d.app.startup_wmclass);
}