g_error_new_valist, g_error_copy: warn if domain is 0 or message is NULL

Neither of those usages is valid, but there's a lot of use of 0 as a
domain "in the wild", so we can't g_return_if_fail yet.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=660371
This commit is contained in:
Simon McVittie 2011-09-30 14:02:29 +01:00 committed by Matthias Clasen
parent 186c15fc87
commit 6d9f874330

View File

@ -382,6 +382,14 @@ g_error_new_valist (GQuark domain,
{
GError *error;
/* Historically, GError allowed this (although it was never meant to work),
* and it has significant use in the wild, which g_return_val_if_fail
* would break. It should maybe g_return_val_if_fail in GLib 4.
* (GNOME#660371, GNOME#560482)
*/
g_warn_if_fail (domain != 0);
g_warn_if_fail (format != NULL);
error = g_slice_new (GError);
error->domain = domain;
@ -484,6 +492,9 @@ g_error_copy (const GError *error)
GError *copy;
g_return_val_if_fail (error != NULL, NULL);
/* See g_error_new_valist for why these don't return */
g_warn_if_fail (error->domain != 0);
g_warn_if_fail (error->message != NULL);
copy = g_slice_new (GError);