mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-20 07:38:54 +02:00
Adapt to recent MLS changes
g_file_query_info returns non-NULL more often now.
This commit is contained in:
@@ -2455,7 +2455,8 @@ open_source_for_copy (GFile *source,
|
|||||||
info = g_file_query_info (destination, G_FILE_ATTRIBUTE_STANDARD_TYPE,
|
info = g_file_query_info (destination, G_FILE_ATTRIBUTE_STANDARD_TYPE,
|
||||||
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
||||||
cancellable, &my_error);
|
cancellable, &my_error);
|
||||||
if (info != NULL)
|
if (info != NULL &&
|
||||||
|
g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_STANDARD_TYPE))
|
||||||
{
|
{
|
||||||
file_type = g_file_info_get_file_type (info);
|
file_type = g_file_info_get_file_type (info);
|
||||||
g_object_unref (info);
|
g_object_unref (info);
|
||||||
@@ -2482,12 +2483,12 @@ open_source_for_copy (GFile *source,
|
|||||||
/* Error getting info from target, return that error
|
/* Error getting info from target, return that error
|
||||||
* (except for NOT_FOUND, which is no error here)
|
* (except for NOT_FOUND, which is no error here)
|
||||||
*/
|
*/
|
||||||
if (my_error->domain != G_IO_ERROR && my_error->code != G_IO_ERROR_NOT_FOUND)
|
if (my_error != NULL && !g_error_matches (my_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
||||||
{
|
{
|
||||||
g_propagate_error (error, my_error);
|
g_propagate_error (error, my_error);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
g_error_free (my_error);
|
g_clear_error (&my_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE,
|
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE,
|
||||||
|
@@ -702,10 +702,7 @@ do_copy_move (GFile * root, struct StructureItem item, const char *target_dir,
|
|||||||
(extra_flags == TEST_TARGET_IS_FILE))
|
(extra_flags == TEST_TARGET_IS_FILE))
|
||||||
{
|
{
|
||||||
g_assert_cmpint (res, ==, FALSE);
|
g_assert_cmpint (res, ==, FALSE);
|
||||||
if (item.file_type == G_FILE_TYPE_DIRECTORY)
|
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY);
|
||||||
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE);
|
|
||||||
else
|
|
||||||
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY);
|
|
||||||
}
|
}
|
||||||
/* source file is directory */
|
/* source file is directory */
|
||||||
else if ((item.extra_flags & TEST_COPY_ERROR_RECURSE) ==
|
else if ((item.extra_flags & TEST_COPY_ERROR_RECURSE) ==
|
||||||
|
Reference in New Issue
Block a user