* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
*
* Author: Alexander Larsson <alexl@redhat.com>
*/
if (is_symbolic)
{
- themed->names = g_new (char *, dashes + 1 + 1);
+ themed->names = g_new (char *, 2 * dashes + 3);
for (i = 0; names[i] != NULL; i++)
- themed->names[i] = g_strconcat (names[i], "-symbolic", NULL);
+ {
+ themed->names[i] = g_strconcat (names[i], "-symbolic", NULL);
+ themed->names[dashes + 1 + i] = names[i];
+ }
- themed->names[i] = NULL;
- g_strfreev (names);
+ themed->names[dashes + 1 + i] = NULL;
+ g_free (names);
}
else
{
*
* For example, if the icon name was "gnome-dev-cdrom-audio", the array
* would become
- * |[
+ * |[<!-- language="C" -->
* {
* "gnome-dev-cdrom-audio",
* "gnome-dev-cdrom",
* that can be created by shortening @iconname at '-' characters.
*
* In the following example, @icon1 and @icon2 are equivalent:
- * |[
+ * |[<!-- language="C" -->
* const char *names[] = {
* "gnome-dev-cdrom-audio",
* "gnome-dev-cdrom",
*
* Append a name to the list of icons from within @icon.
*
- * <note><para>
* Note that doing so invalidates the hash computed by prior calls
* to g_icon_hash().
- * </para></note>
*/
void
g_themed_icon_append_name (GThemedIcon *icon,
*
* Prepend a name to the list of icons from within @icon.
*
- * <note><para>
* Note that doing so invalidates the hash computed by prior calls
* to g_icon_hash().
- * </para></note>
*
* Since: 2.18
*/
gchar **names;
int n;
- g_return_val_if_fail (version == 0, NULL);
+ icon = NULL;
+
+ if (version != 0)
+ {
+ g_set_error (error,
+ G_IO_ERROR,
+ G_IO_ERROR_INVALID_ARGUMENT,
+ _("Can't handle version %d of GThemedIcon encoding"),
+ version);
+ goto out;
+ }
names = g_new0 (gchar *, num_tokens + 1);
for (n = 0; n < num_tokens; n++)
icon = g_themed_icon_new_from_names (names, num_tokens);
g_free (names);
+ out:
return icon;
}