mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 15:36:17 +01:00
Revert "Use g_return_val_if_fail() for developer-only messages"
This reverts commit 00f0795a84
.
https://bugzilla.gnome.org/show_bug.cgi?id=569017
This commit is contained in:
parent
d5e2a57741
commit
ed6ca39d3b
70
gio/gicon.c
70
gio/gicon.c
@ -284,9 +284,20 @@ g_icon_new_from_tokens (char **tokens,
|
||||
int num_tokens;
|
||||
int i;
|
||||
|
||||
icon = NULL;
|
||||
klass = NULL;
|
||||
|
||||
num_tokens = g_strv_length (tokens);
|
||||
|
||||
g_return_val_if_fail (num_tokens >= 1, NULL);
|
||||
if (num_tokens < 1)
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("Wrong number of tokens (%d)"),
|
||||
num_tokens);
|
||||
goto out;
|
||||
}
|
||||
|
||||
typename = tokens[0];
|
||||
version_str = strchr (typename, '.');
|
||||
@ -298,23 +309,64 @@ g_icon_new_from_tokens (char **tokens,
|
||||
|
||||
|
||||
type = g_type_from_name (tokens[0]);
|
||||
g_return_val_if_fail (type != 0, NULL);
|
||||
g_return_val_if_fail (g_type_is_a (type, G_TYPE_ICON), NULL);
|
||||
if (type == 0)
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("No type for class name %s"),
|
||||
tokens[0]);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!g_type_is_a (type, G_TYPE_ICON))
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("Type %s does not implement the GIcon interface"),
|
||||
tokens[0]);
|
||||
goto out;
|
||||
}
|
||||
|
||||
klass = g_type_class_ref (type);
|
||||
g_return_val_if_fail (klass, NULL);
|
||||
if (klass == NULL)
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("Type %s is not classed"),
|
||||
tokens[0]);
|
||||
goto out;
|
||||
}
|
||||
|
||||
version = 0;
|
||||
if (version_str)
|
||||
{
|
||||
version = strtol (version_str, &endp, 10);
|
||||
g_return_val_if_fail (endp && *endp, NULL);
|
||||
if (endp == NULL || *endp != '\0')
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("Malformed version number: %s"),
|
||||
version_str);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
icon_iface = g_type_interface_peek (klass, G_TYPE_ICON);
|
||||
g_assert (icon_iface != NULL);
|
||||
|
||||
g_return_val_if_fail (icon_iface->from_tokens, NULL);
|
||||
if (icon_iface->from_tokens == NULL)
|
||||
{
|
||||
g_set_error (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("Type %s does not implement from_tokens() on the GIcon interface"),
|
||||
tokens[0]);
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (i = 1; i < num_tokens; i++)
|
||||
{
|
||||
@ -327,7 +379,9 @@ g_icon_new_from_tokens (char **tokens,
|
||||
|
||||
icon = icon_iface->from_tokens (tokens + 1, num_tokens - 1, version, error);
|
||||
|
||||
g_type_class_unref (klass);
|
||||
out:
|
||||
if (klass != NULL)
|
||||
g_type_class_unref (klass);
|
||||
return icon;
|
||||
}
|
||||
|
||||
@ -411,7 +465,7 @@ g_icon_new_for_string (const gchar *str,
|
||||
g_set_error_literal (error,
|
||||
G_IO_ERROR,
|
||||
G_IO_ERROR_INVALID_ARGUMENT,
|
||||
"Can't handle the supplied version of the icon encoding");
|
||||
_("Can't handle the supplied version of the icon encoding"));
|
||||
|
||||
return icon;
|
||||
}
|
||||
|
@ -514,7 +514,17 @@ g_themed_icon_from_tokens (gchar **tokens,
|
||||
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++)
|
||||
@ -524,6 +534,7 @@ g_themed_icon_from_tokens (gchar **tokens,
|
||||
icon = g_themed_icon_new_from_names (names, num_tokens);
|
||||
g_free (names);
|
||||
|
||||
out:
|
||||
return icon;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user