mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-22 00:48:53 +02:00
gfile: Check ETag attribute is present before trying to get it
A regression from issue #2907. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: #2932
This commit is contained in:
@@ -7773,7 +7773,7 @@ g_file_load_contents (GFile *file,
|
|||||||
NULL);
|
NULL);
|
||||||
if (info)
|
if (info)
|
||||||
{
|
{
|
||||||
*etag_out = g_strdup (g_file_info_get_etag (info));
|
*etag_out = g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_ETAG_VALUE) ? g_strdup (g_file_info_get_etag (info)) : NULL;
|
||||||
g_object_unref (info);
|
g_object_unref (info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7847,7 +7847,7 @@ load_contents_fstat_callback (GObject *obj,
|
|||||||
stat_res, NULL);
|
stat_res, NULL);
|
||||||
if (info)
|
if (info)
|
||||||
{
|
{
|
||||||
data->etag = g_strdup (g_file_info_get_etag (info));
|
data->etag = g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_ETAG_VALUE) ? g_strdup (g_file_info_get_etag (info)) : NULL;
|
||||||
g_object_unref (info);
|
g_object_unref (info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -89,7 +89,9 @@ calc_event_type (GFileInfo *last,
|
|||||||
if (last != NULL && new == NULL)
|
if (last != NULL && new == NULL)
|
||||||
return G_FILE_MONITOR_EVENT_DELETED;
|
return G_FILE_MONITOR_EVENT_DELETED;
|
||||||
|
|
||||||
if (g_strcmp0 (g_file_info_get_etag (last), g_file_info_get_etag (new)))
|
if (g_file_info_has_attribute (last, G_FILE_ATTRIBUTE_ETAG_VALUE) &&
|
||||||
|
g_file_info_has_attribute (new, G_FILE_ATTRIBUTE_ETAG_VALUE) &&
|
||||||
|
g_strcmp0 (g_file_info_get_etag (last), g_file_info_get_etag (new)) != 0)
|
||||||
return G_FILE_MONITOR_EVENT_CHANGED;
|
return G_FILE_MONITOR_EVENT_CHANGED;
|
||||||
|
|
||||||
if (g_file_info_get_size (last) != g_file_info_get_size (new))
|
if (g_file_info_get_size (last) != g_file_info_get_size (new))
|
||||||
|
Reference in New Issue
Block a user