Revision: 1503
http://geeqie.svn.sourceforge.net/geeqie/?rev=1503&view=rev
Author: zas_
Date: 2009-03-09 19:34:26 +0000 (Mon, 09 Mar 2009)
Log Message:
-----------
Revert changeset 1502. It brokes the spec: hidden desktop files from user
directory should hide files from system directory with the same name.
Modified Paths:
--------------
trunk/src/editors.c
Modified: trunk/src/editors.c
===================================================================
--- trunk/src/editors.c 2009-03-09 12:44:06 UTC (rev 1502)
+++ trunk/src/editors.c 2009-03-09 19:34:26 UTC (rev 1503)
@@ -152,7 +152,6 @@
const gchar *key = filename_from_path(path);
gchar **categories, **only_show_in, **not_show_in;
gchar *try_exec;
- gboolean hidden = FALSE;
if (g_hash_table_lookup(editors, key)) return FALSE; /* the file found
earlier wins */
@@ -170,10 +169,17 @@
return FALSE;
}
+ editor = g_new0(EditorDescription, 1);
+
+ editor->key = g_strdup(key);
+ editor->file = g_strdup(path);
+
+ g_hash_table_insert(editors, editor->key, editor);
+
if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "Hidden", NULL)
|| g_key_file_get_boolean(key_file, DESKTOP_GROUP, "NoDisplay",
NULL))
{
- hidden = TRUE;
+ editor->hidden = TRUE;
}
categories = g_key_file_get_string_list(key_file, DESKTOP_GROUP,
"Categories", NULL, NULL);
@@ -189,12 +195,12 @@
found = TRUE;
break;
}
- if (!found) hidden = TRUE;
+ if (!found) editor->hidden = TRUE;
g_strfreev(categories);
}
else
{
- hidden = TRUE;
+ editor->hidden = TRUE;
}
only_show_in = g_key_file_get_string_list(key_file, DESKTOP_GROUP,
"OnlyShowIn", NULL, NULL);
@@ -208,7 +214,7 @@
found = TRUE;
break;
}
- if (!found) hidden = TRUE;
+ if (!found) editor->hidden = TRUE;
g_strfreev(only_show_in);
}
@@ -223,34 +229,27 @@
found = TRUE;
break;
}
- if (found) hidden = TRUE;
+ if (found) editor->hidden = TRUE;
g_strfreev(not_show_in);
}
+
try_exec = g_key_file_get_string(key_file, DESKTOP_GROUP, "TryExec",
NULL);
if (try_exec && !editor->hidden)
{
gchar *try_exec_res = g_find_program_in_path(try_exec);
- if (!try_exec_res) hidden = TRUE;
+ if (!try_exec_res) editor->hidden = TRUE;
g_free(try_exec_res);
g_free(try_exec);
}
- if (hidden)
+ if (editor->hidden)
{
/* hidden editors will be deleted, no need to parse the rest */
g_key_file_free(key_file);
- return FALSE;
+ return TRUE;
}
-
- editor = g_new0(EditorDescription, 1);
- editor->key = g_strdup(key);
- editor->file = g_strdup(path);
- editor->hidden = hidden;
-
- g_hash_table_insert(editors, editor->key, editor);
-
editor->name = g_key_file_get_locale_string(key_file, DESKTOP_GROUP,
"Name", NULL, NULL);
editor->icon = g_key_file_get_string(key_file, DESKTOP_GROUP, "Icon",
NULL);
@@ -571,7 +570,7 @@
{
GString *string;
gchar *pathl;
- const gchar *p = NULL;
+ const gchar *p;
string = g_string_new("");
@@ -621,6 +620,7 @@
p = "";
}
+ g_assert(p);
while (*p != '\0')
{
/* must escape \, ", `, and $ to avoid problems,
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn