app: file_procedure_find(): check magics only for native files

This commit is contained in:
Michael Natterer
2014-07-23 10:49:44 +02:00
parent 7e7c22fc32
commit 208c3ecd2a

View File

@ -84,13 +84,8 @@ file_procedure_find (GSList *procs,
GError **error) GError **error)
{ {
GimpPlugInProcedure *file_proc; GimpPlugInProcedure *file_proc;
GSList *list;
GimpPlugInProcedure *size_matched_proc = NULL; GimpPlugInProcedure *size_matched_proc = NULL;
GInputStream *input = NULL;
gboolean opened = FALSE;
gsize head_size = 0;
gint size_match_count = 0; gint size_match_count = 0;
guchar head[256];
g_return_val_if_fail (procs != NULL, NULL); g_return_val_if_fail (procs != NULL, NULL);
g_return_val_if_fail (G_IS_FILE (file), NULL); g_return_val_if_fail (G_IS_FILE (file), NULL);
@ -117,7 +112,15 @@ file_procedure_find (GSList *procs,
if (file_proc) if (file_proc)
return file_proc; return file_proc;
/* Then look for magics */ /* Then look for magics, but not on remote files */
if (g_file_is_native (file))
{
GSList *list;
GInputStream *input = NULL;
gboolean opened = FALSE;
gsize head_size = 0;
guchar head[256];
for (list = procs; list; list = g_slist_next (list)) for (list = procs; list; list = g_slist_next (list))
{ {
file_proc = list->data; file_proc = list->data;
@ -187,6 +190,7 @@ file_procedure_find (GSList *procs,
g_object_unref (input); g_object_unref (input);
} }
}
if (size_match_count == 1) if (size_match_count == 1)
return size_matched_proc; return size_matched_proc;